dsh-reasoning-translator

by pinkllo

2 会话与消息github收录于 08-23

DeepSeek Harness 插件:让模型用你的语言写思维链

DeepSeek Harness plugin: make the model write its chain-of-thought in your language

安装

dsh plugin --profile web add github:pinkllo/dsh-reasoning-translator

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

English | 中文

一个 DeepSeek Harness 插件:只在 Web 界面显示层 翻译可见的思维链和最终回答,不改写会话日志。

工作原理

插件分宿主和浏览器两半:

  • Chrome Translator / LanguageDetector(桌面 Chrome 138+ 或较新 Edge):免费、在设备上运行、不需要 API Key。某个语对第一次使用时可能下载语言包,并需要一次点击。
  • OpenAI 兼容接口:由宿主进程请求你在设置里填写的地址,浏览器不会直接跨域打到 OpenAI。

翻译前会检测源语言,已经是目标语言则跳过。思维链和最终回答可分别开关;可自动翻译,也可只点某一块上的「翻译」按钮。设置从浏览器 localStorage 即时恢复(API Key 不落本地缓存),并防抖同步到宿主 settings.yaml 的 translation 分节;两份副本不一致时以最近修改者为准。Web 配置 RPC 不暴露树外插件命名空间,所以走插件自己的同源路由。

这不是 Chrome 右键「翻译此网页」。网页无法调用那个菜单。本插件使用的是 Translator API。

安装

# 本地目录
dsh plugin --profile web add /absolute/path/to/dsh-reasoning-translator

# 从 GitHub 安装(源码安装,按提示放行 prepare 构建)
dsh plugin --profile web add github:pinkllo/dsh-reasoning-translator

# 发布后从 npm 安装
dsh plugin --profile web add dsh-reasoning-translator

然后启动 dsh web(源码检出里用 pnpm dsh web)。打开 设置 → 翻译。

设置项

选项 默认 作用
目标语言 zh 译文语言。
翻译思维链 开 在 Think 块上显示翻译控件。
翻译最终回答 开 在最终回答上显示翻译控件。
触发方式 按按钮 always 在一轮结束后自动译;按按钮则只译你点的那一块。
显示方式 原文与译文对照 仅显示译文 会用译文直接替换思维链/回答,不再中英对照。
后端 Chrome 内置 或 OpenAI 兼容接口。
接口 / 模型 / API Key OpenAI 默认值 仅 OpenAI 后端使用。也可用环境变量 TRANSLATION_OPENAI_API_KEY 或 OPENAI_API_KEY。

本地开发

pnpm install
pnpm run build
pnpm test        # 纯函数单测,需要 Node 22.6+(依赖类型擦除)
# 在 deepseek-harness 源码检出中:
pnpm dsh plugin --profile web add /absolute/path/to/dsh-reasoning-translator
pnpm dsh web

打开 http://127.0.0.1:3080。改完客户端源码后需要重新构建并重启 dsh web。

Cursor 内置浏览器是 Chromium,通常没有 Chrome 设备端 Translator。若页面里 'Translator' in self 为 false,请用本机桌面 Chrome 打开同一地址复测。

许可证

MIT

原始 README: https://github.com/pinkllo/dsh-reasoning-translator/blob/main/README.zh.md ↗