前言¶
在 DeepSeek Harness(DSH)裏連續多輪對話時,默認往往會把整段歷史一併交給模型。會話變長後,Token 佔用上升,舊輪裏的工具輸出和無關回復也會拖累後續推理。單靠「新開一個會話」可以清零,但會丟掉仍想保留的片段。
社區插件 dsh-context-selector(維護者 airfloats,分類:客戶端)面向同一痛點:讓你按輪次、按消息類型決定哪些內容進入下一輪請求,並配合系統提示詞切換、用量透視和文檔/劃詞右鍵提問。下文按「是什麼 → 能做什麼 → 怎麼裝 → 怎麼用」說明,事實以 GitHub 倉庫 README 與發佈包爲準。
這是什麼¶
dsh-context-selector 是 DSH 的自定義上下文選擇與管理插件。一句話定位:在輸入框上方和狀態欄提供圖形界面(及可選的 /ctx 命令),對歷史對話、系統提示詞、工具定義等做細粒度勾選,而不是整包發送或只能整會話重置。
倉庫:https://github.com/airfloats/dsh-context-selector
目錄頁:https://www.skillhub.cn/plugins/airfloats/dsh-context-selector
當前資料中的發佈版本:2.9.3(dsh-context-selector-2.9.3.tgz)。開源協議:MIT。
DSH 生態強調「一切皆插件」;SkillHub 等目錄爲社區站點,與 DeepSeek / 幻方無官方從屬關係。安裝插件後,其邏輯在當前 DSH 進程與頁面環境中運行,啓用前建議自行瀏覽源碼與許可證。
核心功能¶
選擇性攜帶歷史對話¶
支持膠囊與列表兩種視圖。可按輪次一鍵勾選或取消;鼠標懸停某輪時,右側預覽卡片可單獨控制是否攜帶「我說的」「過程工具」「AI 回覆」。
快捷操作包括:全選、近 1/3/5 輪、去舊工具、全不帶、從本輪起截斷,以及 僅本輪有效(閱後即焚)。
系統提示詞¶
無需新建會話即可在當前對話中切換系統提示詞預設,或對自定義系統提示詞追加 / 完全替換;在提示詞面板中還可按段落勾選需要攜帶的內容,下一輪生效。
上下文用量透視¶
點擊底部狀態欄的上下文百分比環,可查看系統提示詞、工具定義與對話消息的 Token 佔用明細;支持按分類篩選(全部按序、壓縮/系統注入、我說的、AI 回覆/推理、工具結果),並逐條勾選或展開詳情。
文檔與劃詞「詢問 AI」¶
在文件樹、文檔預覽區或選中任意文本時右鍵,可將引用填入輸入框,與上下文選擇器配合提問。
安裝與啓用¶
推薦通過 DSH 內置插件管理上傳發布包(資料未提供 dsh plugin add github:... 一類命令,以下以 README 爲準)。
方式一:插件管理器(推薦)¶
- 打開 DeepSeek Harness 設置 → Plugins(插件)。
- 上傳並選擇發佈包
dsh-context-selector-2.9.3.tgz。 - 啓用插件後刷新頁面。
方式二:手動安裝到 Profile¶
-
將倉庫內容解壓到本地 vendor 目錄:
- Windows:%USERPROFILE%\.dsh\profiles\web\vendor\dsh-context-selector
- macOS / Linux:~/.dsh/profiles/web/vendor/dsh-context-selector -
在
~/.dsh/profiles/web/cordis.patch.yml中增加:
- insert:
- id: context-selector
name: 'dsh-context-selector'
config: {}
- 重啓 DeepSeek Harness。
package.json 中 config 爲空對象;資料未列出額外配置字段,一般無需改配置即可使用。
典型用法¶
圖形界面¶
- 在輸入框上方打開 「上下文選擇」 面板,在膠囊/列表視圖間切換,按需勾選輪次或懸停細項。
- 需要減 Token 時,可試
去舊工具或近 3 輪等快捷項;若只希望下一輪帶上當前選擇、之後恢復,可開僅本輪有效(閱後即焚)。 - 點擊底部狀態欄百分比環,在透視面板裏按類別篩消息、關掉不必再發的工具結果。
- 在側邊欄文件或預覽區、或劃選文本後右鍵,用「詢問 AI」把引用送進輸入框。
斜槓命令 /ctx(可選)¶
在聊天框輸入下列命令可快速操作(與 GUI 互補):
| 命令 | 說明 |
|---|---|
/ctx 或 /ctx list |
查看各輪攜帶狀態與 Token 統計 |
/ctx all / /ctx none |
全選所有歷史輪次 / 清空所有歷史輪次 |
/ctx last <N> |
僅攜帶最近 N 輪(例:/ctx last 3) |
/ctx from <M> |
從第 M 輪起截斷,更早歷史不發送 |
/ctx toggle <N> |
切換第 N 輪是否攜帶 |
/ctx tools [N] |
去掉早期輪次工具輸出,僅保留最近 N 輪工具結果 |
/ctx once [on\|off] |
開/關下一輪「僅本輪有效」 |
示例:長調試會話裏先 /ctx tools 2 去掉久遠工具塊,再 /ctx last 5 只留近五輪文字上下文,然後繼續提問。
適用場景與注意¶
適合誰:經常在 DSH 裏做多輪 Agent / 工具調用、又不想頻繁開新會話的開發者;需要對比「少帶上下文 vs 多帶上下文」對回答質量影響時,也適合用逐條開關做試驗。
注意:
- 插件爲 Web 客戶端注入(
dsh.client.platform: web,immediately: true),用法以瀏覽器版 DSH 爲準。 - 勾選狀態影響的是下一次發往模型的上下文拼裝;閱後即焚僅對下一輪生效,避免誤開導致後續輪次缺上下文。
- 星標、下載量等目錄統計以 SkillHub 頁面爲準;啓用前建議在 GitHub 查看
LICENSE與lib/實現是否符合你的安全策略。
結尾¶
dsh-context-selector 把「整段歷史全送」拆成可管理的粒度:輪次、消息角色、工具結果與系統提示詞都可單獨決定,並配有 Token 透視與 /ctx 快捷鍵。若你正在 DSH 裏堆長會話,不妨從上傳 dsh-context-selector-2.9.3.tgz 啓用插件試一輪「近 3 輪 + 去舊工具」。