快速开始
TongFlow 既可以作为 Docker 容器跑在你自己机器上,也可以作为 Next.js 开发服务器跑(如果你装了 pnpm)。任选其一。没有 Node 环境的用户推荐用 Docker。
准备
- Docker(含 Compose v2)
- Modal 账号 + Token——去 modal.com 注册。每月 30 美元免费额度包含相当多的 H100 时间,覆盖 TongFlow 绝大部分 GPU 任务
- 至少一个 LLM API Key——任选一家:OpenRouter、Gemini、OpenAI、DeepSeek。OpenRouter 有免费路由层;其他按调用计费
可选:一个 Discord 账号——有疑问到 #tongflow 找我们。
1. 克隆仓库
git clone https://github.com/tong-io/tongflow
cd tongflow2. 配置环境变量
复制示例文件后编辑:
cp .env.example .env必填变量:
| 变量 | 用途 |
|---|---|
MODAL_TOKEN_ID | Modal Worker 鉴权 |
MODAL_TOKEN_SECRET | Modal Worker 鉴权 |
以下至少一个:OPENROUTER_API_KEY / GEMINI_API_KEY(或 GOOGLE_API_KEY)/ OPENAI_API_KEY / DEEPSEEK_API_KEY | ”Generate text” 节点和其他依赖 LLM 的转换 |
可选:
OPENROUTER_FREE_MODEL—— 钉一个特定的 OpenRouter 免费路由OPENAI_CHAT_MODEL—— 不设时默认gpt-4o-miniNEXT_PUBLIC_FILE_BASE_URL—— 如果你前面挂了 CDN,文件服务的 base URL
3. 一次性授权 Modal
把 Token 写入 ~/.modal.toml,只在首次运行前执行:
pnpm modal:setup如果你没有 pnpm,可以等第 4 步起容器后在容器内执行等价的 modal token set。
4. 启动
方案 A —— Docker Compose(推荐)
docker compose up --build访问 http://localhost:3000,自动落到 /workspace。
数据持久化在 Docker volume:SQLite 在 data/tongflow.db,上传文件在 data/uploads/。
方案 B —— 直接拉 GHCR 预构建镜像
CI 在每次 push 到 main 时发布 ghcr.io/tong-io/tongflow,发版打 tag(如 v0.1.0)。
docker pull ghcr.io/tong-io/tongflow:latest
docker run --rm -p 3000:3000 --env-file .env -v tongflow_data:/app/data ghcr.io/tong-io/tongflow:latest私有仓库可能需要 docker login ghcr.io 配合带 read:packages 权限的 Token。
方案 C —— pnpm 本地开发
需要 Node.js 20+。
pnpm install
pnpm dev地址不变:http://localhost:3000。
5. 你的第一个工作流
/workspace 加载后:
- 默认进入 Create Mode(创作模式,Sparkles 图标——见 工作流模式)。
- 底部 智能岛(Smart Island) 显示 7 个添加图标:3D / 文档 / 图像 / 文本 / 视频 / 音频 / 链接。
- 点 文本(
Type字母图标)放一个文本节点,输入提示词如 “图书馆里一只猫的水彩肖像”。 - 从文本节点右侧的输出 handle 拖到空白画布 → 选 图像生成 → 一个图像节点自动连好线出现。
- 切到 Execute Mode(执行模式,把 Sparkles → Play 切换),点智能岛上的 Play 按钮。
- 任务通过你的 Modal 账号跑起来,结果出现在图像节点上。
整个循环就这些。接下来你可以再串一个转换(图→视频、图→3D、图像放大),或者分支到一个组合节点(如口型同步),或者保存工作流。
各种数据存在哪儿
- 工作流 —— 保存在
data/tongflow.db。从左上角左侧栏第一个按钮(Workflow)打开。 - 素材 / Portfolio —— 上传的文件在 Portfolio 对话框(左上角第三个按钮,FolderOpen 图标,不是智能岛)。
- 任务历史 —— Task 面板(左上角第二个按钮,Zap 图标)。
