前言¶
在 DeepSeek Harness(DSH)裏寫長對話或換模型時,上下文還剩多少、當前思考等級(reasoning effort)是什麼,往往要進設置或模型彈窗才能看清。自定義 provider 的模型若未聲明 contextWindow,宿主還會落回適配器默認(例如 llm-pi-ai 的 262144),與實際支持的 512K、1M 不一致。下面介紹社區插件 dsh-context-effort(維護者 striver8):把上下文佔用與思考等級掛到對話輸入區右側,與官方 token-meter、模型選擇共用同一套 DSH 服務,不寫 fork 狀態、不髮網絡請求。
這是什麼¶
dsh-context-effort 是 DSH 的純 Web UI 插件(dsh.bundle + dsh.client,無 host 側行爲)。它在 composer 的 conversation.input.right 座位(模型選擇器同行、右側)提供:
- 當前模型的上下文上限與已用 token 的緊湊指示(對齊 ekko studio 對話窗口上的上下文/已用指示器,並做成可操作控件);
- 一鍵切換 reasoning effort;
- 內聯編輯並持久化模型的
contextWindow。
數據只讀官方服務:sessionProjections、modelDirectories、configForms。分類上可歸入「模型推理」相關工具。當前 GitHub 星標爲 0;包版本 0.1.0,許可證 MIT。
核心功能¶
摺疊態與展開面板¶
摺疊態示例(有用量數據時):
◐ 上下文 ~25K / 128K │ High ⌄
環表示佔用百分比;~已用 / 上限 來自 token-meter 的 contextPressure 投影;│ High 爲當前思考等級。無用量時退化爲「上下文 + 等級 + 展開箭頭」。
展開後可看到:佔用百分比與數值行(已用、上限、剩餘);按 contextBreakdown 着色的系統提示 / 工具 / 對話消息佔位條;上下文長度(生效值、配置聲明、輸入框、快捷預設、保存);思考等級(模型聲明的等級列表,點擊切換);模型(默認摺疊,面板最大高度約 70vh 可滾動)。
上下文長度編輯¶
| 行 | 含義 |
|---|---|
| 生效值 | host 解析後的實際值(contextPressure.contextWindow) |
| 配置聲明 | 配置裏是否寫了 contextWindow;未寫顯示「未設置(繼承默認)」 |
輸入 512K、1M 後保存,寫入該模型配置,下一條請求生效。留空保存等於刪除字段、繼承適配器默認,語義與官方「設置 → 模型」一致。
換算與官方 CAPACITY_SCALE 一致:K = 1000、M = 1000000(十進制)。例如 256K 存爲 256000,與適配器默認 262144 的差異是刻意的。
思考等級¶
| 模型情況 | 等級來源 | 行爲 |
|---|---|---|
適配器聲明瞭 reasoningEfforts |
模型自帶 | 使用適配器聲明的等級與顯示名 |
| 未聲明(常見於自定義 provider) | 全局兜底集 | 顯示 off/minimal/low/medium/high/xhigh/max,並提示首次切換會寫入模型配置 |
兜底集與 dsh-llm-pi-ai 的 THINKING_LEVELS 一致。首次點擊某等級時,插件經 ctx.configForms 把 reasoningEfforts 寫入該 provider 的模型配置(不走 remote.settings.describe()),隨後 UI 切換爲「模型自帶等級」形態。寫入會落到 profile 的 cordis.patch.yml(官方 minimal settings.mutate)。
安裝與啓用¶
環境要求: DeepSeek Harness >= 0.2.1-rc.2,Web 或桌面 GUI(composer 槽位;TUI 無此 UI)。安裝後需完全退出並重啓 DSH(桌面版含托盤,只關窗口不夠)。
推薦方式(插件管理器或 CLI):
dsh plugin add dsh-context-effort
也可在 DSH 內:設置 → 插件 → 安裝。桌面應用的 desktop profile 由應用獨佔時,dsh plugin 可能拒絕直接操作,請走界面或使用倉庫提供的 install.ps1 便攜腳本。
Release 預構建包(資料中的固定 URL,版本與 README 一致):
dsh plugin add https://github.com/striver8/dsh-context-effort/releases/download/v0.1.0/dsh-context-effort-0.1.0.tgz
包自帶 cordis.patch.yml,安裝後由 profile 的 bundle 層自動插入圖層棧,無需手改 profile 配置。
插件以當前 DSH 進程權限運行;安裝前建議在 GitHub 查看源碼與 MIT 許可證,確認符合你的安全與合規要求。
典型用法¶
- 安裝並重啓 DSH 後,在 composer 輸入區右側看到摺疊控件。
- 點擊展開:查看上下文構成與剩餘;若模型未聲明窗口大小,在「上下文長度」輸入
512K或1M並保存,下一條請求使用新上限。 - 在「思考等級」區點擊目標等級;若模型原先無
reasoningEfforts,首次點擊會寫入配置並持久化。 - 需要換模型時,在面板內展開「模型」列表選擇(與官方模型座位、/model 彈窗共用同一 per-session 目錄,三處狀態一致)。
開發調試可用獨立 profile,避免影響日常使用:
dsh --profile ce-debug --port 19389 --no-open
適用場景與注意¶
適合: 經常在 composer 裏切換思考強度、需要一眼看到上下文壓力、或爲自定義 provider 模型補寫 contextWindow / reasoningEfforts 的 DSH 用戶。
已知限制(README 明確說明):
- 新會話或未發請求時沒有
contextPressure,控件只顯示標籤與思考等級,屬設計行爲。 contextWindow是配置字段,不是可拖動滑桿;插件只做填值與保存,不做容量協商。contextBreakdown爲啓發式估算(約 4 字符 ≈ 1 token),面板以~標註;CJK 與 JSON schema 可能被低估。- 子代理會話不暴露獨立模型選擇,此時上下文爲只讀。
- 全局等級兜底首次切換必須寫配置,宿主才能按等級派發請求。
社區插件目錄站點 skillhub.cn 與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,本插件是其中面向 composer 的 UI 擴展。
結尾¶
dsh-context-effort 把上下文計量、思考等級與模型窗口配置集中到輸入區一側,依賴官方投影與配置表單,避免重複造狀態。若要安裝或讀完整架構說明,可訪問插件目錄頁與 GitHub 倉庫:
- 目錄頁:https://www.skillhub.cn/plugins/striver8/dsh-context-effort
- GitHub:https://github.com/striver8/dsh-context-effort