dsh-reasoning-translator
Manifest valid★ 1DeepSeek Harness plugin: make the model write its chain-of-thought in your language
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
Comments
Loading…
From the same category
DeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.
★ 41.7k
↓ 123/wk
MIT
Aug 24, 2026
dsh plugin --profile web add dsh-plugin-reactive-resumeby dsh-market
The plugin market inside DeepSeek Harness — browse, search, one-click install · DSH 可视化插件市场
★ 11k
↓ 325.7k/wk
MIT
TypeScript
Nov 5, 2026
dsh plugin --profile web add dshmarketby Tencent
Let AI agents use your real, logged-in browser without interrupting your work. CLI + extension for browser automation across any shell-capable AI agent.
★ 10.1k
↓ 14.6k/wk
MIT
TypeScript
Nov 5, 2026
dsh plugin --profile terminal add @wxg-prc-cpg/browser-skill-dsh-pluginby superdesigndev
OpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn
★ 7.2k
NOASSERTION
Python
Nov 5, 2026
dsh plugin --profile web add treg-dshby yjh051108
dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).
★ 7k
MIT
JavaScript
Sep 18, 2026
dsh plugin --profile web add @dsh-external/dsh-super-injectorby Q00
Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,
★ 6.3k
MIT
Python
Nov 5, 2026