智剧通(ZJT)文档中心 开发者指南

🛠️ 开发者指南

如果你需要修改代码或参与开发,请阅读本文档。

环境要求

安装依赖

# 方式 1:使用 conda
conda create --name zjt python=3.10
conda activate zjt
pip install -r requirements.txt

# 方式 2:使用 uv(推荐)
uv sync

如使用国内镜像,追加 -i https://pypi.tuna.tsinghua.edu.cn/simple


启动方式

Windows 批处理启动

📌 详细说明:Windows启动开发说明.md

# 开发环境
$env:comfyui_env="dev"
uv run scripts/launchers/start_windows.py

# 生产环境(默认)
uv run scripts/launchers/start_windows.py

或直接双击 start.bat(显示日志,适合调试)。

scripts/launchers/start_windows.py 会自动:

  1. 检查 Python 和 uv 环境
  2. 启动本地 MySQL 服务(首次自动初始化)
  3. 执行数据库迁移
  4. 启动 Web 服务和定时任务
  5. 监控服务状态,异常时自动重启

Linux/macOS 启动

# 1. 复制配置文件(首次运行)
cp config.example.yml config_prod.yml

# 2. 修改数据库配置(重要!)
# 编辑 config_prod.yml,修改以下配置项:
#   - database.host: 数据库地址
#   - database.port: 数据库端口(默认 3306)
#   - database.user: 数据库用户名
#   - database.password: 数据库密码
#   - database.name: 数据库名称

# 3. 导入数据库基线(首次运行)
mysql -u root -p your_database < model/sql/baseline.sql

# 4. 启动服务
# 生产环境
python3 scripts/running/run_prod.py

# 或开发环境
python3 scripts/running/run_dev.py

run_prod.py 与 run_dev.py 的区别

启动方式配置文件日志级别用途
scripts/running/run_prod.pyconfig_prod.ymlWARNING生产环境,日志精简
scripts/running/run_dev.pyconfig_dev.ymlDEBUG开发环境,日志详细

配置说明

配置文件位于项目根目录:

核心配置项

配置项说明默认值
server.host服务地址localhost(本地服务)
server.port服务端口见配置文件
server.is_local是否本地环境true
database.*MySQL 连接配置-

外部服务配置

配置项说明
视频生成服务第三方视频生成模型 API 配置项(详见配置文件)
LLM 服务大语言模型服务配置项(详见配置文件)
tts.*TTS 语音合成服务
图像生成服务第三方图像生成模型 API 配置项(详见配置文件)

功能配置

配置项说明默认值
task_queue.max_retry_count任务最大重试次数30
task_queue.task_expire_days任务过期天数7
upload.max_image_size_mb图片上传大小限制10 MB
workflow.poll_status_interval工作流状态轮询间隔30
alembic.auto_migrate启动时自动迁移true
部署模式版本模式标准版

文件存储配置

支持对象存储服务,配置 file_storage.*


数据库迁移

本项目使用 Alembic 进行数据库迁移管理。

📌 详细说明:database_migration.md

常用命令

# 查看迁移历史
alembic history

# 查看当前版本
alembic current

# 升级到最新版本
alembic upgrade head

# 回滚一个版本
alembic downgrade -1

# 创建新迁移
alembic revision -m "描述信息"

初始化新数据库

  1. 执行 model/sql/baseline.sql 创建基础表
  2. 执行 alembic stamp head 标记为最新版本

测试模式

系统提供测试模式,可在配置中开启(test_mode 段)。开启后无需调用真实外部 API 即可测试业务流程,具体说明参见内部文档。


Debug 模式

前端 Debug 模式用于查看节点的完整数据结构。

📌 详细说明:dev_debug_guide.md(前端 Debug 模式章节)

  1. 配置密码:frontend.debug_password
  2. 点击页面顶部 Debug 按钮
  3. 节点标题栏出现 🐛 按钮,点击查看控制台输出

打包工具

Windows 托盘启动器打包

📌 详细说明:scripts/build/README.md

本项目提供自动化打包工具,用于生成带托盘功能的 Windows 可执行文件:

# 方法一:使用批处理脚本(推荐)
scripts\build\build.bat

# 方法二:直接运行 Python 脚本
python scripts\build\build_launcher.py

打包工具会自动:

输出文件点我启动.exe - 包含完整托盘功能的可执行程序

托盘功能


目录结构

