Skip to content

Releases: qin1473692580-ux/oh-story-claudecode

oh-story 0.7.10

Choose a tag to compare

@github-actions github-actions released this 12 Aug 13:10
Immutable release. Only release title and notes can be modified.

本次重点

v0.7.10 汇总了 v0.7.7–v0.7.10 的开发成果:在保留本仓库独立版本线、追踪事务、长篇热路径拆分和多端适配增强的前提下,选择性吸收原上游的新能力,并补上中文正文语言漂移的完整防线。

中文正文英文泄漏三层门

  • 生成前锁定中文;明确的英文小说、海外发行需求才路由到英文发行流程。
  • check-degeneration.js 新增 auto|zh|en,可阻断纯英文句段、连续英文片段、英文对白和中文叙事中的裸英文词。
  • Claude Code、Codex、OpenCode、ZCode 写后 Hook 自动复扫;长篇写下一章前还会清查上一章英文旧债。
  • URL、邮箱、Markdown、代码、路径、型号、缩写等受保护;确需保留的外文名和术语通过 .deslop-whitelist 精确放行。
  • <!-- 去味:跳过 --> 只豁免用户指定的毒句式,不再成为英文泄漏的绕行入口。

去 AI 味与写作质量

  • 去 AI 味规则按情节节拍控制段落疏密,减少固定句长、机械标签和提示词重复。
  • 新增感官对象误作感知主体、普通名词滥用引号等检查,并保留合法对话、逐字引用、书名、代号和场内系统原文。
  • story-long-write 将开书阶段工作流拆成按需参考,降低日更时的常驻提示词负担。

上游能力吸收与本地领先增强

  • Bash 正文守卫覆盖重定向、teetouchcpmvinstall 等写入方式;部署配置可幂等迁移并保留用户 Hook。
  • 起点、七猫等长篇扫榜补齐周期、字数、推荐、签约、收费模式与参数校验。
  • 长篇拆文支持 500 章以上的分批子 Agent 聚合;chapter-extractor 增加严格 JSON → 原子 Markdown 渲染链。
  • story-review 增加跨批状态落盘和未解决 findings 继承。
  • 新部署项目缺少追踪 state 时严格阻断;旧项目和受控导入窗口保持兼容。

跨平台与多 CLI

  • 修复 Windows Git Bash 的 stdin、CRLF、中文路径、/tmp 路径别名及书目级 .deslop-whitelist 兼容问题。
  • Claude Code、Codex、OpenCode、ZCode、OpenClaw、Reasonix 与 generic 部署契约已同步。

版本与升级

  • 产品版本:0.7.10
  • setup_skill_version1.2.12
  • agents_version29
  • 发布提交:3786283

更新或安装后,请在写作项目中重新运行 /story-setup(Codex 使用 $story-setup),然后新开会话,让新版 Hook、agents、rules 和 reference bundle 生效。

固定安装资产:oh-story-release.zip

验证

完整变更比较v0.7.6...v0.7.10

v0.7.6 — 独立仓迁移与 Dev / Release 分流

Choose a tag to compare

@github-actions github-actions released this 08 Aug 20:09
Immutable release. Only release title and notes can be modified.

升级必读

本版将公开 bundle 升至 0.7.6setup_skill_version 升至 1.2.8,部署契约 agents_version 升至 25

更新安装包后,必须在每个写作项目中重跑 /story-setup(Codex 使用 $story-setup),然后关闭并新开会话

稳定安装入口:

https://github.com/qin1473692580-ux/oh-story-claudecode/releases/latest/download/oh-story-release.zip

本版重点

  • Dev 与 Release 正式分流:本地先生成可追溯 Dev 包,正式包只能从 main 手动触发。
  • Release 必须通过同一提交的 Dev、Windows/macOS 跨平台和四端 CLI 兼容门禁。
  • 正式资产包含版本 ZIP、稳定别名 ZIP、tar.gz、manifest 和 SHA256SUMS;禁止覆盖既有 tag、Release 或资产。
  • 仓库从 fork 蓝绿迁移为同名独立仓,完整保留 Git commits、branches 与 tags。
  • GitHub Stars、Watchers 和 fork network 无法迁移,保留在改名后的 legacy fork 中。

验证

发布提交:b4078a5a4b6406c8f31fcbdb146d7054d1e261b7

  • Dev package:通过
  • Windows / macOS 跨平台:通过
  • Claude Code / Codex / OpenCode / OpenClaw:通过
  • Release SHA-256:通过
  • 447 个安全归档成员、14 个 skills:通过
  • 解包与真实安装烟测:通过

