dsh-reasoning-translator
其他 活跃维护

dsh-reasoning-translator

pinkllo/dsh-reasoning-translator

轻量级推理插件,可自动将大模型输出的思维链内容翻译为用户指定的目标语言,无需额外配置即可接入使用,帮助用户透明化理解模型推理逻辑。

2
Stars 标星
0
Forks 分支
2
Watchers 关注
0
Open Issues
TypeScript
主要语言
MIT
开源协议
57 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:pinkllo/dsh-reasoning-translator
git clone https://github.com/pinkllo/dsh-reasoning-translator.git
git clone git@github.com:pinkllo/dsh-reasoning-translator.git
README.md main

dsh-reasoning-translator

English | 中文

A DeepSeek Harness plugin that translates visible reasoning and final answers in the Web UI only. Session logs are not rewritten.

How it works

The plugin is a Host + browser pair:

  • Chrome Translator / LanguageDetector (desktop Chrome 138+ or recent Edge): free, on-device, no API key. The first use of a language pair may download a pack and needs a click.
  • OpenAI-compatible API: the Host process calls the endpoint you configure in Settings, so the browser does not hit CORS.

Before translating, the plugin detects the source language and skips text that is already in the target language. You can translate reasoning, the final answer, or both; run automatically or from a per-block Translate button. Preferences restore instantly from localStorage (the API key is never cached there) and sync to the Host settings.yaml translation section, debounced; when the two copies differ, the most recently edited one wins. The Web settings RPC does not expose out-of-tree namespaces, so the plugin uses its own same-origin route.

This is not Chrome’s right-click “Translate this page”. Web pages cannot invoke that menu. The plugin uses the Translator API instead.

Install

# From a local checkout
dsh plugin --profile web add /absolute/path/to/dsh-reasoning-translator

# From GitHub (source install — allow the prepare build when prompted)
dsh plugin --profile web add github:pinkllo/dsh-reasoning-translator

# From npm, once published
dsh plugin --profile web add dsh-reasoning-translator

Then start dsh web (or pnpm dsh web from a harness checkout). Open Settings → Translation.

Settings

Option Default Effect
Target language zh Language of the displayed translation.
Translate reasoning on Show a control on Think blocks.
Translate answer on Show a control on the final answer.
Mode On demand always translates when a turn settles; on demand waits for the button.
Display Original and translation Translation only replaces the reasoning/answer body instead of showing both languages.
Backend Chrome built-in Or OpenAI-compatible.
Endpoint / model / API key OpenAI defaults Used only for the OpenAI backend. TRANSLATION_OPENAI_API_KEY or OPENAI_API_KEY can supply the key instead.

Develop

pnpm install
pnpm run build
pnpm test        # pure-function unit tests, needs Node 22.6+ (type stripping)
# from a deepseek-harness checkout:
pnpm dsh plugin --profile web add /absolute/path/to/dsh-reasoning-translator
pnpm dsh web

Open http://127.0.0.1:3080. After changing client sources, rebuild and restart dsh web.

Cursor’s embedded browser is Chromium without Chrome’s on-device Translator. If 'Translator' in self is false there, retest in desktop Chrome at the same URL.

License

MIT