包含: - 核心配置文件(AGENTS.md, SOUL.md, USER.md等) - 记忆系统(memory/文件夹) - 技能库(skills/文件夹) - 小说内容(novel/文件夹) - .gitignore配置
241 lines
6.8 KiB
Markdown
241 lines
6.8 KiB
Markdown
---
|
||
name: fanfic-writer
|
||
version: 2.1.0
|
||
description: 自动化小说写作助手 v2.1 - 基于证据的状态管理、多视角QC、原子I/O、每个阶段人工确认
|
||
homepage: https://github.com/openclaw/clawd
|
||
metadata:
|
||
openclaw:
|
||
emoji: "📖"
|
||
category: "creative"
|
||
---
|
||
# 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
|
||
|
||
```bash
|
||
# 初始化新书 (每个阶段会确认)
|
||
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
|
||
|
||
```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 当前配置的模型。
|
||
|
||
### 函数入口
|
||
|
||
```python
|
||
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
|