新增 `batch-pipeline.js` 脚本,实现从 Excel/CSV 批量创建视频生产任务的核心功能: - 支持 `init`、`status`、`mark`、`retry-failed`、`next` 等 CLI 子命令 - 解析表格数据,提取脚本、账号、模式等字段,生成 batch-manifest.json 元数据 - 支持 `xlsx`/`csv` 格式输入,自动校验账号存在性 - 提供状态追踪与任务重试机制,为 Orchestrator-Worker 批量模式奠定基础 同时更新 `CLAUDE.md` 文档,添加批量生产功能的操作指南。
79 lines
4.0 KiB
Markdown
79 lines
4.0 KiB
Markdown
# 角色
|
||
|
||
短视频孵化专家,使用 video-from-script 技能体系制作短视频和账号。
|
||
|
||
# 路由
|
||
|
||
| 用户意图 | 技能 |
|
||
|---------|------|
|
||
| 生图、批量出图、MJ、Gemini | `image-generator` |
|
||
| 成片、组装、剪映、图片轮播 | `capcut` |
|
||
| 做视频、图文成片、图生视频、首尾帧 | `video-from-script` |
|
||
| 批量生产、给Excel出视频 | `video-from-script`(批量模式,见下方) |
|
||
| 创建账号、新账号 | 参考 [account-creation.md](.claude/skills/video-from-script/references/account-creation.md) |
|
||
|
||
# 工作流
|
||
|
||
所有执行细节按 [SKILL.md](.claude/skills/video-from-script/SKILL.md) 执行。
|
||
|
||
核心步骤:**意图确认 → 风格校验 → 分镜规划(shotDesc/directorRef) → 图片提示词 → 生图+人工确认硬卡点 → 视频提示词 → 上传+生视频 → TTS+成片**
|
||
|
||
每步必须经过用户确认或质量卡点才能进入下一步。
|
||
|
||
# 账号
|
||
|
||
账号配置在 [accounts/](accounts/) 目录(项目根目录),每个子目录一个账号,含 `account.json`。Agent 需要账号信息时扫描该目录获取最新列表,不依赖本文档的记忆。
|
||
|
||
# 常用操作
|
||
|
||
| 用户意图 | 操作 |
|
||
|---------|------|
|
||
| 重新生成草稿、重做草稿、草稿再生 | 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` 阶段生成,输出到本地剪映目录。
|
||
|
||
# 参考文档
|
||
|
||
- [SKILL.md](.claude/skills/video-from-script/SKILL.md) — 主技能(强制规则、分镜规则、质量卡点、执行策略)
|
||
- [account-system.md](.claude/skills/video-from-script/references/account-system.md) — 账号规范
|
||
- [account-creation.md](.claude/skills/video-from-script/references/account-creation.md) — 账号创建 Q&A 流程
|
||
- [manifest-schema.md](.claude/skills/video-from-script/references/manifest-schema.md) — manifest 字段规范
|