Sfoglia il codice sorgente

chore: 清理冗余文档并统一 README CLI 命令格式

- 删除 CLAUDE.md(内容已整合至其他位置)
- 删除 docs/ 下的归档报告与生命周期文档
- README 命令统一为 webnovel.py CLI 入口
lingfengQAQ 3 mesi fa
parent
commit
8cce9115e6

+ 0 - 159
CLAUDE.md

@@ -1,159 +0,0 @@
-# CLAUDE.md - Webnovel Writer 项目指南
-
-> 本文档为 Claude Code 提供项目上下文,帮助 AI 理解项目结构和工作流程。
-
-## 项目概述
-
-**Webnovel Writer** 是基于 Claude Code 的长篇网文辅助创作系统(v5.4.2),解决 AI 写作中的"遗忘"和"幻觉"问题,支持 200 万字量级连载创作。
-
-## 核心理念
-
-### 防幻觉三定律
-1. **大纲即法律** - 遵循大纲,不擅自发挥
-2. **设定即物理** - 遵守设定,不自相矛盾
-3. **发明需识别** - 新实体必须入库管理
-
-### 创意约束系统(v5.4.2 新增)
-- **三轴混搭** - 题材基础 + 规则限制 + 角色矛盾(至少2/3非默认)
-- **反套路触发器** - 每项目必选至少1条反常规规则
-- **镜像对抗** - 反派与主角共享欲望/缺陷,采取相反道路
-- **约束继承** - 大纲规划时继承创意约束,每N章触发
-
-### 追读力机制(v5.3 新增)
-- **Hard Invariants** - 不可违反的硬约束(可读性/承诺/节奏/冲突)
-- **Soft Guidance** - 可通过 Override Contract 违反的软建议
-- **Chase Debt** - 追读力债务追踪(利息默认关闭)
-
-## 关键目录
-
-```
-.claude/
-├── agents/                 # 8 个专职 Agent
-│   ├── context-agent.md    # 创作任务书生成器
-│   ├── data-agent.md       # 数据链工程师
-│   ├── reader-pull-checker.md  # 追读力检查器
-│   └── ...
-├── skills/                 # 7 个核心 Skill
-│   ├── webnovel-init/      # 含创意约束生成 Phase
-│   ├── webnovel-plan/      # 含约束继承检查
-│   ├── webnovel-write/     # 主写作流程
-│   └── ...
-├── scripts/                # Python 脚本
-│   └── data_modules/
-│       ├── index_manager.py  # SQLite 管理
-│       └── ...
-├── references/             # 写作指南
-│   ├── shared/             # 单一事实源(共享参考)
-│   │   ├── core-constraints.md
-│   │   ├── strand-weave-pattern.md
-│   │   └── cool-points-guide.md
-│   ├── reading-power-taxonomy.md  # 追读力分类标准
-│   ├── genre-profiles.md          # 题材配置档案
-│   └── ...
-└── templates/              # 题材模板
-```
-
-## 核心 Skill 命令
-
-| 命令 | 说明 |
-|------|------|
-| `/webnovel-init` | 初始化项目(含创意约束生成) |
-| `/webnovel-plan [卷号]` | 规划大纲(含约束继承检查) |
-| `/webnovel-write [章号]` | 创作章节 |
-| `/webnovel-review [范围]` | 质量审查 |
-| `/webnovel-query [关键词]` | 信息查询 |
-| `/webnovel-resume` | 恢复中断任务 |
-| `/webnovel-learn [描述]` | 记忆写入 |
-
-## Claude Code 调用矩阵
-
-- 调用责任与触发时机统一见:`.claude/references/claude-code-call-matrix.md`
-- 原则:脚本默认由 Skill/Agent 在流程节点触发;除非明确声明,不作为人工常规入口。
-
-## v5.4.2 新增功能
-
-### 1. 创意约束系统
-- **creativity-constraints.md** - 创意包 Schema + 三轴混搭 + 三问筛选 + 五维评分
-- **category-constraint-packs.md** - 按平台分类的约束包模板库
-- **anti-trope-xianxia.md** - 修仙/玄幻反套路库(20条限制 + 15种非套路爽点)
-- **anti-trope-rules-mystery.md** - 规则怪谈反套路库(20条限制 + 20种非套路爽点)
-- **market-trends-2026.md** - 市场扫描模板(需联网更新,记录标签/方向)
-- **复合题材** - 支持“题材A+题材B”组合加载模板(1主1辅)
-
-### 2. 工作流更新
-- **webnovel-init Phase 6.5** - 创意约束生成(Deep 模式)
-- **webnovel-plan Phase 2.5** - 加载创意约束
-- **webnovel-plan Phase 7** - 约束继承检查
-- **webnovel-plan** - 新增卷节拍表产物:`大纲/第N卷-节拍表.md`
-
-### 3. 新增文件
-- `.webnovel/idea_bank.json` - 创意银行(存储生成的创意包)
-
-## 写作工作流 (Step 1-6)
-
-```
-Step 1: Context Agent 搜集上下文
-        ↓ (输出创作任务书,含追读力策略)
-Step 1.5: 章节设计(按需,开头/钩子/爽点/微兑现)
-        ↓
-Step 2A: 生成粗稿
-Step 2B: 风格适配器
-        ↓
-Step 3: 默认 4 Agent 审查(关键章扩展到 6)+ 保存审查指标(review_metrics)
-        ↓
-Step 4: 网文化润色
-        ↓
-Step 5: Data Agent 处理数据链
-        ↓
-Step 6: Git 备份
-```
-
-## 常用 Python 命令
-
-在项目根目录运行 `python -m data_modules.*` 前,请先确保模块路径可见:
-
-```bash
-# 方式1:先切到脚本目录
-cd .claude/scripts
-
-# 方式2:或在根目录设置 PYTHONPATH
-# Windows PowerShell: $env:PYTHONPATH = ".claude/scripts"
-# macOS/Linux: export PYTHONPATH=".claude/scripts"
-```
-
-```bash
-# 查询统计
-python -m data_modules.index_manager stats --project-root "."
-
-# 查询债务状态
-python -m data_modules.index_manager get-debt-summary --project-root "."
-
-# 查询追读力历史
-python -m data_modules.index_manager get-recent-reading-power --limit 10 --project-root "."
-
-# 查询模式使用统计
-python -m data_modules.index_manager get-pattern-usage-stats --last-n 20 --project-root "."
-```
-
-## 关键文件说明
-
-| 文件 | 说明 |
-|------|------|
-| `.webnovel/state.json` | 项目状态(精简版) |
-| `.webnovel/index.db` | SQLite 索引数据库 |
-| `.webnovel/idea_bank.json` | 创意银行(v5.4.2) |
-| `设定集/复合题材-融合逻辑.md` | 复合题材融合逻辑模板 |
-| `设定集/女主卡.md` | 女主卡模板 |
-| `设定集/主角组.md` | 多主角设定模板 |
-| `设定集/反派设计.md` | 反派设计模板 |
-| `.claude/references/reading-power-taxonomy.md` | 追读力分类标准 |
-| `.claude/references/genre-profiles.md` | 题材配置档案 |
-
-## 注意事项
-
-1. **不要直接修改 state.json 中的大量数据** - 大数据存 SQLite
-2. **Override Contract 需明确偿还计划** - 每个 Override 产生债务
-3. **债务利息默认关闭** - 仅在明确开启时计算
-4. **题材 Profile 可覆盖** - 在 state.json 中设置 genre_overrides
-5. **创意约束需继承** - 大纲规划时检查约束触发频率
-6. **status_reporter 真实数据优先** - 伏笔/爽点分析优先读取 `state.json` 与 `index.db`,缺数据时标记“数据不足”,避免估算误导

