dsh-reasoning-translate-zh:在显示层把 reasoning 译成中文

前言

在 DeepSeek Harness(DSH)里跑带 reasoning 的模型时,思考过程往往是英文长文本。折叠一行、展开一段,若全程读英文,会拖慢排查 agent 行为的速度。社区里常见做法是往 system prompt 里注入「请用中文思考」,模型输出会变,且不一定每个模型都听话。

下面介绍的是客户端插件 dsh-reasoning-translate-zh(包名 / 插件 id 为 dsh-think-zh):不改会话、不改 Trajectory、不改导出文件里的推理原文,只在界面把 reasoning 实时译成中文;折叠时给中文摘要,展开后是中文正文,并可展开查看英文原文。维护者为 GitHub 用户 2503455457-max,分类为客户端插件。

这是什么

一句话定位:显示层翻译,不是行为层改模型。

提示词注入类同类插件 本插件
模型行为 被提示词改变 不变
依赖 模型需服从指令 任意模型均可
成本 通常无额外翻译调用 需翻译调用(可全本地 Ollama)
原文 往往只有中文 中文 + 可展开英文

会话事件与导出里的 reasoning 文本一个字节都不改;翻译结果只存在于渲染层与插件缓存。

核心功能

界面效果

  • 思考行折叠:显示中文摘要(取自译文最新段落)。
  • 展开:显示中文正文;正文下方有「展开英文原文(N 字符)」,点开才见模型原始英文。

工作机制(概要)

DSH 流式推送 reasoning-delta 后,客户端通过插槽 conversation.chat.node(assistant-step,priority=-1)挂载影子渲染器 dsh-think-zh:把 reasoning 块的展示文本换成缓存译文,并在内置渲染之上绘制中文行与可折叠英文。翻译请求走宿主半区 POST /dsh-think-zh/translate。

设计约束(README 原文要点):

  1. 不改会话状态 — 不写回 session event,避免篡改模型下一轮上下文。
  2. 整句缓存 — 句子结束后键不变,只为新句与未完成半句发起翻译,减少重复计费。
  3. 失败回退 — 只接管 reasoning 块;渲染异常时弃用影子条目,回退内置渲染。

按需翻译(省算力)

  • 折叠:只翻第一句作摘要。
  • 展开某一行:才翻译该行全文(约 1–2 秒后补上)。
  • 采用整句缓存、单飞与熔断,避免本地模型被流式请求打满。

翻译引擎

可在三种引擎间切换(配置与「思」面板):

引擎 说明
dsh 复用 DSH 已配置模型(默认;会产生账户额度消耗)
ollama http://127.0.0.1:11434,可完全本地、零费用
openai-compatible 任意 OpenAI 兼容 /chat/completions 端点

README 实测:本地推荐 Ollama qwen2.5:1.5b(延迟与漏译表现优于多种本机模型);不建议用 Qwen3.6 / Qwen3.8 作本插件翻译引擎(延迟过高)。

与 DSH 0.2.1 自带 dsh-experimental-cot-translation-bundle 等相比:本插件在折叠态也显示中文摘要,且强调可全本地 Ollama 与摘要优先、展开才翻全文的请求策略。

安装与启用

插件以 DSH 进程权限运行;安装前建议自行查看仓库源码与 MIT 许可证。DSH 对客户端插件容错为「全有或全无」:任一 bundle 加载异常可能导致应用无法启动并进入恢复模式、重写 profile 配置;README 明确说明无法承诺零风险,并记录于 CRASH-RECORD.md。

从 GitHub 安装(推荐)

桌面端安装前完全退出 DSH 应用(Electron profile 独占);装完需重新打开应用,仅刷新页面不够。

dsh plugin --profile desktop add git+https://github.com/2503455457-max/dsh-reasoning-translate-zh.git

Web 环境将 desktop 换为 web:

dsh plugin --profile web add git+https://github.com/2503455457-max/dsh-reasoning-translate-zh.git

package.json 声明 DSH 兼容范围:>=0.2.1-rc.2 <0.3.0。README 写明已在 DSH 0.2.1-rc.3 / rc.5(macOS 桌面端)验证渲染、翻译与面板;大版本升级后插槽与 renderSlot 契约可能变化,需重新验证。

本地源码(开发 / 调试)

cd dsh-think-zh
node scripts/build-client.mjs
bash scripts/install-desktop.sh

亦支持 dsh plugin add file:<路径> 与 git+https 写入 profile。

配置与典型用法

首次运行写入 $DSH_HOME/dsh-think-zh/config.json(默认 ~/.dsh/dsh-think-zh/config.json)。示例结构如下(字段含义以 README 为准):

{
  "enabled": true,
  "engine": "dsh",
  "showOriginal": true,
  "defaultOpenOriginal": false,
  "minChars": 40,
  "glossary": [],
  "engines": {
    "dsh": { "provider": "deepseek-account", "model": "deepseek-flash", "reasoningEffort": "off", "maxTokens": 1024, "temperature": 0 },
    "ollama": { "baseURL": "http://127.0.0.1:11434", "model": "qwen3.8:latest", "keepAlive": "30m", "timeoutMs": 120000 },
    "openai-compatible": { "baseURL": "", "model": "", "apiKey": "", "displayName": "OpenAI-compatible", "timeoutMs": 60000 }
  }
}

常用字段:enabled 总开关;engine 选择引擎;showOriginal / defaultOpenOriginal 控制英文原文入口;minChars 短于该长度不翻译;engines.dsh 的 provider/model 留空时回退当前 agent 默认模型。

首次使用建议:

  1. 默认 engine 为 dsh,会用已选模型翻译并可能计费。
  2. 若要零成本且内容不出本机:安装 Ollama,执行 ollama pull qwen2.5:1.5b,在界面右上角 「思」 面板将引擎切为 Ollama 本地。
  3. 面板可测连通性;改动即时写回 config.json。

不装插件也可压测翻译引擎(宿主需已运行并暴露接口):

node scripts/bench-engine.mjs --url http://127.0.0.1:19399 --runs 3

修改 config.json 中 engine 与 engines.<engine> 后,可 POST /dsh-think-zh/config 重建引擎,或在「思」面板切换。

适用场景与注意

适合:

  • 需要读中文 reasoning,但希望模型仍按原方式(多为英文)推理,且保留可核对英文原文。
  • 希望翻译走本机 Ollama,避免推理片段出网(相对云端翻译方案)。
  • 接受「折叠只看摘要、展开才翻全文」的延迟与算力 trade-off。

注意:

  • 只翻译你实际查看的内容;未展开的行不会预先翻全文。
  • 依赖 DSH 内部插槽与渲染契约,升级 DSH 后需对照 README「兼容性」重新验证。
  • 若仅需「展开后再看中文」、且想用官方默认 Bing/Google 方案,官方 experimental 插件可能更省事;本插件差异在本地引擎与折叠中文摘要。

结尾

dsh-reasoning-translate-zh(dsh-think-zh)把 reasoning 的阅读体验搬到中文显示层,不注入提示词、不改模型行为;引擎可从 DSH 账户模型切到本地 Ollama。社区插件目录与 DeepSeek / 幻方无官方从属关系,安装与配置以仓库 README 为准。

  • 目录页:https://www.skillhub.cn/plugins/2503455457-max/dsh-reasoning-translate-zh
  • GitHub:https://github.com/2503455457-max/dsh-reasoning-translate-zh
羽毛球分组比赛记分
小程序二维码

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

小夜