Display-layer translation for DeepSeek Harness.
Read the reasoning, follow the tasks, and understand the answers. Originals are preserved; translations stay out of model context.
中文 · English · 日本語 · 한국어 · Español · Français · Deutsch · Русский · Português
See thinking unfold
|
|
| Demo 1 · Reasoning and answers | Demo 2 · More live operations |
Comparison with the official translation plugin
Enable either this plugin or the official reasoning translator. Both take over the reasoning interface.
One command to get started
dsh plugin --profile web add dsh-think-translate
After installation, fully restart DSH Web. Open Settings → Think Translation, then choose the target language and providers.
GitHub installation, updates and other methods
Install from GitHub:
dsh plugin --profile web add github:UncleK/dsh-think-translate
Update from npm:
dsh plugin --profile web add dsh-think-translate@latest
Fully restart DSH after installing or updating. For manual deployment, link the package into the profile and add its entry to cordis.patch.yml; the commands above are recommended for everyday use.
More than reasoning to understand
Reasoning, as it happensPre-translate all, lazy-load history, or translate only when expanded |
Tasks and answers, togetherReasoning, task cards and composer task lists; optional answers and auto-review denial reasons |
Understand review decisionsWhen auto-review rejects a tool call, its reason is translated alongside the original. The existing decision buttons remain available. |
Preserve originals and codeOriginals preserved; translations stay out of model context. Reuses Markdown rendering; protects code, paths and commands before translation. |
Local models, loaded on demandManual release, release when unchecked, idle auto-release; reloads on the next translation |
Providers in your preferred orderAutomatic fallback in enabled order; clearly wrong-language output tries the next provider; retry after cooldown |
Connect providers you already use
Ollama · Google · Bing · OpenAI · Anthropic Messages API
Discover providers already configured in DSH without entering endpoints and keys again. Test each provider separately; list order controls the order of attempts.
Your first choice → next enabled provider → … → originals if all fail
Custom endpoints, credentials and recovery
- Custom endpoints support OpenAI-compatible
/v1/chat/completionsand the native Anthropic Messages API. - Discovery reads the current DSH profile and overrides. Rescan and add discovered providers to the translation chain.
- An
apiKeyEnvkey is resolved at request time; resolved credentials are never written back to plugin configuration. - Failures cool down in host memory for 30 seconds, then subsequent translation requests can retry. Clearly wrong-language results try the next provider.
- Language detection skips text already recognized as the target language; explicit provider tests still make a real request.
Local translation models: load and release on demand
| Your action | Plugin behavior |
|---|---|
| Translate or test | Start the service and load the selected model on demand |
| Release model memory | Wait for active translations, then unload; preserve files, switches and order |
| Uncheck the local provider | Disable it and unload the selected model |
| Re-enable it or open settings | No preload; load on the next actual translation |
| Set idle release | 5 minutes by default; choose 1 / 5 / 10 / 30 / 60 minutes or off |
Idle timing applies from the next use. Ollama tracks the selected model; global environment variables are unchanged. Missing software or models are installed or downloaded only after you click the preparation button, with progress shown.
Language settings that follow you
中文 · English · 日本語 · 한국어 · Español · Français · Deutsch · Русский · Português
Nine target languages, settings translations and task labels, including Portuguese. Your selection survives a page refresh.
Answers to common questions
No translation entry after installing or updating
Fully restart dsh web. The client module graph is assembled at process start; refreshing the page alone may not load a new plugin. The settings footer shows the installed package version.
The local model list is empty
Check ollama list or /api/tags, the active model directory, and the service’s OLLAMA_MODELS. Existing model files do not need to be downloaded again.
Source startup reports client bundles not found after a DSH update
Run pnpm run build in the DeepSeek Harness repository, then restart DSH Web.
Does a translation failure affect the conversation?
When all enabled providers fail, the original remains. Test individual providers and inspect the latest error in settings. Translation requests can retry after cooldown.
Recent changes and compatibility
1.2.16 adds Portuguese throughout the translation target and UI, refreshes all nine READMEs and localized comparison images, and declares three marketplace images.
1.2.15 adds local model memory management and adapts to DSH 0.2.2-alpha.2 image rendering, grouped reasoning collapse and original text selection.
1.2.13 adds auto-review denial-reason translation. Thanks to llg1634 for the report, initial patch and testing.
Earlier versions and details: GitHub Releases.
Development and internals
lib/index.js: host routes, providers, configuration, memory cache and local model lifecycle.lib/client.js: settings, display-layer translation, streaming batches and browser cache.lib/config.json: runtime configuration, excluded from Git and npm.- No extra build step: source files are the deliverable. Restart DSH after changing host code.
- Run checks with
npm test. Discovery and credential handling are documented in the maintenance notes.
dsh-think-translate
Report an issue · Releases · MIT License