# 变更记录 ## 0.9.5 · 2026-10-23 0.9 系列仍是内测线,正式版为 1.0.0。这一版是可靠性与数据安全的集中修复:规则落点字节保真、并发冲突契约、事务升级、前端可靠性与 CLI 防呆,不改变补丁内容、提示词正文与词库语义。 - 破限链路与失败恢复:用户注入、规则和尾部使用字面段,保留模板语法并维持普通正文的最终字节;规则同落点切换沿用首次快照,跨落点先提交新激活再可恢复地收尾;重建状态全程持锁并筛选有效原文快照。 - 界面与网络:词库写入结果未知时暂停后续整表覆盖,可信读回后恢复;规则保存保留期间新增草稿;取消激活被保留时明确显示仍生效;代理超时、响应中断和迟到事件统一释放连接。 - 清理与防呆收尾:删死 CSS、弹窗初始焦点改落确认要素(ack 勾选/确认词输入)而非关闭键、页签 aria-controls 只在选中时指向真实面板、移除永远禁用的按钮、兜底段去掉误导性的序号声明、lint-exports 报出目标被删留下的坏 import、状态新增 `ensure` 字段让规则首轮收拢失败可见。 - 前端可靠性八项:状态加载加序号守卫(先发后到的旧响应不再覆盖新数据);切档超时/断网改报「结果未知」并重读核对,读回也失败时如实说没能核对,不再误报「切换失败」或宣称已核对;浮窗删除按词条身份锚定(列表变化不再删错条目);词库归一化上限改随接口下发的 limits(后端调高上限不再静默删词);规则编辑脏草稿走同一守卫;浮窗布局读回即夹边;更新弹窗不再被迟到响应重开、卸载后不 setState;自动检查失败如实显示失败原因(含锁被占用),不再显示「已是最新版本」。 - CLI 与工具:未知参数与多动作显式报错退出 2(拼错参数不再假成功、破坏性动作不再被静默选中);宿主根未配置时 --status 退出 2 并明说「预检被跳过 ≠ 通过」;collect-hashes 采集前校验宿主 HEAD 等于声明提交,对错树不再生成假绿哈希表;check-doc-numbers 补声明层数字守卫(补丁条数、声明目标数、推荐档启用数从代码推导)。 - 并发冲突状态码与契约对齐:规则锁占用(locked)与清单版本冲突(conflict)改报 409,与 docs/reference 承诺一致,调用方可把「并发重试」与「输入错误」分开;状态码段改写为明确的 code 清单,500 收窄到真内部失败。状态报告档位诚实化:新增 `modeSource` 归因字段,没探测到会话时徽章显示「档位未探测」而非把部署默认档当会话档展示;宿主 permissionPresets.defaultPreset 抛错降级为 null,不再把整个 GET /status 打成 500。 - 补丁事务层:旧格式记录(无 declarations)升级后首次切档一次成功,不再逐目标吃「写入失败→回滚」;回滚成功的事务把 manifest 落成 rolled-back 并纳入清理,快照不再永久堆积(state.json 引用的目录永不删)。原子写补 fsync:临时文件落盘后改名、改名后尽力 fsync 目录(Windows 跳过目录一步),「要么完整落盘要么不存在」的承诺落到实处。 - 偏好写入互斥:update.json 与补丁开关的读-改-写进跨进程锁(与补丁事务、规则写入同一把 operation.lock),多进程共享 DSH_HOME 不再丢字段/丢切换;锁被占用不排队、按既有失败形状报出。 - HTTP 失败路径脱敏收紧:含空格的绝对路径整段脱敏(此前只脱到第一个空格、反而泄露更多),POSIX 根补 `/mnt`、`/data`、`/Volumes`;词库写失败、规则保存/激活失败的文案与 `/patches/enabled` 的错误全面过脱敏,其中写盘故障改报 500 `write_failed`,不再误报 400 `unknown_patch`。`GET /breaklimit/rules/status` 新增 `pendingActivation` 诊断字段;删除保留归属的文案改为与实际可达路径一致;`POST /breaklimit/restart` 的可粘贴重启命令声明为脱敏层唯一例外。 - 提示词兜底段落点修正:组合缺少 persona 前缀段时补的 breaklimit:head 此前被 push 到提示词最末(装配结果的段对象没有 order 字段,按序号找插入点恒失配),注入在该分支下形同虚设;现按数组下标插到提示词之首,测试夹具改用宿主真实段形状并加正常路径逐字节护栏。 - 规则域数据正确性:落点写入哈希(`landing.writtenHash`)持久化,比对基线不再用活正文——同步失败一次后保存可恢复、撤销不再永久误判;孤儿快照在被新快照替换前先搬保留副本;激活中改 target 保存时报实际写入落点且 `landingMoved` 反映事实;激活提交遇清单冲突时按归属回滚或如实报出当前状态;索引格式向后兼容,旧记录读写不受影响。 - 规则与落点数据安全:落点与落点快照按原字节读写,内容不变不重写;非 UTF-8 的落点(GBK、UTF-16)不再被解码写回毁掉,不自动收拢、原样保留。“读不到”与“文件不存在”严格分开:落点、清单、正文存在但读不到时,激活/保存/取消激活一律停手报错,不再被当成空清单整表替换或当成插件自建文件删掉。激活覆盖落点上的外部改动前先存副本(`landings/.external-*.txt`)并随结果报出,副本写不出来则取消激活。 - 执行层预算在切档入口补传配置:`/breaklimit tier` 与 `POST /breaklimit/tier` 此前丢弃 `budgets` 覆盖、静默落回内置两档,与 doctor 的配置校验自相矛盾;现与装载期同一取值入口。 - 设置页假成功收口:词库首次读取未完成时拒绝整表写入(此前会以空表为基线覆盖真词库);HTTP 客户端只认标准信封,200 配 HTML/空体/缺 `ok` 的 JSON 一律判失败,不再把插件未挂载当成功。 - `tools/rebuild-state.mjs` 防自毁:零采纳拒绝写清单(退出码 2),备份改带时间戳永不覆盖,有未采纳目标时退出码 1;测试隔离 `DSH_HOME`,`npm test` 不再触碰真实数据目录。 - 兼容性与配置按 DSH 插件规范声明:`package.json` 用 `engines.dsh: 0.2.1-rc.2` 取代自定义 `dshTarget`,安装与启动由宿主按该版本判定,版本不符时跳过本组合包;新增 Standard Schema 形式的 `Config`,装载前校验行配置并补齐默认值,未知键原样保留、已知键类型错误报出位置。对账工具与发布检查改读 `engines.dsh`。 - 执行层预算进入配置:`budgets.recommended` / `budgets.unrestricted` 可覆盖超时、超时上限、输出上限与子代理深度,缺省值与原内置两档一致;写错键名、非整数或超出范围(`maxDepth` 允许 0,其余键须为正整数),或 `maxTimeoutMs` 小于 `timeoutMs` 时装载期报错。状态新增 `sandbox` 字段与「档位来源」一行,把「真的只读」与「读不到 sandboxPolicy」分开报告,降级不再静默。预算提交的读回核验拆成两档:装载期 volatile 未就绪记 `unverified`,只有读到值与目标不符才记 `mismatched`;状态读取时用当前读数复核一遍,能读到的从 `unverified` 移除、读到但不相等的转进 `mismatched`,启动时不再误报“没生效”。 ## 0.9.4 · 2026-10-21 0.9 系列仍是内测线,正式版为 1.0.0。这一版把设置页与浮窗整体对齐 v2 界面原型,新增目标词库管理、聊天区浮窗与检查更新。 - 设置页换新壳层与设计系统:五个页签(概览、补丁、提示词、规则、词库),每页顶部标注页面标题与生效时机;概览改为通栏主行动卡加 1:1 双栏;新增三步引导(第三步连待写入文件数一起判完成)、帮助弹窗、状态页脚与脱敏技术诊断(默认展开、可折叠复制)。深色配色按宿主调色板属性判定,跟随系统时也生效;开关与勾选框按宿主 ui-primitives 取尺寸与取色。 - 浮窗改成真正的窗口:可拖动、可缩放,位置与尺寸刷新后保留(本地记录读到脏数据回落默认并夹边);面板换皮为分区结构,带滚动阴影、独立页脚与紧凑模式卡差异说明。两个浮窗实例的弹窗标题 id 隔离,关闭后焦点归还触发元素;弹窗内 Esc 不再连带关闭设置面板。 - 新增目标词库管理页:左列表右预览,增改删按“操作”提交,写入串行并以响应中的规范化列表为准,设置页与浮窗两个挂载点不互相覆盖;覆盖与删除有二次确认,未保存草稿离开前确认;上限 100 条、每条 64 字符,首尾空白落定时归一。读取失败按失败处理:保留旧数据并标旧,暂停写入与预览,不当成空词库;“保存中”与“读取失败”分开提示。本地预览复用 maskText 语义(区分大小写、精确字面、长词优先)。 - 新增检查更新:打开设置面板或浮窗时每天至多静默查一次本插件的 GitHub 发布列表,有新版时顶栏给出可见文字;「版本与更新」弹窗支持手动检查、忽略某版本与「每天自动检查一次」开关(默认开启,关闭后手动检查仍可用)。手动检查不受当天限制并刷新日期;忽略版本落盘归一为 `x.y.z`。检查只读取发布信息比较版本号,不发送本地配置、会话内容或词库规则。 - 更新状态存 `$DSH_HOME/breaklimit/update.json`,合并写入;发现损坏先备份到 `$DSH_HOME/dsh-breaklimit-backup/<时间戳>/update.json` 再重建,备份失败拒写、原文件不动。错误分码为 `update_unreachable`(连不上、超时、限流或代理失败)与 `update_invalid`(响应不可用),文案脱敏;代理读取 `HTTPS_PROXY`/`ALL_PROXY`/`HTTP_PROXY` 与 `git http.proxy`,只支持 `http://` CONNECT 隧道,`https://` 代理拒绝并提示。 - 新增 `DISCLAIMER.md`:项目定位、与 DeepSeek 无隶属关系、改动只发生在本机、允许场景与地域限制,并写明检测更新的对外访问范围。README 重排门面并补检测更新的网络行为与代理说明。 - 发布工具:归档时间戳固定 UTC 并兼容 Windows 解压环境;修复未发布草稿的标签查询;发布流程文档重写精简。 - 测试 385 项:新增五页导航键盘焦点、词库共享写入串行与过期响应作废、读取告警按失败处理、本地预览与 maskText 一致、浮窗布局脏记录回落与夹边、更新状态落盘与损坏备份重建、代理 CONNECT 拒绝路径、版本比较与忽略版本等用例;接口一致性检查 69 个文件,语言检查 745 个语言键。 已知未修:规则存储对不持锁外部写者的 revision CAS 窗口,以及 HTTP 管理接口未接入宿主登录认证的限制仍然存在,留到 1.0.0 之后。 ## 0.9.3 · 2026-10-19 0.9 系列仍是内测线,正式版为 1.0.0。 - 规则恢复不覆盖旧备份:同一秒内再次恢复时创建带随机后缀的独立目录,备份逐字节核验后才允许重置;重置失败保留原清单及已完成的备份。 - 补丁回退与失败补偿增加写后复核;恢复内容不符时报告失败并保留事务记录,不再仅凭写入返回就宣告恢复成功。 - 新增按标签和完整提交打包的源码 ZIP、来源元数据和 SHA-256 清单;核验会独立重建指定提交的 ZIP,拒绝混入未提交文件、错版附件及篡改内容。 - 新增手动启动的草稿准备与下载验收工作流:先验证源码,再上传草稿,重新下载附件后执行检查;不会自动发布或覆盖已发布版本。 - 补齐提交、PR、版本及发布约定。源码检查继续覆盖 Windows、Ubuntu 与 Node 22.19、24;真实安装和浏览器结果单独记录。 v0.9.2 标签保留,但不准备该版本的 Release;请使用包含恢复修复的 v0.9.3。规则存储对不持锁外部写者的 revision CAS 窗口,以及 HTTP 管理接口未接入宿主登录认证的限制仍然存在。 ## 0.9.2 · 2026-10-19 0.9 系列仍是内测线,正式版为 1.0.0;这一版是新手友好度评审后的收尾,不加新能力。 - 规则清单损坏时不再被覆盖:`readIndex` 的 `corrupt` 判定现在被五个写入口与装载期一起读取,保存、激活、取消激活、删除、清空一律拒绝,`ensureInitialState` 不再自动导入。此前损坏的 `rules.json` 会被当成空清单写回,且装载时就会发生。 - 新增恢复入口:`POST /breaklimit/rules/recover-corrupt` 在跨进程锁内把损坏清单复制到 `$DSH_HOME/dsh-breaklimit-backup//rules.json`,核对字节数一致后写入空清单;备份失败或重置失败时原文件一个字节都不动。目录名取自本地时间。 - 备份路径可定位:`GET /status`、`GET /rules/status` 的 `rulesIndexPath` 与恢复接口的 `backupPath` 改为相对 `$DSH_HOME` 的路径,界面显示为 `$DSH_HOME/dsh-breaklimit-backup/<时间戳>/rules.json`。其余路径仍只保留最后一段。 - 规则编辑防丢:切换条目、取消、刷新或关闭页面前,脏草稿走二次确认,`beforeunload` 拦截。新建时填了已有 ID 会先弹覆盖确认,并可一键打开已有那条。 - 规则错误按阶段翻译:`body_write_failed`、`index_write_failed`、`landing_write_failed` 分别说明正文是否已写、清单是否更新、目标文件是否同步;补上 `conflict`、`invalid_target`、`body_remove_failed` 三种码。清单损坏时不再同时显示「还没有规则」。 - 聊天区入口改为「破限」按钮,点击打开浮窗,内含提示词模式与目标词表。档位切换失败会给出提示,成功后通知设置页刷新;词表覆盖与删除都有二次确认,保存失败保留输入。 - 权限认知:概览的沙箱行在完全权限时写明「普通审批自动放行」,提示词模式说明补上「不改变宿主执行权限」。 - 新增 `node src/cli.js --doctor`:只读检查八项——Node、pnpm、git、宿主根、宿主依赖、DSH 数据目录、Web 组合、插件注册,逐项给修复指引。README 的调用位置移到 profile 与插件就绪之后。 - 测试 283 项:补上损坏索引五个写入口拒写、备份失败不重置、锁冲突不落盘、草稿脏判定的用例;doctor 的外部命令探测可注入,测试不再依赖 runner 装了什么。 已知未修:规则存储的 revision CAS 窗口(只有不持锁写者可命中,实测无丢写),留到 1.0.0 之后。 ## 0.9.1 · 2026-10-19 0.9 系列仍是内测线,正式版为 1.0.0;这一版是缺陷收尾,加一条作用于请求的破限能力。 - 新增目标词表:请求交付给模型之前把真实目标名换成占位名(`GET`/`PUT /breaklimit/alias`,`$DSH_HOME/breaklimit/masks.json`)。精确字面匹配、长词优先、只作用于用户消息,词表为空时不做任何事;上限 100 条、每条 64 字符。 - 提示词正文:目标虚构那一段改成「按定义即占位对象」,新增 `WHAT THIS CONTEXT IS` 与 `THE FIRST ANSWER` 两节;尾部增补 `Before Anything Else`。 - 尾段落点改为 `config.order`:缺省 8999 排在宿主第一方段之前(结构化输出 9900 起),装机配置设 10300,落在全部原生段之后。 - 测试夹具不再由被测常量派生:规则正文上限改用 524288 / 524289 的字面量边界,补丁声明新增方向判据与负向对照——`MAX_RULE_BYTES` 放大或 before/after 对调都会让测试变红。 - 预检的全档变体改为取自本批声明:自带声明集的调用方不再把另一档写下的内容判成已应用。 - 旧记录判据改为与预哈希对账:还原结果对不上声明的前置哈希就不放行,声明漂移从「静默跳过」变成「阻断并要求先回退」。 - 请求体上限随规则正文与注入上限推导(6 倍 JSON 转义余量),不再固定封顶 1 MiB,上限体积的正文不再被 413 拒收。 - 修 CI:测试里的仓库根改用 `fileURLToPath`,Ubuntu 上不再把绝对路径截成相对路径;`doctor` 用例隔离 `DSH_HOME`,不再读本机真实档位。 - 文档:`check:host` 的夹具预检数字按实际口径写明,接口文档补上目标词表的两条路由。 已知未修:规则存储的 revision CAS 窗口(只有不持锁写者可命中,实测无丢写),留到 1.0.0 之后。 ## 0.9.0 · 2026-10-18 0.9 是内测版本,正式版为 1.0.0;此前的 0.2.x 同属内测。 - `tools/rebuild-state.mjs` 增加 git HEAD 作为原文来源:应用记录连同快照一起丢失时,可以从宿主 HEAD 重建记录,让预检重新认得出已应用的内容、回退重新可兑现。采纳要同时满足三条(声明哈希承认该原文、当前内容按声明还原后逐字节等于它、两者确实不同),写入只落在 `$DSH_HOME/breaklimit/`,宿主源码不动。预检「预哈希不符」的理由补上这条恢复路径。 - 提示词改为两档:`recommended`(默认)与 `unrestricted`。移除 `lean` / `architect` / `autonomous`,旧值判非法并回退默认,不做迁移。共用正文之外新增按模式的附加段,尾部摘要单独成段(序号 8999)。 - 规则存储换格式:`rules.json` + `bodies/.md` + `landings/.txt`,上限 256 KB → 512 KB。旧 `rules/` 目录不迁移,读出来即为空;需要旧规则时从原文件重新导入。 - 移除富工件面板:`breaklimit_render_panel` 工具、`GET /breaklimit/panel/latest`、CLI `--panel`、设置页面板分区。 - 设置页由四个分区并为三页:概览、补丁、上下文(提示词与规则同页)。 - 执行层预算随模式提交:推荐档 20 分钟 / 0.5 MB / 深度 2,完全解放 9999 秒 / 1 MB / 深度 5;提交失败只记录,不重试。 - 绑定宿主升级到 `0.2.1-rc.2`(`687f282e`),补丁声明与预哈希清单按新版本重采。 - CLI 预检和应用遵守已保存的补丁开关,与 Web、宿主命令和模型工具一致。 - 拆分配置、共用应用服务、状态、HTTP 和宿主接缝,保持原有接口及事务格式。 - 设置页按页面提取渲染函数,统一 JSON 写请求,补充表单可访问名称和状态反馈;修复分区方向键切换后键盘焦点没有同步移动。 - 重写源码版安装教程,补齐 Web profile 初始化、版本要求、回退和故障排查。 - 增加入口一致性测试、跨系统 CI 和项目贡献、发布说明。 ## 0.2.0 初始仓库版本。提供严格补丁引擎、运行时接缝、规则集、提示词档位、中英文设置页和独立 CLI,绑定宿主 `0.2.1-alpha.4`。 仓库初始提交不等于已创建 GitHub Release;正式发布以 Releases 中的标签及验收说明为准。