前言¶
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 註冊爲函數,每次裝配提示詞都會重新求值。
文案優先級(高到低):
config.instruction— 隨配置文件熱重載$DSH_HOME/zh-think.txt— 每次請求重新讀取- 插件內置默認
刪除 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 與三種關閉方式覆蓋了常見運維需求。