尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Claude Desktop 中文补丁的 Computer Use 视觉回归验证指南:逐页截图核对汉化效果的完整手册

发布时间:2026/9/29 7:26:28

资讯中心
01
ARTICLE

Claude Desktop 中文补丁的 Computer Use 视觉回归验证指南:逐页截图核对汉化效果的完整手册

Claude Desktop 中文补丁的 Computer Use 视觉回归验证指南:逐页截图核对汉化效果的完整手册
桌面应用CLI【免费下载链接】claude-desktop-zh-cnClaude Desktop Chinese Patch (macOS Windows Linux)项目地址https://gitcode.com/gh_mirrors/cl/claude-desktop-zh-cn点击查看免费下载本指南针对 claude-desktop-zh-cn 项目Claude Desktop 的本地中文补丁支持 macOS / Windows / Linux的汉化验收环节讲解如何借助 ZCode 的 computer-use 能力打开打完补丁的 Claude Desktop逐页截图核对汉化效果。它适用于两类典型场景批量新增词条并重新安装补丁之后的全量回归以及用户报告某页面还是英文时需要快速定位。读完本文你将掌握完整的权限前置条件、bootstrap 绑定代码、逐页核对清单、PASS/FAIL 判定标准以及一份基于 2026-09 实测踩坑经验的常见问题清单可直接复用到下一次汉化迭代中。0. 一次性前置条件只能由用户完成视觉回归验证依赖系统级辅助功能与屏幕捕获能力这一步必须由用户在系统设置中手动完成Agent 无法代劳辅助功能Accessibility 屏幕录制Screen Recording必须授予ZCode Computer Use.app系统设置 → 隐私与安全性 → 辅助功能 / 屏幕录制 → 勾选ZCode Computer Use.app。授权后完全退出并重启 ZCode让它重启 Helper 重新读取 TCC 授权。出现以下任一错误即说明权限未就绪应当立即停下并请用户授权不要改用 AppleScript 等其他自动化技术绕过permission broker request capture_app timed out after 15000mscapture_app: the target app has no readable accessibility tree ...Accessibility not granted to ZCode.app ...特别注意即使未授权listApps()仍能返回应用列表它走的是非辅助功能路径不要据此误判权限已通过。1. 准备补丁就位与进程检查确认补丁已安装到/Applications/Claude.app改过resources/之后必须重跑 scripts/patch_claude_zh_cn.py约 5 分钟补丁会自动退出并重开 Claude。确认 Claude 进程在跑pgrep -fl Claude.app/Contents/MacOS不在则执行open -a Claude。英文语言包参考路径/Applications/Claude.app/Contents/Resources/ion-dist/i18n/en-US.json。这个路径与补丁脚本内部的常量一一对应——在 scripts/patch_claude_zh_cn.py 中FRONTEND_I18N_REL Path(Contents/Resources/ion-dist/i18n)、FRONTEND_ASSETS_REL Path(Contents/Resources/ion-dist/assets/v1)也就是说前端语言包与前端 bundle 的位置被脚本硬编码引用核对词条时按这个路径取en-US.json即可与补丁逻辑对齐。2. 引导与绑定每次调用都以同一段 bootstrap 开头每次mcp__node_repl__js调用都是全新 Worker每次调用都要以同一段 bootstrap 开头const root process.env.ZCODE_CUA_PLUGIN_ROOT ?? process.env.ZCODE_PLUGIN_ROOT ?? process.env.CLAUDE_PLUGIN_ROOT; const { join } await import(node:path); const { pathToFileURL } await import(node:url); const { setupComputerUseRuntime } await import( pathToFileURL(join(root, scripts, computer-use-client.mjs)).href, ); await setupComputerUseRuntime({ globals: globalThis }); const app await agent.computerUse.getApp(Claude); await app.getAXStateAndScreenshot(); // 绑定后先观察一次要点来自 2026-09 实测辅助功能树可读性不稳定主窗口新建任务页往往只暴露 28 个左右的壳层 group读不到网页文本进入设置后则能暴露完整文本树几百个 text 元素含每个设置项的中文文案。判定语言以截图为准导航优先用元素 index——设置侧边栏的每项都是可AXPress的 button。getAXStateAndScreenshot()会自行展示截图一次调用只出一张图不要把返回值再emitImage。坐标只能取自当前返回的截图0 x width禁止复用旧的元素/窗口 bounds。观察调用自带等待 UI 稳定不要setTimeout或轮询连续观察无变化时先做一个动作再观察。树默认按 diff 返回只列变化项未变项 index 仍有效需要全量树时传{ disableDiffing: true }。2.5 实测可行的操作序列// 1) 绑定 首次观察主窗口 const app await agent.computerUse.getApp(Claude); await app.getAXStateAndScreenshot(); // 2) 打开设置 await app.pressKey(cmd,); await app.getAXStateAndScreenshot(); // 3) 点设置侧边栏某项index 取自最近一次观察如偏好设置50、隐私52、 // Claude Code56、技能72、插件76——以实际树为准 await app.click(50); await app.getAXStateAndScreenshot(); // 4) 关闭设置 await app.pressKey(Escape);注意 index 会随树刷新而变每次点击前以最新一次观察为准上一轮的 index 在 diff 观察中通常仍然有效。3. 逐页核对清单打开设置对绑定的 app 执行await app.pressKey(cmd,)或点左下角账号菜单 → 设置。每页一张getAXStateAndScreenshot()按下列清单核对✓ 本次会话补过的典型词条设置页核对点偏好设置一般主题 / 聊天字体 / 动态效果 / 语音语言下拉应为中文普通话展开应见英语粤语等/ 回复完成 / 工具访问模式 / 按需加载工具 / 当消息被标记时切换模型帐号组织 ID / 从所有设备退出登录 / 删除你的账号 / Claude 指令整句中文含Anthropic 准则链接隐私我们如何保护你的数据 / 偏好设置 / 位置元数据 / 你的数据 / 导出数据 / 已分享的聊天计费升级计划 / 发票记忆从聊天中生成记忆 / 在记忆中包含敏感主题 / 已迁移至新的记忆系统…剩余 N 天可[导出旧版记忆]横幅时间与专注时间与专注子项Claude Code常规 / 分类会话状态 / 代码外观 / Claude 浅色 / 代码字体 / 本地沙箱 / 严格沙箱模式 / 浏览器工具 / 保留 Cookie选项直到退出/ 归档不活动的会话 / 使用电池电量时保持唤醒系统桌面应用版本 / 听写快捷方式 / 保持计算机处于唤醒状态扩展 / 开发者编辑配置 / 导入与导出 / 当前部署未启用导入功能…技能搜索技能和插件占位符/ 添加下拉: 上传技能 / 创建技能 / 用 Claude 创建 / 添加你的第一批技能插件你的插件 / 全部插件 / 排序 · 最近编辑 / 添加你的第一批插件连接器发现 / 添加你的第一批连接器主窗口侧边栏Escape 关掉设置后核对聊天与任务 / 项目 / 技能 / 连接器 / 插件 / 新建分组… / 右键菜单固定 / 重命名 / 归档 / 移至组/ 悬停隐藏侧边栏 ⌘ B。项目页新建项目 / 想要开始一个项目/ 最近更新 / 按类型分组计划任务页计划任务 / 新建任务下拉用 Claude 创建 / 手动设置。清单中提到的动态文本如记忆横幅中剩余 N 天在源码层由补丁脚本的动态正则覆盖在 scripts/patch_claude_zh_cn.py 中zh-CN与zh-TW/zh-HK分支分别预置了legacy_memory_migration_text 我们已迁移至新的记忆系统。如果你想导出旧版记忆还剩 $1 天时间。等文本变量再由G[...]正则数组build_online_dom_translation_script()见 scripts/patch_claude_zh_cn.py按$1回填数字。核对时看到这类带数字的句子正是验证动态正则是否命中的机会。4. 判定与回报每页结论只写PASS/FAIL 具体英文残留原文截图即证据。发现英文残留 → 回到主工作流第 1 步定位 key → 补词表/正则 → 重打补丁 →只复验失败页。实测发现 FAIL 的处理实例2026-09Claude Code 页「需要注意时提醒我」的描述仍是英文 → 在 a11y 树中直接读到原文Bounce the Dock icon when Claude needs your attention and the app isnt focused.→ 在en-US.json反查得 keyHOH5mdam48→ 按主工作流补三地词表 → 重打补丁后仅复验该页。设置页的 a11y 树能直接给出完整英文原句比截图抄写更可靠优先用它。全部通过后向用户汇总一页对照表页面 / 检查点 / 结果。需要跑全量回归前主工作流还提供了映射命中率的前置校验skills/claude-desktop-zh-localize/scripts/verify_mapping.py 会针对 zh-CN / zh-TW / zh-HK 分别调用build_online_translation_map()scripts/patch_claude_zh_cn.py检查每个待验短语是否都能命中在线 DOM 翻译映射、以及frontend-zh-*.json中是否存在 en-US.json 里没有的历史废弃键要求恒为 0有未命中即退出码 1。也就是说在花几分钟打开应用逐页截图之前可以先在命令行用python3 skills/claude-desktop-zh-localize/scripts/verify_mapping.py Theme Past 3 months ...把静态可查的问题过滤掉让 computer-use 阶段只聚焦于真机渲染结果。5. 常见坑均实测踩过Electron 后台窗口的 webview 树会挂起配置窗口失焦后 a11y 树只剩约 27 个壳层元素按坐标的点击/键盘事件全部无效作用于真实指针位置。对策观察getAXStatewithdisableDiffing或elements()会重新唤醒 webview 树唤醒后用元素 indexAXPress点击它在后台窗口依然有效。点击前必须以最新一次观察的 index 为准旧 index 会报 tree has shifted。窗口偶发白屏等待数秒并重复观察即可加载卡死时关闭重开。配置窗口与主窗口首页走 react-intl 语言包不走 DOM 注入只写硬编码词表在这些界面不生效必须同时写frontend-zh-*.json的 key详见 SKILL.md 第 3 步。判定某句该走哪条通道的最快办法改完后观察是否渲染不渲染 缺 key。长页是虚拟化渲染折叠区下方读不到a11y 树只含可视区域条目合成滚动在后台窗口无效。对策不做逐页滚动改从en-US.json按key 命名簇兜底扫描如Ssh*、c4g*、Inf*、Config*、Relaunch*、scheduledTasks*、keepAwake*、CodeRepo*、InfIdp* 关键词值搜索SSH、built-in browser、Organization instructions 等把整个配置簇一次挖全。注意按前缀匹配会捞进无关散键如Vm*随机哈希键、PR 评审动作按语义过滤。3p 配置的 locale 竞态重要应用启动时会把~/Library/Application Support/Claude-3p/config.json的locale归一化为系统语言en-US。绝不在应用运行时手改该文件——会被运行中的应用回写覆盖。修正顺序必须是杀掉应用 → 改 locale → 启动。若界面整体回退英文最可靠的恢复方式是重跑补丁脚本它会优雅退出、写入双配置 locale、刷新 DesktopIntl 锁后重启而不是手工编辑。这一点与补丁脚本的quit_claude()实现scripts/patch_claude_zh_cn.py通过 osascript 向应用发送 quit 事件直接呼应——脚本内部默认就走优雅退出路径。pkill -9的连锁后果强杀后应用可能无窗口启动list_windows返回[]claude://与 reopen 事件唤不回连续强杀还可能令 Helper 的 TCC 授权状态失效报 Accessibility not granted需重启 ZCode。能用补丁脚本的优雅退出quit_claude就不要 -9。应用可能自动更新多轮重启期间 Claude 可能自更新asar 主 bundle 文件名会变如index.chunk-D3OyLXgG.js→DzZc-q0x.js。补丁脚本会自适应但重打补丁后要以新 bundle 名核验。代码演示区保持英文是正确的Claude Code 页代码外观里的function greet...代码块被保护选择器pre,code,[data-language]等排除在翻译之外不是漏翻。设置是 claude.ai 在线页DOM 翻译脚本在dom-ready注入首次打开偶见先英文后翻成中文的闪变截图前让观察调用自行等稳即可仍残留再判 FAIL。需要登录未登录时在线页不可达只能验证侧边栏与本地壳层报告中注明。补丁刚装完语言可能回 English左下角账号菜单 → Language → 简体中文补丁已锁spa:locale正常不会发生。弹窗/对话框观察结果的window字段会变先读弹窗内容再决定处理或 Escape 关闭。误点风险帐号页有删除账号红按钮、右键菜单有删除核对时只看不点确实要展开菜单就点无副作用项。asar 内容按 unicode 转义存储注入脚本经json.dumpsensure_asciiTrue写入 asar中文以\uXXXX形式存在。直接按中文原文in asar_bytes搜不到要用s.encode(unicode_escape)复核。与主汉化工作流的闭环衔接这份验证手册是 SKILL.md 中汉化工作流的第 6 步Computer Use 视觉回归验证可选但推荐的完整分步展开其上游是第 15 步在 en-US.json 按值反查 key → 确定三地译文 → 写入frontend-zh-*.json与frontend-hardcoded-zh-*.json→ 动态文本写双引擎正则 → 用verify_mapping.py与py_compile做静态验证。其中源文与译文相同会被丢弃is_online_dom_translation_entry要求source ! target且不含{、换行、长度不超过上限决定了哪些词条能进在线 DOM 映射、哪些只能走硬编码词表或动态正则——理解这条边界才能看懂核对清单里为什么某些页面静态词条 动态数字句要分开验证。每次批量补词后按本文流程重跑一次逐页截图即可在数分钟内把补丁是否真的渲染到位收敛成一张可汇报的 PASS/FAIL 对照表。赞分享桌面应用CLI【免费下载链接】claude-desktop-zh-cnClaude Desktop Chinese Patch (macOS Windows Linux)项目地址https://gitcode.com/gh_mirrors/cl/claude-desktop-zh-cn点击查看免费下载相关推荐Claude Desktop 中文补丁claude-desktop-zh-cn完整指南macOS / Windows / Linux 三平台一键汉化方案Claude Desktop 中文补丁claude desktop zh cn完整指南macOS / Windows / Linux 三平台一键汉化方案桌面应用CLIClaude Desktop 中文补丁汉化工作流实战三层翻译机制、补词流程与源码级验证Claude Desktop 中文补丁汉化工作流实战三层翻译机制、补词流程与源码级验证 本指南以 claude desktop zh cn 项目内置的 ski桌面应用CLIopencodex WebSocket 审计整改验证五项补丁的源码级核查与回归证据opencodex WebSocket 审计整改验证五项补丁的源码级核查与回归证据 导读 本文基于 opencodex 仓库中 devlog/_fin/180上一篇星穹铁道日常能压到 5 分钟一套自动清体力方案实测下一篇3分钟跑通第一个Python爬虫Scrapling 快速上手教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。