Fanfic Writer v2.1 - 自动化小说写作系统 / Automated Novel Writing System
版本 Version: 2.1.0
架构 Architecture: 基于证据的状态管理 with atomic I/O
安全机制 Safety: Auto-Rescue, Auto-Abort Guardrail, FORCED 连击熔断
核心特性: 每个阶段人工确认
系统概览 / System Overview
Fanfic Writer v2.1 是一套生产级的小说写作流水线,每个阶段都需要人工确认:
/ Fanfic Writer v2.1 is a production-grade novel writing pipeline with human confirmation at each phase:
- 9 阶段流水线 / 9 Phase Pipeline: 从初始化到最终QC
- 7 状态面板 / 7 State Panels: 角色、剧情线、时间线、道具、地点、POV规则、会话记忆
- 证据链 / Evidence Chain: 所有状态变更带有 (章节, 片段, 置信度) 追踪
- 原子I/O / Atomic I/O: temp → fsync → rename 模式 + 快照回滚
- 多视角QC / Multi-Perspective QC: 3-评审协议 + 100分制评分
- 安全机制 / Safety Mechanisms: Auto-Rescue, Auto-Abort
- 人工确认 / Human Confirmation: 每个阶段必须确认才能继续
人工确认流程 / Human Confirmation Flow
根据设计文档,每个阶段都需要人工确认:
| 阶段 Phase | 需要确认的内容 | 状态 Status |
|---|---|---|
| Phase 1 | 书名、类型、字数、存放目录 | 必需 |
| Phase 2 | 风格指南 | 必需 |
| Phase 3 | 主线大纲 | 必需 |
| Phase 4 | 章节规划 | 必需 |
| Phase 5 | 世界观设定 | 必需 |
| Phase 6 | 每章正文后确认进入下一章 | 必需 |
| Phase 7 | Backpatch 确认 | 必需 |
| Phase 8-9 | 最终合并确认 | 必需 |
快速开始 / Quick Start
通过 OpenClaw 调用
帮我写一本都市灵异小说
AI 会引导你完成每个阶段的确认。
通过 CLI
# 初始化新书 (每个阶段会确认)
python -m scripts.v2.cli init
# 写作 (每章会确认)
python -m scripts.v2.cli write --run-dir <path>
架构 / Architecture
目录结构 / Directory Structure
novels/
└── {book_title_slug}__{book_uid}/
└── runs/
└── {run_id}/
├── 0-config/ # 配置层
├── 1-outline/ # 大纲层
├── 2-planning/ # 规划层
├── 3-world/ # 世界观层
├── 4-state/ # 运行时状态 (7面板)
├── drafts/ # 草稿层
├── chapters/ # 最终章节
├── anchors/ # 锚点
├── logs/ # 日志
├── archive/ # 归档
└── final/ # 最终输出
阶段参考 / Phase Reference
| 阶段 Phase | 名称 Name | 描述 Description | 需要确认 |
|---|---|---|---|
| 1 | Initialization | 创建工作空间、配置 | ✅ 书名/类型/字数/目录 |
| 2 | Style Guide | 定义叙事风格 | ✅ 风格指南 |
| 3 | Main Outline | 生成书籍级情节结构 | ✅ 主线大纲 |
| 4 | Chapter Planning | 详细章节列表与钩子 | ✅ 章节规划 |
| 5 | World Building | 角色、阵营、规则、道具 | ✅ 世界观 |
| 5.5 | Alignment Check | 验证世界观匹配意图清单 | 自动 |
| 6 | Writing Loop | 清洗→草稿→QC→提交 | ✅ 每章确认 |
| 7 | Backpatch Pass | FORCED章节回补修复 | ✅ 确认 |
| 8 | Merge Book | 合并章节为最终版本 | ✅ 确认 |
| 9 | Whole-Book QC | 最终7点质量检查 | ✅ 确认 |
阶段6: 写作循环 (核心) / Phase 6: Writing Loop (Core)
确认流程 / Confirmation Flow
[生成大纲] → 用户确认 → [生成正文] → QC评分 → 用户确认 → [下一章]
QC 评分标准
| 分数 Score | 状态 Status | 动作 Action |
|---|---|---|
| ≥85 | PASS | 保存,继续 |
| 75-84 | WARNING | 保存(带警告),继续 |
| <75 | REVISE | 重试 |
| 第三次<75 | FORCED | 保存,进Backpatch |
配置 / Configuration
0-book-config.json
{
"version": "2.1.0",
"book": {
"title": "书名",
"title_slug": "book_slug",
"book_uid": "8char_hash",
"genre": "都市灵异",
"target_word_count": 100000,
"chapter_target_words": 2500
},
"generation": {
"model": "moonshot/kimi-k2.5",
"mode": "manual",
"max_attempts": 3,
"auto_threshold": 85,
"auto_rescue_enabled": true
}
}
OpenClaw 集成 / OpenClaw Integration
模型说明
重要: 这个 skill 不硬编码任何模型。当 OpenClaw 调用此 skill 时,自动使用 OpenClaw 当前配置的模型。
函数入口
from scripts.v2.openclaw_entry import run_skill, get_required_confirmations
# 获取某阶段需要确认的内容
confirmations = get_required_confirmations("6_write")
# Returns: ["每章正文生成后确认", "每章评分确认"]
# 运行 skill - 模型由 OpenClaw 自动提供
result = run_skill(
book_title="我的小说",
genre="都市",
target_words=100000,
mode="manual"
# oc_context 由 OpenClaw 自动传入,包含当前模型
)
oc_context 参数
OpenClaw 会自动传入 oc_context 参数,包含:
model_call- 调用当前模型的方法model_name- 当前模型名称(可选)generate- 备选方法(可选)
开发 / Development
模块结构 / Module Structure
scripts/v2/
├── __init__.py
├── utils.py # ID生成、slug、路径
├── atomic_io.py # 原子写入、快照
├── workspace.py # 目录管理
├── config_manager.py # 配置I/O
├── state_manager.py # 7面板
├── prompt_registry.py # 模板注册表
├── prompt_assembly.py # 提示词构建
├── price_table.py # 费率表管理
├── resume_manager.py # 断点续传、锁管理
├── phase_runner.py # 阶段1-5
├── writing_loop.py # 阶段6
├── safety_mechanisms.py # 阶段7-9
├── cli.py # CLI入口
└── openclaw_entry.py # OpenClaw入口 (v2.1新增)
版本历史 / Version History
v2.1.0 (2026-02-16)
- ✅ 每个阶段人工确认机制
- ✅ OpenClaw 函数入口
- ✅ 接入真实模型 API
- ✅ 修复 Windows 兼容性
- ✅ 完善中文文档
v2.0.0 (2026-02-11)
- 初始版本
- 9阶段流水线
- 7状态面板
- 多视角QC
许可证 / License
MIT License