
UncleK/dsh-think-translate
dsh-think-translate
Translate the reasoning / thinking chain (chain-of-thought), task cards and answers of the DeepSeek Harness Web UI into one of 8 target languages
Install
npx @deepseek-ai/dsh plugin --profile web add dsh-think-translateRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-think-translate)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from UncleK/dsh-think-translate, cleaned of badges and images.
🐋 dsh-think-translate
Languages: English · 中文 · 日本語 · 한국어 · Español · Français · Deutsch · Русский
<img src="demo/demo.gif?v=2" width="46%" alt="dsh-think-translate demo" style="border:1px solid #4D6BFE;border-radius:8px;margin:4px" /> <img src="demo/demo2.gif?v=2" width="41%" alt="dsh-think-translate demo 2" style="border:1px solid #4D6BFE;border-radius:8px;margin:4px" />
Translate the reasoning / thinking chain (chain-of-thought), task cards and answers of the DeepSeek Harness Web UI into one of 8 target languages — in real time, on the display layer only. The originals stay untouched in the transcript, and the translated text never enters the model context.
✨ Why dsh-think-translate
DeepSeek-class models often reason in Chinese — or in whatever language they happen to think in. dsh-think-translate renders the Think row, task cards and answer in your language while you watch, like subtitles for the model's thinking.
- 🕵️ Read any thinking chain — reasoning, chain-of-thought, task cards and answers translated in real time, streamed batch by batch
- 🌍 8 languages, one consistent UI — 中文 / English / 日本語 / 한국어 / Español / Français / Deutsch / Русский; the settings panel, thinking rows and task cards all follow your choice, and it persists across reloads
- 🔗 Dynamic provider chain — order providers by drag-and-drop and enable/disable each one. Built-ins (google gtx, bing, local Ollama) plus any number of custom providers; the chain already ends with the free providers, so a second fallback pass is a config-file option, not a UI one
- 🔌 Custom providers (OpenAI & Anthropic) — add arbitrary OpenAI-compatible endpoints (any
/v1/chat/completionsgateway) or native Anthropic Messages API endpoints (Claude) from the settings panel: name, type, base URL, API key, model - 🪄 DSH provider discovery — providers already configured in DSH's
profiles/<profile>/cordis.patch.yml/ legacysettings.yaml(llm-pi-ai.providers, e.g. linuxdo-hub, coding-hub) are auto-discovered and appear in the chain as read-only "DSH" entries, and one button in settings rescans and adds them all at once; keys are resolved from.credentials.yamlat runtime and never written to the plugin's config. The harness's own default route counts too: whendefault-model/agent-default-modelpoints atdeepseek-official, DeepSeek's API is offered as one more DSH entry - 🔒 Local Ollama — reuse an existing installation and model. When enabled Ollama is first in priority, or you click Test, the plugin starts the service and loads the model as needed. Missing software/models require the setup button before installation/download, with live progress
- 🧠 Zero context cost — pure display layer: the model still sees the original text, and translated text never consumes the context window
- ☁️ Google / Bing fallback — automatic switch when other providers are unavailable (google goes through a Node CONNECT tunnel using the system proxy, bypassing anti-bot blocks)
- 🛡️ Code-safe — file paths, commands, URLs, regexes and pure-code lines are never translated
- 🚨 Auto-review reasons — when Auto review denies a tool call, the approval card appends the reviewer's reason in your target
…