+ 34 - 29
README.md

@@ -140,18 +140,17 @@ git clone https://github.com/lingfengQAQ/webnovel-writer.git .claude
 pip install -r .claude/scripts/requirements.txt
 ```
 
-可选(推荐):设置 `data_modules` 模块路径,便于在项目根目录直接执行 `python -m data_modules.*`。
-
-```powershell
-# Windows PowerShell
-$env:PYTHONPATH = ".claude/scripts"
-```
+推荐:统一使用 `.claude/scripts/webnovel.py` 作为 CLI 入口,避免 `PYTHONPATH` / `cd` / 参数顺序导致的报错。
 
 ```bash
-# macOS / Linux
-export PYTHONPATH=".claude/scripts"
+# 推荐:先解析真实项目根(支持把工作区根传进去)
+export WORKSPACE_ROOT="${CLAUDE_PROJECT_DIR:-$PWD}"
+export SCRIPTS_DIR="${WORKSPACE_ROOT}/.claude/scripts"
+export PROJECT_ROOT="$(python "${SCRIPTS_DIR}/webnovel.py" --project-root "${WORKSPACE_ROOT}" where)"
 ```
 
+若你需要直接调试底层模块(不推荐),再临时设置 `PYTHONPATH=.claude/scripts`。
+
 **Python 依赖说明**:
 
 | 包名 | 用途 |
@@ -475,7 +474,7 @@ RERANK_API_KEY=jina_xxx
 
 ### 使用方式
 
-- **Context Agent** 在 Step 0.5 读取 `extract_chapter_context.py` 的 `rag_assist`
+- **Context Agent** 在 Step 0.5 通过 `webnovel.py extract-context` 读取 `rag_assist`
   - 仅当大纲命中关系/伏笔/地点等触发词时才检索(避免无效召回)
   - 优先 `auto` 策略(可走 `graph_hybrid`),失败或无 Embedding Key 时自动回退 BM25
 - **Data Agent** 自动将章节场景向量化存入数据库
@@ -670,62 +669,68 @@ your-novel-project/
 
 当 `index.db` 损坏或与实际数据不一致时:
 
-先确保当前 shell 能找到 `data_modules`(二选一):
-- 设置环境变量:`PYTHONPATH=.claude/scripts`
-- 或先执行:`cd .claude/scripts`
+建议先统一设置(后续命令复用):
+
+```bash
+export WORKSPACE_ROOT="${CLAUDE_PROJECT_DIR:-$PWD}"
+export SCRIPTS_DIR="${WORKSPACE_ROOT}/.claude/scripts"
+export PROJECT_ROOT="$(python "${SCRIPTS_DIR}/webnovel.py" --project-root "${WORKSPACE_ROOT}" where)"
+```
 
 ```bash
 # 重新处理单章
