bbdog 是一个 Agent-First 的 AI 短剧制作工具链,支持洗稿 、原创 、改编 三种模式。它将短剧制作的完整流程(剧本生成 → 结构化解析 → 角色/场景设计 → 关键帧 → 视频 → 配音 → 字幕 → 剪辑渲染)编排为 DAG 流水线,每一步输出结构化 JSON + nextStep 引导,让 Claude Code 作为 UI 层驱动全自动化制作。
三模式统一架构 — 洗稿(launder)/ 原创(create)/ 改编(adapt),一套 pipeline 覆盖全部场景
Agent-First 设计 — CLI 输出 { ok, data, nextStep } 结构化 JSON,Claude Code 作为 UI 层自动驱动
分层 Prompt 架构 — 4 层注入:系统 → 题材模板 → 美术指导 → 角色/场景特征,保证视觉一致性
7 题材美术预设 — 都市情感 / 重生逆袭 / 霸总甜宠 / 悬疑 / 古装权谋 / 穿越 / 仙侠,开箱即用
DAG 并行流水线 — bbdog pipeline 自动编排依赖关系,最大化并行执行
多候选选择 + 撤回 — 生成多张候选 → 选择最佳 → 支持 undo 回退
摄影 + 演技指导 — 按题材自动注入构图/光影/表情/肢体指导
多提供商适配 — antsk / OpenAI / Google (Gemini/Veo) / Kling / 本地 Claude CLI
全局资产库 — 角色/场景跨项目复用,asset push/pull 一键同步
graph TD
INIT[init] --> PARSE[parse]
PARSE --> ART[design art]
PARSE --> CHAR_DESIGN[design characters]
PARSE --> SCENE_DESIGN[design scenes]
ART --> GEN_CHAR[gen characters]
CHAR_DESIGN --> GEN_CHAR
ART --> GEN_SCENE[gen scenes]
SCENE_DESIGN --> GEN_SCENE
PARSE --> SHOTS[shots]
GEN_CHAR --> KEYFRAMES[gen keyframes]
GEN_SCENE --> KEYFRAMES
SHOTS --> KEYFRAMES
KEYFRAMES --> VIDEOS[gen videos]
SHOTS --> TTS[gen tts]
VIDEOS --> RENDER[render]
TTS --> RENDER
TTS --> SUBTITLES[gen subtitles]
SUBTITLES --> RENDER
Loading
flowchart LR
subgraph 输入
A1[已有剧本] -->|洗稿| PARSE
A2[一句话 logline] -->|原创| CREATE
A3[小说/长文] -->|改编| ADAPT
end
CREATE[create] --> PARSE[parse]
ADAPT[adapt] --> PARSE
subgraph 结构化
PARSE --> STRUCT[结构化数据]
STRUCT --> CHARS[角色档案]
STRUCT --> SCENES[场景设定]
STRUCT --> ART_DIR[美术指导]
STRUCT --> SHOTS_DATA[分镜列表]
end
subgraph 资产生成
CHARS --> IMG_C[角色参考图]
SCENES --> IMG_S[场景参考图]
SHOTS_DATA --> KF[关键帧]
KF --> VID[视频片段]
SHOTS_DATA --> VOICE[TTS 配音]
VOICE --> SUB[字幕]
end
subgraph 后期
VID --> EDIT[AI 剪辑]
VOICE --> EDIT
SUB --> EDIT
EDIT --> OUTPUT[成片输出]
end
Loading
# 初始化项目
bbdog init
# 设置 API Key(用于图片/视频生成)
bbdog config set-key < your-api-key>
# 查看当前配置
bbdog config show
方式一:洗稿(从已有剧本)
bbdog parse script.txt # 解析剧本
bbdog shots # 生成分镜
bbdog gen characters # 生成角色参考图
bbdog gen scenes # 生成场景参考图
bbdog gen keyframes # 生成关键帧
bbdog gen videos # 生成视频
bbdog gen tts # 生成配音
bbdog gen subtitles # 生成字幕
bbdog render # 渲染成片
方式二:原创(从一句话)
bbdog create " 都市白领深夜咖啡馆邂逅,温暖治愈系"
# 后续流程同上:shots → gen → render
方式三:改编(从小说)
bbdog adapt novel.txt
# 后续流程同上:shots → gen → render
bbdog pipeline script.txt # DAG 编排,自动执行全流程
特性
洗稿 (launder)
原创 (original)
改编 (adapt)
输入
完整剧本文件
一句话 logline
小说/长文
命令
bbdog parse
bbdog create
bbdog adapt
适用场景
复刻已有短剧
快速原型
小说 IP 改编
AI 参与度
解析 + 资产生成
全流程生成
改编 + 资产生成
题材
色彩基调
光影风格
典型元素
都市情感
暖色调、柔光
自然光 + 城市霓虹
咖啡馆、写字楼、街道
重生逆袭
冷暖对比
高反差 + 戏剧光
闪回、时间线对比
霸总甜宠
高饱和暖色
柔焦 + 逆光
奢华场景、近景特写
悬疑
冷色调、低饱和
侧光 + 阴影
暗角、窄景深
古装权谋
厚重中国色
烛光 + 自然光
宫殿、朝堂、密室
穿越
双色调体系
古今光影切换
时空裂缝、现代物品
仙侠
仙气飘渺色
体积光 + 雾气
仙山、法阵、飞剑
命令
说明
bbdog init
初始化项目目录
bbdog config set-key <key>
设置 API Key
bbdog config use <type> <model>
切换模型(chat/image/video)
bbdog config models
查看可用模型
bbdog config show
查看当前配置
bbdog status
项目状态摘要 + nextStep 建议
命令
说明
bbdog create <logline>
一句话原创剧本
bbdog adapt <file>
小说/长文改编
bbdog parse <file>
解析剧本为结构化数据
bbdog parse <file> --phase <phase>
按阶段解析(structural/art/characters/scenes)
bbdog shots
生成分镜列表
命令
说明
bbdog gen characters [--id X]
生成角色参考图
bbdog gen characters --candidates 3
生成 3 张候选
bbdog gen characters --id X --select N
选择第 N 张候选
bbdog gen characters --id X --undo
撤回到上一版
bbdog gen scenes [--id X]
生成场景参考图
bbdog gen keyframes [--shot X]
生成关键帧
bbdog gen keyframes --shot X --variants 3
生成面板变体
bbdog gen videos [--shot X]
生成视频片段
bbdog gen tts [--shot X]
TTS 语音合成
bbdog gen subtitles
生成字幕文件
命令
说明
bbdog design art
生成/重新生成美术指导
bbdog design characters [--id X]
生成/重新生成角色视觉设计
bbdog design scenes [--id X]
生成/重新生成场景视觉设计
命令
说明
bbdog asset push --type <t> --id X
推送到全局库
bbdog asset pull --type <t> --gid X
从全局库导入
bbdog asset list [--type <t>]
列出全局资产
命令
说明
bbdog render
AI 智能剪辑 + ffmpeg 渲染成片
bbdog pipeline <file>
DAG 一键全流程
bbdog episode split
按 cliffhanger 自动分集
bbdog export project
导出项目包
所有命令支持 --json 全局选项,输出 { ok, data, nextStep } 结构化 JSON。
用途
默认模型
说明
文本(chat)
claude-cli
通过 Claude Code CLI 调用,免费无需 API Key
图片(image)
gemini-3-pro-image-preview
通过 antsk API
视频(video)
sora-2
通过 antsk API
# 切换模型示例
bbdog config use chat gpt-4o
bbdog config use image dall-e-3
bbdog config use video veo-2
API Key 优先级:模型级 → 提供商级 → 全局 → 环境变量 API_KEY
项目内置 benchmark 测试集,覆盖 4 个典型题材:
用例
题材
时长
深夜咖啡馆
都市情感
40s
重生之路
重生逆袭
50s
第七封信
悬疑
60s
奶茶店的秘密
甜宠
50s
# 运行 benchmark
cd packages/bbdog && npm test
packages/bbdog/
├── bin/bbdog.ts # CLI 入口
├── src/
│ ├── cli.ts # Commander 命令注册
│ ├── commands/ # 命令实现
│ ├── core/
│ │ ├── screenplay/ # 剧本业务域
│ │ ├── assets/ # 视觉资产业务域
│ │ ├── video/ # 视频业务域
│ │ ├── editing/ # 剪辑业务域
│ │ ├── providers/ # 多提供商适配
│ │ ├── dag.ts # DAG 编排引擎
│ │ ├── api-client.ts # HTTP 客户端 + 重试
│ │ └── output.ts # JSON/文本双模式输出
│ ├── storage/ # 持久化
│ └── types/ # TypeScript 类型
├── lib/prompts/ # Prompt 模板(运行时)
├── benchmark/ # Benchmark 测试集
└── tests/ # 单元测试
# 安装依赖
npm install
# 编译检查
cd packages/bbdog && npx tsc --noEmit
# 运行测试
cd packages/bbdog && npm test
# 构建
cd packages/bbdog && npm run build
# 本地调试
cd packages/bbdog && node dist/bin/bbdog.js
bbdog 设计为 Agent-First CLI,推荐配合 Claude Code 使用:
在项目目录启动 Claude Code
告诉 Claude:"用 bbdog 把这个剧本制作成短剧"
Claude 会自动调用 bbdog 命令,解读 nextStep 输出,驱动完整流程
遇到多候选选择时,Claude 读取图片直接评价选择,无需人工干预
# Claude Code 会自动执行类似这样的流程:
bbdog parse script.txt --json
# → 读取 nextStep,自动执行下一步
bbdog shots --json
# → 继续...
欢迎贡献!请阅读 CONTRIBUTING.md 了解开发规范和 PR 流程。
MIT