github javaht/claude-desktop-zh-cn 1.4.23

4 hours ago

亮点与主要变更

本版本由维护者 @javaht 与社区贡献者 @happycooltony 共同完成,带来 Windows Cowork 原生签名修复(彻底解决 Issue #146 RPC pipe closed)、Claude 4.23118 新增前端词条补齐与 dynamic 官方漏译修复,以及 CI 跨平台兼容性优化。


1. 原生集成 CoworkVMService 签名校验修复,解决 Cowork RPC 报错(维护者 @javaht 提交,彻底解决 #146)

问题背景:
Windows 端汉化需改写 app.asar / ion-dist.asar 并同步 Claude.exe 内嵌的 ASAR 完整性哈希,导致 Claude.exe 的官方 Authenticode 数字签名失效。后台服务 cowork-svc.exe 在客户端连接具名管道时会严格校验客户端与自身的签名及包身份,失败则拒绝连接,导致 Cowork 工作区常驻报错 RPC pipe closed。

技术实现与安全考量:

  • 双架构 Go 符号表解析:原生解析 cowork-svc.exe 的 Go pclntab 符号表(Find-GoPclntabOffset / Resolve-GoFuncEntry),同时支持 ARM64 与 x64 两种架构;
  • 修正偏移语义:修正 functab 的 entryoff 语义(相对 textStart 偏移,改为与 .text 的 VirtualSize 比较,消除了前 0x1000 字节函数无法匹配并被静默跳过的问题);
  • 前置严格语义校验:定位 main.isWindowsService 调用点,验证紧随其后确实有 (*Server).InitSignatureVerification 调用才执行改写(反汇编证实 isWindowsService 的返回值正是该调用的第 2 个参数,即“是否启用客户端签名校验”的开关),杜绝盲目改写误伤二进制;
  • 极小改动量与幂等性:
    • ARM64:定位 callSite,写入 00 00 80 52(mov w0, #0),仅改动 4 字节;
    • x64:定位 callSite,写入 31 C0 90 90 90(xor eax, eax + nop*3),仅改动 5 字节;
    • 二进制改写逻辑具备幂等性,重复运行不重复改写;
  • 进程与服务生命周期管理:新增 Stop-CoworkVMService 与跨平台安全探测 Test-ServiceControlAvailable,在修改与卸载前安全停止服务与强杀进程,彻底避免文件占用;
  • 零侵入自动还原:纳入已有的 Backup-ModifiedFile 备份机制,在卸载时自动还原官方未修改的原版 cowork-svc.exe,数字签名完全恢复;
  • 测试覆盖:新增 tests/Test-CoworkPatch.ps1,构造 ARM64 / x64 合成 Go PE 二进制,完整覆盖符号表解析、指令改写、幂等性与备份验证,已接入 Windows 与 Linux CI 工作流。

2. 补齐 Claude 4.23118 新增词条 16 条,并修复 dynamic 词表漏译(合入 #235 by @happycooltony)

  • 新增 16 条前端词条:针对 4.23118「配置第三方推理」页面补齐用户实际可见的 16 条新增英文:
    • 服务端自动模式检查(Server-side Auto mode checks)及其说明;
    • 出站主机说明(Hosts reachable from Chat, Cowork and Code's sandbox…);
    • 部署模式(Deployment mode)及其说明与三个选项(让用户自行选择 / 仅第三方 / 仅 Claude.ai);
    • 禁用本地代码会话说明;
    • 启用导入 / 启用导出说明;
    • 诊断分析说明(崩溃与性能报告、产品使用情况分析、非必要服务);
    • 状态栏按操作系统设置程序的说明;
  • 修复 2 处官方 dynamic 词表漏译:解决官方 dynamic/en-US.json 存在但 zh-CN 缺失导致的界面回退英文:
    • XPiJIxyAVt(“Recommended”)→ 推荐(模型选择器中“高”旁边的徽标);
    • gRa9I5BFc2 → Opus 比其他模型更快消耗用量额度;
  • 多语言术语规范:全角双引号统一为 “”,港台繁体(zh-HK / zh-TW)正确保持区域词汇差异(如“用户/使用者”、“数据/資料”、“设置/設定”、“文件夹/資料夾”、“程序/程式”)。

3. CI 与跨平台兼容性改进(维护者 @javaht 提交)

  • 解决 Linux runner(PowerShell 7)缺少 Windows 服务控制命令抛出 CommandNotFoundException 导致 CI 失败的问题;
  • 修复 Test-DesktopShell.ps1 缺失 UTF-8 BOM 导致 PowerShell 5.1 按 ANSI 解码出现中文断言字面量语法错误的问题。

贡献者 (Contributors)

特别感谢为本版本做出贡献的开发者:

  • @javaht(维护者):Windows Cowork 原生签名校验修复(彻底解决 #146)、服务控制与 CI 跨平台兼容性改进;
  • @happycooltony:补齐 Claude 4.23118 前端词条 16 条与修复 dynamic 官方漏译 2 条(#235)。

验证与测试

  • Python 单元回归测试 26 项全部 PASS;
  • 包含 Test-CoworkPatch.ps1 在内的全部 PowerShell 回归测试在 Windows PowerShell 5.1 与 Linux PowerShell 7 均通过;
  • git diff --check 格式检查无异常;
  • 4.23118 新增词条经官方 ion-dist.asar 逐条对齐核验无误。

Don't miss a new claude-desktop-zh-cn release

NewReleases is sending notifications on new releases.