-python -m data_modules.index_manager process-chapter --chapter 1 --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" index process-chapter --chapter 1
 
 # 批量重新处理
 for i in $(seq 1 50); do
-  python -m data_modules.index_manager process-chapter --chapter $i --project-root "."
+  python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" index process-chapter --chapter $i
 done
 
 # 查看索引统计
-python -m data_modules.index_manager stats --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" index stats
 ```
 
 ### 追读力数据查询 (v5.3 引入)
 
 ```bash
 # 查看债务汇总
-python -m data_modules.index_manager get-debt-summary --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" index get-debt-summary
 
 # 查看最近章节追读力元数据
-python -m data_modules.index_manager get-recent-reading-power --limit 10 --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" index get-recent-reading-power --limit 10
 
 # 查看爽点模式使用统计
-python -m data_modules.index_manager get-pattern-usage-stats --last-n 20 --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" index get-pattern-usage-stats --last-n 20
 
 # 查看钩子类型使用统计
-python -m data_modules.index_manager get-hook-type-stats --last-n 20 --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" index get-hook-type-stats --last-n 20
 
 # 查看待偿还Override
-python -m data_modules.index_manager get-pending-overrides --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" index get-pending-overrides
 
 # 计算利息(开启追踪或需要时调用)
-python -m data_modules.index_manager accrue-interest --current-chapter 100 --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" index accrue-interest --current-chapter 100
 ```
 
 ### 审查趋势查询 (v5.4 引入)
 
 ```bash
 # 查看最近审查记录
