AI+文娱、AI+教育等
Find a file
2026-07-22 15:59:22 +08:00
.forgejo/workflows Initialize track repository 2026-06-25 14:19:23 +08:00
demo feat: 15专家全阵容上线 + Pipeline Orchestrator 2026-07-21 10:09:13 +08:00
examples fix: 排除venv目录 2026-07-10 13:16:57 +08:00
knowledge feat: 新增剧本评估专家v2.2(15维度+11平台标准+30+爆款对标) 2026-07-22 15:59:22 +08:00
src fix: §6格式工匠明确每集场次从1开始编号 2026-07-21 10:36:03 +08:00
tests fix: 排除venv目录 2026-07-10 13:16:57 +08:00
.gitignore fix: 脱敏处理 - 移除venv/敏感配置 + 修复.gitignore + 添加Wave2 Skill文档 2026-07-10 14:42:51 +08:00
AI精品短剧创作引擎_Specs.md feat: 同步引擎最新源码 + 新增V3 Demo 2026-07-13 10:18:31 +08:00
config.example.yaml fix: 排除venv目录 2026-07-10 13:16:57 +08:00
CONTRIBUTING.md Initialize track repository 2026-06-25 14:19:23 +08:00
convert_to_word.py fix: 排除venv目录 2026-07-10 13:16:57 +08:00
pyproject.toml fix: 排除venv目录 2026-07-10 13:16:57 +08:00
README.md feat: 15专家全阵容上线 + Pipeline Orchestrator 2026-07-21 10:09:13 +08:00
requirements.txt feat: 同步引擎最新源码 + 新增V3 Demo 2026-07-13 10:18:31 +08:00
submissions.json Initialize track repository 2026-06-25 14:19:23 +08:00
SUBMISSIONS.md Initialize track repository 2026-06-25 14:19:23 +08:00
WAVE2_SKILLS.md fix: 脱敏处理 - 移除venv/敏感配置 + 修复.gitignore + 添加Wave2 Skill文档 2026-07-10 14:42:51 +08:00

云匠引擎 快速开始

文件结构

drama-engine/
├── src/
│   ├── pipeline_orchestrator.py    # 调度脚本(核心)
│   └── experts/                     # 专家数据包
│       ├── character_forger.md      # §1 角色铸造师
│       ├── emotion_weaver.md        # §2 情感编织师
│       ├── structure_architect.md   # §3 结构建筑师
│       ├── dialogue_master.md       # §4 对白大师
│       ├── episode_writer.py        # §5 分集编剧
│       ├── format_craftsman.py      # §6 格式工匠
│       ├── quality_auditor.py       # §7 质量审计
│       ├── commercial_packager.md   # ⑧ 商业包装
│       ├── revision_editor.py       # §9 改稿编辑
│       ├── commander.md             # ⑩ 实战指挥
│       ├── scene_craftsman.md       # ⑪ 场景工匠
│       ├── world_forger.md          # ⑫ 世界观锻造
│       ├── quote_extractor.md       # ⑬ 金句萃取
│       ├── commercial_operator.md   # ⑭ 商业操盘
│       └── quality_director.md      # ⑮ 品控总监
└── README.md

快速使用

1. 配置 LLM API

# 设置环境变量
export OPENAI_API_KEY="your-api-key"
export OPENAI_BASE_URL="https://api.openai.com/v1"  # 或其他兼容API

# 或在代码中配置
llm_config = {
    "platform": "openai",
    "api_key": "your-api-key",
    "base_url": "https://api.openai.com/v1"
}

2. 运行引擎

from pipeline_orchestrator import PipelineOrchestrator, LLMAPIAdapter, ExecutionMode

# 初始化
adapter = LLMAPIAdapter({"platform": "openai"})
orchestrator = PipelineOrchestrator(adapter, experts_base_path="./experts")

