在 DSH(DeepSeek Harness)工作流開發中,模型通常依據關鍵詞自動觸發技能。當模型意圖不明確或選擇偏差時,往往缺乏有效的人工介入手段。dsh-skill-gate 插件通過引入一箇中斷點,將技能的最終選擇權交還給用戶,解決了這一痛點。
插件定位¶
這是一個 DeepSeek Harness host 插件,由 Bryan-cmf 維護。它的工作原理是:當模型觸發技能時,系統攔截分發流程,將建議的技能及其他候選技能(均附帶描述)展示給用戶;用戶在指定時間內做出選擇後,系統纔會執行對應的技能。
核心功能¶
- 用戶最終決定權:在模型意圖與實際執行之間增加一道確認步驟,避免模型錯誤調用技能。
- 超時回退機制:默認 10 秒超時,若用戶未選擇,系統自動使用請求的默認技能繼續執行。
- 原生 UI 展示:通過系統原生的問答界面展示候選技能列表,無需額外開發 UI。
- 無頭模式:支持無 UI 依賴的運行環境,在此模式下閘門直接放行。
安裝與啓用¶
插件依賴 DSH 版本 >= 0.1.0-rc.6,需要 skills、userQuestions 和 timer 服務支持(userQuestions 服務需要瀏覽器 UI 環境)。
方式一:Host Composition(推薦)¶
在 DSH 的 host 配置中引入插件包:
"dsh": {
"profile": {
"bundles": ["@bryan-cmf/dsh-skill-gate"]
}
}
方式二:Agent Preset¶
在 Agent 預設配置中添加插件行:
- id: skill-gate
name: '@bryan-cmf/dsh-skill-gate'
典型工作流¶
啓用插件後,工作流會按以下邏輯運行:
- 模型觸發技能調用。
tools/execute水流攔截分發,打開原生問答 UI。- UI 展示候選列表(包含系統默認技能)。
- 示例界面:
🧠 技能選擇
系統將使用技能「ak-hk-stock-dd」。要改用其他技能嗎?
(10 秒內未選擇將自動使用「ak-hk-stock-dd」)
[ak-hk-stock-dd] 系統建議(預設)
[serenity-skill] 供應鏈瓶頸投資研究方法論
[dcf-valuation] Discounted cash flow valuation…
- 用戶選擇:系統生成合成指令注入對話,模型加載選中的技能。
- 用戶無操作:超過
timeoutMs(默認 10000ms),系統默認技能按原計劃執行。
注意事項與場景¶
- 狀態變更:該插件已被
@bryan-cmf/dsh-skill-ledger取代,原倉庫僅作爲設計歷史記錄存檔。如果需要使用新的非阻塞技能提示方案,應參考 ledger 插件。 - 併發限制:同一時間只能開啓一個閘門。如果第一個閘門未關閉,新的技能觸發請求將直接通過,不會被攔截。
- 環境依賴:若運行在無 UI 環境(Headless),需確認未配置
userQuestionsprovider,否則插件會報錯。 - 許可證:MIT。
總結¶
dsh-skill-gate 爲 DSH 代理提供了一種簡單、可控的人機協作機制。通過將技能選擇從“自動觸發”改爲“人工確認”,可以在保證效率的同時降低誤觸風險。