-python -m data_modules.index_manager get-recent-review-metrics --limit 5 --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" index get-recent-review-metrics --limit 5
 
 # 查看审查趋势统计(均值/短板分析)
-python -m data_modules.index_manager get-review-trend-stats --last-n 5 --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" index get-review-trend-stats --last-n 5
 ```
 
 ### 质量趋势看板(离线报告)
 
 ```bash
 # 生成最近20条记录的质量趋势报告
-python .claude/scripts/quality_trend_report.py --project-root "." --limit 20
+python "${SCRIPTS_DIR}/quality_trend_report.py" --project-root "${WORKSPACE_ROOT}" --limit 20
 ```
 
+说明:`quality_trend_report.py` 支持传入工作区根,会自动解析到真实书项目根后写入 `.webnovel/`。
+
 ### 测试入口脚本
 
 ```bash
@@ -740,13 +745,13 @@ pwsh .claude/scripts/run_tests.ps1 -Mode full
 
 ```bash
 # 全量健康报告
-python .claude/scripts/status_reporter.py --focus all --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" status --focus all
 
 # 仅看伏笔紧急度
-python .claude/scripts/status_reporter.py --focus urgency --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" status --focus urgency
 
 # 仅看爽点节奏
-python .claude/scripts/status_reporter.py --focus pacing --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" status --focus pacing
 ```
 
 说明:
@@ -765,10 +770,10 @@ python .claude/scripts/status_reporter.py --focus pacing --project-root "."
 
 ```bash
 # 重新索引单章
-python -m data_modules.rag_adapter index-chapter --chapter 1 --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" rag index-chapter --chapter 1
 
 # 查看向量统计
-python -m data_modules.rag_adapter stats --project-root "."
+python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" rag stats
 ```
 
 ### Git 回滚

+ 0 - 230
docs/archive/reports/data-flow-validation-v52.md

