Skip to content

SttFang/bbdog

Repository files navigation

🎬 bbdog — AI 短剧制作工具链

License: MIT Node.js TypeScript npm CI

从剧本到成片,全流程 AI 短剧制作 CLI

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 一键同步

架构

Pipeline DAG 依赖关系

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

快速开始

安装

npm install -g bbdog

初始化

# 初始化项目
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 参与度 解析 + 资产生成 全流程生成 改编 + 资产生成

7 题材美术预设

题材 色彩基调 光影风格 典型元素
都市情感 暖色调、柔光 自然光 + 城市霓虹 咖啡馆、写字楼、街道
重生逆袭 冷暖对比 高反差 + 戏剧光 闪回、时间线对比
霸总甜宠 高饱和暖色 柔焦 + 逆光 奢华场景、近景特写
悬疑 冷色调、低饱和 侧光 + 阴影 暗角、窄景深
古装权谋 厚重中国色 烛光 + 自然光 宫殿、朝堂、密室
穿越 双色调体系 古今光影切换 时空裂缝、现代物品
仙侠 仙气飘渺色 体积光 + 雾气 仙山、法阵、飞剑

命令参考

初始化 & 配置

命令 说明
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

项目内置 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

配合 Claude Code 使用

bbdog 设计为 Agent-First CLI,推荐配合 Claude Code 使用:

  1. 在项目目录启动 Claude Code
  2. 告诉 Claude:"用 bbdog 把这个剧本制作成短剧"
  3. Claude 会自动调用 bbdog 命令,解读 nextStep 输出,驱动完整流程
  4. 遇到多候选选择时,Claude 读取图片直接评价选择,无需人工干预
# Claude Code 会自动执行类似这样的流程:
bbdog parse script.txt --json
# → 读取 nextStep,自动执行下一步
bbdog shots --json
# → 继续...

贡献

欢迎贡献!请阅读 CONTRIBUTING.md 了解开发规范和 PR 流程。

License

MIT

About

短剧洗稿制作工具链:AI 改写 + 资产生成 + 组装成片

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors