[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74752":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},74752,"huobao-drama","chatfire-AI\u002Fhuobao-drama","chatfire-AI","🎬 火宝短剧 - 基于AI的一站式短剧生成平台 《一句话生成完整短剧，从剧本到成片全自动化》  Huobao Drama - An AI-Powered End-to-End Short Drama Generator \"One Sentence to Complete Drama: Fully Automated from Script to Final Video\"","",null,"TypeScript",12659,2418,77,16,0,44,130,305,132,45,false,"master",true,[],"2026-06-12 02:03:27","# 🎬 Huobao Drama - AI 短剧生成平台\n\n\u003Cdiv align=\"center\">\n\n**基于 TypeScript 全栈的 AI 短剧自动化生产平台**\n\n[![Node Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode.js-20+-339933?style=flat&logo=node.js)](https:\u002F\u002Fnodejs.org)\n[![Vue Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVue-3.x-4FC08D?style=flat&logo=vue.js)](https:\u002F\u002Fvuejs.org)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-CC%20BY--NC--SA%204.0-lightgrey.svg)](https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc-sa\u002F4.0\u002F)\n\n[功能特性](#功能特性) • [快速开始](#快速开始) • [部署指南](#部署指南)\n\n\u003C\u002Fdiv>\n\n---\n\n## 📖 项目简介\n\nHuobao Drama 是一个基于 AI 的短剧自动化生产平台，实现从剧本生成、角色设计、分镜制作到视频合成的全流程自动化。\n\n火宝短剧商业版地址：[火宝短剧商业版](https:\u002F\u002Fdrama.chatfire.site\u002Fshortvideo)\n火宝小说生成：[火宝小说生成](https:\u002F\u002Fmarketing.chatfire.site\u002Fhuobao-novel\u002F)\n\n### 🎯 核心价值\n\n- **🤖 AI 驱动**：使用大语言模型解析剧本，提取角色、场景和分镜信息\n- **🎨 智能创作**：AI 绘图生成角色形象和场景背景\n- **📹 视频生成**：基于文生视频和图生视频模型自动生成分镜视频\n- **🔄 工作流**：完整的短剧制作工作流，从创意到成片一站式完成\n\n### 🛠️ 技术架构\n\n```\nfrontend\u002F   — Nuxt 3 + Vue 3 + TypeScript (纯 CSS，无 UI 框架)\nbackend\u002F    — Hono + Drizzle ORM + Mastra AI Agents + better-sqlite3\nconfigs\u002F    — config.yaml 配置文件\ndata\u002F       — SQLite 数据库 + 生成资源文件\nskills\u002F     — Agent 技能定义 (SKILL.md)\n```\n\n### 🎥 作品展示 \u002F Demo Videos\n\n体验 AI 短剧生成效果：\n\n\u003Cdiv align=\"center\">\n\n**示例作品 1**\n\n\u003Cvideo src=\"https:\u002F\u002Fffile.chatfire.site\u002Fcf\u002Fpublic\u002F20260114094337396.mp4\" controls width=\"640\">\u003C\u002Fvideo>\n\n**示例作品 2**\n\n\u003Cvideo src=\"https:\u002F\u002Fffile.chatfire.site\u002Fcf\u002Fpublic\u002Ffcede75e8aeafe22031dbf78f86285b8.mp4\" controls width=\"640\">\u003C\u002Fvideo>\n\n[点击观看视频 1](https:\u002F\u002Fffile.chatfire.site\u002Fcf\u002Fpublic\u002F20260114094337396.mp4) | [点击观看视频 2](https:\u002F\u002Fffile.chatfire.site\u002Fcf\u002Fpublic\u002Ffcede75e8aeafe22031dbf78f86285b8.mp4)\n\n\u003C\u002Fdiv>\n\n---\n\n## ✨ 功能特性\n\n### 🎭 角色管理\n\n- ✅ AI 生成角色形象\n- ✅ 批量角色生成\n- ✅ 角色图片上传和管理\n- ✅ 角色音色分配与试听\n\n### 🎬 分镜制作\n\n- ✅ AI 自动拆解分镜脚本\n- ✅ 场景描述和镜头设计\n- ✅ 分镜图片生成（文生图）\n- ✅ 宫格图生成、切分与分配\n- ✅ 帧类型选择（首帧\u002F尾帧\u002F分镜板）\n\n### 🎥 视频生成\n\n- ✅ 图生视频自动生成\n- ✅ TTS 配音生成\n- ✅ FFmpeg 单镜头合成（视频 + 音频 + 字幕）\n- ✅ 整集拼接导出\n\n### 📦 资源管理\n\n- ✅ 素材库统一管理\n- ✅ 本地存储支持\n- ✅ 任务进度追踪\n\n### 🤖 AI Agents\n\n内置 5 个 Mastra Agent，支持数据库配置和 Skill 扩展：\n\n| Agent | 职责 |\n|---|---|\n| `script_rewriter` | 小说 → 格式化剧本改写 |\n| `extractor` | 角色 + 场景智能提取与去重 |\n| `storyboard_breaker` | 剧本 → 分镜序列拆解 |\n| `voice_assigner` | 角色音色自动分配 |\n| `grid_prompt_generator` | 角色\u002F场景\u002F宫格图提示词生成 |\n\n### 🔌 多厂商适配\n\n| 类型 | 支持厂商 |\n|---|---|\n| **图片** | OpenAI、Gemini、MiniMax、火山引擎、阿里、Chatfire |\n| **视频** | MiniMax、火山引擎\u002FSeedance、Vidu、阿里 |\n| **TTS** | MiniMax |\n\n---\n\n## 🚀 快速开始\n\n### 📋 环境要求\n\n| 软件 | 版本要求 | 说明 |\n|---|---|---|\n| **Node.js** | 20+ | 前后端运行环境 |\n| **npm** | 9+ | 包管理工具 |\n| **FFmpeg** | 4.0+ | 视频处理（**必需**） |\n\n#### 安装 FFmpeg\n\n**macOS:**\n\n```bash\nbrew install ffmpeg\n```\n\n**Ubuntu\u002FDebian:**\n\n```bash\nsudo apt update && sudo apt install ffmpeg\n```\n\n**Windows:**\n从 [FFmpeg 官网](https:\u002F\u002Fffmpeg.org\u002Fdownload.html) 下载并配置环境变量\n\n验证安装：\n\n```bash\nffmpeg -version\n```\n\n### ⚙️ 配置文件\n\n复制并编辑配置文件：\n\n```bash\ncp configs\u002Fconfig.example.yaml configs\u002Fconfig.yaml\n```\n\n配置文件格式（`configs\u002Fconfig.yaml`）：\n\n```yaml\napp:\n  name: \"Huobao Drama API\"\n  version: \"1.0.0\"\n  debug: true\n\nserver:\n  port: 5679\n  host: \"0.0.0.0\"\n  cors_origins:\n    - \"http:\u002F\u002Flocalhost:3013\"\n\ndatabase:\n  type: \"sqlite\"\n  path: \".\u002Fdata\u002Fhuobao_drama.db\"\n\nstorage:\n  type: \"local\"\n  local_path: \".\u002Fdata\u002Fstorage\"\n  base_url: \"http:\u002F\u002Flocalhost:5679\u002Fstatic\"\n\nai:\n  default_text_provider: \"openai\"\n  default_image_provider: \"openai\"\n  default_video_provider: \"doubao\"\n```\n\n> **说明**：AI 服务的具体 API Key 和模型参数在 Web 界面的「设置」页面中配置。\n\n### 📥 安装依赖\n\n```bash\n# 克隆项目\ngit clone https:\u002F\u002Fgithub.com\u002Fchatfire-AI\u002Fhuobao-drama.git\ncd huobao-drama\n\n# 安装后端依赖\ncd backend && npm install\n\n# 安装前端依赖\ncd ..\u002Ffrontend && npm install\n```\n\n### 🎯 启动项目\n\n#### 方式一：开发模式（推荐）\n\n前后端分离，支持热重载：\n\n```bash\n# 终端1：启动后端\ncd backend\nnpm run dev\n\n# 终端2：启动前端\ncd frontend\nnpm run dev\n```\n\n- 前端地址: `http:\u002F\u002Flocalhost:3013`\n- 后端 API: `http:\u002F\u002Flocalhost:5679\u002Fapi\u002Fv1`\n- 前端自动代理 `\u002Fapi` 和 `\u002Fstatic` 到后端\n\n#### 方式二：单服务模式\n\n后端同时提供 API 和前端静态文件：\n\n```bash\n# 1. 构建前端\ncd frontend && npm run generate\n\n# 2. 启动后端\ncd ..\u002Fbackend && npm start\n```\n\n访问: `http:\u002F\u002Flocalhost:5679`\n\n### 🗄️ 数据库\n\n数据库表在首次启动时自动创建，无需手动迁移。默认路径 `data\u002Fhuobao_drama.db`，可通过环境变量覆盖：\n\n```bash\nDB_PATH=\u002Fpath\u002Fto\u002Fyour.db npm start\n```\n\n---\n\n## 📦 部署指南\n\n### ☁️ 云端一键部署（推荐 3080Ti）\n\n👉 [优云智算，一键部署](https:\u002F\u002Fwww.compshare.cn\u002Fimages\u002FfScvzK95NUk5?referral_code=8hUJOaWz3YzG64FI2OlCiB&ytag=GPU_YY_YX_GitHub_huobaoai)\n\n> ⚠️ **注意**：云端部署方案数据请及时存储到本地\n\n---\n\n### 🐳 Docker 部署（推荐）\n\n#### 方式一：Docker Compose（推荐）\n\n```bash\n# 启动服务\ndocker compose up -d\n\n# 查看日志\ndocker compose logs -f\n\n# 停止服务\ndocker compose down\n```\n\n#### 方式二：Docker 命令\n\n```bash\n# 从 Docker Hub 运行\ndocker run -d \\\n  --name huobao-drama \\\n  -p 5679:5679 \\\n  -v $(pwd)\u002Fdata:\u002Fapp\u002Fdata \\\n  -v $(pwd)\u002Fconfigs\u002Fconfig.yaml:\u002Fapp\u002Fconfigs\u002Fconfig.yaml \\\n  --restart unless-stopped \\\n  huobao\u002Fhuobao-drama:latest\n\n# 查看日志\ndocker logs -f huobao-drama\n```\n\n> **注意**：Linux 用户需添加 `--add-host=host.docker.internal:host-gateway` 以访问宿主机服务\n\n**本地构建**（可选）：\n\n```bash\ndocker build -t huobao-drama:latest .\ndocker run -d --name huobao-drama -p 5679:5679 \\\n  -v $(pwd)\u002Fdata:\u002Fapp\u002Fdata \\\n  -v $(pwd)\u002Fconfigs\u002Fconfig.yaml:\u002Fapp\u002Fconfigs\u002Fconfig.yaml \\\n  huobao-drama:latest\n```\n\n**Docker 部署优势：**\n\n- ✅ 开箱即用，内置 FFmpeg 和默认配置\n- ✅ 前后端合并为单镜像、单端口\n- ✅ 环境一致性，避免依赖问题\n- ✅ `data\u002F` 目录 volume 挂载，数据持久化\n\n#### 🔗 访问宿主机服务（Ollama \u002F 本地模型）\n\n容器内可通过 `http:\u002F\u002Fhost.docker.internal:端口号` 访问宿主机服务。\n\n**配置步骤：**\n\n1. 宿主机启动服务（监听所有接口）：\n\n   ```bash\n   export OLLAMA_HOST=0.0.0.0:11434 && ollama serve\n   ```\n\n2. 在 Web 界面「设置 → AI 服务配置」中填写：\n   - Base URL: `http:\u002F\u002Fhost.docker.internal:11434\u002Fv1`\n   - Provider: `openai`\n   - Model: `qwen2.5:latest`\n\n---\n\n### 🏭 传统部署方式\n\n```bash\n# 1. 构建前端\ncd frontend && npm run generate && cd ..\n\n# 2. 启动后端\ncd backend && npm start\n```\n\n需要上传到服务器的文件：\n\n```\nbackend\u002F          # 后端源码 + node_modules\nfrontend\u002Fdist\u002F    # 前端构建产物\nconfigs\u002Fconfig.yaml\ndata\u002F             # 数据目录（首次运行自动创建）\nskills\u002F           # Agent 技能文件\n```\n\n#### Nginx 反向代理\n\n```nginx\nserver {\n    listen 80;\n    server_name your-domain.com;\n\n    location \u002F {\n        proxy_pass http:\u002F\u002Flocalhost:5679;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    }\n}\n```\n\n---\n\n## 🎨 技术栈\n\n### 后端\n\n- **运行时**: Node.js 20+\n- **Web 框架**: Hono\n- **ORM**: Drizzle ORM + better-sqlite3\n- **AI Agent**: Mastra + AI SDK (OpenAI compatible)\n- **视频处理**: FFmpeg (fluent-ffmpeg)\n- **图片处理**: Sharp\n\n### 前端\n\n- **框架**: Nuxt 3 (SPA 模式)\n- **语言**: Vue 3 + TypeScript\n- **路由**: 文件路由 (Vue Router 4)\n- **样式**: 纯 CSS + CSS Variables (暗色主题)\n- **图标**: Lucide Vue\n\n---\n\n## 📝 常见问题\n\n### Q: Docker 容器如何访问宿主机的 Ollama？\n\nA: 使用 `http:\u002F\u002Fhost.docker.internal:11434\u002Fv1` 作为 Base URL。注意：\n1. 宿主机 Ollama 需监听 `0.0.0.0`：`export OLLAMA_HOST=0.0.0.0:11434 && ollama serve`\n2. Linux 用户使用 `docker run` 需添加：`--add-host=host.docker.internal:host-gateway`\n\n### Q: FFmpeg 未安装或找不到？\n\nA: 确保 FFmpeg 已安装并在 PATH 环境变量中。运行 `ffmpeg -version` 验证。Docker 部署已内置 FFmpeg。\n\n### Q: 前端无法连接后端 API？\n\nA: 检查后端是否启动，端口是否正确。开发模式下前端代理配置在 `frontend\u002Fnuxt.config.ts`。\n\n### Q: 数据库表未创建？\n\nA: 后端会在首次启动时自动创建所有表，检查日志确认初始化是否成功。\n\n---\n\n## 📋 更新日志\n\n### v2.0.0 (2026-04)\n\n#### 🚀 重大更新\n\n- 项目全面迁移至 TypeScript 技术栈\n  - 后端：Hono + Drizzle ORM + better-sqlite3\n  - 前端：Nuxt 3 + Vue 3\n  - AI Agent：Mastra 框架\n- 重做单集工作台 UI 和生产流程\n  - 更紧凑的控制台布局\n  - 重做分镜编辑区\n  - 重做配音、镜头图、视频、合成、导出界面\n- 新增 Docker 部署支持，前后端合并为单镜像\n- 增加运行时 Skill 加载机制\n- 扩展多厂商媒体 Adapter\n  - 图片：OpenAI、Gemini、MiniMax、火山引擎、阿里\n  - 视频：MiniMax、火山引擎\u002FSeedance、Vidu、阿里\n  - TTS：MiniMax\n- 增加宫格图生成、切分和重新分配流程\n- 优化本地文件处理与参考图按需转码\n\n### v1.0.4 (2026-01-27)\n\n- 引入本地存储策略，规避外部资源链接失效\n- Base64 参考图嵌入式传输\n- 修复镜头切换状态重置问题\n- 添加场景迁移至章节\n\n### v1.0.3 (2026-01-16)\n\n- SQLite 纯 Go 驱动，支持 CGO_ENABLED=0 跨平台编译\n- 优化并发性能（WAL 模式）\n- Docker 跨平台支持 host.docker.internal\n\n### v1.0.2 (2026-01-14)\n\n- 修复视频生成 API 响应解析问题\n- 添加 OpenAI Sora 视频端点配置\n- 优化错误处理和日志输出\n\n---\n\n## 🤝 贡献指南\n\n欢迎提交 Issue 和 Pull Request！\n\n1. Fork 本项目\n2. 创建特性分支 (`git checkout -b feature\u002FAmazingFeature`)\n3. 提交改动 (`git commit -m 'Add some AmazingFeature'`)\n4. 推送到分支 (`git push origin feature\u002FAmazingFeature`)\n5. 开启 Pull Request\n\n常用检查命令：\n\n```bash\ncd backend && npm run typecheck\ncd ..\u002Ffrontend && npm run build\n```\n\n---\n\n## API 配置站点\n\n2 分钟完成配置：[API 聚合站点](https:\u002F\u002Fapi.chatfire.site\u002Fmodels)\n\n---\n\n## 👨‍💻 关于我们\n\n**AI 火宝 - AI 工作室创业中**\n\n- 🏠 **位置**: 中国南京\n- 🚀 **状态**: 创业中\n- 📧 **Email**: [18550175439@163.com](mailto:18550175439@163.com)\n- 🐙 **GitHub**: [https:\u002F\u002Fgithub.com\u002Fchatfire-AI\u002Fhuobao-drama](https:\u002F\u002Fgithub.com\u002Fchatfire-AI\u002Fhuobao-drama)\n\n> _\"让 AI 帮我们做更有创造力的事\"_\n\n## 🔗 友情链接\n\n本项目已获得 [LINUX DO](https:\u002F\u002Flinux.do\u002F) 社区链接认可。\n\n- [LINUX DO](https:\u002F\u002Flinux.do\u002F) — 真正的开源精神，共建共享的技术社区\n\n## 项目交流群\n\n![项目交流群](drama.png)\n\n- 提交 [Issue](..\u002F..\u002Fissues)\n- 发送邮件至项目维护者\n\n---\n\n\u003Cdiv align=\"center\">\n\n**⭐ 如果这个项目对你有帮助，请给一个 Star！**\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=chatfire-AI\u002Fhuobao-drama&type=date&legend=top-left)](https:\u002F\u002Fwww.star-history.com\u002F#chatfire-AI\u002Fhuobao-drama&type=date&legend=top-left)\nMade with ❤️ by Huobao Team\n\n\u003C\u002Fdiv>\n","火宝短剧是一个基于AI的一站式短剧生成平台，能够从一句话生成完整的短剧视频，覆盖从剧本创作到最终视频合成的全过程。其核心功能包括利用大语言模型解析剧本并提取关键信息、智能绘制角色和场景、以及自动生成分镜与视频内容。该平台采用TypeScript全栈开发，前端使用Nuxt 3 + Vue 3，后端则结合了Hono框架、Drizzle ORM等技术，并集成了多种AI能力如Mastra AI Agents来处理不同的制作环节。适合需要快速产出创意短片的内容创作者、广告公司或是任何希望简化视频制作流程的企业和个人使用。",2,"2026-06-11 03:50:39","high_star"]