back
loading skill details...
剧情生成管道流技能。支持多剧集连续生成、图谱管理、AI质检+人工确认的双控机制。自动管理人物、场景、钩子的关联关系。
---
name: story-pipeline
description: 剧情生成管道流技能。支持多剧集连续生成、图谱管理、AI质检+人工确认的双控机制。自动管理人物、场景、钩子的关联关系。
---
# 剧情生成管道流 Skill
## 功能说明
本技能实现一个完整的剧情生成管道:
1. **连续剧集生成** - 基于前集内容自动生成下一集
2. **图谱管理** - 人物、场景、钩子的关联存储与查询
3. **双确认控制** - AI质检通过后,等待人工确认
4. **状态持久化** - 支持暂停、恢复、多剧本并行
---
## 核心工作流程
```
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────┐
│ 生成第N集 │ -> │ AI质检 │ -> │ 图谱存储 │ -> │ 等待人工确认 │
└──────────┘ └──────────┘ └──────────┘ └──────────────┘
│ │ │ │
▼ ▼ ▼ ▼
查询图谱 通过/重试 存储关联 继续/修改/结束
```
---
## 使用方法
### 启动新管道
```
用户:开始一个新的剧情管道,主题:中国小女孩逆袭,目标集数:10集
```
### 继续管道
```
用户:继续剧情管道 [pipeline_id]
```
### 用户确认操作
```
用户:通过,继续下一集
用户:修改:[具体意见]
用户:暂停
用户:结束
```
---
## 双确认控制机制
### 第一层:AI 质量检查
每集生成后,AI 自动检查:
| 检查项 | 说明 |
|--------|------|
| 剧情连贯性 | 与前集衔接是否自然 |
| 人物一致性 | 角色行为是否符合设定 |
| 钩子处理 | 新增/闭环钩子是否合理 |
| 节奏控制 | 剧情推进是否恰当 |
| 情感曲线 | 情绪起伏是否合理 |
**评分标准:** 0-10分,低于7分触发重试(最多3次)
### 第二层:人工确认
AI 审核通过后,展示预览并等待用户确认:
```
📋 第N集预览
━━━━━━━━━━━━━━━━━━━━━━━━
【剧情摘要】
...
✅ AI 评分:8.5/10
✅ 钩子状态:新增1个,闭环1个
请选择:
1️⃣ 通过,继续下一集
2️⃣ 需要修改(请说明)
3️⃣ 暂停
4️⃣ 结束
━━━━━━━━━━━━━━━━━━━━━━━━
```
---
## 图谱管理
### 图谱查询
生成第N集前,查询第N-1集的图谱:
```python
graph_manager.query_graph(pipeline_id, episode=N-1)
```
返回:
- 上一集的完整内容
- 人物列表及其状态
- 未闭环的钩子
- 关键场景
- 关系网络
### 图谱存储
用户确认后,存储当前集的完整内容:
```python
graph_manager.save_graph(pipeline_id, episode=N, content)
```
存储内容:整集的生成结果(不拆分要素)
---
## 状态管理
### 状态文件:`data/pipeline_state.json`
```json
{
"pipelines": {
"pipeline_2026-03-05-001": {
"theme": "中国小女孩逆袭",
"target_episodes": 10,
"current_episode": 3,
"status": "waiting_user_confirm",
"created_at": "2026-03-05T15:00:00",
"updated_at": "2026-03-05T15:30:00",
"ai_review": {
"score": 8.5,
"checks": {...}
},
"last_output": {
"episode": 3,
"summary": "...",
"content": "完整内容..."
}
}
}
}
```
### 状态类型
| 状态 | 说明 |
|------|------|
| `generating` | 正在生成 |
| `ai_reviewing` | AI 审核中 |
| `waiting_user_confirm` | 等待人工确认 |
| `paused` | 已暂停 |
| `completed` | 已完成 |
| `error` | 错误状态 |
---
## 脚本说明
### pipeline.py - 主控循环
- 初始化管道
- 协调各模块
- 处理用户指令
- 管理循环状态
### ai_reviewer.py - AI 质量检查
- 执行质量评分
- 生成审核报告
- 判断是否通过
### episode_generator.py - 剧集生成
- 基于图谱上下文生成新剧集
- 处理钩子的延续与闭环
- 处理重试逻辑
### graph_manager.py - 图谱管理
- 图谱查询(调用远程接口)
- 图谱存储(调用远程接口)
- 本地缓存管理
---
## 接口说明
### 图谱接口
**URL:** `https://framedream.art/n8n/webhook-test/open_frame_construct`
**查询接口:**
```json
{
"action": "query",
"pipeline_id": "pipeline_2026-03-05-001",
"episode": 2
}
```
**存储接口:**
```json
{
"action": "save",
"pipeline_id": "pipeline_2026-03-05-001",
"episode": 3,
"content": "第3集的完整生成内容..."
}
```
---
## 剧集生成逻辑
### 第一集生成
基于用户提供的主题和目标,生成:
- 主要人物设定
- 初始场景
- 核心冲突
- 开放钩子
### 后续剧集生成
基于图谱查询结果:
1. 读取上一集内容和未闭环钩子
2. 延续剧情主线
3. 处理钩子(延续/闭环/新增)
4. 推进人物成长弧
5. 调整情感曲线
### 结局生成
当达到目标集数或用户要求结束时:
- 闭环所有剩余钩子
- 完成人物成长弧
- 生成总结性结局
---
## 注意事项
1. **重试机制** - AI 审核不通过时,最多重试 3 次
2. **暂停恢复** - 暂停后可通过 pipeline_id 恢复
3. **多管道** - 支持同时运行多个不同主题的管道
4. **图谱一致性** - 确保人物、钩子的关联关系正确
5. **钩子管理** - 追踪每个钩子的创建和闭环状态
---
## 完整工作流程
### 步骤 1:创建管道
```
用户:开始一个新管道,主题:修仙少年,目标20集
AI:好的,创建管道 pipeline_20260305160000
主题:修仙少年
目标:20集
风格:写实电影感
状态:已初始化,准备生成第1集
```
### 步骤 2:生成剧集
AI 调用 `start_generation(pipeline_id)` 获取生成提示词,然后根据提示词生成剧集内容。
### 步骤 3:提交AI审核
AI 调用 `submit_episode(pipeline_id, episode, content)` 提交生成的内容,然后执行AI审核。
### 步骤 4:处理审核结果
AI 调用 `process_ai_review(pipeline_id, episode, ai_result, content)` 处理审核结果。
如果审核不通过(得分<7),自动重试(最多3次)。
### 步骤 5:等待用户确认
审核通过后,展示预览并等待用户确认:
```
📋 第1集预览
━━━━━━━━━━━━━━━━━━━━━━━━
【修仙之路开启】
少年李云在山中发现一块神秘玉佩,
从此踏上了修仙之路...
✅ AI 评分:9.0/10
✅ 新增钩子:H-001 神秘玉佩来历
━━━━━━━━━━━━━━━━━━━━━━━━
请选择:
1️⃣ 通过,继续下一集
2️⃣ 需要修改(请说明)
3️⃣ 暂停
4️⃣ 结束
```
### 步骤 6:处理用户确认
用户确认后,AI 调用 `user_confirm(pipeline_id, action, note)`:
- **approve**:存储图谱,准备下一集
- **modify**:根据意见重新生成
- **pause**:暂停管道
- **end**:结束管道
### 步骤 7:循环生成
重复步骤 2-6,直到达到目标集数或用户结束。
---
## API 接口说明
### 创建管道
```python
create_pipeline(theme: str, target_episodes: int, style: str = "写实电影感")
# 返回:{"success": True, "pipeline_id": "...", "message": "..."}
```
### 开始生成
```python
start_generation(pipeline_id: str)
# 返回:{"success": True, "episode": N, "prompt": "生成提示词"}
```
### 提交剧集
```python
submit_episode(pipeline_id: str, episode: int, content: str)
# 返回:{"success": True, "review_prompt": "审核提示词"}
```
### 处理AI审核
```python
process_ai_review(pipeline_id: str, episode: int, ai_result: str, content: str)
# 返回:{"success": True, "passed": True/False, ...}
```
### 用户确认
```python
user_confirm(pipeline_id: str, action: str, note: str = None)
# action: "approve" / "modify" / "pause" / "end"
# 返回:{"success": True, "status": "...", ...}
```
### 获取状态
```python
get_status(pipeline_id: str)
# 返回:管道当前状态信息
```
### 列出管道
```python
list_pipelines()
# 返回:所有管道列表
```
### 恢复管道
```python
resume_pipeline(pipeline_id: str)
# 返回:恢复结果
```
---
## 示例对话
```
用户:开始一个新管道,主题:修仙少年,目标20集
AI:好的,创建管道 pipeline_20260305160000
正在生成第1集...
📋 第1集预览
━━━━━━━━━━━━━━━━━━
【修仙之路开启】
少年李云在山中发现一块神秘玉佩...
✅ AI 评分:9.0/10
✅ 新增钩子:H-001 神秘玉佩来历
请确认:通过/修改/暂停/结束
用户:通过
AI:正在存储图谱...
开始生成第2集...
```
---
## 注意事项
1. **重试机制**:AI审核不通过时,最多重试3次
2. **状态持久化**:所有状态保存在 `data/pipeline_state.json`
3. **图谱存储**:通过远程接口存储,需要网络连接
4. **暂停恢复**:暂停后可通过 `resume_pipeline` 恢复
5. **多管道**:支持同时运行多个不同主题的管道don't have the plugin yet? install it then click "run inline in claude" again.