# 准备项目
project = {
    "name": "岭上之路",
    "genre": "男频/职场/励志",
    "synopsis": "一个大专生在深圳打拼从底层销售做到上市公司CEO的故事...",
    "target_audience": "18-35岁男性",
    "episode_count": 30,
    "theme": "逆袭、奋斗、兄弟情"
}

# 执行完整链路
results = orchestrator.execute(project, mode=ExecutionMode.FULL, parallel=True)

# 获取执行报告
report = orchestrator.get_execution_report()
print(report)

# 获取最终剧本
if "format_craftsman" in results:
    script = results["format_craftsman"].output.get("formatted_script", "")
    print(script)

3. 执行模式

模式 说明 适用场景
FULL 完整链路15专家全部跑 从零开始创作
EPISODE_ONLY 仅分集开发到§5 已有创意,需要分集
SCRIPT_ONLY 仅剧本开发§5→§7 已有分集大纲,需要剧本
POLISH_ONLY 仅精修§9 已有剧本,需要优化
EVALUATE_ONLY 仅评估§7 只想评估质量

依赖关系图

Layer 0: ⑩实战指挥(总调度)
    ↓
Layer 1: ①角色铸造 ─┐
         ⑫世界观锻造 ─┼─→ 可并行
         ⑧商业包装 ──┘
    ↓
Layer 2: ②情感编织(依赖①)
    ↓
Layer 3: ③结构建筑(依赖②)
    ↓
Layer 4: ④对白大师(依赖①③)─┐
         ⑪场景工匠(依赖④)──┘→ 可并行
    ↓
Layer 5: ⑤分集编剧(依赖①②③④)
    ↓
Layer 6: ⑥格式工匠(依赖⑤)─┐
         ⑬金句萃取(依赖④⑤)─┘→ 可并行
    ↓
Layer 7: ⑦质量审计(依赖所有创作专家)
    ↓
Layer 8: ⑨改稿编辑(依赖⑦)─┐
         ⑭商业操盘(依赖⑧)──┘→ 可并行
    ↓
Layer 9: ⑮品控总监(依赖⑦⑭)

输出示例

每个专家的输出都是JSON格式包含在 results 字典中:

{
    "character_forger": {
        "status": "success",
        "output": {
            "characters": [...],
            "protagonist": {...}
        },
        "execution_time": 12.5
    },
    "episode_writer": {
        "status": "success",
        "output": {
            "episodes": [...],
            "episode_scripts": [...]
        },
        "execution_time": 45.2
    },
    ...
}

自定义扩展

添加新专家

from pipeline_orchestrator import ExpertConfig

# 在 _register_experts() 中添加
self._register(ExpertConfig(
    expert_id="my_expert",
    name="我的专家",
    layer=5,  # 依赖层级
    dependencies=["episode_writer"],  # 依赖的专家
    system_prompt_file="my_expert.md",
    input_schema={"episodes": "list"},
    output_schema={"result": "dict"}
))

自定义 LLM 适配器

class MyLLMAdapter(LLMAPIAdapter):
    def call(self, system_prompt, user_prompt, **kwargs):
        # 实现你的API调用逻辑
        return response

注意事项

  1. API Key: 确保 OPENAI_API_KEY 环境变量已设置
  2. 文件路径: experts_base_path 指向专家配置文件目录
  3. 并行执行: parallel=True 会并行执行同层无依赖专家
  4. 错误处理: 可选专家(optional=True)失败不会阻塞流水线
  5. JSON输出: 所有专家必须输出严格JSON格式否则解析失败

故障排查

问题JSON解析失败

  • 检查专家prompt是否明确要求输出JSON
  • 在prompt末尾添加"请严格按照JSON格式输出"

问题:依赖缺失

  • 检查 dependencies 列表是否正确
  • 确保上游专家执行成功

问题:执行超时

  • 增加LLM API的 timeout 参数
  • 减少 max_tokens 限制

下一步

  • 接入实际的LLM APIOpenAI/Coze/本地模型)
  • 添加前端界面
  • 实现结果持久化
  • 添加重试机制
  • 支持断点续跑