dsh-harness-zh-l10n
DeepSeek Harness (dsh) 界面中文汉化 + 重试策略 UI 注入工具。多版本通用——只要 dsh 的英文源串没变,rc.6 / rc.7 / rc.8 / rc.9 … 都能直接套用,不受行号漂移影响。
把 dsh 的五模式描述、权限标签、命令描述和梁神模式描述翻成中文,让界面一眼能看懂每个功能是干什么的、怎么用。
汉化了什么
| 模块 | 效果 |
|---|---|
| 五模式描述 | 标准/PTC/极简/创造/梁神的按钮文案变成「一句话看懂特点 + 怎么用」的中文 |
| 权限标签 | (自 dsh 0.1.1-rc.1 起由 dsh 内置中文词典提供,本工具不再改写;界面语言设为中文即显示) |
| 命令描述 | /compact /export /feedback /goal /permission /plan 的说明改成中文(命令名不变) |
| 梁神模式描述 | 梁神模式在模式选择器里的介绍改成中文;并同步其 preset 术语(PTC Mode→Code Mode (PTC))与精简配置 |
额外功能:重试策略 UI(应对 429 / 火爆模型)
在 设置 → 模型 → 自定义设置 里新增两个输入框,直接改每个模型提供方的重试策略(写入其 retryPolicy 配置):
| 输入框 | 写入字段 | 默认 | 作用 |
|---|---|---|---|
| 重试次数 | retryPolicy.maxRetries |
5 | 遇 429 / 超时等可重试错误时,最多重试几次 |
| 重试间隔(ms) | retryPolicy.backoff.initialDelayMs |
500 | 每次重试前的等待;设小(如 200)可更快「抢」到火爆模型资源 |
适用场景:某模型经常 429,想持续快速重试直到抢到资源时,把「重试次数」调大(如 20~30)、「重试间隔」调小(如 200)。
⚠️ 注意:deepseek 适配器会优先读取服务端retry-after响应头决定等待时长;若该 429 响应带retry-after,等待会被它覆盖,「重试间隔」仅在无该响应头或退避增长阶段生效。所以「重试次数」才是抢到资源的主要杠杆。
该 UI 由apply.js在 dsh 升级后自动重新注入,无需手动重复操作。
为什么「多版本通用」
早期版本用的是 diff -u 上下文补丁。这种补丁靠「变更行 + 上下各 3 行上下文」定位落点——即使英文单词一字未改,只要周围代码行一漂移(比如 rc.8 把函数整体下移了 126 行),patch 就会因上下文对不上而报 "does not apply"。这正是「没换单词翻译却失效」的根因。
本仓库改用 apply.js 字符串替换脚本:
- 按精确子串把英文/旧中文串替换为中文,不依赖行号或上下文,天然跨版本。
- 插入类改动(权限中文映射)用锚点后插入,锚点是稳定函数签名。
- 所有操作幂等:已应用过的串不会再改;版本漂移导致串不存在时自动跳过并报警,不会硬失败。
- 每个被改文件先备份为
*.l10n.bak,可随时还原。
使用方法(30 秒)
- 确认 dsh 已安装在默认位置
C:\dsh(或设置环境变量DSH_ROOT指向你的安装根) - 下载本仓库(含
apply.js+apply.bat)放在同一文件夹 - 双击
apply.bat,或命令行node apply.js- 想先看效果不改动文件:
node apply.js --dry-run
- 想先看效果不改动文件:
- 重启 dsh 服务进程(关键:命令描述由宿主后端在启动时加载,不重启内存里仍是英文)
- 浏览器打开
http://127.0.0.1:3080,按 Ctrl+Shift+R 硬刷新
⚠️ 两类文案的生效链路不同,别被"有的变了有的没变"骗了:
- 模型描述 / 权限标签 属于客户端 UI 包(
dsh-client-ui-*),浏览器每次加载直接读磁盘 → 硬刷新浏览器即生效,不用重启服务。- 命令备注(
/compact/export等)属于宿主后端命令包(dsh-command-*),由 Node 服务进程在启动时require进内存 → 必须重启 dsh 服务进程才会重新加载。所以"模型翻译还在、命令翻译没变"不是脚本没改对,而是服务没重启。用
apply.js改完磁盘后,只要重启一次 dsh 即可全部生效。⚠️ 梁神插件(
@linxin666/dsh-liangshen)装在~/.dsh/下,dsh 升级不会冲掉它;脚本会检测已汉化的部分并自动跳过,不影响其他汉化。
回退
每个被修改的文件旁边会生成 *.l10n.bak。要恢复英文,把对应 .l10n.bak 复制回原名即可;或直接重装对应 npm 包。
适配版本
- 工作方式:按英文字串定位,只要源串未变就通用。
- 已实测通过:dsh
0.1.0-rc.6/0.1.0-rc.8/0.1.1-rc.1,@linxin666/dsh-liangshen0.1.19/0.3.2。 - ⚠️ 自 dsh 0.1.1-rc.1 起,权限标签(只读 / 工作区写入 / 完全访问)由 dsh 内置 i18n 词典提供,本工具不再改写权限标签。若界面权限标签仍为英文,请在 dsh 设置中将「语言 / Language」切换为中文(或跟随系统中文)。
- 若某次大版本把英文字串本身也改了,脚本会跳过该项并提示,届时按 dev 仓库的
regenerate-patches.js重新对齐即可。
协议
MIT