当前位置: 首页 > news >正文

5分钟本地跑通Superflows:Docker+Supabase开发环境搭建完整指南

5分钟本地跑通Superflows:Docker+Supabase开发环境搭建完整指南

【免费下载链接】superflowsOpen-source toolkit to build an AI copilot for SaaS products项目地址: https://gitcode.com/gh_mirrors/su/superflows

Superflows 是一个用于给 SaaS 产品构建 AI 副驾(AI copilot)的开源工具包。本指南带你用 Docker + Supabase 在本地快速跑通 Superflows,全程只需 5 条命令,体验一个能调用你自己 API、用自然语言回答问题的 AI 助手。

为什么要在本地部署 Superflows?

Superflows 让你用几行代码就把 AI 助手嵌入自己的产品:用户用自然语言提问,助手自动调用产品的 API 端点完成任务,还能写代码做数据分析、画图表 📊。

本地开发环境最大的价值在于:

  • 完全可控:数据库、鉴权、模型配置都在自己手里
  • 快速迭代:修改 lib/ 下的提示词与工具函数后热更新生效
  • 零成本实验:配合 Mock API 功能,不连真实接口也能调试助手行为

完整功能介绍可参考项目 README.md。

准备工作:2分钟装好前置工具

开始之前,请确认电脑上已安装以下 3 个工具 🧰:

工具用途验证命令
Git拉取代码git --version
Docker运行 Supabase 与应用容器docker --version
Docker Compose编排多个容器docker compose version

💡Windows 用户注意:建议在 Git Bash 或 WSL 中操作(脚本为 bash 脚本),部分命令可能需要管理员权限。

第一步:克隆 Superflows 仓库

git clone https://gitcode.com/gh_mirrors/su/superflows cd superflows

仓库里已经内置了开发所需的全部配置,其中 docker/development/ 目录存放着一键初始化脚本和编排文件。

第二步:用 init.sh 一键初始化环境

这是整个流程中最"省心"的一步 🚀。初始化脚本位于 docker/development/init.sh,它会替你完成三件事:

  1. 拉取 Supabase 本地 Docker 文件(稀疏检出,只取 docker 目录)
  2. 自动合并生成.env配置文件(由项目 .env.example 与 Supabase 的模板拼接而成)
  3. 启动并构建所有容器
cd docker/development chmod +x init.sh ./init.sh

Windows PowerShell 用户可以使用对应的 init-windows.ps1,流程完全一致。

首次运行需要拉取多个镜像,耐心等待几分钟即可。若中途看到Ctrl+C to stop the process提示,说明容器正在构建,属于正常现象。

第三步:在 .env 中填入 1 个密钥

初始化完成后,项目根目录已生成.env文件,其中数据库连接、Supabase 密钥等都已自动配置好默认值。你只需要填一个必填项

OPENAI_API_KEY=sk-你的密钥

其余变量说明(参考 .env.example):

变量说明
SUPERFLOWS_PORT应用端口,默认8080
NEXT_PUBLIC_SUPABASE_URL本地 Supabase 网关地址,默认http://localhost:8000
GOOGLE_APP_CLIENT_ID(可选)启用 Google 登录
SENTRY_*(可选)启用错误监控

小提示:数据库的 anon key 与 service_role key 由 Supabase 容器自动生成,Docker 模式下无需手动填写。

第四步:Docker Compose 一键启动

如果init.sh已成功跑完,服务其实已在运行;若想手动(重新)启动,使用:

docker compose up -d --build

编排逻辑定义在 docker/development/docker-compose.yml:superflows容器会在启动时自动执行数据库迁移(应用 supabase/migrations/ 下的全部 SQL),再进入npm run dev开发模式。应用镜像由 docker/development/Dockerfile 基于 node:alpine 构建,并将整个项目目录挂载为卷,改代码即可热更新,无需重建镜像

启动后确认容器状态:

docker ps

看到superflowssupabase-dbkong等容器均为 Up 状态即代表成功 ✅

第五步:打开控制台,体验 AI 助手

打开浏览器访问 http://localhost:8080,你会看到开发者控制台:

  • Playground:直接与助手对话,打开 Developer mode 可看到助手的"思考过程"
  • Actions:管理助手可调用的 API 端点,支持通过 OpenAPI 规范一键上传
  • Mock API Responses:不连真实接口也能验证助手行为
  • Usage:跟踪用量,便于计费与限流

备选方案:不用 Docker,用 Supabase CLI 本地运行

