dsh-chinese-thinking
A DeepSeek Harness plugin that makes every agent — the main session and every subagent — reason in Simplified Chinese and reply in Chinese.
It registers a language policy in the host's own system prompt, so it covers every workspace,
every new session, and every subagent without relying on a project AGENTS.md.
Honest limitation: a prompt is a soft constraint. It strongly steers the model, but it cannot prove that every token of reasoning is Chinese. For a display-level guarantee, enable the host's Reasoning translation plugin as a second layer.
What it injects
By default, at the end of the system prompt (after the deployment persona suffix):
## 语言要求(dsh-chinese-thinking)
- 内部推理(reasoning / thinking)一律使用简体中文整句书写,不要用英文思考。
- 即使题目、报错、资料、代码注释、网页内容全是英文,思考也必须用简体中文组织;只有术语、命令、标识符、文件路径、公式和英文原文引用可以保留原文。
- 若发现自己正在用英文思考,立刻改用简体中文继续,不要用英文整句推理;写回复前回看本次思考,出现成段英文就先把后续思考改回中文。
- 面向用户的回复使用简体中文。
- 代码、命令、标识符、文件路径、报错原文保持原样,不要翻译。
- 引用英文资料时保留英文原文,并附中文说明。
Changes in 0.2.0
- New
strictoption, on by default: spells out that English input (papers, stack traces, tool output) does not license English reasoning, and tells the model to switch back the moment it notices itself reasoning in English. 0.1.0 had a single "don't think in English" line, which is easy to wash out in long, English-heavy sessions. extranow accepts a string array as well as a single string; empty entries are skipped.- Self-test covers
strict: falseandextra: [].
Install
Client (Electron): Plugins → + Add plugin, paste dsh-chinese-thinking, install, then
Enable now.
CLI profile:
dsh plugin --profile web add dsh-chinese-thinking
Configure
Set options in the profile's cordis.patch.yml:
- id: dsh-chinese-thinking
name: dsh-chinese-thinking
config:
enabled: true
reasoningLanguage: 简体中文
replyLanguage: 简体中文
keepVerbatim: true
keepCitations: true
strict: true
extra: ''
order: 10300
| Option | Default | Meaning |
|---|---|---|
enabled |
true |
false loads the plugin but injects nothing |
reasoningLanguage |
简体中文 |
Thinking language; any language name works |
replyLanguage |
简体中文 |
Reply language; empty string leaves it alone |
keepVerbatim |
true |
Keep code, commands, paths, errors verbatim |
keepCitations |
true |
Keep English citations and add Chinese notes |
strict |
true |
Add the "English input, Chinese reasoning" + self-correction rules |
extra |
'' |
Extra custom bullet(s); string or string array |
order |
10300 |
Position in the system prompt (larger = later) |
Why not just AGENTS.md
A project AGENTS.md only applies inside that project, and a subagent or a fresh unrelated
session may never read it. This plugin registers a global system-prompt section, so it applies
everywhere; the two can coexist.
Self-test
npm run selftest
Drives the plugin with a fake Cordis context: default config registers one section,
enabled: false registers none, custom language and options render as expected, strict: false
drops the hard rules, and an extra array renders each bullet.
Limitations
- Prompt-level soft constraint: the model may still slip into English, especially in long or English-heavy sessions. Enable the host's Reasoning translation plugin if you need a display-level guarantee.
- It does not translate reasoning that already exists; use that plugin for it.
- Only runs while DeepSeek Harness is running.
License
MIT
No comments yet. Be the first to write one.