dsh-skill-gated-tools:用 Skill 按需解鎖 Agent 工具

前言

在 DeepSeek Harness(DSH)裏給 Agent 掛很多第三方插件工具和 MCP 工具時,會話開頭的工具列表會變長。不常動用的專用工具往往還配套操作說明、約束和示例;若全部塞進初始上下文,既佔名額,也容易讓模型在通用對話裏誤觸。

常規做法是「先搜能力 → 發現工具 → 再調用」。本插件走另一條工作流設計:「先加載任務 Skill → 同時拿到指引與被分配的工具 → 再調用」。README 明確說明這是工作流層面的取捨,並未與工具搜索做過準確率、延遲或成本的對比基準測試。

下面介紹維護者 NyxJae 發佈的 dsh-skill-gated-tools(分類:工作流)。它面向 DSH 的智能體與插件使用者,把專用工具默認藏起來,在成功加載指定 Skill 後於同一會話、同一輪對話中立即可用。

這是什麼

Skill-gated tool discovery for DeepSeek Harness:按需通過 Skill 暴露工具。支持第三方插件工具與 MCP 工具;可爲單個工具設置可見性規則。新 Agent 會話開始時,被設爲「Skill-gated」的工具不可見;對應 Skill 加載成功後,工具在同輪即可調用,無需新開會話。

Claude Skill 發現依賴 DSH 自帶的文件系統 Skill 提供方;README 要求 DSH 0.2.2-rc.1 或兼容版本(peerDependencies 中 @deepseek-ai/dsh-skill-filesystem 爲 ^0.2.2-rc.1)。

三類可見性策略

在 Settings → Skill-gated tools 中搜索或篩選工具,選中一條或多條,選擇策略並保存。

策略 當前 Agent 看到的效果
Available 會話開始就可見。
Skill-gated 任意一個已綁定的 Skill 加載成功後出現。
Always blocked 即使加載了 Skill 也保持隱藏。

要點如下:

  1. 每個 Agent 獨立解鎖;恢復會話時會還原已成功加載 Skill 的歷史。
  2. 同一工具可綁定多個 Skill,加載其中任意一個即可解鎖。
  3. Always blocked 優先級最高。
  4. 保存時只更新已選工具,其餘規則保留;保存失敗會保留草稿。改完規則後建議重新打開會話以應用配置。

可用 Available 篩選預覽「新會話初始工具列表」;用 Skill-gated 篩選並在 Access rule 列查看 Skill 綁定關係。

安裝與啓用

插件裝在需要規則生效的 DSH profile 上。Desktop 與 Web/CLI 可使用不同 profile,安裝前先確認正在配置哪一側 Host。

Desktop(已發佈 npm 包時)

  1. 側邊欄打開 Plugins。
  2. 點擊 Add plugin。
  3. 輸入包名 dsh-skill-gated-tools。
  4. 點擊 Install,按提示啓用。

若 registry 尚未發佈,在同一對話框中使用提供的本地插件壓縮包的絕對路徑安裝。

Web / CLI

將 <web-profile> 換成啓動 Web Host 時使用的 profile 名。npm 發佈後執行:

dsh plugin --profile <web-profile> add dsh-skill-gated-tools

例如 profile 名爲 web:

dsh plugin --profile web add dsh-skill-gated-tools

配置示例

將 MCP 工具綁定到全局 Skill

例如選中表格中的 MCP 相關工具,策略選 Skill-gated,再選中全局 mcp Skill,Save rules。MCP 工具可逐條選擇或批量綁定,與其他插件工具相同。README 中的示例把圖像生成、視頻生成與結果查詢類 MCP 工具綁到 ai-image-generation Skill。

徹底屏蔽某個工具

在工具行點擊 Edit,選 Always blocked,Save rules。

配置後的行爲覈對

在新會話中查看實際工具列表:等待 Skill 的工具與 Always blocked 的工具不應出現在初始列表中。當用戶提出需要某類任務(README 以 meme 爲例)時,Agent 加載 meme Skill,工具列表更新,並可在同一輪調用例如 send_meme。

用 Agent 維護規則

插件註冊了內置配置 Skill skill-gated-tools。可向 Agent 下達類似指令:

Load the skill-gated-tools skill. Bind send_meme to the meme skill and preserve all other rules.

該 Skill 引導 Agent 查看真實目錄、更新規則並回讀結果。

爲解鎖類 Skill 寫清 description 很重要:寫明相關任務、代表性工具名,並說明使用前須先加載該 Skill,便於在工具仍隱藏時從 Skill 目錄找到入口。例如 meme 可寫:

Find and send memes. Before using send_meme or related meme tools, load this skill to unlock them.

可改本地 Skill 的 description,或改插件註冊時的描述;本插件不會自動改寫其他 Skill。

與 KV cache、工具定義的說明

README 專節說明:是否影響 KV cache 取決於模型協議與 DSH 適配器。本插件只調整工具可見性;工具定義如何進入模型請求由 DSH 決定。支持會話內追加的路由可在保持前綴不變的情況下追加新工具;其他路由可能重寫靠前的工具定義並打斷前綴複用。插件未宣稱「更少初始工具定義」已帶來可測量的成本或延遲收益;具體可參考倉庫內 docs/tool-loading-and-cache.md 與 README 中的官方文檔鏈接。

適用場景與注意

適合誰

  • 想把 MCP、低頻插件工具與任務 Skill 綁在一起、減少通用對話初始工具噪音的 DSH 用戶。
  • 已習慣「先 load skill 再幹活」、且專用工具需要配套說明的團隊工作流。

使用前請注意

  • 插件在當前 dsh 進程的權限下運行;安裝前應閱讀 GitHub 倉庫 源碼與 LICENSE、THIRD_PARTY_NOTICES.md。
  • DSH 社區目錄(如 skillhub.cn)爲獨立生態站點,與 DeepSeek / 幻方無官方從屬關係;本文不構成官方商店說明。
  • Web 與 Desktop 的 profile、插件集合可能不同,規則不會自動跨 Host 同步。

結尾

dsh-skill-gated-tools 把「加載 Skill」當作工具發現的入口:默認隱藏專用能力,任務到位再解鎖,並支持 MCP 與逐工具策略。若你在 DSH 裏工具越掛越多,又希望指令與能力成對出現,可按上文步驟安裝並在 Skill-gated tools 中綁定規則。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