dsh-mcp-skill-list:把機器上的 MCP、技能和 Hook 清點出來

前言

DSH 的 profile 裏一般只寫「裝了哪些插件」,不寫「這臺機器實際接了什麼」。想知道本項目配置的 MCP 服務器有沒有真正註冊上,某個技能從哪裏來的、聲明瞭哪些 hook,一個會話到底調用了哪些工具,通常得自己翻配置文件、跑腳本、查事件日誌。另一個更實際的困擾是:會話進行中看到一堆工具調用,很難判斷是哪一個 MCP 服務器出了力,出錯時只能猜。

下面介紹的插件 jiajinyuan/dsh-mcp-skill-list 就是回答這兩個問題的。它把「機器接了什麼」和「會話用了什麼」做成兩個界面,全部只讀。

這是什麼

一個 DSH 插件,作者是 jiajinyuan,分類 admin-security,許可證 MIT,版本 1.0.0,平臺爲 DSH web,無第三方運行時依賴。它提供兩個界面:側邊欄的清點面板(MCP / SKILL / HOOK 三個標籤頁),以及對話頂欄的用量標籤頁。

它解決的問題很具體:profile 不會直觀地告訴你這兩件事情,而排查 MCP 註冊、技能來源、hook 覆蓋、會話調用鏈時恰好需要這兩個信息。

核心功能

清點面板

側邊欄圖標打開主面板,分三個標籤頁。

MCP 標籤頁列出每個已配置的服務器:名稱、傳輸方式(stdio 或 streamable-http)、啓動命令行或 endpoint URL、環境變量名(只有鍵名,沒有值),以及該服務器的工具當前是否已註冊。

SKILL 標籤頁列出磁盤上的技能:名稱、描述、whenToUse、提供方、SKILL.md 路徑、聲明瞭多少個 hook。

HOOK 標籤頁彙總所有 hook 聲明:包括技能 frontmatter 裏聲明的 hooks:,以及 ~/.claude/settings.json、<cwd>/.claude/settings.json、settings.local.json 裏的內容,另附宿主可 hook 的八個事件。每個名稱都帶複製按鈕。

用量標籤頁

對話頂欄在「軌跡」右側多了「工具」標籤,用分段控件切換兩個層級:

會話彙總:本次會話調用過的所有工具,含調用次數、錯誤次數、出現在多少輪裏。子標籤頁按 TOOL / SKILL / MCP / HOOK 拆分,hook 子頁還會估算每個 hook 預計觸發了多少次。

輪次詳情:每輪一張可摺疊卡片,包括開啓該輪的 prompt、該輪調用次數,以及該輪用到的工具、技能和 MCP 服務器。

MCP 工具按 mcp__<server>__<tool> 命名規則識別並歸併到所屬服務器,所以看到的是「哪個 MCP 服務器幹了活」,而不是一串不透明的工具名。

數據來源

兩個界面都是讀出來的,不寫任何數據。

信息 來源
MCP 服務器 profile Loader 條目中模塊爲 @deepseek-ai/dsh-mcp-client 的項
MCP 連通性 tools.schemas() 按 mcp__ 前綴過濾
技能 skills 服務快照,底層掃描 ~/.agents/skills、~/.dsh/skills、<cwd>/.agents/skills、<cwd>/.dsh/skills
Hook SKILL.md 裏的 hooks: frontmatter,加上 Claude Code 的 settings 文件
會話用量 會話事件日誌,通過 sessionQuery(tool/call、tool/result、turn/start 等)讀取

環境變量在離開宿主進程之前只保留鍵名:值不會被序列化,不會發給瀏覽器,也不會進日誌。

安裝與啓用

插件市場裏一鍵安裝。或在 DSH 會話中執行:

plugin_manager install_bundle, target: dsh-mcp-skill-list

如果拿到的是一個 checkout,用絕對路徑安裝:

plugin_manager install_bundle, target: <該目錄的絕對路徑>

宿主側註冊了兩條同源只讀路由:

GET /api/dsh-mcp-skill-list/inventory            # MCP 服務器、技能、hook
GET /api/dsh-mcp-skill-list/usage?sessionId=…    # 按會話和輪次統計用量

兩條路由都會拒絕非 loopback 來源和跨站請求。

典型用法

配置完 MCP 或裝了新技能後,打開側邊欄清點面板確認註冊狀態:MCP 標籤頁裏「工具是否已註冊」這列就是排查的結果;SKILL 標籤頁看技能來源和路徑是否符合預期。

會話結束後看頂欄「工具」標籤頁。某個任務失敗時,打開輪次詳情找到對應輪次,能直接看到該輪調用了哪些工具、來自哪個 MCP 服務器、出錯幾次,不必再回去翻事件日誌。

界面語言跟隨 DSH 設置,locale/zh/en.json 內置了簡體中文和英文詞典,無需額外配置。

適用場景與注意

適合自己維護 profile、經常調試 MCP 和技能、需要復盤會話調用鏈的開發者。由於它以當前 dsh 進程的權限運行,安裝前應先查看源碼與許可證(MIT),確認它讀取的配置路徑與項目中的實際用法一致。

它依賴 DSH 的 web 平臺(面板是 web client 插件)。宿主半部分只 import node:fs/promises、node:os、node:path,客戶端半部分只依賴瀏覽器模塊表裏的 react,沒有其他第三方運行時依賴。

最後

這個插件的價值在於把「這臺機器接了什麼」和「這個會話用了什麼」從配置文件和事件日誌裏搬到可點的界面上,且全程只讀、不碰環境變量的值。

目錄頁:https://www.skillhub.cn/plugins/jiajinyuan/dsh-mcp-skill-list

源碼:https://github.com/jiajinyuan/dsh-mcp-skill-list

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

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

小夜