中文 | English
# Toonflow
AI短剧工厂
动动手指,小说秒变剧集!
AI剧本 × AI影像 × 极速生成 🔥
---
# 🚀 安装
## 前置条件
在安装和使用本软件之前,请准备以下内容:
- ✅ 大语言模型 AI 服务接口地址
- ✅ Sora 或豆包视频服务接口地址
- ✅ Nano Banana Pro 图片生成模型服务接口
## 本机安装
### 1. 下载与安装
| 操作系统 | GitHub 下载 | 夸克网盘下载 | 说明 |
| :------: | :----------------------------------------------------------- | :---------------------------------------------- | :------------- |
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [夸克网盘](https://pan.quark.cn/s/94ef07509df0) | 官方发布安装包 |
| Linux | ⚙️ 敬请期待 | ⚙️ 敬请期待 | 即将发布 |
| macOS | ⚙️ 敬请期待 | ⚙️ 敬请期待 | 即将发布 |
> 目前仅支持 Windows 版本,其他系统将陆续开放。
> 因 Gitee OS 环境限制及 Release 文件上传大小限制,暂不提供 Gitee Release 下载地址。
### 2. 启动服务
安装完成后,启动程序即可开始使用本服务。
> ⚠️ **首次登录**
> 账号:`admin`
> 密码:`admin123`
## Docker 部署
### 前置条件
- 已安装 [Docker](https://docs.docker.com/get-docker/)(版本 20.10+)
- 已安装 [Docker Compose](https://docs.docker.com/compose/install/)(版本 2.0+)
### 方式一:在线部署(推荐)
从 GitHub / Gitee 自动拉取源码并构建镜像:
```shell
docker-compose -f docker/docker-compose.yml up -d --build
```
**支持的构建参数:**
| 参数 | 说明 | 默认值 | 示例 |
| -------- | ------------ | -------- | ------------------ |
| `GIT` | 代码仓库源 | `github` | `github` / `gitee` |
| `TAG` | 指定版本标签 | 最新 tag | `v1.0.6` |
| `BRANCH` | 指定分支 | 默认分支 | `main` / `dev` |
**版本选择优先级**:指定 TAG > 指定 BRANCH > 自动获取最新 tag > 默认分支
**指定参数示例:**
```shell
# 使用 Gitee 源(国内推荐,速度更快)
GIT=gitee docker-compose -f docker/docker-compose.yml up -d --build
# 指定版本标签
TAG=v1.0.6 docker-compose -f docker/docker-compose.yml up -d --build
# 指定分支 + Gitee 源
GIT=gitee BRANCH=dev docker-compose -f docker/docker-compose.yml up -d --build
```
### 方式二:本地构建
使用本地已有的源码直接构建,适合开发者或已克隆仓库的用户:
```shell
# 先克隆项目(如已有则跳过)
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
cd Toonflow-app
# 使用本地源码构建
docker-compose -f docker/docker-compose.local.yml up -d --build
```
### 服务端口说明
| 端口 | 用途 | 在线部署映射 | 本地构建映射 |
| ------- | -------------- | ------------- | ------------- |
| `80` | Nginx 前端页面 | 随机端口 | `8080:80` |
| `60000` | 后端 API 服务 | `60000:60000` | `60000:60000` |
### 数据持久化
默认日志目录会挂载到宿主机 `./logs` 目录。如需持久化上传文件或数据库,可在 `docker-compose.yml` 中添加 volumes:
```yaml
volumes:
- ./logs:/var/log
- ./uploads:/app/uploads # 持久化上传文件
- ./data:/app/data # 持久化数据库(如有)
```
### 常用操作命令
```shell
# 查看容器状态
docker-compose -f docker/docker-compose.yml ps
# 查看实时日志
docker-compose -f docker/docker-compose.yml logs -f
# 停止服务
docker-compose -f docker/docker-compose.yml down
# 重新构建并启动(更新版本时使用)
docker-compose -f docker/docker-compose.yml up -d --build
# 进入容器调试
docker exec -it toonflow sh
```
> ⚠️ **首次登录**
> 账号:`admin`
> 密码:`admin123`
## 云端部署
### 一、服务器环境要求
- **系统**:Ubuntu 20.04+ / CentOS 7+
- **Node.js**:24.x(推荐,最低 23.11.1+)
- **内存**:2GB+
### 二、服务器部署
#### 1. 安装环境
```bash
# 安装 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 克隆:**
```bash
cd /opt
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
cd Toonflow-app
yarn install
yarn build
```
**从 Gitee 克隆(国内推荐):**
```bash
cd /opt
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
cd Toonflow-app
yarn install
yarn build
```
#### 3. 配置 PM2
创建 `pm2.json` 文件:
```json
{
"name": "toonflow-app",
"script": "build/app.js",
"instances": "max",
"exec_mode": "cluster",
"env": {
"NODE_ENV": "prod",
"PORT": 60000,
"OSSURL": "http://127.0.0.1:60000/"
}
}
```
**环境变量说明:**
| 变量 | 说明 |
| ---------- | ---------------------------------- |
| `NODE_ENV` | 运行环境,`prod` 表示生产环境 |
| `PORT` | 服务监听端口 |
| `OSSURL` | 文件存储访问地址,用于静态资源访问 |
---
#### 4. 启动服务
```bash
pm2 start pm2.json
pm2 startup
pm2 save
```
#### 5. 常用命令
```bash
pm2 list # 查看进程
pm2 logs toonflow-app # 查看日志
pm2 restart all # 重启服务
pm2 monit # 监控面板
```
> ⚠️ **首次登录**
> 账号:`admin`
> 密码:`admin123`
#### 6. 部署前端网站
如需单独部署或定制前端界面,请参考前端仓库:
- **GitHub**:[Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
- **Gitee**:[Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
> 💡 **说明**:本仓库已内置编译好的前端资源,普通用户无需单独部署前端。前端仓库仅供需要二次开发的开发者使用。
---
# 🔧 开发流程指南
master 分支不接受任何 PR │ ✅ 请将 PR 提交到 develop 分支
使用微信扫码添加,二维码过期可提交 Issues 提醒更新
--- # 💌 联系我们 📧 邮箱:[ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow咨询) --- # 📜 许可证 Toonflow 基于 AGPL-3.0 协议开源发布,许可证详情:https://www.gnu.org/licenses/agpl-3.0.html 您可以在遵循 AGPL-3.0 相关条款与条件的情况下,将 Toonflow 用于包括商业目的在内的各类用途。 如需获得免于 AGPL-3.0 限制的专有商业许可,请通过邮箱与我们联系。 --- # ⭐️ 星标历史 [](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=date&legend=top-left) --- # 🙏 致谢 感谢以下开源项目为 Toonflow 提供强大支持: - [Express](https://expressjs.com/) - 快速、开放、极简的 Node.js Web 框架 - [AI](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 优先的模式验证库 - [Aigne](https://github.com/aigne-com/aigne) - LLM API 统一管理与接入中间件 - [Electron](https://www.electronjs.org/) - 跨平台桌面应用开发框架 感谢以下组织/单位/个人为 Toonflow 提供支持:|
|
算能云 提供算力赞助 [官网] |