comfyui_server/
├─ 点我启动.exe               # Windows 托盘启动器(推荐)
├─ start.bat                  # Windows 启动脚本(显示日志)
├─ stop.bat                   # Windows 停止脚本
├─ start.command              # macOS 启动脚本
├─ stop.command               # macOS 停止脚本
├─ scripts/                   # 脚本目录
│  ├─ build/                  # 打包工具目录
│  │  ├─ build_launcher.py    # 主打包脚本
│  │  ├─ build.bat            # 批处理打包脚本
│  │  └─ README.md            # 打包工具说明
│  ├─ launchers/              # 启动器脚本
│  │  ├─ launcher.py          # Windows 托盘启动器源码
│  │  ├─ launcher_mac.py      # macOS 托盘启动器源码
│  │  ├─ start_windows.py     # Windows 启动逻辑
│  │  └─ start_mac.py         # macOS 启动逻辑
│  ├─ running/                # 运行脚本
│  │  ├─ run_prod.py          # 生产环境启动器
│  │  ├─ run_dev.py           # 开发环境启动器
│  │  ├─ run_scheduler.py     # 定时任务启动器
│  │  ├─ run_script_split_worker.py  # 剧本拆分 worker
│  │  └─ linux_start_prod.sh  # Linux 生产启动脚本
│  ├─ testing/                # 测试脚本
│  │  ├─ run_migrations.sh    # 数据库迁移脚本
│  │  ├─ run_driver_tests.sh  # 驱动测试脚本
│  │  ├─ run_tests.sh         # 测试脚本
│  │  ├─ run_unit_tests.py    # 单元测试
│  │  ├─ run_docker_tests.bat # Docker 测试(Windows)
│  │  └─ run_docker_tests.sh  # Docker 测试(Linux/macOS)
│  ├─ tools/                  # 工具脚本
│  │  ├─ create_mac_app.sh    # macOS 应用创建脚本
│  │  ├─ create_shortcuts.vbs # Windows 快捷方式创建脚本
│  │  ├─ start_silent.vbs     # Windows 静默启动脚本
│  │  └─ obfuscate.sh         # 打包混淆脚本
├─ server.py                  # FastAPI 后端主入口
│
├─ api/                       # API 路由模块
├─ model/                     # 数据模型 & ORM
├─ task/                      # 后台任务(视频、音频、图片)
├─ llm/                       # LLM 集成(大语言模型服务)
├─ utils/                     # 工具函数
├─ script_writer_core/        # 剧本创作核心逻辑
├─ config/                    # 配置管理模块
│
├─ web/                       # 前端静态文件
├─ static/                    # 静态资源
├─ templates/                 # Jinja2 模板
│
├─ alembic/                   # 数据库迁移脚本
├─ bin/                       # 二进制工具(MySQL、FFmpeg)
├─ files/                     # 用户上传文件存储
├─ logs/                      # 日志目录
├─ tests/                     # 单元测试
├─ auto_test/                 # 自动化测试
└─ docs/                      # 文档

Docker 部署

启动服务

# 进入 docker 目录
cd docker

# 启动所有服务(MySQL + 应用)
docker-compose up -d

# 查看日志
docker-compose logs -f

常用命令

# 停止服务
docker-compose down

# 重新构建镜像
docker-compose build

# 进入应用容器
docker-compose exec app bash

# 进入数据库(按提示输入密码)
docker-compose exec mysql mysql -uroot -p zjt

端口

服务端口
MySQL3306
应用本地服务(见配置文件)

Docker 单元测试

方式一:一键脚本(推荐)

# Windows
scripts\testing\run_docker_tests.bat

# Linux/macOS
./scripts/testing/run_docker_tests.sh

脚本会自动:启动测试环境 → 输出测试日志 → 清理测试容器。

方式二:手动命令

# 进入 docker 目录
cd docker

# 启动测试环境(会自动运行测试)
docker-compose -f docker-compose-test.yml up -d

# 查看测试日志
docker-compose -f docker-compose-test.yml logs

# 清理测试环境
docker-compose -f docker-compose-test.yml down -v

相关文档

文档说明
user_manual.md用户使用手册(面向终端用户)
scripts/build/README.mdWindows 托盘启动器打包工具使用指南
Windows启动开发说明.mdWindows 启动流程详解
database_migration.md数据库迁移指南
dev_debug_guide.md后端测试模式说明(该文档"二、后端测试模式"章节)
dev_debug_guide.md前端 Debug 模式说明(该文档"一、前端 Debug 模式"章节)
mysql_startup.mdMySQL 启动说明
bin_path_config.md二进制路径配置
常量使用示例.md常量定义与使用
短信驱动架构说明.md短信服务架构

常见问题