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:
37
CLAUDE.md
37
CLAUDE.md
@@ -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 元数据,不读脚本正文
|
||||
- 脚本正文通过文件路径传给 Worker,Worker 自行 Read
|
||||
- 批量模式下人工确认环节自动跳过(`confirm --all`)
|
||||
|
||||
**草稿 = CapCut 剪映项目文件**,由 pipeline 的 `assemble` 阶段生成,输出到本地剪映目录。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user