HBAI-Ltd/Toonflow-app
GitHub: HBAI-Ltd/Toonflow-app
Toonflow是一款利用AI技术将小说自动转化为剧本并生成对应图片和视频的短剧创作工具,实现从文字到影像的全流程智能化生产。
Stars: 6220 | Forks: 972
简体中文 | 繁體中文 | English | ไทย | Tiếng Việt | 日本語 | Русский
# 🌐 多语言支持 Toonflow 支持以下语言界面: | 语言 | Language | | ---------- | --------------------- | | 简体中文 | Chinese (Simplified) | | 繁體中文 | Chinese (Traditional) | | English | English | | ไทย | Thai | | Tiếng Việt | Vietnamese | | 日本語 | Japanese | | Русский | Russian | # 🌟 主要功能 Toonflow 是面向短剧生产的 AI 工作台,围绕“策划 → 编剧 → 分镜 → 出片”构建完整闭环,并支持本地化、可编程、可持续迭代的生产流程。 - ✅ **无限画布生产工作台** 以类无限画布形式组织剧本、角色、分镜、素材与视频节点,支持自由编排、回溯与并行生产,不受线性步骤限制。 - ✅ **三层 Agent 协作体系** 决策层、执行层、监督层协同工作,覆盖任务拆解、内容生成、质量审阅与修订反馈,提升稳定性与成片一致性。 - ✅ **持久化 Agent 记忆** 基于本地 ONNX 向量检索的跨会话记忆系统,支持短期消息、长期摘要和语义召回,确保多轮创作连续性。 - ✅ **可编程供应商系统** 支持在设置中心直接编写供应商 TypeScript 逻辑并即时生效,无需改源码或重启,便于私有化和多模型接入。 - ✅ **章节事件图谱驱动改编** 自动提取原著章节事件并结构化存储,剧本改编按事件图谱精准调用上下文,减少长文本信息丢失。 - ✅ **Skill 文件化配置** ScriptAgent 与 ProductionAgent 的核心提示词外化为 Markdown Skill 文件,支持在线编辑与快速调优 # 📦 应用场景 - 短视频内容创作 - 小说影视化实验 - AI 文学改编工具 - 剧本开发与快速原型 - 视频素材生成 # 🔰 使用指南 ## 🚀 v1.0.8 快速上手 1. 启动应用并登录(默认账号:`admin` / `admin123`)。 2. 在设置中心完成模型供应商配置(文本/图像/视频模型)。 3. 新建项目并导入原著,执行章节事件提取。 4. 进入 ScriptAgent 生成故事骨架、改编策略与结构化剧本。 5. 切换到 ProductionAgent,在无限画布中组织分镜、素材与视频节点。 6. 对分镜图进行节点化精调后回流工作台,完成视频拼接与导出。 ## 📺 视频教程(待更新,老版本教程已无参考价值) https://www.bilibili.com/video/BV1na6wB6Ea2 [](https://www.bilibili.com/video/BV1na6wB6Ea2) **Toonflow 8 分钟快速上手 AI 视频** 👉 [点击观看](https://www.bilibili.com/video/BV1na6wB6Ea2/?share_source=copy_web&vd_source=5b718c25439a901a34c7bc0c1d35b38e) 📱 手机微信扫码观看
# 🚀 安装
## 前置条件
在安装和使用本软件之前,请准备以下内容:
- ✅ 大语言模型 AI 服务接口地址
- ✅ Sora 或豆包视频服务接口地址
- ✅ Nano Banana Pro 图片生成模型服务接口
## 本机安装
### 1. 下载与安装
| 操作系统 | GitHub | Atomgit | 夸克网盘下载 | 说明 |
| :------: | :----------------------------------------------------------- | :------------------------------------------------------------ | :---------------------------------------------- | :------------- |
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [夸克网盘](https://pan.quark.cn/s/94ef07509df0) | 官方发布安装包 |
| Linux | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [夸克网盘](https://pan.quark.cn/s/94ef07509df0) | 官方发布安装包 |
| macOS | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [夸克网盘](https://pan.quark.cn/s/94ef07509df0) | 官方发布安装包 |
### 2. 启动服务
安装完成后,启动程序即可开始使用本服务
## Docker 部署
### 前置条件
- 已安装 [Docker](https://docs.docker.com/get-docker/)(版本 20.10+)
### 方式一:在线部署
待完善,暂时使用本地构建。
### 方式二:本地构建
使用本地已有的源码直接构建,适合开发者或已克隆仓库的用户,这需要你在本地安装 git:
```
# 先克隆项目(如已有则跳过)
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
cd Toonflow-app
# 使用 docker-compose 本地构建并启动
yarn docker:local
# 或者手动构建
docker build -t toonflow .
docker run -d -p <本地端口>:10588 -v <本地数据路径>:/app/data toonflow
# 此时在相应端口的 /web/index.html 路径即可访问页面
# 例如 http://localhost:10588/web/index.html
```
### 服务端口说明
| 端口 | 用途 | 部署映射 |
| ------- | -------- | ------------- |
| `10588` | 软件界面 | `10588:10588` |
**环境变量说明:**
| 变量 | 说明 |
| ---------- | ---------------------------------- |
| `NODE_ENV` | 运行环境,`prod` 表示生产环境 |
| `PORT` | 服务监听端口(默认 10588) |
| `OSSURL` | 文件存储访问地址,用于静态资源访问 |
## 云端部署
### 一、服务器环境要求
- **系统**:Ubuntu 20.04+ / CentOS 7+
- **Node.js**:24.x(推荐,最低 23.11.1+)
- **内存**:2GB+
### 二、服务器部署
#### 1. 安装环境
```
# 安装 Node.js
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 24
# 安装 Yarn 和 PM2
npm install -g yarn pm2
```
#### 2. 部署项目
**从 GitHub 克隆:**
```
cd /opt
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
cd Toonflow-app
yarn install
yarn build
```
**从 Gitee 克隆(国内推荐):**
```
cd /opt
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
cd Toonflow-app
yarn install
yarn build
```
#### 3. 配置 PM2
创建 `pm2.json` 文件:
```
{
"name": "toonflow-app",
"script": "data/serve/app.js",
"instances": "max",
"exec_mode": "cluster",
"env": {
"NODE_ENV": "prod",
"PORT": 10588,
"OSSURL": "http://127.0.0.1:10588/"
}
}
```
**环境变量说明:**
| 变量 | 说明 |
| ---------- | ---------------------------------- |
| `NODE_ENV` | 运行环境,`prod` 表示生产环境 |
| `PORT` | 服务监听端口 |
| `OSSURL` | 文件存储访问地址,用于静态资源访问 |
#### 4. 启动服务
```
pm2 start pm2.json
pm2 startup
pm2 save
```
#### 5. 常用命令
```
pm2 list # 查看进程
pm2 logs toonflow-app # 查看日志
pm2 restart all # 重启服务
pm2 monit # 监控面板
```
#### 6. 部署前端网站
如需单独部署或定制前端界面,请参考前端仓库:
- **GitHub**:[Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
- **Gitee**:[Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
# 🔧 开发流程指南
## 🛠️ 技术栈
| 类别 | 技术 |
| ---------- | ----------------------------------------------------------------------------------------- |
| 运行时 | Node.js 23.11.1+ |
| 语言 | TypeScript 5.x |
| 后端框架 | Express 5 |
| 数据库 | SQLite(better-sqlite3 / knex) |
| AI 集成 | Vercel AI SDK(OpenAI / Anthropic / Google / DeepSeek / 智谱 / MiniMax / 通义千问 / xAI) |
| 本地推理 | @huggingface/transformers(ONNX) |
| 实时通信 | Socket.IO |
| 桌面客户端 | Electron 40 |
| 图像处理 | Sharp |
| 容器化 | Docker |
## 开发环境准备
- **Node.js**:版本要求 23.11.1 及以上
- **Yarn**:推荐作为项目包管理器
## 快速启动项目
1. **克隆项目**
**从 GitHub 克隆:**
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
cd Toonflow-app
**从 Gitee 克隆(国内推荐):**
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
cd Toonflow-app
. **安装依赖**
请先在项目根目录下执行以下命令以安装依赖项:
yarn install
3. **启动开发环境**
本项目包含 **后端 API 服务** 和 **前端页面** 两部分,请根据需要选择启动方式:
- **方式一:仅启动后端服务**
yarn dev
- **方式二:启动 Electron 桌面客户端**
yarn dev:gui
- **方式三:生产模式启动**
yarn start
4. **项目打包**
- 编译并生成 TypeScript 文件:
yarn build
- 打包为 Windows 平台可执行程序:
yarn dist:win
- 打包为 Mac 平台可执行程序:
yarn dist:mac
- 打包为 Linux 平台可执行程序:
yarn dist:linux
5. **代码质量检查**
- 进行全局语法和规范检查:
yarn lint
6. **AI 调试面板(可选)**
启动 AI SDK 的可视化调试工具,方便调试 AI 调用:
yarn debug:ai
## 前端开发
如需修改前端界面,请前往前端仓库进行开发:
- **GitHub**:[Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
- **Gitee**:[Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
前端构建后,将 `dist` 目录内容复制到本项目的 `data/web` 目录即可集成。
## 项目结构
```
📂 build/ # 编译产物
📂 data/ # 运行时数据
│ ├─ 📂 models/ # 本地推理模型(ONNX)
│ ├─ 📂 oss/ # 对象存储(素材/角色/场景)
│ ├─ 📂 serve/ # 生产环境入口
│ ├─ 📂 skills/ # Agent 技能提示词
│ └─ 📂 web/ # 前端编译产物(内置)
📂 docs/ # 文档资源
📂 env/ # 环境配置
📂 scripts/ # 构建与辅助脚本
📂 src/
├─ 📂 agents/ # AI Agent 模块
│ ├─ 📂 productionAgent/ # 生产 Agent
│ └─ 📂 scriptAgent/ # 剧本 Agent
├─ 📂 lib/ # 公共库(数据库初始化、响应格式)
├─ 📂 middleware/ # 中间件
├─ 📂 routes/ # 路由模块
│ ├─ 📂 agents/ # Agent 记忆管理
│ ├─ 📂 artStyle/ # 画风管理
│ ├─ 📂 assets/ # 素材管理
│ ├─ 📂 assetsGenerate/ # 素材生成
│ ├─ 📂 cornerScape/ # 分镜管理
│ ├─ 📂 general/ # 通用接口
│ ├─ 📂 login/ # 登录认证
│ ├─ 📂 migrate/ # 数据迁移
│ ├─ 📂 modelSelect/ # 模型选择
│ ├─ 📂 novel/ # 小说管理
│ ├─ 📂 other/ # 其他功能
│ ├─ 📂 production/ # 制作管理
│ ├─ 📂 project/ # 项目管理
│ ├─ 📂 script/ # 剧本生成
│ ├─ 📂 scriptAgent/ # 剧本 Agent 接口
│ ├─ 📂 setting/ # 系统设置
│ ├─ 📂 task/ # 任务管理
│ └─ 📂 test/ # 测试接口
├─ 📂 socket/ # WebSocket 实时通信
├─ 📂 types/ # TypeScript 类型声明
├─ 📂 utils/ # 工具函数
├─ 📄 app.ts # 应用入口
├─ 📄 core.ts # 核心初始化
├─ 📄 env.ts # 环境变量处理
├─ 📄 err.ts # 错误处理
├─ 📄 logger.ts # 日志模块
├─ 📄 router.ts # 路由注册
└─ 📄 utils.ts # 通用工具
📄 Dockerfile # Docker 构建文件
📄 electron-builder.yml # Electron 打包配置
📄 skillList.json # 技能清单
📄 LICENSE # 许可证(Apache-2.0)
📄 NOTICES.txt # 第三方依赖声明
📄 package.json # 项目配置
📄 tsconfig.json # TypeScript 配置
```
# 🔗 相关仓库
| 仓库 | 说明 | GitHub | Gitee |
| ---------------- | ---------------------------------- | -------------------------------------------------- | ------------------------------------------------ |
| **Toonflow-app** | 完整客户端(本仓库,推荐普通用户) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-app) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-app) |
| **Toonflow-web** | 前端源代码(适合前端开发者) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-web) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-web) |
# 👨👩👧👦 微信交流群
拉群小助手:
也可以点击图标加入 Discord:
[](https://discord.gg/HEjKmpNpAZ)
或点击邀请连接: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
# 💌 联系我们
📧 邮箱:[ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow咨询)
# 📜 许可证
Toonflow 基于 Apache-2.0 协议开源发布,并附有补充商业协议。
许可证详情:https://www.apache.org/licenses/LICENSE-2.0
## 补充协议
- 若将本软件以产品形式分发给 **2 个及以上独立第三方**使用,须取得 HBAI-Ltd **书面商业授权**。
- **≤ 5 个法人**联合运营内部使用,不对外提供服务的,视为内部使用,**无需授权**。
- 不得删除或修改 Toonflow 中的标识或版权信息。
## 永久免费场景
- ✅ 用 Toonflow 制作内容并获得平台分账
- ✅ 二次开发供自己团队内部使用
- ✅ ≤ 5 个法人联合运营内部使用
- ✅ 个人学习、研究、非商业用途
## 商业授权定价
| 阶段 | 年销售额 | 年费 |
|------|---------|------|
| 🌱 扶持期 | < ¥10 万 | **申请即可免费授权** |
| 🚀 初创期 | ¥10–50 万 | ¥5,000/年 |
| 📈 成长期 | ¥50–150 万 | ¥20,000/年 |
| 🏢 规模期 | ¥150–500 万 | ¥80,000/年 |
| 🌐 企业级 | > ¥500 万 | 面议 |
完整协议详见 [LICENSE](./LICENSE) 文件
# ⭐️ 星标历史
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
# 🙏 致谢
感谢以下开源项目为 Toonflow 提供强大支持:
- [Express](https://expressjs.com/) - 快速、开放、极简的 Node.js Web 框架
- [AI SDK](https://ai-sdk.dev/) - 面向 TypeScript 的 AI 工具包
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - 高性能 SQLite3 绑定库
- [Sharp](https://sharp.pixelplumbing.com/) - 高性能 Node.js 图像处理库
- [Axios](https://axios-http.com/) - 基于 Promise 的 HTTP 客户端
- [Zod](https://zod.dev/) - TypeScript 优先的模式验证库
- [Socket.IO](https://socket.io/) - 实时双向事件通信引擎
- [Electron](https://www.electronjs.org/) - 跨平台桌面应用开发框架
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - 本地 ML 推理库
感谢以下组织/单位/个人为 Toonflow 提供支持:
|
|
算能云 提供算力赞助 [官网] |
标签:AIGC, AI人工智能, CNCF毕业项目, DLL 劫持, LLM, MITM代理, NLP, Unmanaged PE, 内容创作工具, 创意工具, 后端开发, 图像生成, 多模态AI, 大语言模型, 小说转剧本, 文本转视频, 文生图, 文生视频, 深度学习, 漫剧生成, 短剧创作, 视频生成, 计算机视觉, 请求拦截
# Toonflow