In agent development with DeepSeek Harness (DSH), the model’s thinking process in the Web UI’s “Think” mode is typically in English or Traditional Chinese by default. Since the model natively lacks an API parameter to force the reasoning language, and system prompts often cannot effectively control language during reasoning, developers typically only see non-Chinese thinking traces. The dsh-reasoning-cn plugin uses a two-layer steering and translation mechanism to encourage the thinking process to use Simplified Chinese as much as possible.
This is an unofficial community plugin maintained by William123666, aimed at addressing the mixed-language issue in agent reasoning processes.
Core Features¶
The plugin uses a two-layer design:
- Steering layer: Renders language instructions in the system prompt and reiterates them in the first step of each turn. This increases the likelihood that the model thinks in Chinese, at zero cost.
- Translation layer: Hooks into the response side of the
llm/streamwaterfall pipeline. When it detects reasoning blocks exhibiting characteristics of English, Japanese, or Traditional Chinese, it calls an auxiliary model for translation or conversion. - Failure fallback: If translation fails, times out, or the content is too long, the original reasoning is passed through unchanged to ensure content is not lost.
- Recursion prevention: Uses a
WeakSetto mark translation requests, preventing translations generated by the plugin from being processed again. - Logging consistency: Translation occurs before logs are written, so successfully translated session logs, Web UI playback, and subsequent model context remain in Simplified Chinese.
Installation and Activation¶
Use the official CLI to install:
dsh plugin --profile web add dsh-reasoning-cn
After installation, the translation layer is disabled by default. You must explicitly enable it in the plugin configuration.
Typical Configuration¶
Mount the plugin in the DSH profile patch configuration and enable translation. Ensure translateProvider and translateModel are configured and allowed to send reasoning.
- insert:
- id: reasoning-cn
name: dsh-reasoning-cn
config:
steering: both
translate: true
translateProvider: deepseek-official
translateModel: deepseek-v4-flash
translateThinkingOff: true
verbose: false
Notes¶
- Data privacy: The translation layer sends the complete reasoning to the provider/model you configure. The reasoning may contain user data, tool outputs, source code, file paths, or unintended credentials. Translation is disabled by default. Explicitly set
translate: trueonly after confirming the provider’s data retention policy, access scope, and cost. - Version compatibility: Compatibility has currently only been verified with
@deepseek-ai/cordis4.0.1 and the DSH 0.1.0-rc.7 suite. - Language detection: Targets Simplified Chinese only. Japanese and common Traditional Chinese characteristics will be converted, but sentences composed only of characters shared by Simplified and Traditional Chinese cannot be reliably distinguished.
- Unofficial: This plugin has no affiliation or endorsement by the maintainers of DeepSeek or DeepSeek Harness.
Summary¶
This plugin improves the Simplified Chinese display experience of the reasoning process in DSH through a zero-cost steering layer and an optional translation layer. Developers can decide whether to enable translation based on their data privacy requirements and cost budget.
GitHub repository: https://github.com/William123666/dsh-reasoning-cn