@@ -1,230 +0,0 @@
-# [Archived] 数据流验证:webnovel-plan → context-agent → webnovel-write
-
-> 归档日期:2026-02-06
-> 归档原因:阶段性验证报告,结论已并入主流程文档,不再作为当前操作基线。
-
-## 1. 章纲字段映射
-
-### webnovel-plan 输出(章纲格式)
-```markdown
-### 第 N 章:{标题}
-- 目标: {20字以内}
-- 爽点: {类型} - {30字以内}
-- Strand: {Quest|Fire|Constellation}
-- 反派层级: {无/小/中/大}
-- 视角/主角: {主角A/主角B/女主/群像}
-- 关键实体: {新增或重要出场}
-- 钩子: {类型} - {30字以内}  ← 本章应设置的章末钩子
-```
-
-### context-agent 输入需求
-```
-1. 本章核心任务 ← 章纲"目标"字段
-2. 接住上章 ← 上章"钩子"字段(从 chapter_meta 读取)
-3. 出场角色 ← 章纲"关键实体"字段
-4. 场景与力量约束 ← 从设定集推断
-5. 风格指导 ← 章纲"Strand"字段
-6. 连续性与伏笔 ← 从 index.db 读取
-7. 追读力策略 ← 章纲"钩子"字段(本章应设置的)
-```
-
-### context-agent 输出(创作任务书)
-```
-1. 本章核心任务(冲突一句话、必须完成、绝对不能、反派层级)
-2. 接住上章(上章钩子、读者期待、开头必须)
-3. 出场角色(状态、动机、情绪底色、说话风格、红线)
-4. 场景与力量约束(地点、可用能力、禁用能力)
-5. 风格指导(本章类型、参考样本、最近模式、本章建议)
-6. 连续性与伏笔(时间/位置/情绪连贯;必须处理/可选伏笔)
-7. 追读力策略(章末钩子类型+强度、微兑现建议、差异化提示)
-```
-
----
-
-## 2. 数据流验证
-
-### ✅ 完全对接的字段
-
-| 章纲字段 | context-agent 使用 | webnovel-write 使用 |
-|---------|-------------------|-------------------|
-| 反派层级 | 写入"本章核心任务" | 写作时体现反派出场/冲突 |
-| Strand | 写入"风格指导" | 决定章节类型(Quest/Fire/Constellation)|
-| 爽点 | 写入"追读力策略"的微兑现建议 | 写作时设计爽点场景 |
-| 关键实体 | 写入"出场角色" | 写作时安排角色登场 |
-| 目标 | 写入"本章核心任务" | 写作时完成目标 |
-
-### ✅ 跨章传递的字段
-
-| 章纲字段 | 本章使用 | 下章使用 |
-|---------|---------|---------|
-| 钩子 | 写作时设置章末钩子 | context-agent 读取为"上章钩子" |
-
-**数据流**:
-```
-第 N 章章纲.钩子
-  → 写作时实现
-  → 写入 chapter_meta[N].hook
-  → 第 N+1 章 context-agent 读取
-  → 写入"接住上章"板块
-  → 第 N+1 章写作时兑现
-```
-
-### ⚠️ 需要明确的字段含义
-
-**章纲的"钩子"字段**:
-- ✅ **正确理解**:本章应设置的章末钩子(规划用)
-- ❌ **错误理解**:上章留下的钩子(这个应该从 chapter_meta 读取)
-
-**验证方式**:
-```bash
-# 第 100 章章纲
-钩子: 悬念钩 - 神秘人身份即将揭晓
-
-# 第 100 章写作后,chapter_meta[100].hook 应该是:
-{
-  "type": "悬念钩",
-  "content": "神秘人身份即将揭晓",
-  "strength": "strong"
-}
-
-# 第 101 章 context-agent 读取 chapter_meta[100].hook
-# 输出到"接住上章"板块:
-上章钩子: 悬念钩 - 神秘人身份即将揭晓
-读者期待: 本章必须揭示神秘人身份
-开头必须: 安排神秘人出场或身份揭示场景
-```
-
----
-
-## 3. 缺失的数据流
-
-### ❌ 章纲未提供,但 context-agent 需要的
-
-| 数据 | context-agent 需求 | 当前解决方案 |
-|------|-------------------|-------------|
-| 上章钩子如何兑现 | "接住上章"板块需要明确兑现方式 | 从 chapter_meta 读取 + 推断 ✅ |
-| 角色动机 | "出场角色"板块需要动机 | 从大纲+角色状态推断 ✅ |
-| 场景地点 | "场景与力量约束"板块需要地点 | 从设定集+上章推断 ✅ |
-| 最近模式 | "风格指导"板块需要差异化 | 从 index.db 读取 ✅ |
-
-**结论**:所有缺失数据都有推断机制,无需修改章纲格式。
-
----
-
-## 4. 验证结论
-
-### ✅ 数据流完整性
-- 章纲 → context-agent:所有必需字段都能获取
-- context-agent → webnovel-write:创作任务书包含所有写作需要的信息
-- 跨章传递:钩子字段能正确传递到下一章
-
-### ✅ 字段语义明确
-- 章纲的"钩子"字段 = 本章应设置的章末钩子(规划用)
-- chapter_meta 的 hook 字段 = 本章实际设置的钩子(执行结果)
-- 下章 context-agent 读取 chapter_meta.hook(不是章纲的钩子字段)
-
-### ✅ 推断机制完善
-- 角色动机:从大纲+角色状态推断
-- 场景地点:从设定集+上章推断
-- 兑现方式:从上章钩子类型推断
-
-### ⚠️ 需要补充的文档说明
-
-在 webnovel-plan SKILL.md 中补充:
-
-```markdown
-**钩子字段说明**:
-- 章纲的"钩子"字段是规划本章应设置的章末钩子
-- 不是上章留下的钩子(那个由 context-agent 从 chapter_meta 读取)
-- 例:钩子: 悬念钩 - 神秘人身份即将揭晓
-  - 意思是:本章结尾要设置这个悬念钩子
-  - 下章 context-agent 会读取这个钩子,生成"接住上章"指导
-```
-
----
-
-## 5. 测试场景
-
-### 场景 1:标准流程
-```
-1. webnovel-plan 生成第 100 章章纲
-   - 钩子: 危机钩 - 敌人大军压境
-
-2. webnovel-write 第 100 章
-   - context-agent 读取第 99 章的 chapter_meta[99].hook
-   - 生成"接住上章":兑现第 99 章的钩子
-   - 生成"追读力策略":本章要设置"危机钩 - 敌人大军压境"
-   - 写作时在章末实现这个钩子
-   - 写入 chapter_meta[100].hook = {type: "危机钩", content: "敌人大军压境"}
-
-3. webnovel-write 第 101 章
-   - context-agent 读取 chapter_meta[100].hook
-   - 生成"接住上章":本章必须处理"敌人大军压境"危机
-```
-
-### 场景 2:第 1 章(无上章)
-```
-1. webnovel-plan 生成第 1 章章纲
-   - 钩子: 悬念钩 - 主角身世之谜
-
-2. webnovel-write 第 1 章
-   - context-agent 检测到无上章,跳过"接住上章"板块
-   - 生成"追读力策略":本章要设置"悬念钩 - 主角身世之谜"
-   - 写作时在章末实现这个钩子
-```
-
-### 场景 3:钩子类型不匹配
-```
-1. 章纲规划:钩子: 悬念钩 - 神秘人身份
-2. 实际写作:设置了危机钩(偏离规划)
-3. reader-pull-checker 检测到偏差
-4. 润色阶段修正或记录 Override Contract
-```
-
----
-
-## 6. 改进建议
-
-### 建议 1:在 webnovel-plan 中补充钩子字段说明
-
-在 `Chapter format` 部分补充:
-
-```markdown
-- 钩子: {类型} - {30字以内}
-  - 说明:本章应设置的章末钩子(规划用)
-  - 例:悬念钩 - 神秘人身份即将揭晓
-  - 下章 context-agent 会读取这个钩子,生成"接住上章"指导
-```
-
-### 建议 2:在 context-agent 中补充数据来源说明
-
-在"关键数据来源"部分补充:
-
-```markdown
-- 章纲的"钩子"字段:本章应设置的章末钩子(规划)
-- chapter_meta[N].hook:本章实际设置的钩子(执行结果)
-- context-agent 读取 chapter_meta[N-1].hook 作为"上章钩子"
-```
-
-### 建议 3:在 webnovel-write 中补充验证逻辑
-
-在 Step 3 审查阶段补充:
-
-```markdown
-**钩子一致性检查**:
-- 章纲规划的钩子类型 vs 实际写作的钩子类型
-- 如果不一致,reader-pull-checker 应标记为 medium 问题
-- 允许合理偏离(如更强的钩子类型),但需记录原因
-```
-
----
-
-## 7. 最终结论
-
-✅ **数据流完整**:webnovel-plan → context-agent → webnovel-write 的数据流完整,所有必需字段都能正确传递。
-
-✅ **语义明确**:章纲的"钩子"字段含义明确(本章应设置的章末钩子),不会与 chapter_meta.hook 混淆。
-
-✅ **推断机制**:缺失数据有完善的推断机制,无需修改章纲格式。
-
-⚠️ **需要补充文档**:在 webnovel-plan 和 context-agent 中补充钩子字段的说明,避免理解偏差。

