dsh-think-chinese:让 DSH 思考链始终用中文输出

前言

在 DeepSeek Harness(DSH)里跑带 reasoning / extended thinking 的模型时,思考链往往是模型自己生成的推理流(agent/assistant-stream 的 reasoning 帧)。若模型默认用英文做内部推理,你在界面上看到的思考过程会与中文任务语境脱节;在浏览器侧做「翻译式改写」既不可靠,也会破坏流式增量。要在源头约束语言,只能落在提示词层。下面介绍社区插件 dsh-think-chinese(维护者 Hielo19,分类:模型推理):它向 DSH 系统提示词注册一条「思考链语言」段落,强制思考链用中文书写,而不改动代码、标识符等原文。

这是什么

dsh-think-chinese 是一个 bundle 插件(host 侧,零运行时依赖),只做一件事:通过 ctx.systemPrompt.section() 注入系统提示词。它不 import 任何 @deepseek-ai/*,在 profile 中零依赖、零 peer;与具体模型和供应商无关——DeepSeek 的 reasoning_content 与 Anthropic 的 extended thinking 读取的是同一份系统提示词。

仓库:https://github.com/Hielo19/dsh-think-chinese
社区目录页:https://www.skillhub.cn/plugins/Hielo19/dsh-think-chinese(独立站点,与 DeepSeek / 幻方无官方从属关系)

核心功能

安装并启用后,Harness 系统提示词中会出现名为 plugin:think-chinese 的段落(排序位 850,位于策略段与工具文档段之间),标题为 ## 思考链语言。段落要求大意如下:

  • 思考链(reasoning / thinking 内部推理)必须始终使用中文;
  • 即使读到英文代码、报错或文档,推理也用中文表达;
  • 代码、标识符、命令、路径、API 名称、专有名词与必要原文引用保持原样,不翻译。

DSH 每个模型步都会重新组装系统提示词,因此该段落:

  1. 对已有会话的下一次请求即生效,无需重置会话;
  2. 对新建会话、子代理以及 workflow 内子代理同样生效(全局作用域)。

可通过 YAML 配置总开关、scope 与追加说明(见下文)。插件刻意不导出 Config,不会出现在「设置 → 插件」表单里;由 ctx.effect 在 HMR 或卸载时回收段落,避免残留。

安装与启用

--profile 后填目标 profile 名(桌面应用为 desktop,命令行 web 为 web)。三种方式任选,效果一致:dsh plugin add 写入 profile 的 dependencies,将带 dsh.bundle 的包追加到 dsh.profile.bundles,再由 cordis.patch.yml 插入组合树。本包无需构建步骤,lib/index.js 为手写纯 ESM,安装后即可运行。

1)从 GitHub 安装

dsh plugin --profile web add github:Hielo19/dsh-think-chinese

# 也可以锁定到指定 tag 或 commit
dsh plugin --profile web add github:Hielo19/dsh-think-chinese#v1.0.0

2)从本地目录安装(开发调试)

dsh plugin --profile web add link:/绝对路径/dsh-think-chinese

也可使用 Harness 内置的 plugin_manager 工具安装该目录。

3)从 tarball 安装

dsh plugin --profile web add https://github.com/Hielo19/dsh-think-chinese/releases/download/v1.0.0/dsh-think-chinese-1.0.0.tgz

dsh plugin --profile web add /路径/dsh-think-chinese-1.0.0.tgz

安装前请自行查看仓库源码与 MIT 许可证;插件随当前 DSH 进程权限运行,与任何社区插件一样,安装即表示你信任该包的行为。

配置与典型用法

配置写在 bundle 自带的 cordis.patch.yml,或 profile 自己的 cordis.patch.yml(用户层优先级更高)。修改后 DSH 会重读 profile 的 patch 层;若未生效,重启应用即可。

- id: dsh-think-chinese
  name: dsh-think-chinese
  config:
    enabled: true          # 总开关,false 时完全不注入
    language: 中文          # 目标语言名,会写入提示词文案
    scope: reasoning       # reasoning | reply | all
    extraInstruction: ''   # 追加要求,例如术语表

scope 含义:

取值 效果
reasoning 只强制思考链使用中文,正文保持原样(默认)
all 思考链与正文均使用中文
reply 只强制正文使用中文

extraInstruction 会追加到段落末尾,适合写「术语统一译法」等补充要求。完全关闭注入时,将 enabled 设为 false。

离线验证(不启动 DSH、不调用模型)可在插件目录执行:

npm test

等价于 node scripts/verify.mjs。在线验证:安装到 desktop profile 后,在运行实例的系统提示词中确认出现 ## 思考链语言,随后推理过程应为中文输出。

适用场景与注意

适合希望在 DSH 中统一内部推理语言为中文、又希望保留英文代码与 API 原文的开发者。若还需要正文也固定为中文,可将 scope 设为 all;若只希望回复为中文而不管思考链,可用 reply。

成本方面:新增系统提示词段落会使提示词前缀缓存(prefix cache)失效一次,之后趋于稳定;每一步会多出该段落约 100 token 量级。DSH 生态理念是「一切皆插件」;本插件是社区贡献,星标与迭代节奏以 GitHub 为准。

结尾

dsh-think-chinese 用最小改动在提示词层解决「思考链语言」问题,避免流式改写带来的不可靠。需要安装命令、配置字段与实现细节时,以仓库 README 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye