ARTICLE · 1161957
一句话生成完整短剧:开源桌面 App「火宝短剧」拆解

摘要:火宝短剧(Huobao Drama)是 chatfire-AI 的开源 AI 一站式短剧生成平台:LLM 自动解析剧本、抽取角色场景分镜,AI 生图、文生视频 / 图生视频端到端拼出成片。桌面 App 内置后端与零配置数据库、FFmpeg,下载安装、填入 API Key 即可跑通整条流程,主打开箱即用。
项目介绍:它是什么
火宝短剧官方定位一句话:一句话生成完整短剧,从剧本到成片全自动化。它属于 chatfire-AI 出品,与 Toonflow 的「工作台」路线不同——火宝把重点放在开箱即用:桌面 App 内置后端,普通用户下载安装、填入 API Key 就能跑通整条流程。
它不要求你先学会编排工作流,而是把「剧本解析 → 角色场景生成 → 分镜片段 → 成片合成」整条线自动串起来。模型的默认配置走火宝 API(设置里一键写入三组推荐配置),也支持自部署。可以把它的定位概括为:
主打开箱即用的一站式短剧生成:从剧本到成片全自动化。

▲ 创建项目
功能特性:从一句话到成片的关键能力
火宝的定位是「一句话生成完整短剧」:小说进、成片出,中间的剧本改写、要素抽取、分镜拆解、提示词生成、视频合成全部由四个内置 Agent 加一条工作台流水线接管。
核心能力一览
1. 四 Agent 接力:小说进,成片出——改写、抽取、分镜、提示词四个 Agent 自动接力,中间零断点
2. 一致性引擎:多集连拍,角色不「变脸」——@角色 自动挂参考图,人物、场景多集前后一个样
3. 模型矩阵:顶栏换挡,随切随比——Seedance 2.0 / MiniMax H3 / Wan 3.0 顶栏随切,同一份分镜跑出不同档位
4. 批量生产线:预生成确认兜底,废片一键重跑——整集批量排队,生成前先确认、失败一键重试,量产不出错
5. 本地工程底座:双击即用,零命令行——FFmpeg、数据库全内置,桌面 App 双击就跑
下面按能力逐个拆开看:
四 Agent 接力:小说进,成片出

▲ 火宝短剧核心架构:四个内置 Agent 分工的短剧生产线
一致性引擎:多集连拍,角色不「变脸」
模型矩阵:顶栏换挡,随切随比
批量生产线:预生成确认兜底,废片一键重跑
本地工程底座:双击即用,零命令行

▲ 剧本创作工作台

▲ 分镜拆解
技术架构拆解:这条生产线怎么装进一台电脑
火宝是一个 monorepo 形态的全栈 TypeScript 项目:desktop/ 的 Electron 桌面壳、backend/ 的 Hono 本地服务、frontend/ 的 Nuxt 3 渲染层,三层全部跑在用户本机,无云端依赖。先看整体拓扑,再沿启动链路逐层拆:

