Introduction

When building DSH agents, the Web UI directly displays the model’s visible reasoning and final answer. If you wish to switch the reading display to another language but do not want to modify the original session logs, you need a translation plugin that only acts on the display layer. dsh-reasoning-translator is a DeepSeek Harness plugin provided by pinkllo, positioned as “display-layer translation of visible reasoning and final answers only within the Web UI,” supporting Chrome Translator or OpenAI-compatible API.

What is this

In short: It does not rewrite session logs; it only translates the visible reasoning and final answer in the Web UI. The maintainer is pinkllo, and the license is MIT.

It solves the Web UI display language problem: original logs remain intact, while translated displays are provided on the page. DSH’s plugin ecosystem emphasizes “everything is a plugin.” The community directory page can be used to find plugins, but it is not an official app store and does not represent an official endorsement by DeepSeek or Fenxuan.

Core Features

Below are its verified capabilities.

  • Only translates the visible reasoning and final answer in the Web UI, without rewriting session logs.
  • Supports Chrome Translator / LanguageDetector backend. Requires desktop Chrome 138+ or newer Edge; free, runs on local devices, no API key required. When using a language pair for the first time, a pack may need to be downloaded and a click is required.
  • Supports OpenAI-compatible API backend. Called by the Host process using the endpoint configured in Settings; API key can come from TRANSLATION_OPENAI_API_KEY or OPENAI_API_KEY.
  • Detects source language before translation and skips text that is already in the target language.
  • Can translate reasoning, final answer, or both; can run automatically or be triggered by clicking the Translate button on a per-block basis.
  • Preferences are restored from localStorage and synced to the translation section of the Host settings.yaml; when the two copies are inconsistent, the one edited most recently takes priority. API keys are not cached in localStorage.
  • Web settings RPC does not expose out-of-tree namespaces; the plugin uses its own same-origin route.

Installation and Enablement

First, install the plugin. If installing from GitHub source code, run:

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

If you already have a local repository directory, you can also use:

dsh plugin --profile web add /absolute/path/to/dsh-reasoning-translator

Then, start the Web UI:

dsh web

If you are starting from a deepseek-harness checkout, you can also use:

pnpm dsh web

After starting, open Settings → Translation to enter translation settings.

Typical Usage

A reproducible flow is to install first, then start, then enter settings:

  1. Execute the GitHub installation command:
    dsh plugin --profile web add github:pinkllo/dsh-reasoning-translator
  1. Start the Web UI:
    dsh web
  1. Open Settings → Translation.
  2. If using the Chrome built-in backend, ensure you are using desktop Chrome 138+ or newer Edge; when using a language pair for the first time, a pack may need to be downloaded and a click is required.
  3. If using the OpenAI-compatible API backend, configure the endpoint, model, and API key in Settings; the API key can also be provided via TRANSLATION_OPENAI_API_KEY or OPENAI_API_KEY.

Regarding the npm installation command, the README states “once published.” Current verified information does not confirm that the npm package has been published, so it is not recommended to use it as the default installation path.

Use Cases and Notes

Suitable for users who need to view translated output in the target language in the Web UI but want to keep the original session logs. It is also suitable for users who do not want to handle translation requests directly in the browser: the Chrome built-in backend runs on the local device; the OpenAI-compatible API backend is called by the Host process using the endpoint configured in Settings.

Notes before use:

  • It only acts on the Web UI and will not rewrite session logs.
  • The Chrome built-in backend requires desktop Chrome 138+ or recent Edge. Cursor’s embedded browser may lack Chrome on-device Translator; if the relevant capability is not detected in that environment, you need to re-test in desktop Chrome.
  • The plugin will be loaded and run by the current dsh process. You should check the source code, dependencies, and license before installing; this plugin is licensed under MIT.
  • If you want to run the pure function unit tests mentioned in the README, Node 22.6+ is required.

Conclusion

The value of dsh-reasoning-translator is clear: it limits “display-layer translation” to the visible reasoning and final answer in the Web UI, does not touch session logs, and provides two backends: Chrome Translator and OpenAI-compatible API.

Related Links:

  • GitHub: https://github.com/pinkllo/dsh-reasoning-translator
  • Directory Page: https://www.skillhub.cn/plugins/pinkllo/dsh-reasoning-translator