+ 0 - 123
docs/archive/reports/token-budget-report-v52.md

@@ -1,123 +0,0 @@
-[Archived]
-
-======================================================================
-📊 章节创作 Token 预算分析
-======================================================================
-
-归档日期:2026-02-06
-归档原因:静态预算报告基于早期假设(v5.2/v5.3),当前系统已启用动态上下文预算与阶段化配置,原报告仅保留作历史参考。
-
-## 1. 参考文件 Token 消耗
-
-### 必须加载(每章)
-| 文件 | 字符数 | Token数 | 说明 |
-|------|-------|---------|------|
-| core-constraints.md | 1,356 | 1,076 | ✅ |
-| **小计** | - | **1,076** | - |
-
-### 按需加载(场景相关)
-| 文件 | Token数 | 触发条件 | 加载概率 |
-|------|---------|---------|---------|
-| combat-scenes.md | 1,647 | 战斗章节(约30%) | 30% |
-| emotion-psychology.md | 4,492 | 情感章节(约20%) | 20% |
-| dialogue-writing.md | 4,269 | 对话密集章节(约40%) | 40% |
-| scene-description.md | 4,520 | 复杂场景(约15%) | 15% |
-| polish-guide.md | 1,942 | 需要润色时(约50%) | 50% |
-| **加权平均** | **4,749** | - | - |
-
-### 首次加载(题材专项)
-| 文件 | Token数 | 说明 |
-|------|---------|------|
-| xuanhuan-cultivation.md | 6,966 | 仅首章 |
-| xuanhuan-power.md | 6,563 | 仅首章 |
-| xuanhuan-cool-points.md | 6,248 | 仅首章 |
-| **小计** | **19,777** | 摊销到全书 |
-
-## 2. Context Pack Token 消耗
-
-| 组件 | Token数 | 说明 |
-|------|---------|------|
-| chapter_outline | 728 | - |
-| protagonist_snapshot | 416 | - |
-| recent_summaries (3章) | ~936 | - |
-| location_context | 312 | - |
-| appearing_characters | 936 | - |
-| urgent_foreshadowing | 312 | - |
-| worldview_skeleton | 1,560 | - |
-| power_system_skeleton | 832 | - |
-| **合计** | **~6,032** | 第100章时 |
-
-## 3. 输出 Token 消耗
-
-| 组件 | 字符数 | Token数 |
-|------|-------|---------|
-| 章节正文 | 3000-5000 | 6000-10000 |
-| **合计** | 3000-5000 | **~6,000-10,000** |
-
-## 4. 审查子代理 Token 消耗(每2章)
-
-| 子代理 | 输入 | 输出 | 合计 |
-|--------|------|------|------|
-| high-point-checker | 18,000 | 1,500 | 19,500 |
-| consistency-checker | 20,000 | 2,000 | 22,000 |
-| pacing-checker | 18,000 | 1,500 | 19,500 |
-| ooc-checker | 22,000 | 2,000 | 24,000 |
-| continuity-checker | 20,000 | 1,500 | 21,500 |
-| reader-pull-checker | 16,000 | 1,200 | 17,200 |
-| **6代理总计** | 114,000 | 9,700 | 123,700 |
-| **摊销/章** | - | - | **61,850** |
-
-======================================================================
-## 📋 单章 Token 预算汇总
-======================================================================
-
-### 输入 Token(上下文加载)
-- 必须加载参考文件: 1,076
-- Context Pack: ~6,032
-- 按需场景参考(加权): 4,749
-- **输入小计: ~11,857**
-
-### 输出 Token(内容生成)
-- 章节正文: ~8,000
-- **输出小计: ~8,000**
-
-### 审查 Token(每章摊销)
-- 6个子代理/2章: 61,850
-
-======================================================================
-### 🎯 单章总预算: ~81,700 tokens
-======================================================================
-
-## 6. 成本估算(API 价格)
-
-| 模型 | 输入成本 | 输出成本 | 单章成本 | 500章成本 |
-|------|---------|---------|---------|----------|
-| Claude Sonnet | $0.0374 | $0.9353 | $0.9727 | $486.35 |
-| Claude Opus | $0.1872 | $4.6763 | $4.8635 | $2431.73 |
-
-## 7. 优化建议
-
-### 高优先级
-- [ ] 摘要压缩:recent_summaries 已改为 3 章(节省 ~600 tokens)
-- [ ] 骨架精简:worldview/power_system 精简50%,节省 ~1,150 tokens
-- [ ] 审查合并:5个子代理合并为2个,节省 ~50,000 tokens/2章
-
-### 中优先级
-- [ ] 参考文件缓存:首次加载后缓存到上下文,避免重复传输
-- [ ] 增量 Context Pack:只传输变化部分
-
-### 低优先级(Claude 4.5 Opus 上下文充足)
-- [ ] 场景参考按需精简
-- [ ] 角色快照压缩
-
-======================================================================
-## 📊 500章总预算
-======================================================================
-
-- 单章平均: 74,831 tokens
-- 500章总计: 37,435,277 tokens (37.44M)
-- 首次加载题材: 19,777 tokens(一次性)
-
-### 预估成本
-- Claude Sonnet 500章: ~$486.35
-- Claude Opus 500章: ~$2431.73

