v1.7.3 (2026-08-07)
🐛 同步上游两处纯代码修复(对齐 v6.1.1 → v6.2.0 时挑出)
两个文件在我们这边都与上游 v6.1.1 字节一致(从未汉化改动),因此可直接取上游版 —— 无需翻译、无需 eval。
hooks/hooks.json加"shell": "bash"(上游5151e7a):SessionStart hook 在 Windows 上原先不经 Git Bash 分发。我们的 hooks.json 与上游除这一行外完全相同。这条直接改善 Windows 用户的 bootstrap 可靠性 —— bootstrap 不加载,skill 就是死重。skills/systematic-debugging/find-polluter.sh(上游6015d37、c8921b5):修三个真 bug,已逐个实测新旧版对比:- pattern 带
./前缀时匹配不到(find .输出./前缀路径):旧 1 个 → 新 2 个 -path的**/无法匹配零层目录,src/**/*.test.ts漏掉src/top.test.ts:旧 1 个 → 新 2 个- 完全无匹配时计数为 1 而非 0(
echo空串仍算一行):旧 1 → 新 0
- pattern 带
🧪 新增工具计数一致性检查(audit Category 5,+24 项)
加一款工具要同步简繁 README(各 6 处)、package.json、CLAUDE.md、site/build.mjs(三语言 15 处)、3 份 plugin manifest —— v1.7.2 全靠人工 grep 才没漏。现在从 installer 的 TARGETS 推导期望值并逐处断言,另加两条结构性检查:README 工具表行数必须等于宣称数、Category 2 实际测试的工具数必须等于宣称数(宣称了就必须测)。
已验证会拦:把标题改成 23 款、删掉一行工具表,两种漂移都被抓到。
口径写进注释:TARGETS 是「安装目标」共 21 个;Copilot CLI 与 CC 共用 .claude/skills(别名映射过去)不占独立条目,但文案里作为独立产品单独计数,所以「文案数 = TARGETS 数 + 1 = 22」。
🐛 修 bash 3.2 下 CJK 报错信息乱码
macOS 自带 bash 3.2.57 解析标识符时不识别多字节字符,$file「 会把「的首字节 0xE3 吞进变量名,导致变量展开为空且字符被截断。报错信息变成「计数不一致: ����= ��应为 22」—— 只在检查失败时才暴露,写检查的人看不到。
复现:bash -c 'f=README.md; echo "文件: $f「标签」结束"' → 文件: ��标签」结束
修法是给紧跟 CJK 标点的变量加花括号。全仓扫描 $var 紧跟非 ASCII 字节的模式,命中 3 处(audit.sh 2 处、verify-release.sh 1 处 —— 后者因为检测项一直全通过,从没暴露过)。
🧹 其他
.gitignore补上.cline/、.clinerules/、.kilocode/—— 与.trae/、.qoder/一致,避免在本仓库内自测安装器留下未跟踪文件。- 官网
site/build.mjs工具计数 20 → 22,三语言 FAQ 枚举补入 Cline、Kilo Code(v1.7.2 发了但站点没跟)。
✅ 验证
scripts/audit.sh:153 pass / 0 fail(3 项 warn 为上游漂移,见 #19)scripts/verify-release.sh:82 pass / 0 fail- SessionStart hook 冒烟:退出码 0,输出正确的 SessionStart JSON
- npm 包端到端:pack → 从 tarball 安装 → 真实跑安装器 → 卸载零残留
⚠️ audit 的上游漂移 warn 从 2 条变 3 条(新增
using-git-worktrees),且executing-plans/finishing-a-development-branch的上游 H 值有变化 —— 这是本次git fetch upstream把对比基准从旧快照更新到 v6.2.0 导致的,不是代码改动引起。