前言¶
DeepSeek Harness(DSH)把系統提示、工具說明和會話策略拆成可插拔的模塊。界面語言和模型「內部推理用什麼語言寫」往往是兩回事:界面可以是英文,但你希望鏈式思考、規劃步驟用簡體中文;或者團隊統一用 English 做 reasoning,避免和繁體資料混用。
宿主自帶的語言設置管的是 UI,不會單獨約束模型思考段。社區插件 dsh-thinking-lang(維護者 aymidasing,MIT)在 設置 → 通用 增加「思考語言」,並通過 system prompt 的兩處注入把選擇傳給模型。下面介紹它的能力、安裝方式和使用時要注意的點。
這是什麼¶
dsh-thinking-lang 是面向 DeepSeek Harness(dsh-desk) 的客戶端類插件:在設置裏選「自動 / 簡體中文 / 繁體中文 / English」,決定智能體內部推理與規劃使用的語言。
- 目標環境:DSH
0.2.0-rc.2+(可用dsh -V覈對) - 倉庫:github.com/aymidasing/dsh-thinking-lang
- 目錄頁:skillhub.cn/plugins/aymidasing/dsh-thinking-lang
README 說明:項目代碼與文檔在人工指導下由 DeepSeek 生成,不是 DSH 官方組件、未經官方審覈;插件以當前 dsh 進程權限運行,安裝前請自行閱讀源碼與許可證。
核心功能¶
設置項¶
插件在 設置 → 通用 中、宿主語言項下方新增一行「思考語言」,整行只有一個下拉框:
| 配置項 | 取值 | 作用 |
|---|---|---|
| 思考語言 | 自動 / 簡體中文 / 繁體中文 / English | 內部推理與規劃所用的語言 |
「自動」如何判定¶
選「自動」時,按順序取第一個能映射到語言目錄的來源:
- 操作系統語言:POSIX 的
LC_ALL/LC_MESSAGES/LANG;Windows 上若爲空,則用Intl.DateTimeFormat().resolvedOptions().locale - DSH 界面語言:設置服務
locale命名空間的preference - 兜底:硬編碼
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。
直接後果:
- 切換思考語言:已有會話的下一輪即可通過 context 生效,無需重啓。
- 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
卸載後設置中的「思考語言」行消失,相關提示詞不再注入。
典型用法¶
- 安裝並重啓 GUI。
- 打開 設置 → 通用,在語言相關項下方找到 思考語言。
- 按需選擇 自動、簡體中文、繁體中文 或 English。
- 新開會話可讓 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