前言¶
DeepSeek Harness(DSH)的 Web 界面默認提供中文與 English。若團隊或用戶習慣俄語,只能依賴瀏覽器翻譯或忍受英文界面,菜單、設置、任務與插件相關文案無法與 DSH 內置語言機制對齊。下面介紹社區客戶端插件 dsh-locale-ru(維護者 kvashninsasha-gif):通過 DSH 官方本地化 API 註冊 Русский,與內置語言並列可選,未譯字符串回退到 English,而不是裸露鍵名。
這是什麼¶
dsh-locale-ru 是 DSH 客戶端類插件(分類:客戶端)。它不改寫 DOM,而是在運行時向 DSH 註冊俄語及按 namespace 劃分的翻譯字典。字典規模來自 README 說明:2615 條界面字符串、58 個 namespace,自全部 71 個 @deepseek-ai/dsh-client-* 客戶端插件、DSH 版本 0.2.0-rc.2 提取,覆蓋對話框、側欄、設置、目標、任務、子代理、軌跡、審批、插件、終端、文件、計劃、語音輸入等常見界面區域。
包版本 1.0.0,許可證 MIT。插件在 DSH 進程內加載運行;安裝前建議在 GitHub 倉庫 查看源碼與 LICENSE,確認符合你的環境策略。社區目錄頁:SkillHub - dsh-locale-ru(獨立站點,與 DeepSeek / 幻方無官方從屬關係)。
核心機制¶
註冊方式¶
插件走 DSH 內置本地化路徑:
- 通過
ctx.locale.addLanguage({ id: 'ru', label: 'Русский', fallback: 'en' })增加語言項; - 每個 namespace 用
ctx.locale.register(ns, 'ru', dict)掛載俄語字典。
Fallback 與卸載¶
- Fallback
ru → en:未翻譯或後續 DSH 版本新增的鍵,界面顯示英文,而非原始 key。 - 可逆:註冊掛在
ctx.effect上;禁用或移除 bundle 後,界面回到 English/中文可選狀態,語言列表中的「Русский」一併消失。
安裝與啓用¶
1. 作爲 DSH bundle(推薦)¶
包聲明瞭 dsh.bundle.patch,可在 Web 界面 Plugins 頁或 CLI 一條命令安裝。
桌面 profile:
dsh plugin --profile desktop add github:kvashninsasha-gif/dsh-locale-ru
CLI / Web profile:
dsh plugin --profile web add github:kvashninsasha-gif/dsh-locale-ru
dsh web
安裝完成後,打開 設置 → 通用 → 語言,選擇 Русский。若尚未手動選語言,DSH 會按 navigator.languages 匹配第一個支持的語言;瀏覽器系統語言爲俄語時,界面可能自動切到俄語。
2. 手動掛載(不用包管理器)¶
將插件目錄拷到 profile,並在 $DSH_HOME/profiles/<profile>/cordis.patch.yml 增加:
- insert:
- id: locale-ru
name: './plugins/dsh-locale-ru/lib/index.js'
此方式不修改 profile 的 package.json / lock。不要與 bundle 安裝同時使用,否則包名解析衝突。
卸載¶
dsh plugin --profile desktop remove dsh-locale-ru
手動安裝時:刪除 plugins/dsh-locale-ru 目錄及 cordis.patch.yml 中的 locale-ru 條目;設置中的語言會回到 English/中文。
典型用法¶
對多數用戶,安裝並選語言即可,無額外配置項。維護翻譯或跟進 DSH 升級時,倉庫提供 Node.js ≥ 22 的腳本(npm run check 不依賴 npm install):
npm run build # source/*.json → lib/client.js(翻譯不完整會失敗)
npm run check # 完整性、ICU 佔位符、bundle 是否過期、運行時註冊/卸載
DSH 應用升級後,字符串可能變化;README 給出從 macOS app.asar 內 @deepseek-ai 客戶端包重新提取字典、合併到 source/en.json、補全 source/ru.json 再 npm run build && npm run check 的流程。當前倉庫內字典基準版本爲 0.2.0-rc.2;其他 DSH 版本上新增鍵在 fallback 下會先顯示英文,直到重新提取並翻譯。
適用場景與限制¶
適合:需要在 DSH Web/桌面界面使用俄語的操作者、希望與內置中/英並列切換語言的團隊。
需注意:
- 加載屏(如「HARNESS」「Loading plugins…」)來自應用 shell(
dsh-web-frontend),不在 locale 字典體系內,語言包無法覆蓋。 - 宿主側
LocalizedText(例如部分 slash 命令如/model的描述)由各包內地圖解析,屬於dsh-client-locale文檔中的已知限制,本插件不修改這部分。 - 版本:字典針對 DSH
0.2.0-rc.2提取;peerDependencies未聲明,以免安裝被兼容性檢查攔住,但實際界面完整度仍取決於 DSH 版本是否與提取源一致。
倉庫結構(便於二次開發)¶
| 路徑 | 說明 |
|---|---|
lib/client.js |
瀏覽器端:語言註冊與全部字典(生成物) |
lib/index.js |
宿主端:供加載器引用的入口 |
cordis.patch.yml |
bundle 補丁,掛載到選定 profile |
source/en.json / source/ru.json |
英文(及中文)源與俄語譯文 |
tools/ |
構建、校驗、從應用提取字典的腳本 |
結尾¶
dsh-locale-ru 用 DSH 標準 ctx.locale 擴展俄語 UI,2615 條字符串覆蓋 58 個 namespace,安裝後於設置中選 Русский 即可;未譯內容回退 English,移除插件可完全還原。目錄與源碼:
- 目錄頁:https://www.skillhub.cn/plugins/kvashninsasha-gif/dsh-locale-ru
- GitHub:https://github.com/kvashninsasha-gif/dsh-locale-ru