feat(video-from-script): 添加批量视频生产编排器

新增 `batch-pipeline.js` 脚本,实现从 Excel/CSV 批量创建视频生产任务的核心功能:
- 支持 `init`、`status`、`mark`、`retry-failed`、`next` 等 CLI 子命令
- 解析表格数据,提取脚本、账号、模式等字段,生成 batch-manifest.json 元数据
- 支持 `xlsx`/`csv` 格式输入,自动校验账号存在性
- 提供状态追踪与任务重试机制,为 Orchestrator-Worker 批量模式奠定基础

同时更新 `CLAUDE.md` 文档,添加批量生产功能的操作指南。
This commit is contained in:
2026-05-08 23:06:17 +08:00
parent 4e03ed7197
commit cfdf30d438
4 changed files with 597 additions and 2 deletions

View File

@@ -9,6 +9,7 @@
| 生图、批量出图、MJ、Gemini | `image-generator` |
| 成片、组装、剪映、图片轮播 | `capcut` |
| 做视频、图文成片、图生视频、首尾帧 | `video-from-script` |
| 批量生产、给Excel出视频 | `video-from-script`(批量模式,见下方) |
| 创建账号、新账号 | 参考 [account-creation.md](.claude/skills/video-from-script/references/account-creation.md) |
# 工作流
@@ -30,6 +31,42 @@
| 重新生成草稿、重做草稿、草稿再生 | 1. 将 manifest 中 `pipeline.phases.assemble` 改为 `"pending"`2. 执行 `node .claude/skills/video-from-script/scripts/pipeline.js run --manifest output/{name}/manifest.json --phase assemble` |
| 查看草稿进度、草稿状态 | `node .claude/skills/video-from-script/scripts/pipeline.js status --manifest output/{name}/manifest.json` |
| 重跑某个阶段 | 将 manifest 中对应 phase 改为 `"pending"`,再跑 `--phase <阶段名>`。阶段: `images``upload``videos``tts``assemble` |
| 批量生产、给Excel出视频 | 见下方「批量生产」 |
**草稿 = CapCut 剪映项目文件**,由 pipeline 的 `assemble` 阶段生成,输出到本地剪映目录。
# 批量生产
用户给一个 Excel/CSV每行一条视频Agent 逐条 spawn Worker 子 Agent 执行完整 pipeline。
**Excel 格式:** `选题 | 脚本 | 账号 | 模式`(账号/模式可选,可由 CLI 参数指定默认值)
**CLI 命令:**
```bash
# 1. 初始化批量任务
node .claude/skills/video-from-script/scripts/batch-pipeline.js init --file <xlsx/csv> --account <默认账号> --mode single
# 2. 查看进度
node .claude/skills/video-from-script/scripts/batch-pipeline.js status --file output/batch_XXX/batch-manifest.json
# 3. 获取下一条待处理JSON 格式)
node .claude/skills/video-from-script/scripts/batch-pipeline.js next --file output/batch_XXX/batch-manifest.json
# 4. 标记状态
node .claude/skills/video-from-script/scripts/batch-pipeline.js mark --file ... --row <N> --status <completed|failed> [--manifest-path <path>] [--error <msg>]
# 5. 重跑失败项
node .claude/skills/video-from-script/scripts/batch-pipeline.js retry-failed --file output/batch_XXX/batch-manifest.json
```
**执行策略Orchestrator-Worker**
- **Orchestrator主 Agent**:读 batch-manifest 元数据,逐条 spawn Worker 子 Agent收集结果
- **Worker子 Agent**:独立上下文,处理单条视频的完整流程(分镜 → 生图 → 生视频 → TTS → 成片)
- Orchestrator 上下文只存 batch-manifest 元数据,不读脚本正文
- 脚本正文通过文件路径传给 WorkerWorker 自行 Read
- 批量模式下人工确认环节自动跳过(`confirm --all`
**草稿 = CapCut 剪映项目文件**,由 pipeline 的 `assemble` 阶段生成,输出到本地剪映目录。