GitHub 趋势 · 第 97 期
15,103 星的开源短剧工具:LICENSE 被删过五个月,回来时换了内容
#AI短剧#开源许可#GitHub趋势
先说判断:火宝短剧是目前功能最完整的一批开源 AI 短剧生产工具之一。全 TypeScript 栈,把小说贴进去,剧本改写、资产提取、生图、分镜拆解、生视频、FFmpeg 拼接导出,一条流水线走完,功能表本身没什么可挑的。
值得单独读的是另外两件事:这个仓库的 LICENSE 在八个月里被删除过一次,又被换成了另一份文本;而它的许可写着禁止商用,首页最显眼的入口却是买一个 API key。
如果你打算拿它做号、接单或者上线,典型路径是:搜 AI 短剧,按星数排序,挑第一个 clone 下来。这条路会在两个地方断掉。第一是授权,仓库里写着禁止商用,而这条限制在平台的接口字段里是看不见的。第二是成本,代码免费,生成视频的模型不免费,一条成片花多少钱取决于你接哪个视频模型。
它是什么
官方定位一句话:An AI-Powered End-to-End Short Drama Generator。README 拆得更细,主线是四段:script generation, character design, storyboard breakdown, and video compositing,剧本生成、角色设计、分镜拆解、视频合成。
frontend/ — Nuxt 3 + Vue 3 + TypeScript (pure CSS, no UI framework) backend/ — Hono + Drizzle ORM + Mastra AI Agents + better-sqlite3 backend/workspace/skills/ — Agent skill definitions (SKILL.md, editable in the UI) desktop/ — Electron desktop app (main process + esbuild + electron-builder dmg/exe) data/ — Generated assets and the SQLite database
这棵树里有一行值得单独标出来:backend/workspace/skills/ 放的是 Agent 的 SKILL.md,设置页里可以在线编辑。也就是说这个项目的 Agent 行为对用户是开放的,改提示词不需要改代码。
核心能力
后端跑四个 Mastra agent,职责按流水线的阶段切开:
| Agent | 职责 |
|---|---|
| script_rewriter | 把小说改写成带分集的拍摄剧本 |
| extractor | 从剧本里抽取角色、场景、道具并去重 |
| storyboard_breaker | 把剧本拆成分镜序列 |
| prompt_generator | 生成角色与场景的生图提示词,以及分镜的视频提示词 |
模型侧没有任何本地选项,三类能力都要接外部服务:
| 类型 | 可接的服务 |
|---|---|
| 文本 | OpenAI 兼容接口、Gemini |
| 图片 | OpenAI、Gemini、火山引擎 |
| 视频 | 火山引擎 Seedance 2.0(Standard / Fast / Mini)、MiniMax H3、阿里云百炼 Wan 3.0(Prime / 标准) |
仓库里不带任何权重,三张表里也没有一行是本地模型。这是一个纯云端项目,跑起来之后每一段视频都是一次 API 调用。
上手
从源码起,Node.js 20+ 和 npm 9+ 就够。数据库是内置的 SQLite 单文件,FFmpeg 走 npm 包自带,这两样都不用你自己装。
# Clone the repository git clone https://github.com/chatfire-AI/huobao-drama.git cd huobao-drama # Install backend dependencies cd backend && npm install # Install frontend dependencies cd ../frontend && npm install
开发模式前后端分开跑,前端 3013,后端 5679,前端会自动把 /api 与 /static 代理过去:
# Terminal 1: backend cd backend npm run dev # Terminal 2: frontend cd frontend npm run dev
也可以让后端同时托管前端静态文件。注意构建产物要手动拷到后端认的目录,跳掉这一步接口能通、页面会 404:
# 1. Build the frontend cd frontend && npm run generate # 2. Copy the build output where the backend expects it # (generate outputs to .output/public; the backend reads frontend/dist) cp -r .output/public dist # 3. Start the backend cd ../backend && npm start
不想装 Node 的话,官方还给了桌面版和 Docker 两条捷径:
docker pull huobao/huobao-drama:4.0.0 docker run -d \ --name huobao-drama \ -p 5679:5679 \ -v huobao-data:/app/data \ --restart unless-stopped \ huobao/huobao-drama:4.0.0
桌面包 macOS 和 Windows 都没有签名。README 的原话是 macOS 首次打开要右键、或者执行一次 xattr -cr /Applications/HuobaoDrama.app,Windows 会先被 SmartScreen 拦一次。这是自掏签名证书的成本,不是故障,但第一次装的人会停在这里。
LICENSE 的三次状态
这个仓库从创建到现在,LICENSE 文件一共被四次提交碰过。今天它的样子和最初任何一版都不一样。
| 时间 | LICENSE 状态 | 内容 |
|---|---|---|
| 2026-01-14 | 首次加入 | CC BY-NC-SA 4.0 摘要,附个人使用许可与商业授权通道(邮箱、微信) |
| 2026-01-15 | 更新 | 只换了商业授权那一栏的联系邮箱 |
| 2026-03-27 | 被删除 | 一次项目重构把 LICENSE 列进了要删掉的文件 |
| 2026-09-06 | 重新加入 | 换成标准 CC BY-NC-SA 4.0 全文,20,850 字节 |
第三行那次,提交信息的标题是 chore: clean up project — rename server→backend, client→frontend,正文里明确列了要删的东西:Old docs, README files, LICENSE, Docker files。LICENSE 在这个仓库里被当成过一次清理对象。从这次删除到重新加回来,中间隔了 163 天。
而 2026-09-06 加回来的那一份,和一月那两份不是同一种文本。一月那两份是两 KB 级别的自定义摘要,正文里明写可以联系作者获取商业授权,附了邮箱与微信号;新加回来的是 20,850 字节的标准 CC 全文,里面没有任何商业授权的联系入口。今天你在仓库里能找到的禁商用出口,只剩 README 里一句 without prior written permission from the author。
还有一处偏差值得记一下:LICENSE 文件是标准的 CC BY-NC-SA 4.0 全文,而 GitHub 接口返回的许可字段是 Other / NOASSERTION。也就是说,如果你的合规流程是读平台的许可字段做扫描,这个仓库会以未识别的方式滑过去,你查不到这条限制。
版本号只活在 README 里
| 记录口径 | 数量 | 明细 |
|---|---|---|
| README 的 changelog | 7 个版本 | v1.0.2 / v1.0.3 / v1.0.4 / v2.0.0 / v3.0.0 / v3.1.0 / v4.0.0 |
| git tag | 3 个 | v1.0.2 / v1.0.4 / v4.0.0 |
| GitHub Release | 2 个 | v4.0.0(6 个资产)/ v1.0.4(0 个资产) |
对不上的地方在这里:v1.0.3、v2.0.0、v3.0.0、v3.1.0 这四个版本只作为 README 的小标题存在,git 里没有对应 tag。README 用七个版本号讲了一条完整的迭代史,而仓库里能 checkout 到的只有三个点,两个 Release 里还有一个是空的。想按文档里的 v3.1.0 安装,你找不到对应的 ref。
唯一带安装包的 Release 是 2026-09-10 发布的 v4.0.0,六个资产里五个是各平台安装包与更新包,一个是给应用内更新器读的清单文件。
真正会收钱的地方
README 第一屏最显眼的不是安装命令。作者位放的是下载入口、官网,以及一行加粗的 API Key 入口,指向 api.firemux.com;设置页里的快捷配置一键写入的,正是指向这个域名的三条配置,文本、图片、视频各一条。
这不是从推荐语里猜出来的,三次提交把它写在了时间线上:2026-09-06 的 refactor(settings): 快捷配置 API 域名迁移至 api.firemux.com;同一天的 feat(ui): 融合 ChatFire gateway 主题 + 顶栏 GitHub 入口;2026-09-11 的 chore(release): 国内分发启用 CDN 域名 installer.chatfire.site。同一周里,配置域、界面主题、分发域名三处一起换了。
issue 区里有两封已关闭的提问,标题是「开源版本和商业版本的区别?」和「请问开源版本企业能否商用?」。问题本身说明用户在开源版与商业版的分界上有疑问;而仓库里能查到的口径,只有 README 那一句书面许可。
仓库里比 README 更该先读的一份文件
根目录有一份 4,693 字节的 CLAUDE.md,是写给改这个仓库源码的 agent 看的开发指引,全中文,比 26,411 字节的英文 README 短得多。它比 README 更早承认了三件事:
- ▪仓库里的 configs/ 是遗留死配置、代码零引用,而目录本身还留在仓库里,README 从头到尾没提过它
- ▪前端静态构建必须用 npm run generate,用 nuxt build 不产 index.html,不能用于静态托管
- ▪better-sqlite3 是原生模块,Electron 的 ABI 一变就必须重编,desktop 下有一条 npm run rebuild:native 专治这个
README 面向使用者,CLAUDE.md 面向改代码的人,而会把新手指到沟里的细节都在后者手上。
一处文档自相矛盾,和一处我没能核上的
README 的 changelog 在 v4.0.0 一节里写着移除了 Docker 部署,原文是 Removed Docker/MySQL deployment (recoverable from git history);但同一份 README 的部署章节仍然在教你怎么 docker pull 一个多架构镜像,仓库根目录的 Dockerfile、docker-compose.yml 与 docker/ 目录也都还在原地。我去镜像仓库核对这个镜像是否真实存在,两次都没连上,这一条我按未核实处理,只能确认文档内部对不上。
我的判断
适合谁:想把小说或剧本批量转成短剧成片、并且接受全部算力走云端 API 的个人或团队。也适合想做二次开发的人,Agent 的 SKILL.md 是文件、设置页可在线改,文本模型这一层接第三方的门是开着的。
不适合谁:准备直接拿去商用上线的人,先把授权解决掉再动手;想跑纯本地、不联网出片的人,这个项目没有本地模型这条路;只想零成本试水的人,代码免费,但视频模型按条计费。
坑:许可字段在平台接口上是未识别状态,合规扫描会漏;四个版本号在 git 里没有 tag,按版本文档安装会踩空;桌面包两头都没有签名;Docker 部署章节和 changelog 自相矛盾。
地址:https://github.com/chatfire-AI/huobao-drama
数据(GitHub API 实测):15,103 star · 2,783 fork · 未关闭 issue 3 / 已关闭 68 · watcher 81 · 主语言 Vue · 默认分支 master · 仓库体量 37,799 KB
时间线:创建 2026-01-05 · 最近推送 2026-09-11 · 最新 Release v4.0.0(2026-09-10,6 个资产)
许可:LICENSE 文件为标准 CC BY-NC-SA 4.0 全文(20,850 字节)并禁止商用;GitHub 接口许可字段返回 Other / NOASSERTION
数据来源:GitHub Trending 官方页面与 GitHub REST API · 抓取时间:2026-09-14 13:35
本期的取舍也说明一下:日榜、周榜、月榜在给定的十个方向里没有一个可用新面孔,候选要么是已写过的项目,要么是既定排除项,所以按方向改用搜索接口补齐,按动量取了这一项。
你在用的开源内容工具里,有没有遇到过许可中途变过的?评论区留一个仓库名,我去核。
下期预告:写歌、写词、写诗那一族已经在候选池里,包括 ACE-Step 的几个前端壳、HeartMuLa 的模型库,以及纯 C++ 的音频推理引擎;如果出现高动量干净的新面孔,就回到单项目精读。上上期预告的开源替代 SaaS 合集不在给定方向内,继续欠着。
#AI短剧#开源许可#GitHub趋势
