원클릭으로
novel-creator
Use when user wants to write chapters, generate drafts, or continue the story. Triggers include "写第", "生成章节", "续写", "草稿", "创作".
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when user wants to write chapters, generate drafts, or continue the story. Triggers include "写第", "生成章节", "续写", "草稿", "创作".
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when user wants to write novels, manage outlines, characters, world-building, style, workflows, or chapter review. Triggers: 写章节, 生成大纲, 创建角色, 世界观, 风格, 伏笔, 小说
Use when user wants to start or continue a long-session planning flow for a novel, gather and refine ideation, characters, setting, outline, or source packs, and hand off to Dante when the writing window is ready.
Use when user wants to manage project settings, create characters, update world-building, view outline, or check foreshadowing status. Triggers include "新建", "角色", "世界观", "大纲", "伏笔", "项目".
Use when user wants to check logic consistency, polish style, find plot holes, or review existing chapters. Triggers include "检查", "润色", "逻辑", "伏笔漏洞", "审查".
Use when user wants to initialize style, extract reusable writing signals from user-supplied text, compose a project style guide, or analyze style drift.
Use when user wants to analyze dialogue style, extract speech patterns, compare character voices, or detect AI-sounding dialogue. Triggers include "对话", "口头禅", "角色声音", "对白", "AI味对话".
| name | novel-creator |
| description | Use when user wants to write chapters, generate drafts, or continue the story. Triggers include "写第", "生成章节", "续写", "草稿", "创作". |
编排 Director → Writer → User Review → Stylist 完整创作流程。
digraph creation_flow {
rankdir=TB;
"用户请求" [shape=box];
"解析意图" [shape=box];
"组装上下文" [shape=box];
"生成节拍" [shape=box];
"生成草稿" [shape=box];
"用户审核" [shape=diamond style=filled fillcolor=lightyellow];
"风格润色" [shape=box];
"保存草稿" [shape=box];
"重写" [shape=box];
"用户请求" -> "解析意图";
"解析意图" -> "组装上下文";
"组装上下文" -> "生成节拍";
"生成节拍" -> "生成草稿";
"生成草稿" -> "用户审核";
"用户审核" -> "风格润色" [label="通过"];
"用户审核" -> "重写" [label="修改"];
"重写" -> "生成节拍";
"风格润色" -> "保存草稿";
}
从用户请求中提取:
ch_005 或 第五章调用 ContextBuilder.build_generation_context():
上下文组件:
├── 大纲窗口(前后 5 章)
│ └── 确保剧情连贯
├── 出场角色档案
│ └── 自动识别 involved_characters
├── 伏笔状态
│ ├── 待回收: 需要在本章或后续回收
│ └── 已埋下: 可以呼应
├── 三层风格
│ ├── craft/ 通用技法(dialogue_craft + scene_craft + rhythm_craft + humanization)
│ ├── data/novels/{id}/data/sources/{source_id}/style/ 提取风格源
│ └── data/novels/{id}/src/characters/ + src/world/ 设定约束
├── 世界观规则
│ └── 相关实体和关系
└── 真相文件(融合 InkOS)
├── current_state.md - 世界当前状态
├── ledger.md - 资源账本
└── relationships.md - 角色关系矩阵
可选:使用内置 Agent
如果需要更强大的写作能力,可使用内置 Agent:
from tools.agent import WriterAgent, AgentContext
from tools.llm import LLMClient, LLMConfig
config = LLMConfig.from_env()
client = LLMClient(config)
ctx = AgentContext(client, config.model, project_root)
writer = WriterAgent(ctx)
result = await writer.write_chapter(context, chapter_number=5)
WriterAgent 采用两阶段写作:
章节不独立做起承转合。 起承转合在「节」层面完成:
节(5章)= 起(ch01) → 承(ch02-03) → 转(ch04) → 合(ch05)
从大纲获取当前章节的 dramatic_position(起/承/转/合/过渡), 以及所属节的 section_structure 和 section_emotional_arc。
示例:
篇弧线: 铺垫(sec01-02) → 发展(sec03-05) → 高潮(sec06) → 收束(sec07)
节结构: 起(ch21) → 承(ch22-23) → 转(ch24) → 合(ch25)
节情感: 好奇 → 震惊 → 愤怒 → 释然
▶ 本章位于: 转
▶ 本章焦点: 主角发现真相,内心崩溃
节拍是章内微结构,按 dramatic_position 从 templates/beat_templates.yaml 选择:
节拍数量由章节字数决定(3000字以下: 2-3个; 3000-5000: 3-4个; 5000+: 4-6个), 不由戏剧结构决定。
将节拍扩写为散文,关键约束:
必须暂停等待用户确认!
📝 草稿已生成
**章节**: {chapter_id}
**戏剧位置**: {dramatic_position}
**字数**: {word_count}
**节拍数**: {beat_count}
### 预览(前 500 字)
{preview_text}
---
**请审核后选择**:
1. ✅ 通过 - 进入风格润色
2. 🔄 重写 - 提供修改意见
3. 📋 手动编辑 - 保存草稿,退出流程
| 选择 | 操作 |
|---|---|
| 通过 | 进入 Step 7 风格润色 |
| 重写 | 收集用户反馈 → 返回 Step 4 重新生成节拍 |
| 手动编辑 | 保存草稿到 manuscript/ → 结束流程 |
使用 style-system Skill:
保存到 data/novels/{novel_id}/data/manuscript/:
data/manuscript/
├── arc_001/
│ ├── ch_005.md # 最终版本
│ ├── ch_005_draft.md # 初稿
│ └── ch_005_review.yaml # 审查记录
| 操作 | 路径 |
|---|---|
| 读取大纲 | data/novels/{novel_id}/src/outline.md + data/novels/{novel_id}/data/hierarchy.yaml |
| 读取角色 | data/novels/{novel_id}/src/characters/ + data/novels/{novel_id}/data/characters/cards/ |
| 读取风格 | data/novels/{novel_id}/data/sources/{source_id}/style/ + data/novels/{novel_id}/data/style/composed.md |
| 读取世界观 | data/novels/{novel_id}/src/world/ + data/novels/{novel_id}/data/world/ |
| 写入草稿 | data/novels/{novel_id}/data/manuscript/ |
开始写章节前,确保以下数据已就绪:
| 数据 | 必须? | 说明 |
|---|---|---|
| 大纲 (src/outline.md + data/hierarchy.yaml) | ✅ 必须 | 至少有当前章节的章纲 |
| 角色卡 (data/characters/cards/) | ✅ 必须 | 本章出场角色的卡片 |
| 合成风格 (data/style/composed.md) | ⚠️ 建议 | 没有则使用默认风格 |
| 世界观 (src/world/ + data/world/) | 可选 | 有则加载作为约束 |
| 伏笔 (data/foreshadowing/dag.yaml) | 可选 | 有则提示待回收伏笔 |
| 错误 | 处理 |
|---|---|
| 上下文超限 | 自动压缩低优先级内容 |
| 角色档案缺失 | 使用简卡信息 |
| 生成失败 | 重试 3 次,然后报错 |
| 用户中断 | 保存当前草稿 |
用户: 写第五章,主角发现真相
AI: 我来帮你创作第五章。
[组装上下文...]
- 大纲位置: 第五章位于第一篇的中段
- 出场角色: 李逍遥、林月如
- 待回收伏笔: 第二章埋下的神秘信件
[生成节拍...]
ch_005 开场: 李逍遥在书房发现一封神秘信件
ch_005 发展1: 信件揭示了一个惊人的真相...
...
[生成草稿...]
📝 草稿已生成(3521字)
### 预览
书房的烛火摇曳,李逍遥的手指颤抖着拆开那封泛黄的信件...
请选择:
1. ✅ 通过
2. 🔄 重写
3. 📋 手动编辑
用户: 1
AI: [风格润色中...]
✅ 第五章已完成,保存到 manuscript/arc_001/ch_005.md