Releases: DankerMu/novel-writer-plugin
v3.2.0 — Voice Persona Decoupling + Pipeline Hardening
重点改动
🎭 Voice Persona 去硬编码 (#79)
把说书人 DNA 从 ChapterWriter / API Writer 提示词迁移到 style-profile.json.voice_persona:
- 5 个新字段(narrator_role / protagonist_voice_tone / dialogue_tag_preferences / rhetoric_preferences_voice / rhythm_accelerators)+
voice_lock回退控制 - 4 个预置 voice:
snarky-storyteller/austere-narrator/empathetic-observer/epic-chronicler /novel:startStep B 新增 voice 选择(4 预置 + 自定义)- 老项目零行为变化:未配置 voice_persona 时自动 fallback 到 snarky DNA
🔄 Pipeline 重构
- Targeted revision 并行化:QJ/CC recheck 模式无交叉依赖,并行调度(~35-45K tokens)
- Trivial revision scope (#2c02c68):单维度边缘失败跳过 recheck,直接 force_passed(~15-20K tokens)
- Summarizer 移至 gate 后:仅成功通过的章节生成摘要,避免无效计算
- CW align-draft 校准 (#94c98ac):API Writer 后增加一致性修复 pass
- Cross-storyline 泄漏检测合并入 CC Track 5
🔍 评估增强
- Track 6 跨章节逻辑审查 (#4a91203):CC 读取最近 3 章正文,检测硬矛盾与剧情漏洞
- POV 知识边界检查:检测专名/信息泄漏到 POV 角色不应知晓的叙述中
- 对话比例软约束
⚙️ Codex 评估管线优化
- 文件 staging 到项目目录(避免绝对路径泄漏)
- Codex-first dispatch + Opus fallback 统一
- prompts 和 lint 脚本路径修复
🛠️ 工程改进
- Manifest 组装 LLM → Python 脚本 (#f8255c1):确定性 + 可审计
- Context planning 重构为 task-agent orchestration
- Checkpoint recovery 提取到 references
- API Writer 默认模型切换至
gemini-3.1-pro-preview - 章节契约启发式解析放宽,密度调降
升级路径
| 项目状态 | 行为 |
|---|---|
| 无 voice_persona 字段 | 运行时自动注入 snarky DNA — 零行为变化 |
| voice_persona 已配置 | 提示词使用配置的 voice |
| voice_lock=true + 空字段 | 提示词指示模型从 style-samples.md 自感受 voice |
文件变更摘要
24 commits since v3.1.0 — 详见 Compare view
v3.1.0 — delta schema, context delegation, flash model
Changes
delta.json schema enforcement
codex-eval.py: full structural validation —chapter/base_state_version/storyline_idrequired, ops path depth/whitelist/foreshadow detail, canon_hints entry structure (type/hint/confidence/evidence) with value domain checks
Revision routing fix
- Explicit prohibition: revision sub-pipeline must use ChapterWriter, not API Writer
- Constraint added in both
SKILL.mdandgate-decision.md
Context assembly delegation
- Step 2 fully delegated to Task agent (sonnet) — orchestrator no longer reads source files
- All agent manifests split to per-agent files:
staging/manifests/chapter-{C:03d}-{agent}.json - Orchestrator performs lightweight structural check only (~500 tokens vs ~3-5K)
- Revision re-invokes assembler with
revision_stateparameter
API Writer model
- Default model changed to
gemini-3-flash-preview
eval_backend default
- New projects and checkpoint default:
codex(wasopus) - All
eval_backendannotations in SKILL.md updated accordingly
v3.0.0 — Codex 评估管线
Breaking Changes
- 新项目默认使用
eval_backend: "codex"(Codex CLI 作为评估后端) - 已有项目不受影响(
eval_backend缺失等同"opus")
M10: Codex 化评估管线
将 Summarizer / QualityJudge / ContentCritic / 滑窗一致性校验从 Claude Code Task(opus) 迁移至 Codex CLI。Codex 具备完整文件读写和 Bash 执行能力,行为与现有 Opus agent 同构,绕过 Claude Code 工程向系统提示词。
M10.1 基础设施 (#73, PR #76)
scripts/codex-eval.py— 双模式工具(--agent组装 task content /--validate校验 staging 输出)prompts/codex-{summarizer,quality-judge,content-critic,sliding-window}.md— 4 个 Codex prompteval/schema/continuity-report.schema.json— 滑窗报告 JSON Schemaskills/continue/SKILL.md— eval_backend 分支(Step 1/2/3/5a/8)
M10.2 校准验证 (#74, PR #77)
scripts/run-codex-calibration.sh— 批量 Codex 评估编排scripts/lib/calibrate_codex.py— 四维校准(Codex QJ vs Human / CC vs Human / Codex vs Opus / Summarizer ops)- 门控阈值决策逻辑:r≥0.85 且 |bias|<0.3 → 保持;r≥0.85 且 |bias|≥0.3 → 调整;r<0.85 → 回退
M10.3 正式启用 (#75, PR #78)
- 新项目默认
eval_backend: "codex" - CLAUDE.md 架构文档全面更新
docs/runbooks/codex-calibration.md— 校准流程 runbookdocs/runbooks/codex-eval-troubleshooting.md— 故障排查 runbook- checkpoint 损坏重建最小字段集增加
eval_backend
其他变更
v2.6.0 — Revision Loop Optimization + API Writer Style Injection
What's New
Revision Loop Optimization (M9.2)
修订回环从全量重跑(~90K tokens)优化为按严重程度分级:
| 档位 | 条件 | 子流水线 | Token |
|---|---|---|---|
| targeted | 无严重违规、overall ≥ 3.0 | CW(targeted) → SR(lite) → Sum(patch) → QJ/CC(recheck) | ~35-45K |
| full | 有严重违规或 overall < 3.0 | 全量(不变) | ~90K |
大部分 revise 场景 token 消耗降低 50-60%。
新增 Agent 参数(均可选,向后兼容):
recheck_mode(QJ/CC) — 仅复检失分维度,沿用通过维度分数patch_mode(Summarizer) — diff < 30% 时增量更新摘要/状态lite_mode(StyleRefiner) — 仅处理修改段落revision_scope(ChapterWriter) — targeted 时输出 revision-diff JSON
安全机制:QJ/CC 均支持 recheck_escalated 升级,通读时发现修订引入新问题则自动降级为 full。Checkpoint 持久化 revision_scope/failed_dimensions/failed_tracks 确保中断恢复精确还原修订模式。
API Writer Style Directive Injection
style-profile.json 的量化指标(dialogue_ratio、register_mixing、avg_sentence_length 等)从原始 JSON 提取为显式中文写作指令,注入 ## 写作指令 section。从源头解决对话密度不足导致的 QJ 打回问题。
示例:dialogue_ratio: 0.35 → 对话占比目标: 30-40%,低于25%视为不合格
Files Changed (12 files, +444/-13)
skills/continue/references/gate-decision.md— 门控输出增强 + 分级回环 + checkpoint 持久化skills/continue/SKILL.md— 修订子流水线 5a/5b 分支 + 恢复路径agents/quality-judge.md— recheck_mode + escalationagents/content-critic.md— recheck_mode + escalationagents/summarizer.md— patch_modeagents/style-refiner.md— lite_modeagents/chapter-writer.md— revision_scope + revision-diffscripts/api-writer.py— extract_style_directives()CLAUDE.md— 架构文档openspec/changes/m9-revision-loop-optimization/— 提案
Full Changelog: v2.5.0...v2.6.0
v2.0.0 — 5-Agent Architecture + Anti-Zhuque Detection
架构:9 Agent → 5 Agent 整合
- WorldBuilder 吸收 CharacterWeaver + StyleAnalyzer(Mode 4-8)
- ChapterWriter 吸收 StyleRefiner(Phase 2 内化)
- QualityJudge 吸收 AudienceEval(Track 3 内化)
- 3 步流水线:CW → Sum → QJ
- 全 Agent Opus 统一
反朱雀统计特征检测
- 7 指标风格自然度评分 — 句长标准差、段落长度 CV、叙述连接词密度、修饰词重复等,三区范围判定(人类/过渡/AI)
- 统计分布目标 §2.8 — 6 维度 ChapterWriter 内隐参照
- 人性化技法工具箱 §2.9 — 12 种技法随机采样,零配额设计
- 黑名单 45→82 词 — 新增 narration_connector(叙述禁/对话允)、paragraph_opener、smooth_transition
- lint-blacklist.sh — narration_only 中文引号奇偶校验
- ChapterWriter C16-C18 + Phase 2 步骤 6.5/6.6
- QualityJudge 扩展 anti_ai 输出(statistical_profile + detected_humanize_techniques)
- 人性化技法跨章追踪(humanize_drought)
核心设计原则:零固定配额 — 配额本身是可检测的新模式。所有改动使用统计范围和随机采样。
Full Changelog: v1.9.0...v2.0.0
v1.9.0 — AudienceEval 读者视角评估
M7:AudienceEval 读者视角评估
- AudienceEval Agent — 第 9 个 Agent,以第一人称读者视角评估章节吸引力;4 套平台 persona(番茄碎片阅读者/起点付费追更者/晋江情感投入者/通用普通读者)
- 6 维度读者评分 — continue_reading / hook_effectiveness / skip_urge / confusion / empathy / freshness,权重因平台而异
- 跳读检测 — 标注 1-3 个最可能被读者跳过的段落(severity: high/medium)
- 情感弧线 — 逐段采样情绪强度,分类弧线形状(V型/上升型/下降型/W型/平坦型等)
- 平台信号 — 番茄(读完率/三日留存/追更冲动)、起点(首订/均订/月票)、晋江(留评/CP感/营养液)+ 第一人称一句话读后感
- 参与门控 — 黄金三章 engagement<3.0 → revise;普通章 pass+engagement<2.5 → polish;失败降级到仅 QJ 门控
- Dashboard 读者参与度 — 新增读者参与度区块(6 维度均值、跳读警告、弧线分布、平台信号趋势、读后感)
- Python venv 隔离 — 所有 scripts/*.sh 优先使用 .venv/bin/python3
v1.8.1 — Python venv isolation
All scripts/*.sh now use a project-local .venv/ for Python isolation.
- Scripts resolve
.venv/bin/python3first, fallback to systempython3 - Added
requirements.txt(stdlib-only, for future third-party deps) .venv/added to.gitignoreCLAUDE.mddocuments setup convention
v1.8.0 — M5/M6 + Full Review
M5:上下文质量增强
- L1/L2 canon_status 生命周期 — 世界规则和角色契约支持
established/planned/deprecated三态,ChapterWriter 仅以 established 为硬约束 - 平台写作指南 — 新增
templates/platforms/{fanqie,qidian,jinjiang}.md,含节奏密度、章末钩子、设定展示、情感线、对话密度等平台差异化参数;style-profile.json新增platform字段,编排器条件加载 - excitement_type 爽点标注 — L3 章节契约新增爽点类型(reversal/face_slap/power_up/reveal/cliffhanger/setup),QualityJudge pacing 维度叠加爽点落地评估,setup 章使用铺垫有效性替代标准
- 用户文档 —
docs/user/quick-start.md+migration-guide.md
M6:黄金三章 + 受众评估
- Step F0 迷你卷规划 — 快速起步阶段为前 3 章生成 L3 契约 + 故事线调度 + 伏笔计划,试写获得与正式写作相同的 Spec-Driven 支撑
- 题材→爽点映射表 — 6 大题材(玄幻/都市/科幻/历史/悬疑/言情)各自的黄金三章 excitement_type 分配规则
- 题材特定黄金三章标准 — 各题材差异化评审标准 + Genre×Platform 无效/少见组合 WARNING
- 平台硬门(Ch001-003) — 番茄(200 字登场+冲突、章末钩子、反转/打脸/升级)、起点(体系存在感、immersion≥3.5)、晋江(行为展现人设、CP lead 登场、情感基调、style_naturalness≥3.5),任一 fail 强制 revise
- 平台加权评分 — 三大平台各维度乘数,
overall_weighted = Σ(score_i × multiplier_i) / Σ(multiplier_i),门控决策使用加权分
Review 修复
- Manifest Mode 架构统一 — 全插件从
<DATA>注入改为路径引用,Agent 按需 Read;start/SKILL.md 重构(497→216 行,Steps A-G 提取到 quick-start-workflow.md) - 门控标签双枚举 — QJ 输出
recommendation(pass/polish/revise/review/rewrite),编排器映射为gate_decision(pass/polish/revise/pause_for_user/pause_for_user_force_rewrite) - StyleAnalyzer 工具修正 — 移除无效 SDK 工具,reference 模式改用 MCP 降级路径
- 角色语癖降频 — 从强制每角色口头禅改为可选、每 3-5 章偶现,优先用说话风格区分角色
- 标点限频规则 — 破折号≤1/千字、省略号≤2/千字、感叹号≤3/千字;对话统一中文双引号
- 元数据补全 — marketplace.json 版本同步 0.2.0、MIT LICENSE、CI 覆盖 agents/skills 目录 + JSON 校验、eval schema enum 化