DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

oicty /

oicty/dsh-zh-think

Verified

This plugin has no description yet.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@0cbf1a4a

dsh-zh-think

让 DeepSeek Harness 的 agent 用简体中文进行内部推理(thinking)与回复的插件。

这是一个追加式插件:它往 system prompt 末尾追加一个 section,不修改任何既有配置行、不覆盖其他插件的设置。

为什么需要它

DSH 的系统提示词默认是英文,模型因此习惯用英文推理。思考过程用英文,中文用户就没法审阅自己 agent 的判断依据。

改 personaPrefix 也能达到同样效果,但那是修改既有配置行,代价更明显:

改 personaPrefix 本插件
改动性质 覆盖 system-prompt 行的整个 config insert: 追加一行,既有行零改动
缓存影响 文本插在最前面 → 前缀缓存整体失效 order 10300 追加 → 落在最后,前缀保住
被设置面板重写 可能被 GUI 整文件覆盖掉 不受影响(挂载信息在 package.json)
卸载 手工删除配置块 移除依赖,section 由 root.effect() 自动注销

工作原理

插件在 apply() 里通过 ctx.systemPrompt.section() 注册一个 section:

ctx.systemPrompt.section({
  name: 'plugin:zh-think',
  order: 10300,
  text: '始终使用简体中文进行内部推理(thinking)和面向用户的回复…',
})
  • order: 10300 — 现有最大 section 是 DEPLOYMENT_PERSONA_SUFFIX = 10200,取 10300 即排在所有既有 section 之后。这意味着已有会话的缓存前缀完整保留,只在尾部失效。
  • 生命周期 — 注册返回的注销函数交给 root.effect(),插件卸载或热重载时 section 会被干净移除,不留残余。

安装

dsh plugin --profile desktop add dsh-zh-think

把 desktop 换成你要启用的 profile 名(例如 web)。重启 DSH 后生效。

为什么需要重启:section() 的注册发生在 apply() 执行时,DSH 的热重载不会重新执行它。profile 的 patchReload: live 只覆盖配置文件,不包括插件代码。

配置

插件行支持以下可选配置:

- id: dsh-zh-think
  name: dsh-zh-think
  config:
    enabled: true          # false 则不注册 section
    instruction: '……'      # 覆盖默认的中文要求文本
    order: 10300           # 覆盖 section 排序位置

改文案(不用重启)

编辑 $DSH_HOME/zh-think.txt,写入你想要的完整文案:

notepad $env:DSH_HOME\zh-think.txt

保存后,下一个请求就会生效,不需要重启 DSH。

原因:section 的 text 注册成函数,DSH 在每次装配提示词时都会重新求值。只有改插件的逻辑(换 section 名、order 等)才需要重启。

文本优先级:

优先级 来源 生效方式
1 config.instruction 随配置文件热重载
2 $DSH_HOME/zh-think.txt 每次请求重新读取
3 内置默认 —

删掉 zh-think.txt 会回退到内置默认。

文案里避免写 {{ 和 }}——它们会被当作变量插值,未知变量会导致提示词装配报错。

发版(改完代码后)

仓库自带 release.ps1,一条命令完成升版本、提交、打 tag、推送:

.\release.ps1          # 0.2.0 -> 0.2.1
.\release.ps1 minor    # -> 0.3.0
.\release.ps1 major    # -> 1.0.0

然后按提示手动执行 npm publish(需要浏览器 2FA 确认,无法自动化)。

临时关闭

三种方式,优先级从高到低:

方式 操作 生效
配置 插件行加 config: { enabled: false } 重启
环境变量 设 DSH_ZH_THINK_OFF=1 重启
标记文件 在 $DSH_HOME 下放一个空文件 zh-think.off 重启

关闭状态下插件仍会装载,只是不注册 section,不改变任何其他行为。删掉标记文件并重启即可恢复。

已知限制

  • 中文推理不省 token — 思考篇幅与语言无关,中文甚至可能更占 token。这个插件解决的是可读性,不是成本。如果要压低开销,应该调整 reasoningEffort,那是另一件事。
  • 单一语言 — section 内容是固定文本,不做按会话切换语言。需要多语言时,可以改成按 AssembleContext 动态返回文本。
  • 只影响 system prompt — 它约束的是推理与回复的语言,不改变工具输出、日志、代码的原始语言。

相关项目

本插件的功能与 liangzz1998/dsh-thinking-language 重叠。那个项目支持思考语言与回复语言分别配置、追加自定义要求,设置更完整,且发布时间早于本项目。

本项目为独立实现(未复制其代码),仅作为个人使用与二次修改的基础,未提交插件市场收录。若你需要更完整的语言配置,建议直接使用上面那个项目。

安装(快速)

# 从 npm 安装(推荐,已发布 0.1.0)
dsh plugin --profile desktop add dsh-zh-think

# 或直接从 GitHub 安装
dsh plugin --profile desktop add github:oicty/dsh-zh-think

装完重启 DSH 生效。

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 0cbf1a4afb08

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout