前言¶
DSH 的理念是“一切皆插件”。在已有多個插件可用時,agent 的實際使用仍可能不穩定:有時該用的插件沒有用,有時需要靠模型臨時判斷。dsh-capability-index 要解決的是“插件庫利用率是否可預期”這個問題:任務型請求命中觸發規則後,自動注入可能適用的 Top-K 插件提示塊,並把插件作者聲明的 use_when / not_for 能力說明帶入提示。最終是否調用工具,決策權仍在模型。
這是什麼¶
dsh-capability-index 是 DeepSeek Harness(dsh)的元插件。它不直接替代工具對比類插件,而是在任務型請求發生時,給主會話一份當前插件庫的提示快照。
當前狀態爲 v0.2 / early version,許可證爲 MIT。倉庫地址爲:
- 目錄頁:https://www.skillhub.cn/plugins/777-Zen/dsh-capability-index
- GitHub:https://github.com/777-Zen/dsh-capability-index
核心功能¶
觸發後注入 Top-K 提示¶
當任務型請求命中觸發規則後,插件會注入可能適用的 Top-K 插件提示塊。提示塊會帶上插件作者聲明的 use_when / not_for 能力說明。
通過 runtime-context 通道注入¶
插件通過 dsh 原生 runtime-context 通道注入。提示只在內容變化時替換,不逐輪堆積。
三級合議¶
插件的決策鏈路爲三級合議:
- 語義向量召回作爲主信號。
- 規則詞表守門過濾。
- 灰色地帶注入衝突提示,由模型終判。
語義向量召回使用 bge-small-zh-v1.5,q8 量化,約 24MB 本地權重。向量命中默認閾值爲 0.58。語義召回支持異步預取,並可降級爲純規則。
not_for 守門閘¶
在推薦落定前,插件會對候選做雙信號覈對。確定性衝突會被硬攔移除;模糊地帶會降位並警示。模型終判權不變。
只讀邊界與索引口徑¶
插件是隻讀 + 建議性質:
- 不改寫其他插件的工具定義。
- 不強制調用。
- 不自動下載/安裝缺失插件。
- 不替代
dsh-tool-search。
索引口徑爲當前會話模型可見工具集:tools.schemas(agent)。不可見工具不進索引。
安裝與啓用¶
先確認你在 DSH checkout 根目錄。安裝命令如下,其中 <path> 需替換爲本目錄絕對路徑:
pnpm dsh plugin --profile <name> add <path>\dsh-capability-index
安裝一次後,用下面命令確認是否進入了插件樹:
pnpm dsh --profile <name> --dump-config | Select-String capability-index
重啓 web 應用後生效。之後在“設置 → Plugins”頁應可見本插件條目。
關閉或開啓時,在 profile 補丁層把對應行置爲禁用,再重啓:
disabled: true
會話粒度開關走 dsh 的 preset 機制。未啓用時不加載任何代碼。
典型用法¶
在倉庫內運行迴歸:
npm run verify
運行模擬器:
npm run simulate
當前迴歸狀態爲:80 過 / 0 掛 / 2 known-fail。
配置項¶
插件支持 cordis.patch.yml 的 config.embed、notForGate、decisionLog 可選配置。字段如下:
config:
embed:
enabled:
model:
dtype:
cacheDir:
endpoint:
threshold:
notForGate:
enabled:
hardSim:
softSim:
demoteFactor:
decisionLog:
enabled:
說明:
embed.enabled控制語義嵌入開關。embed.model、embed.dtype對應語義模型與量化類型。embed.cacheDir用於本地權重緩存目錄。embed.endpoint用於權重下載端點。embed.threshold爲向量命中閾值,默認0.58。notForGate控制not_for守門閘相關參數。decisionLog.enabled控制決策日誌是否落盤。
決策日誌純本地寫入 decisions.jsonl,可關閉。決策日誌與向量權重緩存均存本地:
DSH_HOME/.cache/dsh-capability-index/
向量權重僅首次經 hf-mirror 下載一次。
適用場景與注意¶
適合在 DSH 會話中希望減少插件漏用的開發者。使用前注意以下事實:
- 插件以當前 dsh 進程權限運行。安裝前應檢查源碼與
MIT許可證。 - dsh 目前處於 developer preview。正式發佈時,注入通道、聲明約定與觸發表詞表都可能有兼容性變化。
- 依賴
@huggingface/transformers由部署環境提供;缺失時降級。 - 提示面向主會話注入;子代理會話不接收提示塊。
- 實驗證據樣本規模小,結論是方向性的,不構成統計顯著性驗證。
- 決策日誌與向量權重緩存均存本地,無數據上傳。