前言¶
在 DeepSeek Harness (DSH) 的使用过程中,安装的技能往往附带英文描述,导致阅读体验割裂。手动翻译既耗时又难以维护。dsh-plugin-skill2cn 插件旨在解决这一痛点,它通过 LLM 将技能的 description 字段翻译为简体中文,并提供一键还原功能,无需重启 DSH 即可生效。
插件简介¶
- 名称:
dsh-plugin-skill2cn - 作者: kaluosifa
- 分类: 联网工具
- 许可: MIT
- 核心价值: 读取
SKILL.md的description,翻译后直接写回磁盘,同时维护一份manifest.json作为状态备份。
核心功能¶
插件在 DSH 设置界面中增加了一个「技能汉化」页面,包含三个标签页:
未翻译标签页¶
按来源(工作区 / 全局 / 插件包)分组技能。每个技能行包含「翻译」按钮,顶部提供「翻译全部」的批量操作。
已翻译标签页¶
显示已翻译的技能列表。支持单项「还原」、查看原文的开关,以及「还原全部」的批量操作。
批量任务管理¶
批量翻译采用异步任务,并发限制为 3。任务提供实时进度、成功与失败的摘要。如果翻译失败,条目会停留在面板上,并提供「重试」按钮。
新技能提示¶
当检测到新技能时,右下角会弹出 shell.overlay 卡片询问是否翻译。已废弃的技能不会被重复询问。
模型设置¶
提供三种路由方式:
1. 跟随会话路由: 使用当前会话的 LLM 配置。
2. 配置的提供商/模型: 从 DSH 已配置的模型列表中选择。
3. 自定义端点: 支持 OpenAI 或 Anthropic 兼容协议,需填写 Base URL、API Key 和模型名。Base URL 必须包含版本段(如 /v1)。
升级与同步¶
打开面板时,如果技能被插件包升级覆盖,条目会被静默清除或标记为过期,可重新翻译。
CJK 启发式检测¶
在批量运行前,插件会扫描描述。如果描述已经是中文,会被标记为「无需翻译」并跳过。
安装与启用¶
插件通过官方注册表安装。安装后,重启 DSH 以加载宿主端。
dsh plugin --profile web add dsh-plugin-skill2cn
开发与调试¶
如果你需要修改插件源码或从源码构建:
- 克隆仓库并安装依赖(需 Node ≥ 22.13 和 pnpm 11):
git clone https://github.com/kaluosifa/dsh-plugin-skill2cn.git
cd dsh-plugin-skill2cn
pnpm install
- 修改代码后运行构建:
pnpm build
构建过程会先生成 `lib-tsc` 目录(处理 TypeScript 装饰器),然后打包为 `lib/index.js` 和 `lib/client.js`。
- 安装本地构建的插件:
dsh plugin --profile web add .
- 修改
src/service.ts(宿主端)或src/client/**(客户端)后,需重新构建并重启 DSH 或刷新浏览器。
卸载与注意事项¶
卸载前,请务必先在「已翻译」标签页点击「还原全部」,因为插件的翻译结果直接写入磁盘,卸载不会自动回滚这些文件。
dsh plugin --profile <profile> remove dsh-plugin-skill2cn
重要说明:
* 工作区逻辑: 「工作区」分组遵循会话的 session.header.cwd。这意味着它指的是 DSH 当前打开的项目目录,而不是 DSH 进程启动的目录。如果在某个代码检出目录内启动 DSH,该目录本身的项目技能不会成为翻译目标。
* 枚举逻辑: 技能列表基于 ctx.skills 注册表的赢家集合(winner set)进行枚举。
结语¶
dsh-plugin-skill2cn 通过写回磁盘和状态备份机制,实现了 DSH 技能描述的自动化汉化与还原。对于需要管理大量本地技能的用户,这是一个实用的工具。