完整变更见 CHANGELOG.md

v0.7.5 — 跨章连续性守卫 / 规划记号泄漏拦截 / 情绪与钩子下限

Choose a tag to compare

@qin1473692580-ux qin1473692580-ux released this 08 Aug 19:52
Immutable release. Only release title and notes can be modified.

⚠️ 升级必读:本版 agents_version 由 23 升到 24,改动了 24 个部署产物(四端 hook 核与 agent 模板)。必须在每个写作项目里重跑 /story-setup,然后关闭并新开一个会话——不做这一步,下面所有新拦截一条都不生效。

本版还改变了 追踪/ 的存放方式(见「破坏性变更」一节),旧文件会自动归档保存,但以后不要再手动编辑追踪文件。

破坏性变更:追踪状态改单一权威事务模型

追踪/ 从「多个各自维护的 Markdown」改为「一个结构化权威状态 + 多个确定性派生视图」。

  • _tracking-state.json 是唯一权威;上下文.md角色状态/{名}.md伏笔.md时间线/作者真相.md时间线/读者已知.md 全部由它渲染,禁止手改
  • 模型只提交一份语义 JSON,由 tracking_commit.py 校验、合并、渲染、原子落盘。
  • 旧结构由 init 原样移入 追踪/_旧追踪存档/,不解析、不做兼容层。
  • 配套修掉六条会让用户卡死的主流程断链,最要紧的一条是回炉备份被守卫打死原稿_{日期}.md 备份必然命中章号顺序校验,而回炉章号恒小于已提交章号,无解。

跨章连续性守卫

起因是实际反馈的最严重问题:上一章主角住学校宿舍,下一章骑车从家去学校;上一章主角的娘摆针线摊,下一章地痞掀的摊子变成卖菜的。复现证实——两处矛盾 commit 成功、check 全绿,工具一声没吭。

根因是三层都漏:热上下文的角色行只有「身份|状态|目标」,看不到人在哪、手里有什么;全量快照有位置字段,但规则是「核心角色若不在热上下文才去读小文件」,主角必然在热上下文里,那条分支永不触发;提交时新快照整份覆盖旧值,不做比对。

  • 位置与持有物进热上下文,按 60 字节截断。
  • 新增 delta.continuity_changes:位置 / 持有物与库内不同时必须申报,且 from 要与旧值逐字相同——模型得先去读快照才写得出来,写对了说明它知道自己在改什么。
  • 补上 Claude Code 端缺失的写正文核判据,此前「首建第 N+1 章前必须先提交第 N 章事务」这条校验在本端从不触发。
  • consistency-checker(三端)新增「跨章位置/营生/道具漂移」检查项,定为 S1。

规划记号泄漏拦截

规划层的临时标记被正文层照抄,是同一族问题。本版收了实测零误报的全部类别:

  • 章号引用ch13 / Ch.13 / chapter 13。中文工程词表只收「第X章/本章/前文」,跑「她在 ch13 便学乖了」零告警。
  • 裸英文词watcher 这类内部代号。判据两层——整行以中文为主、词是独立全小写 ≥4 位。先在真实语料量过误报:101 个正文文件里与中文相邻的拉丁串全是 PDF/USB 缩写、DB-40/R66-7 编号道具、扩展名,没有一个是小写英文常用词。
  • 剧情单元 ID / 结构字段名 / 压力级 / 规划文件路径:逐类量了正文误报数,只收零误报的。
  • 进的是自动拦截网,不是工作流步骤,弱模型跳过流程也拦得住。
  • 生成侧同时补规则:查下来起名、写正文、追踪三层对语言零约束,watcher 能直接注册成角色名。现已要求中文作品的故事内专名必须是中文。

情绪与钩子下限

原有 4 个脚本 84 条规则全是禁止型。禁止情绪标签却不设下限,最省力的通关解就变成干脆不写情绪。实测已完本长篇:第 39–62 章情绪落点均值 0.97/千字,其余章 4.42,其中 8 章为 0。

  • check-emotion-floor.js:三通道 + 密度下限 + 零体温段 + 复读检测,阈值按 84 章实测分布标定。
  • emotion-landing.md:情绪 × 强度 → 身体/动作/感官转译表。
  • check-hook-strength.js:把「第 1 章必须强 / 2-3 章强」和悬念三档下限变成可机器校验。正文章的 ending-no-hook 定为 advisory 待查清单,只有黄金三章是 blocking——硬门误报多了作者会学会忽略它。