如果你希望把 Supabase 跑在宿主机上(例如想直接调试数据库),可以走纯 npm 路线(README 中的 Local setup 章节):

npm i npm install supabase --save-dev npx supabase start

supabase start会输出anon_api_keyservice_role两个密钥,把它们填入.env(模板见 .env.example)即可。然后启动开发服务器:

make run

若没有安装make,等价命令是npm run dev(Makefile 中run目标,脚本定义在 package.json)。

⚠️ 如果你之前在别的项目用过 Supabase CLI,先执行supabase stop再启动,避免端口冲突。

常见问题:最快排障方法

症状最快解决方案
端口 8080 被占用修改.envSUPERFLOWS_PORT后重启容器
Supabase 容器起不来supabase stop(或docker compose down)清理旧实例再启动
数据库迁移报错查看docker compose logs superflows,确认 5432 端口未被占用
Windows 脚本无响应改用 Git Bash / WSL 执行,必要时用管理员终端
首次构建特别慢正常现象,拉取镜像耗时;第二次启动只需几秒

总结:5 分钟,从克隆到跑通 AI 助手

回顾一下完整路径:克隆仓库 →init.sh初始化 → 填OPENAI_API_KEYdocker compose up -d --build→ 打开 http://localhost:8080。

至此你已经拥有了一个可自由定制的 Superflows 本地开发环境:修改 lib/prompts/ 调整提示词、在 Actions 页面对接自己的 API、用 Playground 实时验证效果。想要把助手嵌入真实产品,官方还提供了开箱即用的 React 组件,后续可以进一步探索 pages/playground.tsx 与 components/playground.tsx 的实现细节。Happy hacking 🛠️

【免费下载链接】superflowsOpen-source toolkit to build an AI copilot for SaaS products项目地址: https://gitcode.com/gh_mirrors/su/superflows

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4208978.html

相关文章:

  • Cactus泛基因组图谱实战:酵母图谱与HPRC人类图谱案例及panacus统计可视化
  • RocketMQ核心知识点与面试解析
  • 京东前端实习面试核心考点与优化策略
  • LobsterAI智能体开发与多模态面试模拟实战
  • JellyRefreshLayout:3个理由让这款果冻式下拉刷新组件比SwipeRefreshLayout更惊艳
  • 如何用GitHub免费托管你的播客:TheContext-Podcast的Raw RSS + Releases部署方案
  • RoMa快速入门:旋转矩阵、四元数、旋转向量与欧拉角互转全解教程
  • Kali散列密码破解实战:从哈希识别到GPU加速还原
  • SyncKit 服务器安全加固实战:JWT 认证、RBAC 权限与防 SQL 注入生产级防护指南
  • 大模型Agent面试核心:工具调用与决策逻辑解析
  • HyperLine Spotify插件深度解析:如何在macOS终端实时显示正在播放歌曲(完整原理指南)
  • 从输入到搜索结果:rx-react autocomplete实例如何用5行响应式管道实现防抖搜索
  • AI大模型面试核心考察方向与高频问题解析
  • PC微信防撤回补丁实操指南:三步装好微信防撤回,撤回的消息再也藏不住
  • 一行文本该落在哪里?详解Combo Breaker的findFlowSlots槽位搜索算法
  • toxic-repos快速上手教程:5步从零搭建你的开源仓库安全黑名单
  • 如何用yuzu在电脑上免费运行Switch游戏
  • BTree索引自适应调优:用模拟退火实现负载感知优化
  • Echo Editor实时协作展望:y-prosemirror与Yjs协同编辑探索指南
  • 5分钟上手教程:CVE-2019-11708 Firefox浏览器漏洞利用链快速运行完整指南
  • 彻底解决雪花算法ID在前端JavaScript中的精度丢失问题
  • SAP固定资产核心底表全解析:从ANLA到ANEP的数据逻辑与应用
  • Java Stream limit()方法:从短路求值到性能优化的核心实践
  • 射击游戏后台开发:物理引擎应用与移动模拟实战
  • 大语言模型使用技巧
  • conda环境迁移
  • Vivado FPGA实现后调试实战:从ILA抓信号到增量编译避坑
  • ESP32本地AI聊天机器人开发指南:从硬件选型到模型部署实战
  • Linux下U盘设备节点变化问题解析与稳定挂载方案实践
  • 基于 ICMP 的网络连通性探测机制 : ping 与 traceroute 工作流程