dsh-locale-ru:为 DeepSeek Harness Web UI 增加俄语界面

前言

DeepSeek Harness(DSH)的 Web 客户端默认以英文界面为主。对习惯俄语的工作流来说,每次在设置、对话、工作区之间切换,都要在英文菜单里找对应项,既慢也容易误点。社区里已有通过客户端 locale 注册机制扩展语言的思路;dsh-locale-ru 走同一条路:不改动 DSH 本体或 node_modules,只在 Settings → General → Language 里多出一个 Русский (ru) 选项,选中后界面即时切换为俄语,未覆盖的文案仍按注册表自带的 ru → en 链回退到英文。

下面介绍这个插件是什么、能做什么,以及如何安装与选用语言。

这是什么

dsh-locale-ru 是维护者 thezavtrak-a11y 发布的社区 DSH 客户端插件(npm 包名 dsh-locale-ru,当前版本 1.0.0,MIT 许可证)。它面向 DeepSeek Harness Web UI,通过官方包 @deepseek-ai/dsh-client-locale 的 locale 注册表登记俄语词典,在语言列表中增加 ru,不改变宿主进程行为(宿主侧 index.js 的 apply() 为空实现)。

插件在 SkillHub 社区目录中归类为 趣味换装——本质是界面语言包,适合想给 DSH 客户端「换一套俄语皮肤」的用户。

核心功能

资料中可核对的能力如下。

语言与覆盖范围

  • 语言选择器中出现 Русский;切换无需整页重载或重启 DSH。
  • 54 个 namespace,覆盖聊天、对话、轨迹、工作区、设置(模型、权限、插件、子代理、Web 搜索、Shell、会话日志、Agent 循环与预设等)、侧栏(文件、文档、Excel、Office、PDF、图片、终端)、插件管理、快捷键、目标、Plan 模式、提问、审批、交付物等客户端主要界面。
  • 语料规模:2158 / 2159 个英文 key 已有俄语译文(约 corpus 的 100%);缺失项由注册表 ru → en 回退。
  • 作者在 DeepSeek Harness 0.2.0-rc.2(已安装桌面应用,web 与 desktop profile)上做过验证;locale 注册 API(addLanguage、两种 register 形式)在 0.1.5 至 0.2.0 间未变,较旧客户端也可使用同一 bundle。

持久化偏好

  • 在 profile 中写入 locale 行、config.preference: ru 后,新会话与新窗口仍保持俄语;若无该行,语言随浏览器偏好,插件仅作为列表中的可选项。

工程与质量

  • 术语以仓库内 GLOSSARY.md 为约定,并有术语审计工具;构建链路包括从运行中构建提取语料、合并、生成词典、覆盖率检查与 bundle 冒烟测试。
  • 发布载荷经 audit-public 等检查:词典仅为 UI 文本,不含网络、存储或注入类 API;不修改上游安装目录。

仍保持英文的部分(上游行为,非词典遗漏):内置工具名、IN/OUT、diff、JSON/PDF/HTTP 等标签、斜杠命令、第三方应用名、路径与模型名等。

安装与启用

安装命令须使用资料原文中的 file: 路径方式,不要凭仓库名拼接 dsh plugin add github:...。你需要先把插件包放到本机某一目录(资料称为 checkout),再执行:

# 1. 作为 profile 的 bundle 安装
dsh plugin --profile web add "file:<path to this checkout>"

# 2. 刷新页面(页面构建 module 表时会加载新的 loader 行)

作者还描述了「手工挂载」方式:在 $DSH_HOME/profiles/<profile>/package.json 里写 file: 依赖、用 Junction 链到 node_modules/dsh-locale-ru、并在 cordis.patch.yml 插入 locale-ru loader 行;细节见仓库 INSTALL.md(俄文步骤说明)。工具链需要 Node 22+(package.json 的 engines);运行时除 DSH 客户端外无额外依赖。

注意: 插件随当前 DSH 进程与用户 profile 加载;安装前应阅读源码与 MIT 许可证,确认路径与 profile 名称(示例为 web)与你的环境一致。

典型用法

在界面里选俄语

  1. 打开 Settings → General → Language。
  2. 选择 Русский;界面立即切换。

若需固定为俄语,profile 的 cordis.patch.yml 中可有如下 locale 配置(与 README 一致):

# $DSH_HOME/profiles/<profile>/cordis.patch.yml
- id: locale
  name: '@deepseek-ai/dsh-client-locale'
  config:
    preference: ru

维护者自测命令(可选)

在插件目录下可复现 README 中的检查步骤,例如语法检查、重建 bundle、严格覆盖率门禁、冒烟与术语审计:

node --check index.js && node --check lib/client.js
node scripts/build.mjs
node scripts/check.mjs --strict
node tools/smoke.mjs .
node tools/terms.mjs dict/ru

DSH 上游新增英文字符串时,可用 scripts/extract.mjs、merge-corpus.mjs 更新语料,翻译 dict/ru 后再 build 与 check --strict。

适用场景与注意

适合谁

  • 日常用 DSH Web / 桌面客户端、希望界面为俄语的开发者或团队。
  • 需要在不 fork DSH 的前提下扩展语言、并依赖官方 locale 注册表而非直接改客户端文件的用户。

使用时注意

  • 分类为社区 趣味换装 / 本地化类插件,与 DeepSeek、幻方无官方从属;SkillHub 为独立社区目录。
  • 部分产品名、命令、技术标识 intentionally 保持英文,属预期行为。
  • 宿主侧不执行额外逻辑,但客户端 bundle 会在浏览器中注册语言;只从可信来源安装,并理解插件以 当前 dsh 进程权限 运行。

结尾

dsh-locale-ru 通过 @deepseek-ai/dsh-client-locale 登记 54 个 namespace 的俄语词典,在 Settings → General → Language 提供 Русский,切换即时、偏好可写入 profile,未译 key 回退英文。若你需要给 DSH 客户端换上完整俄语界面,可从社区目录或 GitHub 获取包并按 file: 方式装入 profile。

  • 目录页:https://www.skillhub.cn/plugins/thezavtrak-a11y/dsh-locale-ru
  • GitHub:https://github.com/thezavtrak-a11y/dsh-locale-ru
羽毛球分组比赛记分
小程序二维码

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

小夜