Preface¶
In the plugin workflow of DSH, many runtime configurations can be completed directly on the Web Settings page. For scenarios requiring control over the model’s inference language, temporarily modifying the system prompt is unstable, and making an extra model call for translation might increase latency. Below is an introduction to a DSH plugin: dsh-think-any-lang. It provides a Thinking Language dropdown in Settings → General. By injecting thinking language instructions via systemPrompt.section, it enables the model to reason in the specified language while keeping the final response in the user’s language.
What is it¶
lco117/dsh-think-any-lang is a DeepSeek Harness (DSH) plugin maintained by lco117 with an MIT license.
It solves a specific need: separating the “language used for the model’s final response” from the “language used for the model’s reasoning.” Users can select the language for model reasoning in DSH settings, and the plugin will inject corresponding instructions into the system prompt, rather than requiring the user to manually maintain a prompt string.
Core Features¶
- Provides a
Thinking Languagedropdown selection inSettings → General. - Injects thinking language instructions via
systemPrompt.section. The source describes this as zero extra calls, zero latency, implemented by adding instructions to the system prompt rather than calling the model for translation. - Instructions for each language are written in the target language itself to improve model compliance.
- Selection is persisted to the user settings document and retained after restart.
- Supports
offand 12 languages: Simplified Chinese, English, Japanese, Korean, German, French, Spanish, Portuguese, Russian, Italian, Arabic, and Hindi. - The final response maintains the user’s language.
- Pure JavaScript, no build step, installable from GitHub.
Installation and Activation¶
First, ensure the dsh CLI is installed and the target profile is available. The source states that dsh plugin --profile <name> add can automatically initialize.
The installation command provided by the source uses the web profile:
dsh plugin --profile web add github:lco117/dsh-think-any-lang
The source suggests pinning to a specific commit for installation:
dsh plugin --profile web add github:lco117/dsh-think-any-lang#<commit-sha>
Note: The source does not specify whether --profile web applies to all profiles. If your DSH instance uses a different profile, please replace it with the name of the initialized profile.
Typical Usage¶
- Start:
dsh web
-
Open
Settings → General. -
Select a language in the
Thinking Languagedropdown. The default value isChinese(zh). -
Subsequent model calls will receive the thinking language instructions in the system prompt. DeepSeek reasoning models typically output
reasoning_contentin the selected language.
Implementation Details¶
- The plugin injects thinking language instructions via
systemPrompt.section. - The browser side reads and writes settings via the private loopback RPC channel
/think-any-lang. The source notes that this is becausedsh-host-apiproxyonly exposes settings namespaces in the whitelist. - The language table is maintained in both
index.jsandclient.js. When adding a new language, it is necessary to keep both files in sync.
Suitable Scenarios and Notes¶
Suitable for:
- Need to fix or switch the model’s thinking language in DSH Web settings.
- Want the final response to continue using the user’s language.
- Do not want to translate reasoning text via extra model calls.
Notes:
- The plugin runs with the current dsh process permissions; check the source code and license before installing.
- License is MIT © 2026 lco117.
- The source does not provide specific star counts, categories, or directory page URL; this article does not infer based on these.
Conclusion¶
The value of dsh-think-any-lang lies in turning “what language the model thinks in” into a DSH setting: after selection, it is persisted, instructions are injected via systemPrompt.section, and the final response continues to use the user’s language.
Repository: https://github.com/lco117/dsh-think-any-lang
Directory page: The source does not provide a specific URL; you can check the instructions via the GitHub repository first.