▲ 火宝短剧系统拓扑:Electron 主进程 → Hono 本地服务 → Mastra 运行时 / Drizzle / FFmpeg 管线
架构要点一览
1. 进程模型——Electron 主进程 spawn 本地 Node 服务(127.0.0.1:5679),env 注入目录契约,渲染层经 REST 访问
2. 数据层——better-sqlite3 同步绑定 + SQLite WAL,单文件库,幂等 DDL 首启建表
3. Agent 运行时——Mastra + Vercel AI SDK,OpenAI 兼容协议接多模型,技能即 SKILL.md 文件
4. 媒体管线——fluent-ffmpeg spawn 静态 ffmpeg 二进制,Sharp 处理图像,全链路进程内闭环
5. 构建打包——esbuild + electron-builder,Electron 钉 37.x 换取原生模块 ABI 免编译
下面沿启动链路逐层拆:
进程模型与启动链路:双击之后发生了什么
双击图标后,Electron 主进程做两件事:以子进程方式拉起 backend/ 的 Node 服务,监听 127.0.0.1:5679;同时注入环境变量建立目录契约——HUOBAO_DATA_DIR 指向数据目录,WORKSPACE_PATH 指向技能工作区。
主窗口随后加载 Nuxt 3 构建产物(SPA 模式、文件路由),渲染层与后端之间全是本地 HTTP REST 调用,与主进程之间走 IPC。服务、界面、技能目录三方靠这套 env 约定对齐,任何一层都可以独立替换掉。
数据层:better-sqlite3 同步绑定 + WAL 并发模型
选 SQLite 不是图省事,是架构匹配:better-sqlite3 是进程内 C++ 绑定,查询走函数调用而非网络 socket,单用户桌面场景延迟最低;开 WAL 模式后写操作进 -wal 文件、读写不互斥,后台批量渲染任务写库不会卡住界面查询。
首次启动做幂等 DDL 回放建表 + 写入种子数据,数据库就是 data/ 目录下的一个 huobao.sqlite3 文件。从 MySQL 平移到 SQLite 业务代码零改动,靠的是 Drizzle 查询 DSL 屏蔽方言——真正动的只有连接层和一个一次性导入脚本。
Agent 运行时:Mastra 执行循环 + OpenAI 兼容协议
四个 Agent 是 Mastra Agent 实例,配置存库、运行时加载;底层 Vercel AI SDK 的 OpenAI 兼容 provider,messages + tool calling 一套协议对接 Gemini、火山引擎、MiniMax 等各家——换模型只改 provider 配置,Agent 执行循环一行不动。
扩展入口是 SKILL.md:技能以文件形式放在 backend/workspace/skills/,运行时读取注册,界面内可直接编辑,加一个技能不需要改任何源码。
媒体管线:fluent-ffmpeg 子进程调度
视频合成两段式:逐镜合成(图生视频结果 + 音轨 + 字幕封装)与整集拼接,由 fluent-ffmpeg 组装 filtergraph 后 spawn ffmpeg 子进程执行;二进制来自 ffmpeg-static / ffprobe-static,静态编译随 npm 包分发、无系统依赖,可用 FFMPEG_BIN / FFPROBE_BIN 覆盖路径。
图像侧 Sharp(libvips 绑定)负责参考图、缩略图与封面帧的缩放裁剪——多媒体链路完全进程内闭环,用户机器上不用装任何工具链。
构建与打包:ABI 约束下的版本钉死
主进程 esbuild 打包,渲染层走 Nuxt/Vite 构建,electron-builder 出 macOS dmg(arm64/x64 双架构)与 Windows NSIS(win-x64)。
Electron 钉在 37.x 不是保守:better-sqlite3 的 win32 预编译最高只发布到 Electron 37 对应的 NODE_MODULE_VERSION,升级就得要求用户本地装编译工具链——原生模块的 ABI 匹配优先于框架新特性,这是二进制分发完整性的标准取舍。
安装使用:本地跑起来
按下面几步,把项目跑起来:
npm install && npm run dev,环境变量均有默认值,本地开发零配置;
▲ 快速上手关键步骤
v4.0 起它收成了 Electron 桌面应用:双击安装即用,自动选端口、后端跑在崩溃隔离的子进程里,数据库也从 MySQL 迁到了 SQLite(WAL 模式),FFmpeg 直接内置不再依赖系统安装。另一个贴心处理:生成遇到内容审核失败(真人、敏感内容)时,会提示你换模型重试,而不是直接报错卡死。
案例:典型用法与适用场景
典型用法:从一段小说到一条成片
火宝把制作过程做成了 6 步工作台,左侧进度条常驻显示当前位置,分集列表随时可以回到任意一集继续做。跟着走一遍:

▲ 从小说到成片的 6 步工作流
几个值得知道的细节:新建项目时选的画幅(16:9 / 9:16)和视觉风格,会注入之后每一条图像提示词;批量生成视频前先过「预生成确认」,镜头数、总时长、模型、分辨率一起核对;@角色 引用自动映射参考图,不用手动传图;拼接前会先校验视频文件存在再合并,失败任务一键重试——这套「批量生产不出错」的设计,对日更型账号比花哨功能值钱。

▲ 合并与导出
适用场景:四类人,四种用法
结尾总结:什么情况值得用它
火宝短剧适合下面这几类人:
16k+ star 都沉淀在「开箱即用」这四个字上——如果 AI 短剧对你来说还是「听过没跑过」,火宝是起步成本最低的那一个。
如果这篇对你有用
这篇拆解如果帮你省下了踩坑时间:点个在看,让还没跑通 AI 短剧的朋友少走弯路;收藏这篇,装 App、填 Key 的步骤都在上面;关注「AI深思智汇」,这个系列会把 25 个开源 AI 视频项目一个个拆到底,下一篇拆谁、什么时候发,关注后第一时间看到。你用它出过短剧吗?评论区晒一条。
项目采用 CC BY-NC-SA 4.0 授权(禁商用);桌面版安装包与 Docker 镜像均从项目 GitHub Releases 获取。项目为开源社区作品,使用前请自行评估依赖与合规;涉及声音克隆、视频复刻等能力时,请务必确认素材授权与平台规则。

▲ AI深思智汇 · 开源项目拆解系列