+ 0 - 34
docs/doc-lifecycle.md

@@ -1,34 +0,0 @@
-# 文档生命周期与归类
-
-本文件用于统一管理仓库文档的状态,避免“过时文档混在当前流程中”。
-
-## 状态定义
-
-- **current**:当前流程的执行基线文档(可直接按文档操作)。
-- **reference**:长期参考资料(方法论、模板、术语表),不等同于强制流程。
-- **archived**:历史记录或阶段性报告,仅保留追溯价值,不作为当前流程依据。
-
-## 归类规则
-
-- 若文档描述的流程已被新版本实现替代,标记为 `archived`。
-- 若文档是一次性测算/分析报告(如预算快照),完成后进入 `archived`。
-- 若文档被技能/脚本直接读取,必须保留为 `current` 或 `reference`,不得直接归档。
-
-## 当前已归档文档
-
-- `docs/archive/reports/data-flow-validation-v52.md`(阶段性数据流验证报告)
-- `docs/archive/reports/token-budget-report-v52.md`(早期静态 token 预算报告)
-
-## 当前核心基线(示例)
-
-- `README.md`
-- `CLAUDE.md`
-- `.claude/references/context-contract-v2.md`
-- `.claude/references/claude-code-call-matrix.md`
-- `.claude/references/genre-profiles.md`
-- `.claude/references/reading-power-taxonomy.md`
-
-## 维护建议
-
-- 每次发布新阶段功能时,检查是否有“旧报告/旧规范”仍位于根目录。
-- 新增阶段性分析文档时,建议直接写入 `docs/archive/reports/`。

