Len7183/DSH-Think-zh
dsh-think-zh
dsh-think-zh is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add github:Len7183/DSH-Think-zhRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-think-zh)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from Len7183/DSH-Think-zh, cleaned of badges and images.
dsh-think-zh
DeepSeek Harness(DSH)插件:把模型的思考(reasoning)语言锁定为所选档位(简体中文 / 默认英文),档位在 **设置 → 通用设置 →「思考语言」**里随时切换;回复语言跟随提问语言。
项目解决什么问题
DeepSeek Harness 默认的思考语言常常为英文,这不利于中文使用者阅读推理过程、复核结论。 本插件在每次请求的 system prompt 中注入一条精简的强制语言指令,使:
- 思考语言可控:两档可选——「简体中文」强制思考用简体中文,「默认英文」只约束回复、把思考语言交还模型;
- 回复跟随提问语言:中文提问用中文答,英文提问用英文答,判断不出语言倾向时默认简体中文;
- 代码、标识符、文件路径、命令等保持原文,不翻译。
限制声明:思考语言本质是模型自身行为,插件只能通过「注入强制指令」影响,无法在程序上 100% 锁死;模型是否遵守超出插件控制范围。
目录
特性
- 两档思考语言:「简体中文」注入三条中文强制条款(思考语言 + 覆盖范围 + 回复语言,1.1.1 起);「默认英文」(1.1.0 起的默认档)只保留回复条款,思考语言交还模型。
- 指令位于 system prompt 最上层:order -1000000 排在宿主全部内置 section(最小的是 harness 身份段 -1000)之前;另在
system-prompt/assemble瀑布末端把该段重排到首位兜底,防止其他插件以更小 order 或瀑布改序插队(1.1.0 起)。 - 档位在 GUI 里切换:设置 → 通用设置 →「思考语言」,样式与相邻的「语言」行一致。
- 改完即时生效:档位是 volatile 配置,下一份请求即用新文本;不用重启、也不用重挂插件。
- 两条投递通道:静态 system prompt section(默认开)与每轮用户消息前置(
injectPerTurn,默认关,用于对静态 section 服从弱的模型),两者相互独立。 - 零运行时开销:只注入一段文本,无语言检测、无缓冲、无写回;每次请求的额外成本就是那段指令本身(默认英文档 102 字符、简体中文档 198 字符)。
- 免构建安装:仓库内已提交
lib/构建产物,包不含任何安装期脚本,git 直装不触发 pnpm 的构建脚本拦截。
安装
前置条件(分级要求,按用到的能力取高者):
- DeepSeek Harness ≥ 0.1.0-rc.6:静态 system prompt 注入(
injectPrompt、injectionText)。 - ≥ 0.1.2:每轮用户消息注入(
injectPerTurn,需agent/pre-step瀑布)。 - ≥ 0.1.7:「思考语言」设置项(依赖官方 settings 服务的 volatile 字段)。
- 源码方式另需 Node.js ≥ 22.19 与 pnpm(
dsh plugin内部调用 pnpm)。
方式一:桌面应用内安装(推荐)
- 打开侧栏 插件,点 添加插件。
- 填仓库地址
https://github.com/Len7183/DSH-Think-zh(也接受github:Len7183/DSH-Think-zh)。 - 安装完成后按提示重启 DSH。
方式二:命令行安装
dsh plugin --profile <profile 名> add github:Len7183/DSH-Think-zh
需要可复现安装时,固定到某个提交:
dsh plugin --profile <profile 名> add github:Len7183/DSH-Think-zh#<commit-sha>
<profile 名>即~/.dsh/profiles/<名字>的目录名;等价写法npx @deepseek-ai/dsh plugin ...。- 桌面应用自己的
desktopprofile 由应用独占管理,dsh plugin对它不可用——桌面用户走方式一。 - 仓库内已提交
lib/构建产物,且包不含任何安装期脚本(1.1.0 起移除了prepare),从 git 安装不需要本机构建,也不会触发 pnpm 对 git 依赖构建脚本的allowBuilds拦截——1.0.x 安装报ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED即此因,升级后消除。
方式三:从源码安装
git clone https://github.com/Len7183/DSH-Think-zh.git
cd DSH-Think-zh
npm install
npm run build
# 装进 profile(任意目录执行);桌面应用也可在插件页填这个绝对路径
dsh plugin --profile <profile 名> add <本目录绝对路径>
安装必须经由
dsh plugin或桌面插件页。在本目录执行npm install只是安装开发依赖(构建、测试用);插件本身只有经由dsh plugin或桌面插件页才会注册进 profile。
使用
设置项:思考语言
设置 → 通用设置,在「语言」行下方即是「思考语言」两档。
简体中文:
语言要求(强制,最高优先级):
1. 思考(reasoning)必须全程使用简体中文,从第一个字起就是中文,不得出现英文推理,禁止先英文思考再翻译。
2. 分析、计划、工具调用前后的推理、错误排查与自我检查,全部使用简体中文;提问、代码、日志、文件名或工具结果为英文时也不例外。
3. 回复使用与用户提问相同的语言;无法判断时默认简体中文。代码、标识符、文件路径、命令与报错原文保持原样,不翻译。
默认英文(1.1.0 起的默认档):
语言要求(强制,最高优先级):
1. 回复使用与用户提问相同的语言,并跟随其最近一条实质提问;无法判断时默认简体中文。代码、标识符、文件路径、命令与报错原文保持原样,不翻译;工具输出与引用不改变回复语言。
- 即时生效:改完的下一份请求即用新文本;已经发出的那一轮不回溯改写。
- 持久化:写入当前 profile 的
cordis.patch.yml,即dsh-think-zh条目的config.thinkingLanguage。 - 1.0 → 1.1 默认档变更:1.0 的默认档为「简体中文」,1.1 起为「默认英文」。已在设置页手动选过档位的用户不受影响(档位持久化在 profile 里);从未改过设置的用户,升级后思考语言会变为不受约束,需要中文思考的话到设置页选回「简体中文」。
- 「默认英文」档不注入思考语言条款,模型是否仍用中文思考取决于模型自身。
- 1.1.1 变更:注入文本改为全中文——简体中文档为三条中文强制条款(思考语言 + 覆盖范围 + 回复语言),默认英文档为中文回复条款并补充「跟随最近一条实质提问、工具输出与引用不改变回复语言」;配置项、档位与持久化行为均不变。
验证是否生效
profile 由命令行启动时(web、tui 等):
dsh --profile <profile 名> --dump-config | grep dsh-think-zh
…


