Skip to content

Webnovel Writer for OpenCode v3.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 21 Oct 09:47
· 3 commits to master since this release
  • docs: 发布前文档对齐——README/CLAUDE/commands.md 补 3.0 三项能力与 2 个新子命令 (65f0094)
  • chore: update manifest to v2.9.2-20261021.0828 [skip ci] (b2072af)
  • feat: dashboard 审查标记可观测——/api/review/flags + 仲裁 UI,门禁分层闭环 (4ee9b0d)
  • feat: flag-triage 仲裁 CLI + context 警戒段注入——语义标记的留痕出口 (e6399c5)
  • feat: 门禁分层——LLM 语义判定不再拒章,降级为 review_flags 观察标记 (b6eceb5)
  • chore: update manifest to v2.9.2-20261021.0606 [skip ci] (8be639c)
  • feat: 叙事预报(Narrative Forecast)——写章前生成候选未来分支,选支后只追加进章纲 (8f0ad41)
  • chore: update manifest to v2.9.2-20261020.1844 [skip ci] (af11896)
  • feat: dashboard 审查分析页展示 CED 趋势——三个口径可切换,排除章可见 (8291894)
  • feat: 集成 CED 一致性错误密度指标——审查从过程指标升级为质量指标 (656d3ed)
  • fix: find_chapter_file 漏掉 1-2 位编号,且 3 位优先于 4 位——定位不到就没有字数分母 (251bca0)
  • chore: update manifest to v2.9.2-20261020.1521 [skip ci] (e978cd4)
  • test: 突变测试发现一处断言过宽——负数提示被 Pydantic 兜底后仍判通过 (e40b9c0)
  • fix: 歧义信号终于接到处置链路——settler 算出的同名歧义此前只写不读 (7807cfc)
  • fix: 角色状态变化全丢——settler 只给 description,下游要 field,1 条事件提取出 0 条 delta (9dc77f9)
  • fix: 文风样本请求 3 条只给 2 条,且 20 个样本永远只用前 5 个 (d6a2302)
  • fix: hybrid_search 把显式传的 0 当成「没传」——静默换成配置默认值 (690fa20)
  • fix: RAG backtrack 的 top_k 被绕过——有 parent 时返回 2 倍,token 预算全失准 (a795d0b)
  • fix: 趋势报表的 required 完成率对新书恒为 100%,且脏数据能算出 250% (e7730c4)
  • fix: 空清单得满分、无 required 项白送 30% —— 评分公式把「没有依据」当成「全部达成」 (e2507ef)
  • fix: 空项目根被解析成当前目录——环境变量留空就会「写错书」 (cf477a7)
  • fix: 七猫发布匹配不到分类就静默归到第一个——科幻会被发到玄幻分类下 (0c85f7b)
  • fix: 记忆预算漏了 strip()——一个前导空格就让 review 的配置静默失效 (a3da3ce)
  • fix: blocking_count 写成字符串就阻断整章提交——两条校验路径结论相反 (2d5a227)
  • fix: 题材分节用子串匹配——写「都市」拿到「都市异能」的写作规则 (dea4e32)
  • fix: 15 个规范题材里 13 个拿不到英文 profile key——方法论策略卡对它们静默不生效 (4d98b09)
  • fix: 权限迁移脚本会把 read 提权成 edit,并静默丢掉自定义 resource 规则 (6730484)
  • fix: chapter-rename 扫错目录——对着投影目录做章节编号统一,永远找不到正文 (df2744e)
  • fix: entity-clean 重复运行让 invalid_facts 无限膨胀,且会推翻已完成的复核 (e11e53f)
  • fix: 紧急伏笔筛选遇脏 urgency 直接崩掉整章写作——'80' 与 None 都会抛 TypeError (b7f9422)
  • fix: 写作检查清单的完成判定无条件为真——新书第一章拿到满分 100 (a5e5c97)
  • chore: update manifest to v2.9.2-20261020.0728 [skip ci] (0f5f81f)
  • fix: manifest 漏收 6 个新测试文件 (40b3911)
  • test: 前端补组件层测试——覆盖 loading/空态/错误态/竞态 (4b8d93b)
  • feat: 补完计划内 3 项遗漏 + 运维诊断页(第 11 个页面) (b0e874e)
  • fix: 第二轮深度审查——补 --host 维度、totals 被 LIMIT 截断、HttpError 未覆盖写方法 (ef4ca72)
  • fix: 上下文空态引导文案的中英文粘连 (ff87f83)
  • docs: dashboard 加固与补全计划(Phase 1-5,含实测证据) (0e818bb)
  • fix: 上下文页区分空态与错误、三处视觉瑕疵、文档与实现对齐 (9fce407)
  • test: 前端引入 vitest + eslint + CI,并修掉 lint 抓出的两个真 bug (6da15d6)
  • feat: 追读债面板——数据层有、看板一直没有入口的子系统 (cd49290)
  • test: dashboard 写端点断言副作用,堵住「500 也算通过」的盲区 (d8b075f)
  • fix: dashboard 三个 P0——反模式写入自锁、雷达图空白、换端口后写操作全挂 (fa6a660)
  • chore: update manifest to v2.9.2-20261019.1220 [skip ci] (db49af4)
  • fix: 同名歧义上报到提取阶段——data-agent 的置信度分级拿不到触发条件 (02ab891)
  • feat: 追读债计息接入提交链路——此前只有手工 CLI,默认路径上机制不存在 (89c9658)
  • chore: update manifest to v2.9.2-20261019.1204 [skip ci] (ac66e00)
  • docs: 记录追读债利息的章节复利语义,防止被改回「每次调用收一期」 (1e543b1)
  • test: CSRF 守卫覆盖全部写端点——此前只有 /api/actions/* 有回归保护 (a72adc6)
  • fix: BOM 容错补齐到剩余用户可编辑 JSON——rebuild 会因此擦掉 project_info (4a241cf)
  • fix: markdown 投影遇坏 state.json 整批静默不生成;同一缺陷模式第 4 次出现 (a6304f5)
  • fix: 审查输出不是 JSON 时流程直接中断——畸形 JSON 却会 fail-closed,两条路不一致 (5f58f8d)
  • fix: 知识层 CSV 的 None 键与空行污染路由——题材匹配在无提示地偏 (a3c0b95)
  • fix: 上下文组装遇坏 state.json 直接抛解析器异常——写作流程以 traceback 中断 (3114997)
  • fix: structural_checker 遇坏 state.json 直接抛 JSONDecodeError,审查链路以 traceback 中断 (38f6dd3)
  • fix: 审查阻断判据只做了一半——模型报「3 个阻断但没列明细」时章节被放行 (101ff90)
  • fix: observer_settler 括号里多写一句就丢整行——自由文本提取的容错与可观测 (c1ba230)
  • fix: override 事件优先于文件——旧顺序下 rebuild 后世界规则覆盖会消失 (ddeaf05)
  • fix: ssot verify 对含未知事件的项目也说"一致"——检查项自己漏了 (99933ca)
  • fix: 删章节先写事件再改 state——旧顺序下 rebuild 会把删除的章节复活 (6289a10)
  • fix: rebuild 不再静默丢弃未知事件类型——SSOT 灾难恢复会缺数据 (4aaa441)
  • fix: 别名同类型歧义不再静默吞掉——新增 lookup_alias_detailed (e0b3918)
  • fix: 追读债利息按章节数复利——此前结果取决于作者什么时候手工跑一次 (5383afe)
  • fix: 事件日志双写失败半写 + health() 永远报健康;JSON 参数不认 BOM (34026d2)
  • fix: CLI 入口把「找不到书项目」显示成中文提示,不再甩两层栈帧 (11c55e6)
  • fix: parse_chapter_range 拒绝畸形输入——倒序范围曾静默变成「什么都不删」 (983f0d2)
  • fix: .env 解析支持引号与行内注释——带引号的 API key 会让鉴权静默失败 (5af6050)
  • fix: sanitize_commit_message 不再吞掉标题里的破折号——它防的不是注入 (e1ce8ec)
  • fix: 写入门禁接入提交链路——此前 400 行门禁是死代码,一次都没被调用 (708d8cf)
  • chore: update manifest to v2.9.2-20261018.0903 [skip ci] (9b74bc0)
  • fix: manifest 按 git 索引取文件集并归一化行尾,发布包不再混进本地产物 (d3f84cb)
  • fix: 安装器校验 sha256——此前只比 content-length,恶意镜像可注入 AGENTS.md (8fe873a)
  • fix: dashboard 校验 Host 头——堵住 DNS rebinding 的读取路径 (79ba14b)
  • docs: 修掉 6 处与实际代码不符的文档断言 (8a769ff)
  • docs: README 的目录树数字跟上实际(模块 73 / 测试 109 / 用例 1251) (1ba1d23)
  • test: 修掉偶发红的根因——rglob 扫进 conftest 钉在仓库内的 .tmp (dbe1cde)
  • fix: entities_v3 统一为嵌套形状——rebuild 写扁平的隐患 + 事件重放按数值序 (3bd091c)
  • fix: write-guard 真正拦住 SSOT 写入——读错参数键、漏了 patch、bash 写意图不全 (4331386)
  • fix: state.json 损坏时 fail-closed,不再静默清空整本小说的状态 (a569861)
  • fix: npm 离线包必须携带 dashboard 前端产物(此前发布的包根本没有前端) (99b11bc)
  • chore: 添加 .gitattributes,把行尾统一为 LF (0ec5305)
  • chore: update manifest to v2.9.2-20261010.1506 [skip ci] (0a99e34)
  • fix: 移除 6 个 agent frontmatter 的 name 键——它让 OpenCode V2 把 permissions 整个错位 (196aa41)
  • chore: update manifest to v2.9.2-20261009.1614 [skip ci] (853bf48)
  • test: 修正 conftest 自检断言的参照物——应比对被转发的原始类而非已被 patch 的当前类 (b93aa60)
  • chore: update manifest to v2.9.2-20261009.1609 [skip ci] (690f7d9)
  • fix: 补声明导出子系统的缺失依赖——CI 缺 mistune/python-docx 而收集失败 (d7dfeb0)
  • chore: update manifest to v2.9.2-20261009.1558 [skip ci] (364a0de)
  • fix: 修复 CI 收集阶段崩溃(conftest 在 Python 3.11 上误转发 delete 参数),更正 npm 版本时间线 (f5ba7b5)
  • chore: update manifest to v2.9.2-20261009.1539 [skip ci] (9d9712b)
  • fix: npm 离线包携带 AGENTS.md/CLAUDE.md——主安装路径在 OpenCode V2 下原本没有项目说明 (3fd7be5)
  • chore: update manifest to v2.9.2-20261006.1606 [skip ci] (da00b7a)
  • docs: 更正 write-guard 关于 @opencode-ai/plugin「未安装」的表述 (b4abdd4)
  • chore: update manifest to v2.9.2-20261006.1604 [skip ci] (131bbea)
  • fix: 移除 opencode.json 的 V2 permissions——它会让全部 OpenCode V1 用户无法启动 (749f757)
  • chore: update manifest to v2.9.2-20261003.1450 [skip ci] (6048609)
  • ci: 修复 GitHub Actions 供应链隐患,补 topics 并加卫生门禁 (fba7f4e)
  • chore: update manifest to v2.9.2-20261003.1430 [skip ci] (3137448)
  • docs: 系统性维护全部运维文档,修正陈旧数据并补齐 OpenCode v2 内容 (142c587)
  • chore: update manifest to v2.9.2-20261002.1636 [skip ci] (7d8fdb6)
  • ci: npm 发布改用 Trusted Publishing(OIDC),不再依赖长期令牌 (8f8902e)
  • ci: npm-publish 增加 workflow_dispatch,便于凭据轮换后重发 (15184b2)
  • fix: 修复 npm 发布 workflow 的版本回退缺陷,并公开 npm 包已陈旧 (aef4dfc)
  • chore: update manifest to v2.9.2-20261002.1525 [skip ci] (d897294)
  • fix: 修正 npm 包许可证冲突,并让 README 对外信息与代码一致 (f13955c)
  • chore: update manifest to v2.9.2-20261002.1453 [skip ci] (9779509)
  • refactor: 移除 DSH 适配层,专注 OpenCode (eefba78)
  • chore: update manifest to v2.9.2-20261001.1608 [skip ci] (b4e56d0)
  • feat: OpenCode v2 深度适配——opencode.json、只读斜杠命令、SSOT 三层防护 (3d37bfc)
  • chore: update manifest to v2.9.2-20261001.1549 [skip ci] (268a340)
  • refactor: 6 个 agent 迁移到 OpenCode V2 原生 permissions (6a715ae)
  • chore: update manifest to v2.9.2-20261001.1530 [skip ci] (15a4b3a)
  • fix: OpenCode v2 适配——补 AGENTS.md、write-guard 改双入口 (ef77ee7)
  • chore: update manifest to v2.9.2-20260930.1424 [skip ci] (9e0ce78)
  • feat: 伏笔债去重修复命令(默认 dry-run) (001e52f)
  • chore: update manifest to v2.9.2-20260929.1507 [skip ci] (48b7e53)
  • fix: 伏笔债建债幂等——章节重复提交不得让债务成倍膨胀 (f60cf7f)
  • chore: update manifest to v2.9.2-20260929.1455 [skip ci] (09805e1)
  • fix: 伏笔债建销键不一致、空键销全部债、孤立时间线静默删除、WORKFLOW 进度点恒灰 (ae46968)
  • chore: update manifest to v2.9.2-20260929.1443 [skip ci] (26e2eab)
  • fix: SSE 跨线程投递、dashboard 写操作 CSRF、前端两处请求竞态 (d49d125)
  • chore: update manifest to v2.9.2-20260928.1635 [skip ci] (d5b0351)
  • fix: 删章后 current_chapter 不再指向已删章节;已回收伏笔不再反复注入写手上下文 (464471e)
  • chore: update manifest to v2.9.2-20260928.1625 [skip ci] (c4f4c30)
  • fix: 项目根解析以 CWD 为先——人站在哪本书就操作哪本书 (f8f795d)
  • chore: update manifest to v2.9.2-20260928.1617 [skip ci] (9a20cb0)
  • fix: 回滚不再脱离 HEAD / 不再半途而废;git 失败如实上报;降级备份覆盖正文 (bee25e9)
  • chore: update manifest to v2.9.2-20260928.1554 [skip ci] (566b615)
  • test: 修复 test_publisher.py 的陈旧断言,CI 去掉最后一个 --ignore (072e425)
  • chore: update manifest to v2.9.2-20260928.1551 [skip ci] (9ba817f)
  • fix: verify_consistency 跨形状比较计数,健康项目恒定误报 drift (507fdae)
  • chore: update manifest to v2.9.2-20260928.1536 [skip ci] (6eddde8)
  • docs: 更正 CLAUDE.md 的 8 处文档漂移(逐条对照源码核实) (f131ca0)
  • fix: 写路径失败时报成功——_run_data_module 一律返回 0 (f77f76d)
  • fix: 审查载荷形状异常时 fail-closed,不再把被否章节以满分通过写进 SSOT (7c039a1)
  • fix: ssot rebuild 擦除 progress 子字段 / plot_threads.active_threads,并翻转 relationships 类型 (09df191)
  • chore: update manifest to v2.9.2-20260928.1512 [skip ci] (96c43f3)
  • fix: 测试套件污染工作区指针与用户全局注册表(跑一次测试即摧毁真实项目绑定) (3d82d08)
  • fix: 第4轮全量审核第一批(dashboard 起不来 / 存储型 XSS / 写守卫漏保护 / 原子写降级闸门) (7040d1f)
  • chore: update manifest to v2.9.2-20260927.1445 [skip ci] (597fe30)
  • simplify: DSH 适配层完整性审查与修复 (76f37d3)
  • chore: update manifest to v2.9.2-20260926.1521 [skip ci] (b5510d8)
  • docs: DeepSeek Harness 适配补充(dsh-adaptation 指南 + CLAUDE.md 说明 + 命令清单) (a1630bf)
  • feat: 适配 DeepSeek Harness(.dsh 技能/代理层 + dsh-sync CLI + 文档) (2838381)
  • chore: update manifest to v2.9.2-20260923.1528 [skip ci] (317b7e4)
  • refactor: 深度优化(state.json 直读容错统一 + 卷章数常量对齐 + publisher 卷目录定位) (ca216b7)
  • chore: update manifest to v2.9.2-20260923.1503 [skip ci] (064c22c)
  • fix: 第三轮全量审核核心写路径 P1 修复(skill_runner 章节文件子串误匹配 + 回归测试) (618a575)
  • chore: update manifest to v2.9.2-20260920.1635 [skip ci] (04514a1)
  • fix: 第二轮全量审核 P0/P1/P2 修复(备份可恢复性/写守卫绕过/前端竞态/SQLite 并发) (d13b1ce)
  • chore: update manifest to v2.9.2-20260920.1553 [skip ci] (f2448ba)
  • fix: 回归审查 P1/P2 补漏(伏笔顶层 content 归一 + override 路由 + 文档对齐) (2ecee94)
  • chore: update manifest to v2.9.2-20260920.1538 [skip ci] (6049af9)
  • fix: 全量审核 P2/P3 修复(事件路由/删除一致性/卷章数/原子写/文档对齐) (a0d9aba)
  • fix: 全量审核 P0/P1 修复(SSOT 并发安全 + 投影一致性 + 伏笔三侧契约) (4e59316)
  • chore: update manifest to v2.9.2-20260918.1508 [skip ci] (5ba46f7)
  • docs: CLAUDE.md 测试基线更新(17 预存失败 → 0,含 verify 语义对齐说明) (214ece5)
  • fix: verify_consistency 对齐 rebuild P0 合并语义(2 个漂移误报) (30eea2b)
  • chore: update manifest to v2.9.2-20260917.1555 [skip ci] (b550c85)
  • test: 修复 17 个预存测试失败(大纲 fixture + prompt 引用文件) (566d4cd)
  • docs: 维护 5 笔 fix 合并的文档(CLAUDE.md/commands/合并记录) (4abb75e)
  • chore: update manifest to v2.9.2-20260917.1504 [skip ci] (e772ae0)
  • fix: ssot rebuild 保留非事件顶层字段(P0 防擦除) (a8f2041)
  • fix: 伏笔聚合双轨/内容对齐/渲染防护 3 项审查修复 (2e2340f)
  • fix: global 段注入 + 文风记忆排序截断(project_memory patterns,#131) (e5f124d)
  • fix: atomic_write_json 对 WinError 5 退避重试(#125) (4bda741)
  • fix: open_loop 事件聚合进 plot_threads.foreshadowing(#130) (82a0a5b)
  • fix: PR #23 合并后 7 项修复 (2cf7be7)
  • chore: update manifest to v2.9.2-20260701.1415 [skip ci] (f84f352)
  • refactor: 将草稿管理功能合并进 publisher 模块统一管理 (4c1cf08)
  • fix: init/update 覆盖前先清除旧 .opencode/,避免文件残留 (67a7cf5)
  • fix: update 离线包嵌套 .opencode/.opencode/ 修复 (0c8b08c)
  • security: 加固供应链 — 安全模型注释 + pip options 拦截 (c88732b)
  • fix: update 优先使用 npx 内置离线包,无需联网 (c24b050)
  • fix: 下载后校验 Content-Length,不完整时明确报错 (0f8cd02)
  • fix: update 下载不完整时给出明确提示 (2e8b062)
  • chore: trigger npm prerelease publish (329c6bf)
  • ci: npm-publish 同时监听 .opencode/ 变更 (0fa012d)
  • ci: npm 自动发布支持非 tag 推送的 prerelease (2027b1e)
  • chore: npm 版本与 git tag 统一为 2.9.2 (a7e3231)
  • fix: update 命令增加 --mirror 支持和网络失败友好提示 (37e7ab0)
  • fix: 供应链安全加固 (265736a)
  • refactor: 离线包退出版本控制 (0e95f7f)
  • chore: release v2.9.2 [skip ci] (b36ba9b)

What's Changed

  • refactor: 将草稿管理功能合并进 publisher, 新增番茄和七猫写作约束 by @scorpio1003 in #23

New Contributors

Full Changelog: v2.9.2...v3.0.0