DeepSeek Harness 中文汉化插件:通过 system-prompt/assemble 瀑布钩子在运行时把全部系统提示词、工具描述与运行时上下文翻译成中文(1788 条译文,零源码修改,卸载即还原英文)。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-harness-zh-cn
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:zjl1989-li/dsh-harness-zh-cn
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness 中文汉化插件 —— 在运行时把 DSH 的全部系统提示词、工具描述与运行时上下文翻译成中文。
这是一个纯运行时插件:它通过 DSH 的 system-prompt/assemble 瀑布钩子,在每次组装提示词后把模型可见的英文文本替换为中文,不修改任何 DSH 源码。卸载插件即完全还原英文。
当前内置 1788 条翻译,覆盖系统提示 sections、运行时上下文、全部工具描述与参数描述,以及 cordis 完整 API 目录(55 服务 + 56 事件)。
特性
- ✅ 零源码修改:不碰
node_modules,升级 DSH 后依然有效 - ✅ 覆盖面广:系统提示 sections、运行时上下文 contexts、工具描述与参数描述、cordis API 目录全部汉化
- ✅ 协议安全:
[exit code: N]、[killed by signal: X]、[sandbox: ...]、[stderr]等被 DSH 或前端解析的机器协议标记保留原样,不破坏下游解析 - ✅ 可开关:
sections / contexts / tools三类翻译可分别关闭 - ✅ 插件市场描述翻译:安装 dsh-plugin-marketplace 后,插件市场里各插件的英文描述会自动翻译成中文——先即时显示(词表兜底,不卡加载),后台用 LLM 批量翻译后自动刷新一次显示流畅中文,结果缓存(同一描述只翻一次,不重复消耗 token)
- ✅ 即插即用:作为普通 DSH 插件加载,卸载即还原
安装
方式一:npm 包(推荐)
npm install dsh-harness-zh-cn
# 或
pnpm add dsh-harness-zh-cn
方式二:从 GitHub 安装
npm install git+https://github.com/zjl1989-li/dsh-harness-zh-cn.git
方式三:本地开发(直接引用本仓库)
npm install <本仓库路径>
启用
方式一:UI 插件管理(推荐)
在 DSH Web GUI 的 设置 → 插件管理 中添加 dsh-harness-zh-cn,重启后生效。UI 会正确登记 bundle 并持久化配置。
方式二:profile bundle 列表
在 profile 的 package.json 的 dsh.profile.bundles 列表中加入(cordis.yml 是自动生成文件,请勿直接编辑):
{
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-harness-zh-cn"
]
}
}
}
方式三:cordis.patch.yml
在 DSH profile 的 cordis.patch.yml 中追加插件条目:
- $plugin: dsh-harness-zh-cn
config:
includeSections: true
includeContexts: true
includeTools: true
重启 DSH 后生效。无需改动任何 DSH 源码。
配置
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
includeSections |
boolean | true |
翻译系统提示词 sections(身份、工具指导等) |
includeContexts |
boolean | true |
翻译运行时上下文 contexts(沙箱策略、审批策略、委托声明等) |
includeTools |
boolean | true |
翻译工具描述与参数描述 |
verbose |
boolean | false |
调试日志 |
工作原理
DSH 在每次模型请求前通过 ctx.systemPrompt.assemble() 组装提示词,组装过程会触发 system-prompt/assemble 瀑布事件。本插件在该瀑布的 next() 之后:
- 遍历
assembly.sections,将每个 section 的text经translate()汉化; - 遍历
assembly.contexts,汉化每个动态上下文文本; - 遍历
assembly.tools,汉化工具description并递归汉化parameters中的description字段。
translate() 使用 dict/ 目录下的 JSON 字典,匹配顺序:
- 精确匹配:整句文本与字典
en完全一致时直接替换; - 空白折叠匹配:将连续空白折叠为单个空格后比较,容忍源码拼接处的空格差异(如
base + background的边界); - 模板正则:对含路径、数字、模式名等动态部分的文本,用
template: true条目做整体正则替换($1、$2引用捕获组)。
机器协议标记与代码标识符一律保留。
插件市场描述翻译(额外能力)
本插件还带一个 client 半(浏览器端),配合 dsh-plugin-marketplace 使用:
- 拦截
window.fetch对/api/market/list的响应; - 即时显示:英文描述先用内置词表就地翻译(不阻塞列表渲染);
- LLM 批量翻译:后台调用本插件注册的
POST /api/harness-zh/translate端点(用部署默认模型,一次调用翻译一批),结果写入localStorage缓存并自动刷新一次显示流畅中文; - 缓存复用:同一描述只翻译一次,之后打开直接命中缓存,不重复消耗 token。
该翻译端点为插件自注册(
/api/harness-zh/translate),不修改 dsh-plugin-marketplace 源码;LLM 不可用时自动回退到词表翻译。
翻译字典
所有译文集中存放在 dict/ 目录,当前 5 个字典共 1788 条:
| 字典 | 条目数 | 覆盖内容 |
|---|---|---|
core.json |
23 | 身份行、沙箱/审批策略、委托声明、工作区指令 |
tools-fs-bash.json |
39 | read/write/edit/bash 工具与参数 |
tools-fs-core.json |
221 | pwsh/fs/cordis 工具、plan-mode、sandbox 等 |
tools-web-jobs-goal.json |
264 | web/jobs/goal/ralph/workflow/subagent 等 |
cordis-api.json |
1241 | cordis 完整 API 目录(55 服务 + 56 事件 + 方法/参数/返回值) |
字典格式:
{
"包名:键名": {
"kind": "section | context | tool | param | render | command | const",
"en": "英文原文(整句),或模板正则(当 template: true)",
"zh": "中文译文,模板中可用 $1、$2 引用捕获组",
"template": true
}
}
收录规范
- 只收模型可见文本:经工具输出、结果渲染、停止原因错误回传给模型的完整句子;纯内部校验/配置错误不收
- 动态纯数据字符串不收:如 job_list 行格式、presentCall 直接显示的标题
- 术语统一:agent→代理、job→任务、session→会话、provider→提供方、fiber→纤程
- 机器协议原样保留:
[status: ...]、[exit code: N]、[sandbox: ...]、<system-reminder>等标记本身不动,仅译内部说明文字 - 代码标识符保留:工具名、参数名、
${...}、{{...}}、反引号代码片段不译
欢迎通过 PR 补充或修正译文。
发布
- npm: dsh-harness-zh-cn
- GitHub: zjl1989-li/dsh-harness-zh-cn
版本发布策略
为避免频繁发布冗余版本,遵循以下约定:
- 功能/修复攒够一批:同一主题的改动(如"市场描述翻译"的多个小修复)合并为一个版本发布,不逐个小改动发布
- 本地验证通过后再发:发布前必须在运行中的 DSH 部署验证(插件加载、端点响应、翻译效果),确认无回归
- 语义化版本:破坏性/大功能 → minor(0.x.0);修复/小改进 → patch(0.x.y);不因 README、元数据等非功能性改动单独发版
- 版本间隔:两次发布之间至少间隔一个完整的验证周期;紧急修复除外
- 旧版本:被替代的早期版本用
npm deprecate标记(不删除,符合 npm 生态惯例)
历史教训:早期 0.1.0–0.2.2 在 2 小时内发布 6 个版本,多为逐个小改动发布,属冗余行为,已通过 deprecate 0.1.x 修正并在此固化策略。
社区收录
本插件已通过 GitHub dsh-plugin topic 加入 DSH 社区插件生态:
- dsh-plugin-marketplace(设置 → 插件 的市场标签页):实时同步
dsh-plugintopic,仓库已自动收录,用户可直接搜索harness-zh一键安装 - awesome-dsh-plugin:符合收录要求(
dsh.bundlemanifest +cordis.patch.yml),可提交 PR 加入精选列表 - awesome-deepseek-harness、dshfind 等社区列表均可提交
许可证
MIT
链接
同类插件
liustack/modlens★ 2135
为纯文本模型架起视觉桥梁:粘贴图片,输出结构化 JSON 证据(OCR、版面、语义)。
Anionex/dsh-vision-toolkit★ 476
让纯文本模型更好地做视觉任务:带意图的图片问答、长截图 OCR、UI 还原等。
superdesigndev/treg★ 423
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
ysr666/dsh-vision-router★ 273
为纯文本 Agent 提供视觉能力:内置免 Key 视觉链 + 像素级视觉工具(看图问答、定位、裁剪、像素对比、取色、OCR、矢量化、抠图、截图);粘贴图片即可用。
Lum1104/dsh-browser★ 180
Chrome 侧边栏扩展,让 DSH 直接操控你的浏览器,无需视觉能力。
zhaoolee/notes★ 141
将 DSH 对话导出为锤子便签风格 PNG,或在配置的账号工作区中新建和更新 Markdown 便签。