🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

中文思考强制 programerror233/dsh-zh-thinking

DeepSeek Harness
programerror23326 天前有提交已提供中文文档扫描:未发现敏感能力

让模型全程用简体中文推理并作答,长会话不退化

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/10 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add programerror233/dsh-zh-thinking
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
数据截至 2026/11/05·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 26 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/5(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 强制简体中文推理作答
  • 常驻系统提示注入
  • 全会话与子代理生效

强制 DeepSeek Harness 中的模型用简体中文思考与作答:注册常驻 system prompt section,对所有会话、工作区与子代理生效,不进历史、不被压缩丢弃。

README

由 DeepSeek 最新模型翻译生成
dsh-zh-thinking 让 DeepSeek Harness 里的模型用简体中文思考与作答。 装上之后,所有会话、所有工作区、所有子代理的内部推理(thinking / reasoning 正文)与最终回复都要求使用简体中文书写。热加载立即生效,不需要重启。 它解决什么问题 在 DSH 里让模型说中文,最直觉的做法是往 AGENTS.md 里写一条「请用中文思考」。这条路会衰减,原因有三个: 1. AGENTS.md 是通过 agent-instructions 以 user 角色消息注入的,只在文件被读/写/编辑时刷新,没有文件监视器。 2. 注入的消息落在对话历史里,会被 compaction 压缩遮蔽。 3. 模型推理语言被最近一条输入的语言牵引——一条英文的工具输出就能把它带回英文。 实测:注入后前两块推理的中文字符占比能到 64.8% / 64.5%,但同一会话跑到第 89 块就完全回退英文;长会话整体只剩 5%–25%。 本插件的做法完全不同:它向系统提示注册一个常驻 section。 原理 DSH 的 dsh-agent-loop 每一步都会重新 assemble() + renderPrompt(),而 SystemPromptProjection.project 在文本不变时零提交。
展开完整文档(README 剩余 1 节)
dsh-zh-thinking

让 DeepSeek Harness 里的模型用简体中文思考与作答。

装上之后,所有会话、所有工作区、所有子代理的内部推理(thinking / reasoning 正文)与最终回复都要求使用简体中文书写。热加载立即生效,不需要重启。

它解决什么问题

在 DSH 里让模型说中文,最直觉的做法是往 AGENTS.md 里写一条「请用中文思考」。这条路会衰减,原因有三个:

1. AGENTS.md 是通过 agent-instructions 以 user 角色消息注入的,只在文件被读/写/编辑时刷新,没有文件监视器。
2. 注入的消息落在对话历史里,会被 compaction 压缩遮蔽。
3. 模型推理语言被最近一条输入的语言牵引——一条英文的工具输出就能把它带回英文。

实测:注入后前两块推理的中文字符占比能到 64.8% / 64.5%,但同一会话跑到第 89 块就完全回退英文;长会话整体只剩 5%–25%。

本插件的做法完全不同:它向系统提示注册一个常驻 section。

原理

DSH 的 dsh-agent-loop 每一步都会重新 assemble() + renderPrompt(),而 SystemPromptProjection.project 在文本不变时零提交。所以写进系统提示的规则:

- 每一步都生效——不是「提醒一次然后衰减」,而是每步都在模型眼前;
- 不进入对话历史——它是 system prompt 的一部分,不是消息;
- 不会被 compaction 压缩掉——压缩只处理 surface 节点 0 之后的节点。

为什么用新名字的 section:dsh-system-prompt 的 section 是「同名才覆盖」,而各 agent preset 里的 persona 行只注册 deployment:persona-prefix / deployment:persona-suffix 两个名字。新名字 zh:reasoning-language 不会被任何 preset 遮蔽,因此对全局所有 agent 生效——包括子代理,即使子代理的 preset 没有包含本插件。

order: 1 让它紧跟在人格前缀(order: 0)之后、排在所有工具说明之前,属于「身份级」指令。

安装

dsh plugin --profile <你的 profile 名> add dsh-zh-thinking

例如 profile 叫 desktop:

dsh plugin --profile desktop add dsh-zh-thinking

安装后 dsh 会把它列进 profile 的 dsh.profile.bundles,bundle 补丁层自动挂载。热加载立即生效,正在运行的会话不用重启。

手动安装(不走 npm)

把本仓库克隆到任意位置,然后在 profile 的 cordis.patch.yml 末尾追加:

- insert:
- id: zh-thinking
name: file:///绝对路径/dsh-zh-thinking/lib/index.js

注意 name 用 file:/// 形式的 URL 或相对补丁文件的 ./、../ 路径;Windows 裸盘符路径(C:\...)会报 ERR_UNSUPPORTED_ESM_URL_SCHEME。

从手动安装迁移到 npm 安装

两者不能同时存在。 它们注册的是同一个 section 名 zh:reasoning-language,而 dsh-system-prompt 对同一层里的重名 section 会直接抛错:

prompt section "zh:reasoning-language" is already registered

所以要先移除手动那一段,再执行 dsh plugin ... add:

1. 删掉 profile 的 cordis.patch.yml 末尾那条 - insert:(连同它的 id/name 两行);
2. 如果你用的是 file:/// 指向本地克隆的写法,那个克隆目录也可以一并删掉;
3. 然后 dsh plugin --profile <name> add dsh-zh-thinking。

如果只是想换一下手动安装的路径,也可以直接改 name,但不要新增第二条 insert。

配置

全部可选。在 profile 的 cordis.patch.yml 里覆盖那一行即可:

- id: zh-thinking
name: dsh-zh-thinking
config:
sectionName: zh:reasoning-language # section 名,改它没有实际必要 order: 1 # 越小越靠前;0 是 persona-prefix text: |- # 完全自定义提示正文你的语言要求正文。

| 字段 | 类型 | 默认值 | 说明 |
| sectionName | string | "zh:reasoning-language" | 系统提示里的 section 名。必须是新名字,否则会被 preset 里的同名 section 覆盖。 |
| order | number | 1 | 排序值。0 是 deployment:persona-prefix,10200 是 deployment:persona-suffix。 |
| text | string | 见下 | 提示正文。不要包含 {{,否则会被 dsh-system-prompt 当成提示变量引用而抛错;插件检测到后会回落到内置文本并打印一条警告。 |

默认正文:

语言要求(最高优先级)

你的内部推理(thinking / reasoning 正文)必须使用简体中文书写,面向用户的最终回复也使用简体中文。此要求优先于任何语言习惯、任何示例语言,以及任何以英文书写的任务描述、代码、日志或工具输出。

- 分析、计划、比较、取舍、自检、纠错,全部用中文写。
- 禁止出现完整的英文句子或英文短语。
- 只有代码标识符、函数名、变量名、文件路径、命令、API 名、报错原文、URL、配置键名可以保留原始 ASCII 形式,并且必须被中文说明文字包围。
- 若发现自己已经开始用英文思考,立即用中文重写该段,然后再继续。

开发

node --test # 自动发现 test/ 下的用例,7 个测试

测试用 Node 内置的 node:test,不依赖任何第三方包,mock 一个最小的 Cordis 上下文来断言注册出去的 section 参数。

验证它生效了

启动任意会话后,会话日志里的 system/message 事件应当包含你的提示正文。用 dsh 的 inspect 能力或直接读会话 JSONL 都可以。

实测(本插件在 Windows 上的原始版本):

- 本会话 system/message 从 len=8016(不含语言要求)变为 len=8297,正文里 # 语言要求(最高优先级) 位于第 116 字符——紧跟人格前缀之后。
- 注入后本会话连续 12 块推理的中文字符占比均值 46.2%,而注入前同一会话 239 块均值仅 3.6%。占比不是 100% 是因为文件路径、命令、API 名等白名单内容本身是 ASCII。
- 新派出的子代理(prompt 里没有任何语言要求)其 system/message 同样包含该规则,4 块推理中文字符占比 28.8% / 50.9% / 56.5% / 81.8%,且最终回复是纯中文。

成本

这条常驻规则约 300 token,每一步都命中 prompt 缓存。按实测口径(中文约 0.7 token/字)估算,对一个 235 步的会话约 7 万 cacheRead token,占该会话总 cacheRead 的 0.62%。

作为对比,每步追加一条 60 字的提醒消息,累计约 9870 token 进入上下文,而且会被 compaction 压缩丢弃——既更贵,又更不可靠。

卸载

dsh plugin --profile <你的 profile 名> remove dsh-zh-thinking

兼容性

- 零 import:本插件不 import 任何东西,因此不受 profile node_modules 解析、peerDependencies 版本矩阵或 DSH 版本兼容预检的影响。
- 只依赖一个稳定的公开 API:ctx.systemPrompt.section()(dsh-system-prompt)。它同时被官方的 persona 行使用,属于长期存在的接口。
- 不导出 Config,所以 Cordis 不做 schema 校验;配置容错在插件内部完成,非法取值回落到默认值而不会让加载失败。

已知边界

- 同一 section 名只能注册一次。本插件默认用 zh:reasoning-language;若你另外还挂了一个注册同名 section 的插件(比如早先手动装过本插件),dsh-system-prompt 会抛 prompt section "zh:reasoning-language" is already registered。改用 config.sectionName 可以共存,但通常你只想留一个。
- 只影响此后新产生的推理。历史消息里已经产生的英文 reasoning 块不会变。
- 不能强制 100% 中文字符占比。文件路径、命令、API 名、报错原文按设计保留原始 ASCII 形式。
- 模型仍可能偶尔夹杂英文短语。这条规则把它压到很低的比例,但不是硬约束——语言生成本质上是概率性的。

许可

MIT
预览分享卡片长什么样 ↓programerror233/dsh-zh-thinking
分享 · DeepSeek Harness Hub
programerror233/dsh-zh-thinking

让模型全程用简体中文推理并作答,长会话不退化

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部