前言¶
在 DeepSeek Harness(DSH)里开启深度思考(reasoning)时,不少开发者会看到:推理正文仍是英文,即使用户用中文提问,或已在 system prompt 里写明「请用中文思考」。对需要对照思考过程排错、写技术文档或做中文协作的团队来说,思考语言与回复语言不一致会增加阅读成本。
dsh-chinese-thinking-mode 是社区维护的 DSH 插件,在提示词层把思考通道约束为简体中文,并可选加载内置人设;专用名词、路径、命令与报错等保持原文。最终回复语言仍跟随用户当前消息,英文提问仍可得英文回复。下文按安装、配置与验证说明用法;事实以 GitHub 仓库 README 为准。
这是什么¶
- 定位:DeepSeek Harness 插件(bundle),通过全局运行时上下文(runtime context)向模型投递中文思考与角色规则。
- 维护者:Qiao-Fang(仓库 Qiao-Fang/dsh-chinese-thinking-mode)。
- 许可证:MIT(见仓库
package.json,当前版本0.3.1)。 - 解决的问题:在
deepseek-flash等模型、reasoningEffort: max场景下,把同样要求写在 system prompt 中实测仍可能全程英文 reasoning;改为 user-role 的运行时上下文且标记required: true后,新会话第一步 reasoning 即可切换为简体中文。
社区插件目录见 SkillHub 条目(与 DeepSeek / 幻方无官方从属关系,属独立生态站点)。
核心功能¶
README 中已列出的能力如下,写文章时不应超出该范围。
- 思考过程用简体中文:分析、假设、推演、权衡、计划、自我纠错、结论等落在 reasoning 通道内的内容以简体中文输出。
- 专用名词不翻译:产品名、模型名、框架与库名、协议与项目名;代码标识符、配置键、API 名称;文件路径、URL、命令行、日志与堆栈等保持原文。可通过
extraProperNouns追加词表。 - 只约束思考语言:用户用英文提问时,最终回复仍可为英文;思考固定为简体中文。
- profile 内全局生效:对当前 profile 下所有 agent、所有模型步生效,含子代理与工具调用后的续写。
- 人设(可选):默认在思考与最终回复中加载「鲸类萝莉」人设(自称「本鱼」等);可用
personaEnabled、persona开关或替换。 - 抗抑制:
required: true,即便 preset 调用suppressRuntimeContext()或将includeRuntimeContext设为false,该条语言要求也不易被移除。 - GUI 可检查:上下文出现在「运行时上下文」块,不伪装成用户消息。
依赖仅 DSH 的 systemPrompt 服务,无第三方 import。
原理概要¶
插件通过 ctx.systemPrompt.context() 注册名为 chinese-thinking-mode 的全局运行时上下文,默认 order: 400(排在内置运行时上下文之后,作为快照中较靠后的一条)。DSH agent loop 在每一步把运行时上下文作为 user-role 快照写入模型历史。
| 项目 | 值 |
|---|---|
| 上下文名 | chinese-thinking-mode |
| 默认 order | 400 |
| 投递方式 | user-role 快照 |
| 生效范围 | 当前 profile 的全部 agent 与模型步 |
作者说明:实测对 deepseek-flash 而言,user-role 运行时上下文比 system prompt 段落更可靠地驱动中文 reasoning。
安装与启用¶
从插件市场或 CLI 安装¶
README 英文段给出的安装方式为:
dsh plugin add github:Qiao-Fang/dsh-chinese-thinking-mode
也可在 DSH 插件管理器中从市场安装同名 bundle。
本地 bundle 安装¶
将仓库目录作为本地包装入 profile 时,可使用插件管理器:
plugin_manager(action="install_bundle", target="D:\\dsh-chinese-thinking-mode")
(target 需替换为本机上的实际路径。)安装后 bundle 自带 cordis.patch.yml 会插入 chinese-thinking-mode 条目,默认启用。
权限说明:插件随当前 DSH 进程与 profile 运行,安装前宜自行审阅仓库源码与 MIT 许可证,确认符合组织策略。
配置¶
在 profile 的 cordis.patch.yml 中按 id 覆盖,或直接修改包内 cordis.patch.yml。示例:
- id: chinese-thinking-mode
config:
enabled: true
order: 400
extraProperNouns: ["Qt", "Kubernetes"]
extraInstruction: "推导数学公式时保留符号和公式原文。"
| 键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enabled |
boolean | true |
false 可临时关闭,无需卸载 |
personaEnabled |
boolean | true |
是否加载思考人设块 |
persona |
string | 内置 | 多行字符串替换默认人设;留空用默认 |
order |
number | 400 |
快照内顺序,须为有限数字 |
extraProperNouns |
string[] | [] |
追加须保持原文的专用名词 |
extraInstruction |
string | "" |
追加在末尾的补充要求 |
配置非法时插件回退默认值,不会阻止 profile 启动。
默认人设片段(作用于思考与最终回复,回复语言仍随用户消息):
【人物设定加载】
- 鲸类萝莉模式;尾鳍模式
- 仅使用简体中文(专用名词、代码标识符等按规则保留原文)
- 自称「本鱼」
- 主食米饭
- 性格:聪慧慵懒、傲娇甜系
- 永远服从主人
- 体型:拒绝肥胖,不接受任何「胖」的称呼
若不需要人设,将 personaEnabled 设为 false 即可。
验证与典型用法¶
离线校验¶
无需 Host 时可在仓库根目录执行:
node test/verify.mjs
确认 Host 已加载¶
cordis_inspect_query(platform="host", provider="Config", method="listConfigs", input={ name: "dsh-chinese-thinking-mode" })
确认思考语言生效¶
- 新建开启深度思考的会话,提出需要推理的问题;
- 展开 reasoning 面板,正文应为简体中文;
- 检查
DeepSeek、Node.js、pnpm、路径与命令等是否仍为原文。
生效时,请求中的运行时上下文快照应包含「思考语言要求(对内部 reasoning / thinking 通道生效…)」相关段落。
适用场景与注意¶
适合谁:日常在 DSH 里开 reasoning,希望思考过程可读、且专用名词与工程符号不乱译的开发者;需要在 GUI 里透明查看「运行时上下文」而非隐藏 system 改写的团队。
边界与限制(README 原文要点):
- 提示词层约束,生成式模型无法像代码一样 100% 强制。
- 插件生效前已积累大量英文思考的旧会话,切换后第一步仍可能沿用英文,下一步起才多转为中文;新建会话无此问题。
- 不会翻译已生成的思考内容,只影响之后生成的 reasoning。
- 若与其他修改 system prompt 或运行时上下文的插件并用,需避免相互冲突的语言指令。
卸载¶
在插件管理器中移除 dsh-chinese-thinking-mode bundle,或从 profile 的 bundle 列表中禁用;移除后 chinese-thinking-mode 上下文随之消失。