dsh-zh-think:讓 DSH agent 用簡體中文推理與回覆

前言

DeepSeek Harness(DSH)默認系統提示詞是英文,模型在內部推理(thinking)時往往也用英文。對中文用戶來說,思考鏈不可讀,就很難覈對 agent 的判斷依據。有人會把 personaPrefix 改成中文要求,但那會覆蓋整段 system-prompt 配置,且插在最前面會讓前綴緩存整體失效。下面介紹維護者 oicty 發佈的追加式插件 dsh-zh-think:在 system prompt 末尾註冊一個 section,不改既有配置行,專門約束「內部推理與面向用戶的回覆都用簡體中文」。

這是什麼

dsh-zh-think 是 DSH 生態裏的 npm 插件包(倉庫 oicty/dsh-zh-think)。它在 apply() 中通過 ctx.systemPrompt.section() 追加一段固定說明,不修改其他插件或用戶已有的 system-prompt 行。許可證爲 MIT,要求 Node.js >=20。

README 寫明:本項目爲獨立實現,未提交插件市場收錄;與 liangzz1998/dsh-thinking-language 功能有重疊,後者支持思考語言與回覆語言分開配置,需要更完整語言方案時可優先考慮那個項目。

社區目錄頁:https://www.skillhub.cn/plugins/oicty/dsh-zh-think(SkillHub 爲社區站點,與 DeepSeek / 幻方無官方從屬關係)。

工作原理與和改 personaPrefix 的差別

插件註冊名爲 plugin:zh-think 的 section,order 取 10300——高於現有 DEPLOYMENT_PERSONA_SUFFIX = 10200,因此排在所有既有 section 之後:已有會話的提示詞前綴可儘量保留,只有尾部 section 會參與更新。

註銷邏輯交給 root.effect():卸載插件或熱重載插件代碼時,section 會被移除,不在配置裏留手工塊。

改 personaPrefix dsh-zh-think
改動性質 覆蓋整段 config insert: 追加一行
緩存 前綴緩存易整體失效 追加在最後,前綴更易保住
GUI 設置面板 可能被整文件覆蓋 掛載信息在 package.json,不受此類覆蓋影響
卸載 需手工刪配置 移除依賴後由 root.effect() 註銷

安裝與啓用

先把 desktop 換成你實際使用的 profile 名(例如 web)。安裝後必須重啓 DSH;原因是 section() 在 apply() 裏註冊,DSH 對配置的熱重載不會重新執行插件 apply()。

從 npm 安裝(README 標註已發佈 0.1.0):

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

或指定 GitHub 源:

dsh plugin --profile desktop add github:oicty/dsh-zh-think

安裝前應自行查看倉庫源碼與 MIT 許可證;插件隨當前 DSH 進程權限運行,與其它 DSH 插件相同。

配置與改文案

在 profile 的插件列表裏可爲 dsh-zh-think 增加可選字段:

- id: dsh-zh-think
  name: dsh-zh-think
  config:
    enabled: true          # false 則不註冊 section
    instruction: '……'      # 覆蓋默認的中文要求文本
    order: 10300           # 覆蓋 section 排序位置

改 enabled、instruction、order 等屬於插件邏輯或配置塊變更時,按 README 說明一般需要重啓後生效。

若只想改提示文案、不想動 YAML,可編輯 $DSH_HOME/zh-think.txt,寫入完整替代文本。保存後下一個請求即生效,無需重啓。原因是 section 的 text 註冊爲函數,每次裝配提示詞都會重新求值。

文案優先級(高到低):

  1. config.instruction — 隨配置文件熱重載
  2. $DSH_HOME/zh-think.txt — 每次請求重新讀取
  3. 插件內置默認

刪除 zh-think.txt 會回退到內置默認。自定義文案中不要使用 {{ 和 }},否則會被當作變量插值,未知變量可能導致裝配報錯。

臨時關閉

三種方式,優先級從高到低;均需重啓後生效:

方式 操作
配置 config: { enabled: false }
環境變量 DSH_ZH_THINK_OFF=1
標記文件 在 $DSH_HOME 下放空文件 zh-think.off

關閉時插件仍會裝載,只是不註冊 section。刪掉標記文件並重啓即可恢復。

適用場景與限制

適合誰: 已在用 DSH、希望 thinking 與用戶可見回覆都變成簡體中文、又不想動 personaPrefix 或前綴緩存的開發者。

需要知道的限制:

  • 中文推理不節省 token,有時甚至更佔 token;插件解決的是可讀性,壓成本應通過 reasoningEffort 等其它手段。
  • section 爲固定文本,不按會話切換語言;多語言需自行擴展(例如按 AssembleContext 動態返回)。
  • 只約束 system prompt 下的推理與回覆語言,不改變工具輸出、日誌、代碼的原始語言。

結尾

dsh-zh-think 用追加 section、order: 10300 的方式,在儘量不破壞前綴緩存的前提下,讓 agent 用簡體中文做內部推理和回覆;配置、zh-think.txt 與三種關閉方式覆蓋了常見運維需求。

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

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

小夜