撤销早先的规则软化

  • hooks-chapter.md:「第 1 章必须强」曾被改成「通常强,服从题材契约」,已恢复硬下限。
  • hooks-suspense.md:三档等级下限曾被加上「只在本章承担悬念功能时判断」的自判豁免口,且正文章下限降了一档——中段文书 / 谈判章会自判为「不承担悬念功能」整体跳过。已恢复。

新增 story-data-analyze

第 14 个 skill。用「分发 → 回访 → 章内」三层框架定位读者流失的真实位置,按平台指标的官方定义计算、防止误读。触发:/story-data-analyze/数据分析/后台数据

其他修复

  • 多端部署每次会话误报「参考资料包缺失」(references_dir 是逗号拼接的多条路径,被当成单一路径判断)。
  • 部署端探测自触发:metadata.openclaw 被当成 OpenClaw 信号,但 13 个 skill 全带这个字段,导致 reasonix / generic 项目被误判。
  • 补回细纲未标字数时的默认兜底(3000 字/章)。
  • check-typos.js 补「否定词 + 张声」搭配(「没张声」应为「没声张」)。
  • --pressure / --position 写明是整次调用生效、不是逐章判定。

如何更新

# 全局安装
npx skills add qin1473692580-ux/oh-story-claudecode -y -g

# 或 git clone 的
git pull && ./sync-skills.sh

ZCode / Reasonix 用户在各自 marketplace 面板重装 oh-story

更新后必须在每个写作项目里跑一次 /story-setup,然后关掉窗口重开。

验证

scripts/ 下全部 32 个检查与测试脚本通过、0 失败(两个需真实 CLI 的 e2e 跳过),另加 Dashboard 单测 27 项与 static-check 14/14。新拦截在已完本长篇 84 章 + 短故事 17 篇共 101 个正文文件上回归,三类泄漏检测零误报。

v0.7.3 — 跨端拆文降级修复 + Dashboard 按需加载 + 更新检查修复

Choose a tag to compare

@qin1473692580-ux qin1473692580-ux released this 08 Aug 19:52
Immutable release. Only release title and notes can be modified.

同步上游 v0.7.2 之后的三个提交,并修掉本仓库自身积累的几处不一致。

⚠️ 升级必读

agents_version 由 21 升到 22。已部署项目必须在项目根重跑 /story-setup(Codex 中用 $story-setup)并新开一个会话,否则拆文仍走旧模板。

修了什么

跨端拆文降级路径(最要紧) — ZCode / OpenClaw / Reasonix / 通用 Web AI 这四端本就不部署 project agents,拆文 Stage 2 必然走串行降级;而降级说明此前要求主线程「按 chapter-extractor 方法论」处理,指向的正是这四端读不到的那份文件——循环依赖。现改指 output-templates.md(skill 自带 reference,四端都读得到)。同时章节概要从「因为…所以…」因果链改为叙事化、原文引用改精选(每章至多 8 条)、新增 P 行白描机械硬检查。

Dashboard 目录树按需加载 — 首屏只返回写作项目与拆文库根节点,展开时按需分页读取,深目录不再被首屏扫描深度剪掉。同时修复标准短篇工程(单文件 正文.md + 小节大纲.md/设定.md 结构)此前不被识别、进不了项目列表。

扫描预算隔离 — 此前写作项目与拆文库共用一份 5000 节点预算且项目先扫,超大项目耗尽预算后,拆文库即使真实存在也返回空数组,界面把「预算被另一类耗尽」呈现成「拆文库为空」。

更新检查链路session-start.sh/story 查的是旧仓库名,GitHub API 返回 301,而 curl 用的 -fsS 不跟重定向,永远 grep 不到 tag_name——更新提醒其实从未生效过。现改用实名并补 -L。本次也是本仓库第一个正式 release,从此更新检查才真正有东西可查。

版本号归位 — 此前仍写 0.7.2,与上游同号但内容已不同,用户无从分辨手里是哪一版。

第三方作品名清理 — 合并从上游带回的「盘龙」「江晨」,以及 output-templates.md 中出自《盘龙》的「林雷」,统一换为中性夹具名。

没动什么

自研内容一处未改:check-typos.js 前置错别字门、export-for-platform.js 发布导出、现实共鸣型 / 悬疑脑洞型题材包、Phase 5 质检硬性化、逐章质检进度表、留存节奏工程化。上游 10 个题材包全部保留。

验证

静态检查 13/13、契约检查全过、Dashboard 单测 27/27、e2e 16/16,另将上游 CI 独有的 12 项检查在本地逐条实跑通过。

完整变更见 CHANGELOG.md