DeepSeek Harness 採用“一切皆插件”的設計理念。在本地調試或開發過程中,開發者通常會積累多個自定義 Agent 預設。當預設數量較多時,官方默認的預設選擇器容易造成視覺雜亂,篩選效率下降。dsh-presets-hidden 插件旨在解決這一 UI 側的痛點,通過瀏覽器端接管預設選擇器的渲染邏輯,提供精細化的顯示與排序控制。
核心能力¶
該插件主要在瀏覽器端提供預設管理功能,具體包括:
- 管理入口:在“設置 -> 預設顯示”中提供搜索、顯隱篩選、逐項開關和順序調整。
- 替換選擇器:用處理後的名單替換新會話頁的 Agent 預設選擇器。
- 持久化配置:
- 在 loopback 頁面上,顯隱名單與排序作爲插件 Config 的 volatile 字段寫入當前 profile 的
cordis.patch.yml(條目 idpreset-visibility)。 - 非 loopback 頁面仍使用當前瀏覽器的
localStorage,鍵名爲dsh.presets-hidden.visibility.v1。
- 在 loopback 頁面上,顯隱名單與排序作爲插件 Config 的 volatile 字段寫入當前 profile 的
- 數據遷移:舊數據自動遷移(僅在 profile 尚未保存這兩個字段時進行一次)。
安裝與啓用¶
發佈到 npm 後,可通過 DSH 插件機制直接安裝:
dsh plugin --profile web add dsh-presets-hidden
安裝後,插件會自動生效。編輯入口在“設置 → 預設顯示”。
版本兼容性¶
使用前需注意版本對應關係:
- 0.2.x 需要安裝
deepseek-harness0.1.7-rc.1 及以上版本。 - 0.2.1 起同時適配 0.1.7-rc.2。
- 0.2.2 起
peerDependencies覆蓋 0.1.7-rc.1 與 0.2.0-rc.1,因此 DSH 0.2.0-rc.x 不再把本插件判爲不兼容。
行爲邊界¶
- 顯示邏輯:與官方選擇器保持一致。當開發者工具關閉,或 Host 仍發佈“新任務可選擇模式”策略並將其關閉時,新會話頁不顯示預設控件,使用 Host 默認預設。
- 排序規則:
- 上移和下移針對完整名單;搜索或顯隱篩選生效時,排序按鈕會禁用。
- 新出現的自定義預設自動追加到現有順序末尾。
- “恢復默認順序”回到 Host roster 順序。
- 適用範圍:只處理新會話頁的預設選擇器。官方“Agent 預設”管理頁、會話標題、舊會話恢復、直接 API 調用和插件診斷仍使用完整名單。
- 異常處理:
- 隱藏當前空白會話所選預設時,插件會通過官方選擇 API 切換到首個可見預設。
- 隱藏全部預設時,新會話頁不顯示預設控件,Host 默認預設仍然生效。
結語¶
dsh-presets-hidden 是一個輕量級的 UI 增強插件,專注於提升 DeepSeek Harness 中預設管理的可控性。通過精細的顯隱與排序功能,開發者可以更專注於 Agent 本身的邏輯實現,而非在雜亂的列表中尋找目標。