dsh-thinking-lang:在 DSH 裏指定智能體思考語言

前言

DeepSeek Harness(DSH)把系統提示、工具說明和會話策略拆成可插拔的模塊。界面語言和模型「內部推理用什麼語言寫」往往是兩回事:界面可以是英文,但你希望鏈式思考、規劃步驟用簡體中文;或者團隊統一用 English 做 reasoning,避免和繁體資料混用。

宿主自帶的語言設置管的是 UI,不會單獨約束模型思考段。社區插件 dsh-thinking-lang(維護者 aymidasing,MIT)在 設置 → 通用 增加「思考語言」,並通過 system prompt 的兩處注入把選擇傳給模型。下面介紹它的能力、安裝方式和使用時要注意的點。

這是什麼

dsh-thinking-lang 是面向 DeepSeek Harness(dsh-desk) 的客戶端類插件:在設置裏選「自動 / 簡體中文 / 繁體中文 / English」,決定智能體內部推理與規劃使用的語言。

README 說明:項目代碼與文檔在人工指導下由 DeepSeek 生成,不是 DSH 官方組件、未經官方審覈;插件以當前 dsh 進程權限運行,安裝前請自行閱讀源碼與許可證。

核心功能

設置項

插件在 設置 → 通用 中、宿主語言項下方新增一行「思考語言」,整行只有一個下拉框:

配置項 取值 作用
思考語言 自動 / 簡體中文 / 繁體中文 / English 內部推理與規劃所用的語言

「自動」如何判定

選「自動」時,按順序取第一個能映射到語言目錄的來源:

  1. 操作系統語言:POSIX 的 LC_ALL / LC_MESSAGES / LANG;Windows 上若爲空,則用 Intl.DateTimeFormat().resolvedOptions().locale
  2. DSH 界面語言:設置服務 locale 命名空間的 preference
  3. 兜底:硬編碼 zh-CN

標籤經 BCP-47 清洗後交給 Intl.Locale 解析;中文簡繁由文字(CLDR maximize())區分,例如 zh-TW/zh-HK 爲繁體,zh-CN/zh-SG 爲簡體。在下拉里顯式選擇某一語言時,該選擇優先於上述三級。

示例(來自 README):

系統 界面 結果
zh-CN en-US 簡體中文
en-US zh-CN English
fr-FR(目錄無對應項) en-US English
取不到 取不到 簡體中文

提示詞注入

一份規則被拆成兩段,注入位置不同、求值時機不同:

systemPrompt.section systemPrompt.context
求值時機 每會話組裝一次 每次模型調用重新求值
順序 order: 1(緊跟 persona 之後) order: -10(其它每步注入塊之前)

具體英文句式由 src/core.ts 的 sectionText / contextText 生成;公開文檔不轉載注入原文,改行爲需改源碼後 npm run build。

直接後果:

  1. 切換思考語言:已有會話的下一輪即可通過 context 生效,無需重啓。
  2. section 裏的語言名:需新會話組裝後才更新;同一會話中途改語言,context 會變,section 要等下次組裝。

語言約束對新會話完全生效;僅改設置本身在已有會話下一輪即可反映到 context。

Token 與緩存

用 DeepSeek V3 詞表實測,section 約 28–29 token(每會話一次),context 約 15–16 token(每輪一次);換語言對單輪 token 影響很小。

需注意:改思考語言會改變 system prompt 靠前段落,DeepSeek 上下文緩存要求從第 0 個 token 起前綴完全一致;section 位置靠前,改語言後從該行往後的前綴視爲未命中緩存,該輪成本顯著高於命中(README 引用官方定價說明約 50 倍差價)。切換後新前綴會重新被緩存,實用上建議選定語言後少在中途頻繁切換。

安裝與啓用

安裝前完全退出 DSH 桌面端;--profile desktop 對應的 profile 須已初始化且未被佔用。裝完重啓 GUI。

官方 Release 安裝(版本 1.0.1):

dsh plugin --profile desktop add https://github.com/aymidasing/dsh-thinking-lang/releases/download/v1.0.1/dsh-thinking-lang-1.0.1.tgz

同一 URL 也可在設置裏的插件管理器中粘貼。不要使用 github: 源安裝:pnpm 11 默認會攔截依賴的 prepare 構建,易出現 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED;Release 附件已是構建成品。

更新:換用新版本附件 URL 重裝;依賴以 URL 記錄,pnpm update 無效。

卸載(同樣需完全退出桌面端):

dsh plugin --profile desktop remove dsh-thinking-lang

卸載後設置中的「思考語言」行消失,相關提示詞不再注入。

典型用法

  1. 安裝並重啓 GUI。
  2. 打開 設置 → 通用,在語言相關項下方找到 思考語言。
  3. 按需選擇 自動、簡體中文、繁體中文 或 English。
  4. 新開會話可讓 section 與 context 一致;在已有會話中改選項,下一輪起 context 即跟隨(section 仍建議新會話)。

插件沒有聊天命令;切換僅通過設置頁。需要 /thinking-language 類命令需自行擴展(README 提到可參考 dsh-thinking-language 的實現)。

適用場景與注意

適合:希望思考鏈與界面語言解耦;在簡繁英三種推理語言間固定策略;依賴「自動」跟隨 OS 或 DSH 界面語言的用戶。

限制(README 已列):

  • 僅支持上述三種思考語言;增刪需改 src/core.ts 的 CATALOGUE 及客戶端文案。
  • section / 設置行的 order 綁住宿主分段表與 @deepseek-ai/dsh-client-locale 的語言行順序;宿主大版本調整時維護者可能需改插件常量。
  • auto 依賴運行時 locale 探測;極端環境可能落到兜底 zh-CN。

安全與信任:社區目錄(如 SkillHub)與 DeepSeek / 幻方無官方從屬關係;安裝第三方插件前請審查 倉庫源碼 與 MIT 許可證。

結尾

dsh-thinking-lang 用一行設置把「模型內部用什麼語言推理」從 UI 語言裏拆出來,並通過 section + context 雙注入兼顧會話級權威與每輪即時更新。若你已在用 DSH 0.2.0-rc.2 及以上桌面端,可按 Release 命令安裝,在通用設置裏選定思考語言後再評估緩存與成本習慣。

  • 目錄頁:https://www.skillhub.cn/plugins/aymidasing/dsh-thinking-lang
  • GitHub:https://github.com/aymidasing/dsh-thinking-lang
羽毛球分组比赛记分
小程序二维码

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

小夜