dsh-auto-i18n:在 Web UI 里把第三方插件中文界面翻成英文

前言

DeepSeek Harness(DSH)的生态里,很多社区插件直接写死中文菜单、设置项和说明,并不附带英文 locale 文件。若你习惯用英文 Web UI 开发或调试智能体,界面会中英混杂,读设置和点菜单都要多扫一眼。

常见做法是等作者补 i18n,或自己 fork 改文案。dsh-auto-i18n 走另一条路:在浏览器里对已渲染的界面文本做就地翻译,不依赖插件是否提供语言包。下面介绍它是什么、怎么装、怎么用,以及翻译范围与限制。

这是什么

dsh-auto-i18n 由维护者 x01Jin 发布,分类为客户端插件。一句话定位:在使用 DSH Web UI 时,把已安装插件界面上的中文按钮、标签、菜单等翻成英文。

插件托管于 GitHub:x01Jin/dsh-auto-i18n。社区目录页(与 DeepSeek / 幻方无官方从属关系的独立站点)见 SkillHub 条目。当前 package 版本为 0.1.0,许可证 MIT。

核心功能

根据 README 与 package.json,已核实能力如下。

就地翻译界面文案

覆盖按钮、标签、菜单项、设置行、对话框、工具提示、占位符、卡片文字,以及插件市场与插件管理器里的短说明。对硬编码中文字符串同样有效,不限于带 locale 文件的插件。

有意跳过的区域

为保护代码与长文档,以下不会翻译:

  • pre、code、kbd 内的内容;
  • 文本域与 contenteditable 编辑器;
  • Markdown 渲染区(含聊天消息、插件 README 正文),避免流式输出被半截翻译;
  • CodeMirror、Monaco 编辑器内容。

动态页面与缓存

客户端扫描 DOM,批量(最多 24 条)提交宿主路由;宿主经捆绑的 @deepseek-ai/dsh-experimental-translator 调用 Google,失败时回退 Bing,并在 $DSH_HOME/auto-i18n-cache.json(默认 ~/.dsh/auto-i18n-cache.json)持久化缓存。浏览器侧也有缓存,下次加载可少发请求。MutationObserver 处理后续插入的节点;React 重渲染可能覆盖译文时,会从缓存再应用。

隐私说明(作者声明)

待翻译文本经 Harness 翻译服务访问 Google / Bing 的匿名翻译端点,无需 API Key 或账号;结果仅本地缓存,作者称无其他存储或上报。

安装与启用

安装方式来自官方 README:通过 Harness 插件管理器以 bundle 安装本目录,可在 Plugins 页面操作,或使用 plugin_manager 工具的 install_bundle。插件市场也支持 GitHub 源,指向:

https://github.com/x01Jin/dsh-auto-i18n

bundle 会挂载随包提供的翻译服务 @deepseek-ai/dsh-experimental-translator,无需单独再装该服务。

环境要求(资料原文):

  • DeepSeek Harness 0.2.1-rc.5 或更新,且使用 Web UI;
  • Node.js 22.19+ 或 24+(与 Desktop 捆绑运行时一致);
  • 能访问翻译服务端点。

插件以当前 DSH 进程权限运行;安装前请自行查看仓库源码与 MIT 许可证,确认可接受网络翻译与缓存行为。

典型用法

  1. 按上文方式安装 bundle 并确保 Web UI 可用。
  2. 打开 Settings,进入 General,找到 Auto translate 开关。
  3. 默认开启翻译;关闭开关会恢复原文且无需刷新页面;选择保存在浏览器 localStorage。

开发时若改本地副本,README 建议安装前先检查语法:

node --check index.js
node --check client.js

将工作目录作为 bundle 安装后刷新页面;仅改 client.js 需刷新页面,改宿主侧 index.js 需重新安装插件或重启应用。

适用场景与注意

适合:主要用英文读 DSH Web UI,但装了大量中文界面的第三方插件;不想等作者补 locale,又只需要界面可读而非专业译稿。

限制(README 原文):

  • 机器翻译缺少上下文,短标签通常清楚,长句可能生硬;
  • 每个唯一字符串首次出现时各请求一次,中文标签多的页面可能需要数秒才稳定;
  • Google 与 Bing 均失败时,该会话内相关字符串保持中文;
  • 仅作用于 Web UI,不覆盖 CLI 或其他界面。

实现结构(便于排查)

文件 作用
index.js 宿主侧:翻译路由、调用提供商、磁盘缓存
client.js DOM 扫描、分批、浏览器缓存、设置项
cordis.patch.yml 插入翻译服务行与插件行

结尾

dsh-auto-i18n 用客户端扫描 + 宿主翻译 + 双层缓存,把社区插件里常见的中文 UI 在浏览器里翻成英文,并用设置开关控制,默认开启。若你正在扩展 DSH 插件或日常在 Web UI 里调智能体,可先装 bundle,在 General 里确认 Auto translate 是否符合预期。

  • 目录页:https://www.skillhub.cn/plugins/x01Jin/dsh-auto-i18n
  • 仓库:https://github.com/x01Jin/dsh-auto-i18n
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