+ 0 - 44
docs/untracked-classification.md

@@ -1,44 +0,0 @@
-# 未跟踪文件归类建议(本地工作区)
-
-更新时间:2026-02-06
-
-## 目标
-
-避免将开发无关目录、临时分析产物、外部仓库误提交到主仓库。
-
-## 分类结果
-
-### A. 本地忽略(local-ignore)
-
-以下目录/文件已加入 `.gitignore`,默认不进入版本控制:
-
-- 外部或并行项目目录:
-  - `.sisyphus/`
-  - `De-AI-Prompt/`
-  - `MuMuAINovel/`
-  - `hapi-tool/`
-  - `ai-writing-knowledge/`
-  - `novel/`
-  - `novel-refined/`
-- 本地分析与临时产物:
-  - `PROJECT_MINDMAP*.md`
-  - `webnovel-writer-v5*-architecture.svg`
-  - `_v52_*.json`
-  - `_v52_*.txt`
-  - `claude_inventory.csv`
-  - `*_utf8_sample.txt`
-
-### B. 当前保留(current)
-
-- `docs/` 目录下文档(含 lifecycle 与 archive)
-- `README.md`、`CLAUDE.md`、`.claude/references/*.md`
-
-### C. 后续可选动作(需人工确认)
-
-- 若 `hapi-tool/`、`MuMuAINovel/` 等目录未来需要纳入本仓库,建议改为 Git Submodule。
-- 若 `PROJECT_MINDMAP*.md` 需团队共享,建议迁入 `docs/archive/notes/` 后再手动 track。
-
-## 执行原则
-
-- 默认“宁可忽略,不误提交”。
-- 只有明确作为本仓库产出的文件才加入版本控制。