# 灵感工坊 (Creative Studio) - AI 创作平台 ## 基于 Agent + Skill 架构的剧集创作平台 --- ## 一、产品概述 ### 1.1 产品定位 **灵感工坊** 是一个基于 **"Agent 固定框架 + Skill 可配置单元"** 架构的剧集创作平台。 #### 核心理念 ``` ┌─────────────────────────────────────────────────────────────────┐ │ "Agent是骨架,Skill是血肉" │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ Agent (固定框架) Skills (可配置单元) │ │ ┌─────────────────┐ ┌─────────────────┐ │ │ │ 工作流编排 │ 使用 │ 专业能力 │ │ │ │ 决策逻辑 │ ──────▶ │ 方法论 │ │ │ │ 调度规则 │ │ 提示词模板 │ │ │ │ 质量控制 │ │ 参数配置 │ │ │ │ │ │ │ │ │ │ 平台维护 │ │ 用户维护 │ │ │ │ 很少修改 │ │ 经常微调 │ │ │ └─────────────────┘ └─────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` #### 平台特性 - **Skill 指导行为**:用户编写的 Skill 直接融入提示词,指导 Agent 的创作行为(类似 Claude Code Skills) - **全自动创作**:Agent 自主完成全部创作流程,用户只需最后审核 - **多集一致性保障**:全局上下文 + 记忆系统 + 一致性审核,确保几十集内容不矛盾 - **点击交互**:非问答式,通过可视化界面点击配置和执行 ### 1.2 核心价值 | 传统方案 | 灵感工坊 | |---------|---------| | 问答式交互,需要反复沟通 | 点击式配置,一次性设置完成 | | 每集独立创作,容易前后矛盾 | 全局上下文 + 记忆系统确保一致性 | | 需要人工全程监督 | 全自动模式,仅需最后审核 | | 创作风格难以量化 | Skill 可配置,风格参数化 | | Agent 需要用户编排维护 | Agent 固定模板,Skill 适配项目 | ### 1.3 核心概念关系 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 层级关系 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────┐ 引用 ┌─────────────────┐ │ │ │ Series Project │ ────────▶ │ Agent │ │ │ │ (剧集项目) │ │ (工作流模板) │ │ │ │ │ │ │ │ │ │ - 全局上下文 │ │ - 调用规则 │ │ │ │ - 记忆系统 │ │ - 决策逻辑 │ │ │ │ - 多个Episodes │ │ - 流程编排 │ │ │ │ │ │ │ │ │ │ ┌─────────────┐│ │ 引用 │ ┌─────────┐ │ │ │ │ Episode 01 ││ │ └────▶│ Skill │ │ │ │ │ Episode 02 ││ │ │(原子能力)│ │ │ │ │ Episode ... ││ │ │ │ │ │ │ └─────────────┘│ │ │- 方法论 │ │ │ └─────────────────┘ └─────────────────┤- 提示词 │ │ │ │- 工具 │ │ │ └─────────┘ │ └─────────────────────────────────────────────────────────────────┘ ``` | 概念 | 定位 | 可复用性 | 维护者 | |-----|------|---------|-------| | **Skill** | 原子能力,行为指导 | ✅ 高度可复用 | 用户 | | **Agent** | 工作流模板 | ✅ 可复用 | 平台 | | **Series Project** | 剧集容器 | ❌ 不可复用 | 用户 | | **Episode** | 具体集数实例 | ❌ 不可复用 | Agent 生成 | --- ## 二、三大管理中心 ### 2.1 Skill 管理中心 #### 2.1.1 Skill 的本质 **Skill 是用户级别的行为指导者**,类似 Claude Code Skills: - Skill 的内容会直接融入 Agent 的提示词 - LLM 根据 Skill 的指导进行创作 - 用户通过修改 Skill 来改变 Agent 的行为 ``` ┌─────────────────────────────────────────────────────────────────┐ │ Skill 如何指导 Agent 行为 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 用户需求: "创作 EP05 场景3: 李云飞与皇帝对峙" │ │ ↓ │ │ Agent 分析: 需要调用 dialogue-writer Skill │ │ ↓ │ │ Agent 加载 Skill 内容 → 融入提示词 │ │ ↓ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 发送给 LLM 的提示词包含: │ │ │ │ ───────────────────────────────────────────────────── │ │ │ │ 你是剧集创作专家。 │ │ │ │ │ │ │ │ 以下是你的行为指导 (来自 Skill: 古风对话大师): │ │ │ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ │ 1. 使用半文半白的表达,如"何故"、"罢了"、"莫要" │ │ │ │ 2. 皇室说话威严少语,武将直率简短,文官婉转 │ │ │ │ 3. 愤怒时用动作表达,不要直接说"我很生气" │ │ │ │ 4. 重要对话一句不超过15字 │ │ │ │ 5. 使用(停顿)、(冷笑)、(长叹)标记 │ │ │ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ↓ │ │ LLM 根据 Skill 指导输出对话 │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` #### 2.1.2 Skill 结构定义 ```markdown # Skill: 古风对话大师 ## 基础信息 - **ID**: dialogue-writer-ancient - **版本**: 2.1.0 - **作者**: 用户名 - **分类**: 编剧 > 对话风格 ## 触发条件 当 Agent 需要创作人物对话时,使用此 Skill ## 行为指导 (核心 - 直接影响 Agent 行为) ### 对话风格要求 你创作对话时必须遵循以下规则: 1. **语言特征** - 使用半文半白的表达,如"何故"、"罢了"、"莫要" - 避免现代词汇,如"因为所以"、"虽然但是" - 疑问句多用"岂"、"怎"、"何" 2. **说话风格分层** - 皇室: 威严、少语、多用反问 - 武将: 直率、简短、有力 - 文官: 婉转、多用典故 - 宫女: 谦卑、多用敬语 3. **情感表达规则** - 愤怒时: 不要直接说"我很生气",通过拍桌、踱步表达 - 悲伤时: 用"..."停顿,然后低声说 - 喜悦时: 用微笑、点头代替大笑 4. **对话节奏控制** - 重要对话: 一句不超过 15 字 - 日常对话: 一句不超过 25 字 - 争议场景: 多用短句来回交锋 ## 输出格式 ``` 【人物名】对话内容 (动作/神态描写) ``` ## 可用工具 - `readCharacterProfile(characterId)` - 读取人物小传 - `readSceneSetting(sceneId)` - 读取场景设定 ``` #### 2.1.3 Skill 配置层级 ``` ┌─────────────────────────────────────────────────────────────────┐ │ Skill 配置层级 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 层级1: 快速预设 (适合新手) │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 预设风格: │ │ │ │ • 古装正剧 → 自动配置所有 Skills │ │ │ │ • 现代甜宠 → 自动配置所有 Skills │ │ │ │ • 悬疑推理 → 自动配置所有 Skills │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ↓ │ │ 层级2: 参数微调 (适合进阶) │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 对话风格: [古风] + [幽默元素 20%] │ │ │ │ 叙事节奏: [快] + [重点场景放慢] │ │ │ │ 情感浓度: [适中] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ↓ │ │ 层级3: 完全自定义 (适合高级用户) │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 直接编辑 Skill 的行为指导文档 │ │ │ │ 自定义新的 Skill │ │ │ │ 组合多个 Skills │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` #### 2.1.4 Skill 管理功能 | 功能 | 说明 | |-----|-----| | **快速预设** | 一键应用风格预设(古装/现代/悬疑等) | | **参数调节** | 滑块、选择框调整 Skill 参数 | | **完整编辑** | 编辑 Skill 的行为指导文档 | | **版本控制** | Skill 版本管理,支持回滚 | | **测试调试** | 独立测试 Skill,查看效果 | | **Fork 修改** | 基于现有 Skill 创建副本修改 | | **发布分享** | 发布到 Skill 市场 | #### 2.1.5 内置 Skills vs 用户 Skills | 类型 | 说明 | 维护者 | 可编辑 | 支持 Scripts | |-----|------|-------|-------|-------------| | **内置 Skills** | skill-creator、agent-creator 等平台功能 | 平台 | ❌ | ✅ | | **用户 Skills** | 对话风格、结构分析、一致性审核等创作能力 | 用户 | ✅ | ❌ | #### 2.1.6 内置 Skills 说明 平台提供以下内置 Skills(支持 Scripts 执行): | Skill ID | 功能 | Scripts 用途 | |----------|------|-------------| | **skill-creator** | 帮助用户创建新 Skill | 验证 Skill 结构、生成模板 | | **agent-creator** | 帮助平台创建新 Agent | 验证 Agent 配置、生成工作流 | | **project-manager** | 项目管理操作 | 项目初始化、文件组织 | 这些内置 Skills 来自 Claude Code 官方规范,包含可执行的 Scripts 用于特定功能。平台提供 Scripts 执行引擎,但用户创建 Skills 时无需编写 Scripts,只需提供行为指导即可。 ### 2.2 Agent 管理中心 #### 2.2.1 Agent 的定位 **Agent 是代码驱动的固定工作流框架**,由平台维护,用户不可编辑: **设计理念**: - Agent 的工作流是硬编码在代码中的,不是存储在数据库 - 用户通过配置不同的 Skills 来改变 Agent 的行为 - 平台通过发布新版本的方式更新 Agent **为什么不支持可视化编排**: - 内容创作有行业标准流程(大纲 → 对话 → 审核) - 固定流程更稳定、易维护 - 降低用户学习成本(不需要理解工作流概念) - 80% 的用户使用标准流程即可满足需求 ```markdown # Agent: 剧集创作 Agent (平台维护,用户不可编辑) ## 角色 你是剧集创作的执行者,负责协调各个 Skill 完成创作流程。 ## 工作流 (固定不变) ``` ┌─────────────────────────────────────────────────────────────┐ │ 初始化 → 加载全局上下文和历史记忆 │ │ ↓ │ │ FOR EACH episode: │ │ 1. [结构分析] → script-structure-analyzer │ │ 2. [大纲生成] → outline-generator │ │ 3. [对话创作] → dialogue-writer │ │ 4. [一致性审核] → consistency-checker │ │ 5. 质量检查 → 自动重试或标记需审核 │ │ 6. [更新记忆] → 提取关键事件、伏笔、人物状态 │ │ ↓ │ │ 完成所有集数 → 生成质量报告 │ └─────────────────────────────────────────────────────────────┘ ``` ## 决策规则 (固定) - 如果质量分数 < 阈值 → 重新生成当前阶段 - 如果连续3次不通过 → 标记需人工审核 - 如果检测到伏笔 → 更新伏笔追踪系统 ## 可调用的 Skills (用户可配置替换) - `script-structure-analyzer` (用户可选择或自定义) - `outline-generator` (用户可选择或自定义) - `dialogue-writer` (用户可选择或自定义) - `consistency-checker` (用户可选择或自定义) ## Agent 本身不包含具体的创作方法论 所有创作风格、输出格式、质量标准都由 Skills 定义 ``` #### 2.2.2 Agent 类型 | Agent 类型 | 用途 | 包含的 Skills (可配置) | |-----------|------|---------------------| | **剧集创作 Agent** | 短剧/连续剧创作 | 结构分析、大纲生成、对话写作、一致性审核 | | **分镜设计 Agent** | 视频分镜创作 | 节拍拆解、镜头设计、九宫格生成 | | **短篇小说 Agent** | 短篇故事创作 | 大纲生成、章节写作、人物设定 | | **营销文案 Agent** | 广告文案创作 | 需求分析、创意生成、文案优化 | #### 2.2.3 Agent 管理功能 | 功能 | 说明 | |-----|-----| | **选择 Agent** | 根据项目类型选择对应的 Agent 模板 | | **配置 Skills** | 为 Agent 配置不同的 Skills | | **查看工作流** | 可视化展示 Agent 的执行流程 | | **测试运行** | 测试 Agent 配置的效果 | ### 2.3 项目管理中心 #### 2.3.1 剧集项目结构 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ Series Project (剧集项目) │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ┌───────────────────────────────────────────────────────────────┐ │ │ │ Global Context (全局上下文) - 项目级共享 │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ │ │ 世界设定 (世界观、背景、规则) │ │ │ │ │ │ 人物小传 (所有角色的设定、关系、状态) │ │ │ │ │ │ 场景设定 (常驻场景的描述) │ │ │ │ │ │ 剧情大纲 (整体故事线、关键转折点) │ │ │ │ │ │ 风格设定 (对话风格、叙事风格) │ │ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ └───────────────────────────────────────────────────────────────┘ │ │ │ │ ┌───────────────────────────────────────────────────────────────┐ │ │ │ Memory System (记忆系统) - 自动维护 │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ │ │ 事件时间线 (已发生的关键事件) │ │ │ │ │ │ 人物状态变化 (各人物状态的历史变化) │ │ │ │ │ │ 伏笔追踪 (新增伏笔、待收线问题) │ │ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ └───────────────────────────────────────────────────────────────┘ │ │ │ │ ┌───────────────────────────────────────────────────────────────┐ │ │ │ Episodes (子项目) │ │ │ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │ │ │ │ Episode 1 │ │ Episode 2 │ │ Episode 3 │ │ Episode ...│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 状态: 完成 │ │ 状态: 完成 │ │ 状态: 进行 │ │ 状态: 待开始│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ [查看] │ │ [查看] │ │ [继续] │ │ [开始] │ │ │ │ │ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │ │ │ └───────────────────────────────────────────────────────────────┘ │ │ │ │ 使用的 Agent: 剧集创作 Agent │ │ 运行模式: 全自动 / 半自动 │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` #### 2.3.2 创建项目流程 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 新建剧集项目 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 步骤 1/3: 基本信息 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 项目名称: [宫廷风云] │ │ │ │ 总集数: [30] 集 │ │ │ │ 项目类型: [短剧 ▼] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ 步骤 2/3: 选择 Agent │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 推荐 Agent: 剧集创作 Agent │ │ │ │ │ │ │ │ 默认配置的 Skills: │ │ │ │ ✅ 剧本结构分析器 │ │ │ │ ✅ 大纲生成器 │ │ │ │ ✅ 对白写作器 (古风风格) │ │ │ │ ✅ 一致性审核器 │ │ │ │ │ │ │ │ [使用默认配置] [自定义 Skills] [选择其他 Agent] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ 步骤 3/3: 全局设定 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 📖 世界观设定: │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ 朝代: 架空朝代"天启朝" │ │ │ │ │ │ 地点: 皇城、边关、江南 │ │ │ │ │ │ [详细设定...] │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 👥 主要人物: │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ 李云飞 - 边关将军,性格耿直 │ │ │ │ │ │ 苏婉儿 - 丞相之女,聪慧隐忍 │ │ │ │ │ │ [+ 添加人物] │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 📜 整体大纲: │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ EP01-05: 相识与相恋... │ │ │ │ │ │ EP06-15: 宫中斗争... │ │ │ │ │ │ [编辑大纲] │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ [返回] [保存配置] [🚀 开始创作] │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` #### 2.3.3 项目管理功能 | 功能 | 说明 | |-----|-----| | **创建项目** | 选择 Agent、配置 Skills、设定全局上下文 | | **查看进度** | 实时监控各集的创作进度 | | **全局设定管理** | 编辑世界观、人物小传、场景设定 | | **记忆系统查看** | 查看事件时间线、伏笔追踪 | | **人工审核** | 审核标记的问题,修改或重新生成 | | **导出结果** | 导出单集或全集剧本 | --- ## 三、一致性保障机制 ### 3.1 全局上下文管理 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 全局设定 | 古装剧《宫廷风云》 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 📖 世界观设定 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 朝代: 架空朝代"天启朝" │ │ │ │ 地点: 皇城、边关、江南 │ │ │ │ 特殊规则: 宫中等级森严,丞相与皇帝对立... │ │ │ │ [编辑] [历史版本] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ 👥 人物小传 (点击展开详情) │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 李云飞 (男主角) │ │ │ │ - 身份: 边关将军 │ │ │ │ - 性格: 忠诚、耿直、不懂变通 │ │ │ │ - 状态: 活跃 / 在边关 / 被皇帝猜忌 (EP01更新) │ │ │ │ - 关系: 与苏婉儿有婚约 / 与丞相对立 │ │ │ │ - 说话风格: 直来直去,用词简练 │ │ │ │ [编辑] [查看状态历史] │ │ │ │ │ │ │ │ 苏婉儿 (女主角) │ │ │ │ - 身份: 丞相之女 │ │ │ │ - 性格: 聪慧、隐忍、心怀大义 │ │ │ │ - 状态: 活跃 / 在皇城 / 被迫入宫为妃 (EP01更新) │ │ │ │ [编辑] [+ 添加人物] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ 🏠 场景设定 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 养心殿 (皇帝寝宫) - 奢华、压抑 │ │ │ │ 丞相府 - 庄严、暗藏玄机 │ │ │ │ 边关大营 - 肃杀、简陋 │ │ │ │ [+ 添加场景] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ 📜 整体大纲 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ EP01-05: 相识与相恋,两人被迫分离 │ │ │ │ EP06-15: 宫中斗争,婉儿周旋,云飞征战 │ │ │ │ EP16-25: 真相大白,联手对抗丞相 │ │ │ │ EP26-30: 最终对决,有情人终成眷属 │ │ │ │ [编辑] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ [保存] [导出设定] [历史版本] │ └─────────────────────────────────────────────────────────────────┘ ``` ### 3.2 记忆系统 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 剧情记忆系统 (自动维护) │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 📅 事件时间线 (从已完成的集数中自动提取) │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ EP01: │ │ │ │ • 李云飞与苏婉儿在江南初遇,定下婚约 │ │ │ │ • 丞相苏文柏被皇帝忌惮,欲将女儿送入宫中 │ │ │ │ • 皇帝下旨,苏婉儿入选为妃 │ │ │ │ │ │ │ │ EP02: │ │ │ │ • 云飞回京请婚,被拒 │ │ │ │ • 婉儿入宫,初见皇帝,被冷落 │ │ │ │ • 云飞带兵离开,二人约定三年后相见 │ │ │ │ │ │ │ │ [+ 查看更多集数] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ ⚠️ 待收线问题 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ • 皇帝忌惮丞相的原因尚未揭示 (EP01 伏笔) │ │ │ │ - 重要性: 高 │ │ │ │ - 建议收线集数: EP15-20 │ │ │ │ │ │ │ │ • 云飞离京前从神秘人处获得的一封信 (EP02 伏笔) │ │ │ │ - 重要性: 高 │ │ │ │ - 建议收线集数: EP20-25 │ │ │ │ │ │ │ │ • 婉儿入宫时带的一枚玉佩,似乎有特殊含义 (EP01 伏笔) │ │ │ │ - 重要性: 中 │ │ │ │ - 建议收线集数: EP10-15 │ │ │ │ │ │ │ │ [+ 查看全部] [手动添加] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ 🔄 人物状态追踪 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 李云飞: │ │ │ │ 边关将军 (初始) → (EP01) 被皇帝猜忌 → (EP02) 愤而离京 │ │ │ │ [查看完整历史] │ │ │ │ │ │ │ │ 苏婉儿: │ │ │ │ 相府千金 (初始) → (EP01) 被选为妃 → (EP02) 入宫冷落 │ │ │ │ [查看完整历史] │ │ │ │ │ │ │ │ [+ 查看全部人物] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ [AI 智能提取] [手动添加] [导出报告] │ └─────────────────────────────────────────────────────────────────┘ ``` ### 3.3 可配置审核系统 **核心设计:审核也通过 Skill 配置实现,用户可以自定义审核标准和规则** 审核不是硬编码的,而是通过配置"审核 Skill"来实现的。用户可以选择不同的审核维度、设置严格度、自定义审核规则。 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 审核配置界面 (用户友好) │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 📋 宫廷风云 > 审核配置 │ │ │ │ ┌─ 审核维度 ─────────────────────────────────────────────┐ │ │ │ 当前使用的审核 Skills: │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ ✅ 人物一致性审核 [配置▼] [移除] │ │ │ │ │ │ ✅ 场景设定审核 [配置▼] [移除] │ │ │ │ │ │ ✅ 剧情逻辑审核 [配置▼] [移除] │ │ │ │ │ │ ✅ 对话质量审核 [配置▼] [移除] │ │ │ │ │ │ ✅ 风格一致性审核 [配置▼] [移除] │ │ │ │ │ │ ✅ 伏笔追踪审核 [配置▼] [移除] │ │ │ │ │ │ │ │ │ │ │ │ [+ 添加其他审核 Skill] │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 审核严格度 ───────────────────────────────────────────┐ │ │ │ 总体严格度: ━━━━●━━━ (中等) │ │ │ │ │ │ │ │ 各维度独立设置: │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 人物一致性: ━━━●━━━━ (宽松) │ │ │ │ │ │ 场景设定: ━━━━●━━━ (中等) │ │ │ │ │ │ 剧情逻辑: ━━━━━●━━ (严格) │ │ │ │ │ │ 对话质量: ━━━━●━━━ (中等) │ │ │ │ │ │ 风格一致: ━━━━●━━━ (中等) │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 自定义审核规则 ───────────────────────────────────────┐ │ │ │ [+ 添加自定义规则] │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 🔴 规则 1: 避免现代词汇 │ │ │ │ │ │ 触发条件: 检测到"OK"、"拜拜"等现代词 │ │ │ │ │ │ 严重程度: 中等 │ │ │ │ │ │ [编辑] [删除] │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 🟡 规则 2: 高潮集必须有情感爆发 │ │ │ │ │ │ 触发条件: 标记为"高潮"的集数 │ │ │ │ │ │ 检查内容: 情感描写密度 │ │ │ │ │ │ 严重程度: 高 │ │ │ │ │ │ [编辑] [删除] │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 审核预设 ─────────────────────────────────────────────┐ │ │ │ 快速应用预设配置: │ │ │ │ [宽松模式] [标准模式] [严格模式] [自定义模式] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ [保存配置] [重置为默认] [导出配置] │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` #### 3.3.1 审核维度详细配置 **人物一致性审核配置:** ``` ┌─────────────────────────────────────────────────────────────────┐ │ 人物一致性审核 > 配置 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 检查项目 (可多选): │ │ ☑ 性格是否符合人物小传 │ │ ☑ 说话风格是否一致 │ │ ☑ 身份地位是否矛盾 │ │ ☑ 人物关系是否合理 │ │ ☐ 人物外貌描述是否一致 │ │ │ │ ──────────────────────────────────────────────────────────── │ │ │ │ 严格度设置: │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 宽松 ━━━●━━━━ 严格 │ │ │ │ │ │ │ │ 宽松: 只检查明显矛盾 │ │ │ │ 中等: 检查性格和说话风格的主要变化 │ │ │ │ 严格: 检查所有细节,包括微小的不一致 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ ──────────────────────────────────────────────────────────── │ │ │ │ 特殊人物设置: │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 李云飞: │ │ │ │ ☑ 需要保持耿直直率的性格 │ │ │ │ ☑ 检查说话风格 (简洁、直接) │ │ │ │ ☐ 检查外貌描述一致性 │ │ │ │ 备注: 边关将军,说话不要太文绉绉 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 苏婉儿: │ │ │ │ ☑ 需要保持聪慧隐忍的性格 │ │ │ │ ☑ 检查说话风格 (含蓄、委婉) │ │ │ │ ☐ 检查外貌描述一致性 │ │ │ │ 备注: 丞相之女,身份敏感 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ [+ 添加更多人物] │ │ │ │ [保存] [取消] │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` **对话质量审核配置:** ``` ┌─────────────────────────────────────────────────────────────────┐ │ 对话质量审核 > 配置 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 质量标准: │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 对话自然度: ━━━━━●━━ (较严格) │ │ │ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ │ │ │ │ │ 对话目的性: ━━━━●━━━ (中等) │ │ │ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ │ │ │ │ │ 对话密度: ━━━●━━━━ (宽松) │ │ │ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ │ │ │ │ │ 动作描写完整性: ━━━━●━━━ (中等) │ │ │ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ ──────────────────────────────────────────────────────────── │ │ │ │ 禁止项 (检测到即标记为问题): │ │ ☑ 现代词汇 (OK、拜拜、随便等) │ │ ☑ 过长的人物独白 (超过 5 句) │ │ ☐ 重复的对话内容 │ │ ☐ 缺少说话人标签 │ │ │ │ ──────────────────────────────────────────────────────────── │ │ │ │ 风格要求: │ │ ☑ 对话要符合人物性格 │ │ ☑ 每句对话都有目的性 │ │ ☐ 适度使用成语典故 │ │ ☐ 包含情感暗示和潜台词 │ │ │ │ [保存] [取消] │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` #### 3.3.2 审核结果可视化 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 📊 EP03 审核结果 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ┌─ 总体评分 ─────────────────────────────────────────────┐ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 78 / 100 ⚠️ 低于阈值 │ │ │ │ │ │ ████████████░░░░ │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 各维度评分: │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 人物一致性: 90分 ████████████████████░░ │ │ │ │ │ │ 场景设定: 85分 ████████████████████░░░ │ │ │ │ │ │ 剧情逻辑: 95分 ███████████████████████ │ │ │ │ │ │ 对话质量: 65分 ████████████░░░░░░░░░░ ← 问题 │ │ │ │ │ │ 风格一致: 80分 ████████████████████░░░ │ │ │ │ │ │ 伏笔追踪: 70分 ████████████████░░░░░░░ ← 问题 │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 问题汇总 (按严重程度排序) ───────────────────────────┐ │ │ │ │ │ │ │ 🔴 严重问题 (1) - 需要处理 │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 对话质量 > 现代词汇 │ │ │ │ │ │ │ │ │ │ │ │ 位置: EP03 场景 5 │ │ │ │ │ │ 问题: 检测到"OK"、"拜拜"等现代词汇 │ │ │ │ │ │ │ │ │ │ │ │ 原文: │ │ │ │ │ │ 李云飞: 这事就这样了,OK? │ │ │ │ │ │ 苏婉儿: 好的,拜拜。 │ │ │ │ │ │ │ │ │ │ │ │ 建议: 修改为古风表达 │ │ │ │ │ │ • "OK" → "可好" / "就这样定了" │ │ │ │ │ │ • "拜拜" → "告辞" / "这便告辞" │ │ │ │ │ │ │ │ │ │ │ │ [跳转到该场景] [自动修复] [忽略] │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 🟡 一般问题 (2) - 建议处理 │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 伏笔追踪 > 未跟进重要伏笔 │ │ │ │ │ │ 位置: EP03 整体 │ │ │ │ │ │ 问题: EP01 设定的"李云飞身世之谜"未提及 │ │ │ │ │ │ 建议: 在后续 2-3 集内要有暗示或进展 │ │ │ │ │ │ [添加到提醒] [忽略] │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 对话质量 > 对话密度过高 │ │ │ │ │ │ 位置: EP03 场景 2 │ │ │ │ │ │ 问题: 连续 15 句对话,缺乏动作和环境描写 │ │ │ │ │ │ 建议: 适当增加动作描写和场景切换 │ │ │ │ │ │ [跳转到该场景] [忽略] │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 🟢 轻微问题 (3) [展开/收起] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 快速操作 ─────────────────────────────────────────────┐ │ │ │ [重新生成 EP03] [接受所有轻微问题] [导出审核报告] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` #### 3.3.3 审核与分批次模式的配合 ``` ┌─────────────────────────────────────────────────────────────────┐ │ ✅ 批次 1 审核完成 - 等待你的决策 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 本批次审核结果: │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ EP01 ✅ 92分 通过 无问题 │ │ │ │ EP02 ✅ 89分 通过 2个轻微问题 │ │ │ │ EP03 ⚠️ 78分 需处理 1个严重问题 + 2个一般问题 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 决策选项 ───────────────────────────────────────────┐ │ │ │ • [查看 EP03 详情并修改] (推荐) │ │ │ │ • [自动修复 EP03 的问题] (AI 尝试修复) │ │ │ │ • [重新生成 EP03] │ │ │ │ • [接受本批次全部] (标记 EP03 为需后续修改) │ │ │ │ • [调整审核配置后重新审核] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ──────────────────────────────────────────────────────────── │ │ │ │ 💡 提示: │ │ • 如果对审核标准不满意,可以调整审核配置后重新审核 │ │ • 审核配置可以保存为预设,下次直接使用 │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` #### 3.3.4 审核预设模板 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 审核预设模板 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 快速应用预设: │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 📝 草稿模式 (宽松) │ │ │ │ • 严格度: 低 │ │ │ │ • 只检查明显矛盾 │ │ │ │ • 适合: 快速出稿,后期精修 │ │ │ │ [应用预设] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 📋 标准模式 (推荐) │ │ │ │ • 严格度: 中等 │ │ │ │ • 检查主要维度 │ │ │ │ • 适合: 大多数场景 │ │ │ │ [应用预设] [当前使用中] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 🔍 严格模式 │ │ │ │ • 严格度: 高 │ │ │ │ • 检查所有细节 │ │ │ │ • 适合: 精品内容,质量要求高 │ │ │ │ [应用预设] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ ⚙️ 自定义模式 (你创建的预设) │ │ │ │ • 你的定制配置... │ │ │ │ [编辑] [应用] [删除] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ [+ 创建新预设] │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` #### 3.3.5 审核数据结构 ```typescript // 审核配置 interface ReviewConfig { // 使用的审核 Skills enabledReviewSkills: string[]; // 总体严格度 overallStrictness: 'loose' | 'medium' | 'strict'; // 各维度独立设置 dimensionSettings: { characterConsistency: { enabled: boolean; strictness: number; // 0-1 customRules?: CustomRule[]; }; sceneConsistency: { enabled: boolean; strictness: number }; plotLogic: { enabled: boolean; strictness: number }; dialogueQuality: { enabled: boolean; strictness: number }; styleConsistency: { enabled: boolean; strictness: number }; foreshadowing: { enabled: boolean; strictness: number }; }; // 自定义规则 customRules: CustomRule[]; } // 自定义审核规则 interface CustomRule { id: string; name: string; description: string; triggerCondition: string; // 触发条件描述 severity: 'low' | 'medium' | 'high'; enabled: boolean; } // 审核结果 interface ReviewResult { episodeId: string; episodeNumber: number; // 总体评分 overallScore: number; passed: boolean; // 各维度评分 dimensionScores: { characterConsistency: number; sceneConsistency: number; plotLogic: number; dialogueQuality: number; styleConsistency: number; foreshadowing: number; }; // 问题列表 issues: ReviewIssue[]; } // 审核问题 interface ReviewIssue { id: string; type: string; severity: 'low' | 'medium' | 'high'; dimension: string; // 所属维度 location: { episode: number; scene: number; line?: number; }; description: string; originalText?: string; suggestion: string; autoFixAvailable?: boolean; } ``` ### 3.4 一致性审核 Skill (默认内置) ```markdown # Skill: consistency-checker ## 功能 检查新一集内容与全局设定和历史剧情的一致性 ## 输入 - **global_context**: 全局上下文(世界设定、人物小传、场景设定) - **memory**: 记忆系统内容(事件时间线、人物状态、伏笔追踪) - **current_episode**: 当前集数的内容 - **episode_history**: 前面所有集数的摘要 ## 检查项 1. **人物设定一致性** - 人物性格是否符合小传 - 说话风格是否一致 - 身份地位是否矛盾 2. **场景设定一致性** - 场景描述是否与设定一致 - 场景转换是否合理 3. **剧情逻辑一致性** - 是否与前面剧情矛盾 - 时间顺序是否合理 - 因果关系是否成立 4. **伏笔管理** - 新增伏笔是否记录 - 旧伏笔是否跟进 - 是否有矛盾之处 ## 输出 ```json { "passed": true/false, "score": 85, "issues": [ { "type": "character_inconsistency", "description": "EP03中李云飞说话变得文绉绉,与设定不符", "severity": "high", "location": "EP03 场景5", "suggestion": "建议修改对话,保持直率风格" } ], "new_foreshadowing": [ { "episode": 3, "scene": 2, "description": "婉儿提到'母亲留下的锦囊'", "importance": "high" } ], "resolved_threads": [ { "thread": "皇帝忌惮丞相的原因", "resolved_in": "EP03", "resolution": "丞相曾掌握先帝遗诏" } ] } ``` ## 执行步骤 1. 读取全局上下文和记忆系统 2. 分析当前集数内容 3. 逐一检查一致性 4. 如发现问题,给出具体修改建议 5. 更新记忆系统(新增伏笔、收线问题、人物状态变化) ``` --- ## 四、全自动创作模式 ### 4.1 运行模式选择 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 选择运行模式 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ⭐ 推荐模式:分批次执行 (最实用) │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 一次生成 3-5 集,你审核后继续 │ │ │ │ • 批次大小: [3] 集 (可调整 1-10) │ │ │ │ • 每集生成后你查看 → 调整 → 继续下一批 │ │ │ │ • 可随时调整每集参数(时长、风格、重点) │ │ │ │ • 发现问题及时修正,避免全盘重来 │ │ │ │ │ │ │ │ 适合: 大多数场景,平衡效率和控制 │ │ │ │ │ │ │ │ ▼ 批次配置 │ │ │ │ • 本批集数: EP01-EP03 │ │ │ │ • EP01 时长: [3] 分钟 风格: [默认▼] │ │ │ │ • EP02 时长: [3] 分钟 风格: [默认▼] │ │ │ │ • EP03 时长: [5] 分钟 风格: [高潮▼] ← 高潮集加长 │ │ │ │ │ │ │ │ [开始生成本批次] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ 🚀 全自动模式 (适合快速出稿) │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ Agent 自主完成全部 30 集 │ │ │ │ • 每集自动创作 → 自动审核 → 自动迭代 │ │ │ │ • 遇到质量问题自动重试(最多3次) │ │ │ │ • 完成后通知你审核结果 │ │ │ │ • 你只需要最后查看/修改/导出 │ │ │ │ │ │ │ │ 适合: 想要快速出稿,后续再精修 │ │ │ │ │ │ │ │ ⚠️ 风险: 一次性生成30集,后期修改工作量大 │ │ │ │ │ │ │ │ ▼ 高级设置 │ │ │ │ • 最大重试次数: [3] 次 │ │ │ │ • 质量阈值: [85%] │ │ │ │ • 并发集数: [1] 集 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ 🤝 逐步审核模式 (完全控制) │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 每个关键节点等待你的确认 │ │ │ │ • 大纲生成 → 你确认 → 继续对白 │ │ │ │ • 每集完成 → 你审核 → 下一集 │ │ │ │ • 可随时调整方向 │ │ │ │ │ │ │ │ 适合: 对创意有特定要求,想要把控每个环节 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ### 4.2 分批次执行模式 (推荐) ``` ┌─────────────────────────────────────────────────────────────────┐ │ 📋 分批次执行 - 宫廷风云 (30集) │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 当前进度: 第 1 批次 / 共 10 批 │ │ ████████░░░░░░░░░░░░░░░░░ 10% (3/30 集) │ │ │ │ ┌─ 当前批次配置 ───────────────────────────────────────┐ │ │ │ 批次 1: EP01 - EP03 │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ EP01 - 初识 │ │ │ │ │ │ • 时长: [3] 分钟 │ │ │ │ │ │ • 重点: ☑ 人物介绍 ☑ 建立关系 ☐ 悬念设置 │ │ │ │ │ │ • 备注: 开篇要吸引人 │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ EP02 - 冲突 │ │ │ │ │ │ • 时长: [3] 分钟 │ │ │ │ │ │ • 重点: ☑ 矛盾显现 ☑ 情感升温 ☐ 伏笔埋设 │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ EP03 - 危机 (高潮集) │ │ │ │ │ │ • 时长: [5] 分钟 ⚠️ 加长 │ │ │ │ │ │ • 重点: ☑ 危机爆发 ☑ 转折点 ☑ 情感高潮 │ │ │ │ │ │ • 备注: 这集是第一个高潮,需要更多细节 │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ [开始生成本批次] [重新配置批次] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 已完成的批次 ───────────────────────────────────────┐ │ │ │ (当前无已完成批次) │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` **本批次生成中:** ``` ┌─────────────────────────────────────────────────────────────────┐ │ 🔄 批次 1 生成中 - EP01: 初识 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 本批次进度: ████████░░░░░░░ 66% (2/3 集) │ │ │ │ EP01 ✅ 已完成 EP02 ✅ 已完成 EP03 🔄 生成中 │ │ │ │ ┌─ EP03 实时预览 ──────────────────────────────────────┐ │ │ │ 📜 场景 3: 花园相会 (当前生成) │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 【场景】御花园,傍晚 │ │ │ │ │ │ 【人物】李云飞、苏婉儿 │ │ │ │ │ │ │ │ │ │ │ │ 李云飞:(拱手)苏姑娘,此地不宜久留。 │ │ │ │ │ │ 苏婉儿:(轻叹)将军所言极是... │ │ │ │ │ │ [正在实时生成中...] │ │ │ │ │ │ │ │ │ │ │ │ [暂停本批次] [跳过当前场景] │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` **本批次完成,等待审核:** ``` ┌─────────────────────────────────────────────────────────────────┐ │ ✅ 批次 1 生成完成 - 等待你的审核 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 本批次统计 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ EP01 ✅ 质量分数: 92分 时长: 3分10秒 │ │ │ │ EP02 ✅ 质量分数: 89分 时长: 3分05秒 │ │ │ │ EP03 ⚠️ 质量分数: 78分 时长: 4分50秒 → [查看] │ │ │ │ │ │ │ │ 平均质量: 86.3分 │ │ │ │ ⚠️ 需要关注: 1个 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 操作选项 ───────────────────────────────────────────┐ │ │ │ • [查看并修改 EP03] (推荐) │ │ │ │ • [重新生成 EP03] │ │ │ │ • [接受本批次全部] │ │ │ │ • [调整下一批配置后继续] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 下一批预览 ─────────────────────────────────────────┐ │ │ │ 批次 2: EP04 - EP06 │ │ │ │ • EP04 时长: [3] 分钟 风格: [默认▼] │ │ │ │ • EP05 时长: [3] 分钟 风格: [默认▼] │ │ │ │ • EP06 时长: [4] 分钟 风格: [小高潮▼] │ │ │ │ │ │ │ │ [配置下一批] [使用相同配置继续] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ### 4.4 全自动模式运行监控 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 🚀 全自动创作进行中 - 宫廷风云 (30集) │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 总进度: ████████░░░░░░░░░░░░ 27% (8/30 集) │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 当前执行: EP09 - 边关夜话 │ │ │ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ │ 阶段: 🔄 一致性审核中... │ │ │ │ Agent: 剧集创作 Agent │ │ │ │ 已用时间: 12 分 30 秒 │ │ │ │ 预计剩余: 约 45 分钟 │ │ │ │ │ │ │ │ [暂停] [停止] [查看实时日志] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ 集数状态 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ EP01 ✅ EP02 ✅ EP03 ✅ EP04 ✅ EP05 ✅ EP06 ✅ │ │ │ │ EP07 ✅ EP08 ✅ EP09 🔄 EP10 ⏳ EP11 ⏳ EP12 ⏳ │ │ │ │ EP13 ⏳ EP14-30 ⏳ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ 质量统计 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 平均质量分数: 92.3分 │ │ │ │ 一次性通过: 7集 重试后通过: 1集 │ │ │ │ │ │ │ │ ⚠️ 警告: 0个 ❌ 错误: 0个 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ [查看全部日志] [导出已完成集数] │ └─────────────────────────────────────────────────────────────────┘ ``` ### 4.5 自动重试逻辑 ``` ┌─────────────────────────────────────────────────────────────────┐ │ Agent 内部的自动重试决策 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 开始创作 EP03 │ │ ↓ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ Step 1: 结构分析 → ✅ 通过 │ │ │ │ Step 2: 大纲生成 → ✅ 通过 │ │ │ │ Step 3: 对话创作 → ✅ 完成 │ │ │ │ Step 4: 一致性审核 → ⚠️ 分数 78 (低于阈值 85) │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ↓ │ │ 检测到质量问题,开始自动重试 (第1次/共3次) │ │ ↓ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 根据审核建议重新生成: │ │ │ │ • 李云飞对话风格略显文绉绉,需要更直率一些 │ │ │ │ • 场景3的情感转变需要更自然的过渡 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ↓ │ │ Step 3: 对话创作 (重试) → ✅ 完成 │ │ Step 4: 一致性审核 (重试) → ✅ 分数 91 (通过!) │ │ ↓ │ │ Step 5: 更新记忆系统 → ✅ 完成 │ │ ↓ │ │ EP03 完成,继续 EP04 │ │ │ │ ─────────────────────────────────────────────────────────── │ │ │ │ 如果重试3次后仍不通过: │ │ → 标记为"需人工审核" │ │ → 全自动模式继续下一集 │ │ → 完成后统一通知用户处理 │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ### 4.6 完成通知 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 🎉 全自动创作完成! │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 项目: 宫廷风云 (30集) │ │ 完成时间: 2024-01-15 14:32 │ │ 总耗时: 3小时 45分钟 │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 📊 质量报告 │ │ │ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ │ 平均质量分数: 91.5分 │ │ │ │ 一次性通过: 26集 │ │ │ │ 重试1次通过: 3集 │ │ │ │ 重试2次通过: 1集 (EP15) │ │ │ │ │ │ │ │ 一致性检查: ✅ 全部通过 │ │ │ │ • 人物设定一致性: 100% │ │ │ │ • 场景设定一致性: 100% │ │ │ │ • 剧情逻辑性: 98% (EP15有小问题已自动修复) │ │ │ │ │ │ │ │ 伏笔追踪: │ │ │ │ • 新增伏笔: 12个 │ │ │ │ • 收线伏笔: 8个 (剩余4个将在后续跟进) │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ ⚠️ 需要人工审核 (2处) │ │ │ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ │ 1. EP15-场景3: 李云飞的情感转变略显突兀 │ │ │ │ [查看] [重新生成] [接受] │ │ │ │ │ │ │ │ 2. EP22-场景5: 两位配角对话内容重复 │ │ │ │ [查看] [重新生成] [接受] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ [👀 查看全部集数] [📤 导出全集] [📝 继续编辑] │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` --- ## 五、用户友好的内容展示与交互 **核心原则:所有面向用户的内容,都不直接以原始文件格式(Markdown、JSON 等)呈现** 平台的设计理念是"所见即所得",用户不应该看到任何技术文件格式。所有内容都通过精心设计的 UI 组件来呈现。 ### 5.1 Skill 配置界面 ``` ┌─────────────────────────────────────────────────────────────────┐ │ Skill 配置界面的用户友好设计 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ❌ 错误做法:直接展示原始 Markdown │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ # 古风对话大师 │ │ │ │ [一大段 Markdown 文本,用户需要理解格式才能修改] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ ✅ 正确做法:参数化、可视化表单界面 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 🎭 古风对话大师 [配置] │ │ │ │ │ │ │ │ ┌─ 风格参数 ─────────────────────────────────────────┐ │ │ │ │ │ 文言程度: ━━━●━━━ (0.7) │ │ │ │ │ │ 对话密度: ━━━━━●━ (0.6) │ │ │ │ │ │ 情感浓度: ☐含蓄 ☑适中 ☐外放 ☐浓烈 │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌─ 创作重点 ─────────────────────────────────────────┐ │ │ │ │ │ ☑ 人物性格通过对话体现 │ │ │ │ │ │ ☑ 每句对话都有目的性 │ │ │ │ │ │ ☑ 避免现代词汇和句式 │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ [保存配置] [高级模式:查看原始Markdown] │ │ │ └─────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────┘ ``` **要点:** - 滑块、单选、多选、开关等表单组件 - 参数调整后实时显示效果说明 - 根据当前配置实时生成示例内容 - 高级模式可查看原始 Markdown(非默认) ### 5.2 剧本生成预览 **生成过程中的实时预览:** ``` ┌─────────────────────────────────────────────────────────────────┐ │ 剧本生成过程中的实时预览 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 正在生成: EP01 - 宫廷风云 │ │ 进度: ████████████░░░░░░░░ 60% │ │ │ │ ┌─ 当前阶段 ─────────────────────────────────────────────┐ │ │ │ ✅ 1. 结构分析 (已完成) │ │ │ │ ✅ 2. 大纲生成 (已完成) │ │ │ │ 🔄 3. 对话创作 (进行中...) │ │ │ │ ⏳ 4. 一致性审核 (等待中) │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 实时预览 ─────────────────────────────────────────────┐ │ │ │ 📜 场景 3: 花园相会 │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 【场景】御花园,傍晚 │ │ │ │ │ │ 【人物】李云飞、苏婉儿 │ │ │ │ │ │ │ │ │ │ │ │ 李云飞:(拱手)苏姑娘,此地不宜久留。 │ │ │ │ │ │ 苏婉儿:(轻叹)将军所言极是... │ │ │ │ │ │ [正在实时生成中...] │ │ │ │ │ │ [暂停生成] [跳过当前场景] │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ 💡 提示:生成过程中可以实时查看内容,如有问题可随时暂停调整 │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` **生成完成后的查看界面:** ``` ┌─────────────────────────────────────────────────────────────────┐ │ 剧本查看与编辑界面 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 📺 宫廷风云 > EP01 - 初识 │ │ │ │ ┌─ 导航 ─────────────────────────────────────────────────┐ │ │ │ [大纲视图] [场景列表] [逐场查看] [人物统计] [导出] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 视图切换 ─────────────────────────────────────────────┐ │ │ │ 📖 剧本阅读 📊 人物出场统计 🎭 情节曲线 │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 剧本内容 ─────────────────────────────────────────────┐ │ │ │ ┌─ 场景 1: 宫殿朝堂 ──────────────────────────────┐ │ │ │ │ │ ▼ 展开/收起 │ │ │ │ │ │ 【场景】金銮殿,早朝时分 │ │ │ │ │ │ 【人物】皇帝、李云飞、丞相 │ │ │ │ │ │ │ │ │ │ │ │ 皇帝:李爱卿,边关战事如何? │ │ │ │ │ │ │ │ │ │ │ │ 李云飞:(跪拜)启禀陛下,匈奴已退兵三十里... │ │ │ │ │ │ │ │ │ │ │ │ 丞相:陛下,此事是否另有隐情? │ │ │ │ │ │ │ │ │ │ │ │ [编辑本场景] [重新生成] [添加批注] │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ ┌─ 场景 2: 宫门外 ────────────────────────────────┐ │ │ │ │ │ ▶ 点击展开 │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ [+ 添加新场景] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 侧边栏: 本集信息 ─────────────────────────────────────┐ │ │ │ 📊 质量分数: 92分 │ │ │ │ 📝 场景数量: 5场 │ │ │ │ 👥 出场人物: 3人 │ │ │ │ ⏱️ 预计时长: 3分20秒 │ │ │ │ │ │ │ │ [继续生成下一集] [导出PDF] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ### 5.3 剧本导入预览 **导入源文件时的解析与预览:** ``` ┌─────────────────────────────────────────────────────────────────┐ │ 剧本导入与解析界面 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 📥 导入剧本 │ │ │ │ ┌─ 第一步:上传文件 ──────────────────────────────────────┐ │ │ │ 拖拽文件到此处,或点击选择文件 │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 支持格式: .txt .docx .pdf .fdx .celtx │ │ │ │ │ │ [选择文件] │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 第二步:解析预览 ──────────────────────────────────────┐ │ │ │ 📊 文件信息 │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 文件大小: 128 KB │ │ │ │ │ │ 预计场景: 8场 │ │ │ │ │ │ 预计人物: 6人 │ │ │ │ │ │ 解析结果: ✅ 成功识别 │ │ │ │ │ │ ⚠️ 发现2处格式可能需要调整 │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 👥 识别的人物 │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ ✅ 李云飞 (出现5次) │ │ │ │ │ │ ✅ 苏婉儿 (出现4次) │ │ │ │ │ │ ❓ 侍卫甲 (可能是通用角色) │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ [调整识别设置] [重新解析] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 第三步:导入确认 ──────────────────────────────────────┐ │ │ │ ☑ 自动识别人物 ☑ 自动拆分场景 ☐ 合并连续对话 │ │ │ │ [返回] [确认导入] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ### 5.4 全局上下文编辑界面 **世界观、人物、场景的编辑都采用结构化表单:** ``` ┌─────────────────────────────────────────────────────────────────┐ │ 全局上下文编辑界面 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 📖 宫廷风云 > 全局设定 > 人物设定 │ │ │ │ ┌─ 李云飞 ─────────────────────────────────────────────┐ │ │ │ 🗡️ 边关将军 │ │ │ │ │ │ │ │ 基本信息: │ │ │ │ 年龄: [28] 性别: [男▼] 身份: [镇北将军▼] │ │ │ │ │ │ │ │ 性格特征 (可多选): │ │ │ │ ☑ 耿直刚正 ☑ 忠诚勇敢 ☐ 沉默寡言 ☐ 粗中有细 │ │ │ │ [+ 添加自定义特征] │ │ │ │ │ │ │ │ 外貌特征: │ │ │ │ ┌────────────────────────────────────────────────┐ │ │ │ │ │ 身形高大,剑眉星目,不怒自威... │ │ │ │ │ │ [富文本编辑器,支持格式化] │ │ │ │ │ └────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ 说话风格: (滑块) │ │ │ │ 简洁 ─────●──── 冗长 │ │ │ │ 直接 ───●────── 委婉 │ │ │ │ │ │ │ │ 人物关系: │ │ │ │ ┌─ 关系网络图 ─────────────────────────────────┐ │ │ │ │ │ 李云飞 │ │ │ │ │ │ │ │ │ │ │ │ │ ┌──┴──┐ │ │ │ │ │ │ 皇帝 苏婉儿 │ │ │ │ │ │ (君臣) (爱慕) │ │ │ │ │ │ [+ 添加关系] │ │ │ │ │ └────────────────────────────────────────────────┘ │ │ │ │ [保存] [预览人物卡片] [删除] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ### 5.5 记忆系统查看界面 **事件时间线、伏笔追踪的可视化展示:** ``` ┌─────────────────────────────────────────────────────────────────┐ │ 记忆系统查看界面 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 🧠 宫廷风云 > 记忆系统 │ │ │ │ ┌─ 导航 ─────────────────────────────────────────────────┐ │ │ │ [📜 事件时间线] [💡 伏笔追踪] [👥 人物状态] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 事件时间线 ───────────────────────────────────────────┐ │ │ │ ┌─ EP01 ────────────────────────────────────────────┐ │ │ │ │ │ ▼ 展开3个事件 │ │ │ │ │ │ • 李云飞边关退兵 │ │ │ │ │ │ • 李云飞与苏婉儿花园初次相会 │ │ │ │ │ │ • 苏婉儿被皇帝赐婚给丞相之子 │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ ┌─ EP02 ────────────────────────────────────────────┐ │ │ │ │ │ ▶ 点击展开4个事件 │ │ │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ [筛选: ▼全部事件 ▼关键事件 ▼涉及人物:李云飞] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 伏笔追踪 ─────────────────────────────────────────────┐ │ │ │ 待收线伏笔 (4) │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 💡 李云飞身世之谜 │ │ │ │ │ │ 首次出现: EP01 最近提及: EP08 │ │ │ │ │ │ 状态: 🔴 需要尽快收线 │ │ │ │ │ │ 预计收线: EP12-15 [添加备注] [设置提醒] │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ### 5.6 质量报告查看界面 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 质量报告可视化界面 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 📊 宫廷风云 > 质量报告 │ │ │ │ ┌─ 整体评分 ─────────────────────────────────────────────┐ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 91.5 / 100 │ │ │ │ │ │ ████████████░░ │ │ │ │ │ │ 优秀 良好 及格 需改进 │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ 一致性: ████████████████░ 96% │ │ │ │ 创意性: ██████████░░░░░░ 72% │ │ │ │ 完整度: ██████████████░░ 88% │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ ┌─ 问题汇总 ─────────────────────────────────────────────┐ │ │ │ 🔴 严重问题 (2) │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 1. EP15-场景3: 人物情感转变突兀 │ │ │ │ │ │ [跳转到该场景] [重新生成] │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ 🟡 一般问题 (5) [展开] 🟢 轻微问题 (8) [展开] │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ### 5.7 设计原则总结 | 场景 | 错误做法 | 正确做法 | |-----|---------|---------| | **Skill 配置** | 展示原始 Markdown | 参数化表单 + 实时预览 | | **剧本生成** | 等待完成后查看 | 生成过程中实时流式预览 | | **剧本查看** | 纯文本展示 | 结构化视图(场景卡片、分镜视图) | | **剧本导入** | 直接解析使用 | 解析预览 + 确认环节 | | **全局设定** | 文本文件编辑 | 结构化表单(富文本、滑块、选择器) | | **记忆系统** | JSON 数据展示 | 时间线、关系图、伏笔卡片 | | **质量报告** | 文本列表 | 可视化图表 + 交互式过滤 | --- ## 六、技术架构 ### 6.1 整体架构图 ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ 用户界面层 │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │Skill管理中心│ │Agent管理 │ │项目管理器 │ │ Skill市场 │ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────────────────┐ │ 编排引擎层 │ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │ │ Agent 执行引擎 (固定框架) │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ │ │ 工作流引擎 │ │ 质量控制器 │ │ 重试管理器 │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────────────────┐ │ Skill 管理层 │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ Skill 加载 │ │参数解析器 │ │提示词渲染 │ │工具调用器 │ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ ↓ ↓ ↓ ↓ │ │ Skill内容融入提示词,指导Agent行为 (类似Claude Code) │ └─────────────────────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────────────────┐ │ 上下文管理层 │ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │ │ 全局上下文 + 记忆系统 │ │ │ │ • 世界设定 • 人物小传 • 场景设定 • 事件时间线 • 伏笔追踪 │ │ │ └──────────────────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────────────────┐ │ 模型接口层 │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Claude API │ │ OpenAI API │ │ Gemini API │ │ 自定义模型 │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────────────────┐ │ 数据存储层 │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Skill 仓库 │ │ 项目数据 │ │ 记忆系统 │ │ 用户配置 │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ ``` ### 6.2 核心数据结构 ```typescript // ============= Skill ============= interface Skill { id: string; name: string; version: string; author: string; type: 'builtin' | 'user'; // 内置或用户创建 // 核心内容 - 直接影响 Agent 行为 behaviorGuide: string; // 行为指导文档(类似Claude Code Skills) config: SkillConfig; // 可配置参数 template?: string; // 提示词模板 // 工具定义(仅内置 Skill 支持) tools?: SkillTool[]; // 该 Skill 提供的工具 // 元数据 category: string; tags: string[]; visibility: 'private' | 'public'; } // Skill 工具定义(用于内置 Skills) interface SkillTool { name: string; description: string; script: string; // 脚本文件名 parameters: Record; } interface SkillConfig { // 风格预设 preset?: string; // 可调节参数 parameters: { [key: string]: { type: 'select' | 'slider' | 'text' | 'boolean'; value: any; options?: any[]; min?: number; max?: number; }; }; // 权重配置 weights?: { [dimension: string]: number; }; } // ============= Agent (平台维护) ============= interface Agent { id: string; name: string; description: string; category: string; // 固定的工作流 workflow: WorkflowStage[]; // 引用的 Skills (用户可配置替换) skillBindings: { [stageId: string]: string; // stageId -> skillId }; // 决策规则 decisionRules: DecisionRule[]; } // ============= Series Project (剧集项目) ============= interface SeriesProject { id: string; name: string; type: 'series'; // 使用的 Agent agentId: string; // 运行模式 mode: 'auto' | 'semi-auto'; autoRetryConfig?: { maxRetries: number; qualityThreshold: number; }; // 全局上下文 globalContext: { worldSetting: string; // 世界观设定 characterProfiles: { // 人物小传 [characterId: string]: { name: string; description: string; personality: string; speechStyle: string; currentState: string; relationships: { [otherId: string]: string }; appearance?: string; }; }; sceneSettings: { // 场景设定 [sceneId: string]: { name: string; description: string; atmosphere: string; }; }; overallOutline: string; // 整体大纲 styleGuide: string; // 风格指南 }; // 记忆系统 memory: { eventTimeline: Array<{ // 事件时间线 episode: number; event: string; timestamp?: string; }>; pendingThreads: Array<{ // 待收线问题 id: string; description: string; introducedAt: number; importance: 'high' | 'medium' | 'low'; resolved?: boolean; resolvedAt?: number; }>; foreshadowing: Array<{ // 伏笔追踪 episode: number; scene: number; description: string; importance: 'high' | 'medium' | 'low'; resolved?: boolean; }>; characterStates: { // 人物状态历史 [characterId: string]: Array<{ episode: number; state: string; change: string; }>; }; }; // 子项目 (集数) episodes: { [episodeId: string]: { number: number; title?: string; status: 'pending' | 'writing' | 'review' | 'completed' | 'needs-review'; content?: string; summary?: string; qualityScore?: number; retryCount?: number; issues?: Issue[]; createdAt: Date; completedAt?: Date; }; }; // Skill 配置覆盖 skillSettings: { [skillId: string]: { parameterOverrides?: SkillConfig['parameters']; enabled: boolean; }; }; createdAt: Date; updatedAt: Date; } // ============= 问题 ============= interface Issue { type: 'character_inconsistency' | 'scene_inconsistency' | 'plot_hole' | 'dialogue_style'; description: string; severity: 'low' | 'medium' | 'high'; location: { episode: number; scene: number; }; suggestion: string; } ``` ### 6.3 项目文件目录结构 ``` workspace/ ├── skills/ # 用户 Skills │ ├── builtin/ # 内置 Skills (平台维护) │ │ ├── skill-creator/ # - SKILL.md │ │ │ └── scripts/ # - validate_skill.py, generate_template.py │ │ └── agent-creator/ # - SKILL.md │ │ └── scripts/ # - validate_agent.py, generate_workflow.py │ │ │ └── user/ # 用户创建的 Skills │ ├── dialogue-writer-ancient/ # - SKILL.md (无 scripts 目录) │ ├── consistency-checker/ │ └── ... │ ├── agents/ # Agent 定义 (代码驱动) │ ├── series-creation.ts # 剧集创作 Agent 工作流代码 │ ├── storyboard-design.ts # 分镜设计 Agent 工作流代码 │ └── short-story.ts # 短篇小说 Agent 工作流代码 │ ├── projects/ # 项目目录 │ └── / # 具体项目 │ ├── .project.json # 项目配置文件 │ ├── global-context/ # 全局上下文 │ │ ├── world-setting.md │ │ ├── characters/ │ │ │ ├── main-character.md │ │ │ └── ... │ │ └── outline.md │ ├── memory/ # 记忆系统 (自动维护) │ │ ├── timeline.json │ │ ├── foreshadowing.json │ │ └── character-states.json │ └── episodes/ # 各集内容 │ ├── EP01/ │ │ ├── structure.json │ │ ├── outline.json │ │ ├── content.md │ │ └── review.json │ ├── EP02/ │ └── ... │ ├── .creative-studio/ # 平台配置 │ ├── config.json # 全局配置 │ └── marketplace/ # Skill 市场 (可选) │ └── cache/ # 缓存目录 ├── llm-responses/ └── skill-templates/ ``` ### 6.4 Scripts 执行系统 #### 6.4.1 设计原则 ``` ┌─────────────────────────────────────────────────────────────────┐ │ Scripts 执行系统的分层设计 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 内置 Skills (如 skill-creator) │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ • 可以定义 Scripts │ │ │ │ • Scripts 用于验证、生成模板等平台功能 │ │ │ │ • 由平台维护,确保安全性 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ↓ │ │ Scripts 执行引擎 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ • 支持 Python、Node.js、Shell 脚本 │ │ │ │ • 沙箱隔离执行 │ │ │ │ • 超时控制、资源限制 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ↓ │ │ 用户 Skills │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ • 只需提供行为指导 │ │ │ │ • 不能定义 Scripts │ │ │ │ • 简化用户使用 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` #### 6.4.2 执行引擎实现 ```typescript // Scripts 执行引擎 class SkillScriptExecutor { // 执行 Skill 中的脚本 async executeScript( skillId: string, scriptName: string, args: any ): Promise { // 安全检查:只允许内置 Skill 执行脚本 const skill = await loadSkill(skillId); if (skill.type !== 'builtin') { throw new Error('Only builtin skills can execute scripts'); } const scriptPath = `/skills/${skillId}/scripts/${scriptName}`; // 检查脚本是否存在 if (!await this.scriptExists(scriptPath)) { throw new Error(`Script not found: ${scriptPath}`); } // 根据扩展名选择执行方式 const ext = path.extname(scriptName); switch (ext) { case '.py': return await this.executePython(scriptPath, args); case '.js': return await this.executeNode(scriptPath, args); case '.sh': return await this.executeBash(scriptPath, args); default: throw new Error(`Unsupported script type: ${ext}`); } } private async executePython(scriptPath: string, args: any): Promise { const { spawn } = require('child_process'); return new Promise((resolve, reject) => { // 超时控制 const timeout = setTimeout(() => { process.kill(); reject(new Error('Script execution timeout')); }, 30000); // 30秒超时 const process = spawn('python', [scriptPath, JSON.stringify(args)]); let stdout = ''; let stderr = ''; process.stdout.on('data', (data) => { stdout += data.toString(); }); process.stderr.on('data', (data) => { stderr += data.toString(); }); process.on('close', (code) => { clearTimeout(timeout); if (code === 0) { try { resolve(JSON.parse(stdout)); } catch { resolve(stdout); } } else { reject(new Error(`Script failed: ${stderr}`)); } }); }); } // Node.js、Bash 类似实现... } // 工具注册表 class ToolRegistry { private tools = new Map(); // 从内置 Skill 加载工具 async loadToolsFromSkill(skillId: string) { const skill = await loadSkill(skillId); if (skill.type === 'builtin' && skill.tools) { for (const toolDef of skill.tools) { this.registerTool({ name: toolDef.name, description: toolDef.description, execute: async (args) => { return await this.scriptExecutor.executeScript( skillId, toolDef.script, args ); } }); } } } registerTool(tool: Tool) { this.tools.set(tool.name, tool); } getTool(name: string): Tool | undefined { return this.tools.get(name); } getAllTools(): Tool[] { return Array.from(this.tools.values()); } } ``` #### 6.4.3 skill-creator 示例 ```json // skills/skill-creator/skill.json { "id": "skill-creator", "name": "Skill 创建器", "type": "builtin", "version": "1.0.0", "tools": [ { "name": "validateSkillStructure", "description": "验证 Skill 文件结构是否符合规范", "script": "validate_skill.py", "parameters": { "skillPath": { "type": "string", "description": "Skill 文件路径" } } }, { "name": "generateSkillTemplate", "description": "生成 Skill 模板文件", "script": "generate_template.py", "parameters": { "name": { "type": "string", "description": "Skill 名称" }, "category": { "type": "string", "description": "Skill 分类" } } } ] } ``` ```python # skills/skill-creator/scripts/validate_skill.py import sys import json import os from pathlib import Path def validate_skill_structure(skill_path): """验证 Skill 文件结构""" errors = [] warnings = [] skill_dir = Path(skill_path) # 检查 SKILL.md 是否存在 skill_md = skill_dir / "SKILL.md" if not skill_md.exists(): errors.append("SKILL.md 文件不存在") else: # 验证 SKILL.md 格式 content = skill_md.read_text() if not content.strip().startswith("# Skill:"): warnings.append("SKILL.md 应该以 '# Skill:' 开头") # 用户 Skill 不应有 scripts 目录 scripts_dir = skill_dir / "scripts" if scripts_dir.exists(): errors.append("用户 Skill 不应包含 scripts 目录") return { "valid": len(errors) == 0, "errors": errors, "warnings": warnings } if __name__ == "__main__": input_data = json.loads(sys.argv[1]) result = validate_skill_structure(input_data["skillPath"]) print(json.dumps(result, ensure_ascii=False)) ``` #### 6.4.4 用户创建 Skill 的流程 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 用户创建 Skill (使用 skill-creator) │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 用户点击 "创建 Skill" │ │ ↓ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ Agent 加载 skill-creator Skill (内置,有 Scripts) │ │ │ │ │ │ │ │ Step 1: 引导用户输入基本信息 │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ Skill 名称: [古风对话大师] │ │ │ │ │ │ 分类: [编剧 > 对话风格] │ │ │ │ │ │ 描述: [用于创作古风风格的对话...] │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ Step 2: 调用 generateSkillTemplate (Scripts) │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ 执行: python generate_template.py ... │ │ │ │ │ │ 输出: 生成 SKILL.md 模板文件 │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ Step 3: 用户编辑行为指导 │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ # Skill: 古风对话大师 │ │ │ │ │ │ ## 行为指导 │ │ │ │ │ │ 你创作对话时必须遵循以下规则: │ │ │ │ │ │ [用户编辑内容...] │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ Step 4: 调用 validateSkillStructure (Scripts) │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ 执行: python validate_skill.py ... │ │ │ │ │ │ 输出: {"valid": true, "errors": [], ...} │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ Step 5: 保存 Skill │ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │ │ 保存到: skills/user-skills/dialogue-writer-ancie │ │ │ │ │ │ 类型: user (无 Scripts) │ │ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ↓ │ │ 用户 Skill 创建完成 │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ### 6.5 Agent 执行流程 ```typescript // Agent 执行单集的完整流程 async function executeEpisode( project: SeriesProject, episodeNumber: number, agent: Agent ): Promise { let attempt = 0; const maxRetries = project.autoRetryConfig?.maxRetries ?? 3; const threshold = project.autoRetryConfig?.qualityThreshold ?? 85; while (attempt < maxRetries) { // Step 1: 加载上下文 const context = await loadContext(project, episodeNumber); // Step 2: 执行工作流 let currentContext = context; const results = {}; for (const stage of agent.workflow) { // 获取该阶段使用的 Skill const skillId = project.skillSettings[stage.skillId]?.enabled ? stage.skillId : agent.skillBindings[stage.id]; const skill = await loadSkill(skillId); // 关键:将 Skill 内容融入提示词 const prompt = buildPromptWithSkill( stage.task, skill.behaviorGuide, // ← Skill 的行为指导 currentContext, skill.config ); // 调用 LLM const result = await callLLM(prompt); // 应用工具(如果有) if (skill.availableTools) { const toolResult = await applyTools(result, skill.availableTools); results[stage.id] = toolResult; } else { results[stage.id] = result; } currentContext = { ...currentContext, ...result }; } // Step 3: 一致性审核 const review = await consistencyCheck( project.globalContext, project.memory, results, episodeNumber ); // Step 4: 质量判断 if (review.score >= threshold) { // 通过 → 更新记忆系统 await updateMemory(project, episodeNumber, results, review); return { success: true, content: results, qualityScore: review.score }; } // 不通过 → 重试 attempt++; if (attempt >= maxRetries) { // 达到最大重试次数 return { success: false, content: results, needsReview: true, review: review, qualityScore: review.score }; } // 根据审核建议重新生成 // 将 review 的建议作为额外上下文传入 context.retryContext = { attempt: attempt, previousResult: results, review: review }; } } // 将 Skill 内容融入提示词 (核心机制) function buildPromptWithSkill( task: string, skillBehaviorGuide: string, // Skill 的行为指导 context: any, skillConfig: any ): string { return ` 你是剧集创作专家。 # 当前任务 ${task} # 行为指导 (来自 Skill) ${skillBehaviorGuide} # 上下文信息 ${JSON.stringify(context)} # 配置参数 ${JSON.stringify(skillConfig)} 请严格按照行为指导完成任务。 `; } ``` ### 6.6 数据流设计 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 单集执行数据流 │ └─────────────────────────────────────────────────────────────────┘ 用户点击"开始创作" ↓ ┌───────────────────────────────────────────────────────────────┐ │ 加载项目配置 │ │ • Agent 定义 (固定工作流) │ │ • 用户配置的 Skills │ │ • 全局上下文 (世界设定、人物小传、场景设定) │ │ • 记忆系统 (事件时间线、伏笔追踪) │ └───────────────────────────────────────────────────────────────┘ ↓ ┌────────────────────────────────────────────────────────��──────┐ │ FOR EACH episode: │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ FOR EACH workflow stage: │ │ │ │ │ │ │ │ 1. 获取该阶段的 Skill │ │ │ │ 2. 将 Skill.behaviorGuide 融入提示词 │ │ │ │ 3. 调用 LLM → 输出结果 │ │ │ │ 4. 应用工具 (如果有) │ │ │ │ 5. 更新上下文 │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ ↓ 所有阶段完成后 │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 一致性审核 (consistency-checker Skill) │ │ │ │ │ │ │ │ quality >= threshold? │ │ │ │ │ │ │ │ │ ├── YES → 更新记忆系统 → 下一集 │ │ │ │ │ │ │ │ │ └── NO → attempt < maxRetries? │ │ │ │ │ │ │ │ │ ├── YES → 重试 (带上审核建议) │ │ │ │ │ │ │ │ │ └── NO → 标记需审核 → 下一集 │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ └───────────────────────────────────────────────────────────────┘ ↓ ┌───────────────────────────────────────────────────────────────┐ │ 全部完成 → 生成质量报告 → 通知用户 │ └───────────────────────────────────────────────────────────────┘ ``` --- ## 七、Skill Marketplace ### 7.1 市场界面 ``` ┌─────────────────────────────────────────────────────────────────┐ │ Skill 市场 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 分类: [全部] [对话风格] [结构分析] [一致性审核] [质量评分] │ │ 排序: [热门] [最新] [评分 ▼] │ │ │ │ 🔥 热门 Skills │ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │ │ 🗡️ 古风对话大师 │ │ 💕 甜宠氛围营造 │ │ 🔍 悬疑伏笔布局 │ │ │ │ │ │ │ │ │ │ │ │ ⭐ 4.9 (2.3k) │ │ ⭐ 4.8 (1.8k) │ │ ⭐ 4.7 (1.2k) │ │ │ │ │ │ │ │ │ │ │ │ 对话风格 > 古风 │ │ 对话风格 > 甜宠 │ │ 剧情技巧 > 伏笔 │ │ │ │ │ │ │ │ │ │ │ │ [安装] [预览] │ │ [安装] [预览] │ │ [安装] [预览] │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ │ 📚 更多分类 │ │ • 对话风格 | • 叙事节奏 | • 人物塑造 | • 场景描写 │ │ • 结构框架 | • 一致性审核 | • 质量评分 | • 格式转换 │ │ │ │ 🎨 我的自定义 Skills │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ ✨ 我的第一版古风 Skill (基于"古风对话大师"修改) │ │ │ │ • 降低了对话密度,增加了环境描写 │ │ │ │ • 调整了皇帝说话的威严程度 │ │ │ │ ⭐ 4.5 (12次使用) │ │ │ │ [编辑] [发布到市场] [删除] │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ [发布我的 Skill] │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ### 7.2 Skill 分享机制 | 功能 | 说明 | |-----|-----| | **Fork 修改** | 基于现有 Skill 创建副本,修改后发布为独立 Skill | | **版本管理** | Skill 支持多版本,用户可选择版本 | | **评分评论** | 用户可评分、评论,分享使用体验 | | **使用统计** | 显示 Skill 的使用次数、成功率 | | **推荐算法** | 基于项目类型推荐合适的 Skills | --- ## 八、技术栈建议 ### 8.1 后端技术栈 | 层级 | 技术选择 | |-----|---------| | **语言** | Python | | **API 框架** | FastAPI | | **向量数据库** | Chroma | | **文档数据库** | MongoDB (项目、记忆系统) | | **文件存储** | 本地 / S3 | | **消息队列** | Redis (异步任务) | | **LLM 接口** | LangChain | ### 8.2 前端技术栈 | 层级 | 技术选择 | |-----|---------| | **框架** | React / Vue | | **状态管理** | Zustand / Pinia | | **UI 组件** | shadcn/ui / Element Plus | | **编辑器** | Monaco / CodeMirror | | **Markdown** | Monaco + Remark | ### 8.3 部署架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ 负载均衡 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ Web 服务 (多实例) │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ Instance 1 │ │ Instance 2 │ │ Instance 3 │ │ │ └────────────┘ └────────────┘ └────────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 消息队列 (Redis) │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ Worker 服务 (异步任务) │ │ ┌────────────┐ ┌────────────┐ │ │ │ LLM Worker │ │ Skill Worker│ │ │ └────────────┘ └────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` --- ## 九、开发路线图 ### Phase 1: MVP (最小可行产品) - [ ] Skill 基础管理系统(创建、编辑、配置) - [ ] Agent 固定框架(剧集创作 Agent) - [ ] Series Project 数据结构 - [ ] 全局上下文管理 - [ ] 基础 UI(三大管理中心) ### Phase 2: 核心功能 - [ ] 记忆系统(事件时间线、伏笔追踪) - [ ] 一致性审核 Skill - [ ] 全自动创作模式 - [ ] 自动重试机制 - [ ] 单集执行完整流程 ### Phase 3: 高级功能 - [ ] Skill Marketplace - [ ] Skill Fork 和分享 - [ ] 风格预设系统 - [ ] 质量报告生成 - [ ] 半自动模式 ### Phase 4: 生态扩展 - [ ] 自定义模型接入 - [ ] 更多 Agent 类型(分镜、小说等) - [ ] 团队协作 - [ ] API 开放平台 --- ## 十、与原文档的对比 | 方面 | 原设计 | 新设计 (Skill-centric) | |-----|-------|----------------------| | **交互方式** | 问答式 | 点击式配置 | | **Agent** | 用户创建和维护 | 平台提供固定模板 | | **Skill** | 主要是提示词文件 | 可配置的行为指导单元 | | **项目结构** | 单一项目 | Series Project + Episodes | | **一致性保障** | 无 | 全局上下文 + 记忆系统 | | **运行模式** | 手动逐步执行 | 全自动 + 半自动 | | **用户操作** | 编排 Agent 工作流 | 配置 Skill 参数 | | **多集创作** | 无机制支持 | 专门的记忆系统 | | **Skill 工作方式** | 简单引用 | 融入提示词指导行为 | --- ## 十一、核心设计原则总结 ### 11.1 "Agent 固定,Skill 可配" ``` 平台维护 Agent 框架 用户配置 Skill 内容 ↓ ↓ 稳定的执行层 灵活的能力层 ``` **优势**: - 平台稳定性高(Agent 很少改动) - 用户学习成本低(只需配置 Skill) - 问题容易定位(框架固定,问题在 Skill) - 生态可繁荣(Skill 可分享) ### 11.2 "Skill 指导行为" ``` Skill.behaviorGuide → 融入提示词 → LLM 根据指导输出 ``` **本质**:与 Claude Code Skills 相同的工作方式 **价值**:用户写的 Skill 真正能影响 Agent 的创作行为 ### 11.3 "全局上下文 + 记忆系统" ``` Series Project ├── 全局上下文 (所有集数共享) └── 记忆系统 (自动维护一致性) ├── 事件时间线 ├── 伏笔追踪 └── 人物状态 ``` **解决的问题**:多集创作的一致性问题 ### 11.4 "全自动 + 人工审核" ``` 全自动创作 → 自动重试 → 质量报告 → 人工审核 ``` **用户体验**:设置好后,坐等完成,最后审核导出 --- *版本: 2.0.0* *更新日期: 2024* *主要变更: 重构为 Skill-centric 架构,增加记忆系统和全自动模式*