中文小说工匠
用可读、可 diff 的文件管理长篇作品状态,避免人物、时间线和伏笔在长对话中丢失。它负责组织和检查创作资料,章节正文仍由 Agent 根据用户要求撰写。
作品目录
新作品建议使用以下结构:
作品名/
├── README.md
├── story-bible.md # 一句话 premise、主题、基调与禁写项
├── world.md # 世界观、规则、时间线
├── characters/
│ └── index.md # 人物卡与关系
├── outline/
│ ├── volume-01.md # 卷纲、章节目标、伏笔
│ └── timeline.md # 事件顺序
├── chapters/
│ └── 001-title.md
└── continuity-report.md
工作流程
- 收集题材、读者、篇幅、视角和不可写内容,形成
story-bible.md。 - 建人物卡:目标、阻力、关系、变化弧和已确认事实;每次修改记录原因。
- 先做世界规则与卷纲,再拆章节目标、冲突、转折、伏笔回收点。
- 生成或修改章节时,只读取相关人物、时间线和上一章结尾,避免把无关资料塞进上下文。
- 写入章节后,运行
check检查必需路径及文件非空情况。该脚本不读取或判断人物状态、称谓、时间、地点、伏笔、章节编号等正文连续性。 - 由当前 AI 阅读相关人物卡、世界规则、卷纲、时间线及涉及的章节正文,进行连续性分析并输出报告;把明确冲突和推断疑点分开,证据标注文件名及行号/章节锚点。上下文不足时标为
needs_review,不把脚本的结构检查结果当作正文审校结果。
输入与输出
输入可为灵感、已有目录、章节文本或修改要求。check 输出仅表示目录结构检查结果;连续性报告由 AI 基于实际读取的资料撰写。每次写入前保留原文件,除非用户明确要求覆盖。
失败与边界
- 作品名、章节编号或目标不明确时返回
needs_clarification。 - AI 阅读资料后发现两个互相冲突的事实时标为
conflict,给出文件和行号/章节锚点,不擅自选一个。 - 不处理现实违法教程、仇恨煽动或未成年人性内容;可改为安全、虚构的成长冲突。
- 不保证平台签约、过审、销量或“爆款”。
命令
python3 scripts/self_test.py self-test
python3 scripts/self_test.py init --output /tmp/my-novel --title "雾中车站"
python3 scripts/self_test.py check --input examples/success-project
check 只检查必需文件是否存在、是否为文件、是否非空,并统计章节 Markdown 文件数;缺项时以非零状态退出。它不审读正文。人物、时间线、伏笔等连续性须由当前 AI 阅读项目资料后逐项核对。init 不覆盖已存在的文件。
