Bundle
dsh-reasoning-translator
DeepSeek Harness plugin: display-layer translation of reasoning and answers via Chrome Translator or an OpenAI-compatible API
- Source
- pinkllo
- stars
- 3 stars
- License
- MIT
- Updated
- Updated 9 hours ago
Readme
# dsh-reasoning-translator English | [中文](README.zh.md) A [DeepSeek Harness](https://github.com/deepseek-ai/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](https://developer.chrome.com/docs/ai/translator-api) instead. ## Install ```sh # 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 ```sh 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](LICENSE)
Install
dsh plugin --profile web add github:pinkllo/dsh-reasoning-translator#5f87acf6917d3a15439a934a771d8a98c902f2a0
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-reasoning-translator from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.