dsh-skill-stats:技能調用統計插件

在 DeepSeek Harness (DSH) 的開發流程中,隨着技能庫規模的擴大,判斷哪些技能真正被調用、哪些可以清理,是維護工作的一部分。傳統的日誌排查方式效率有限,且技能形態的統計工具通常只能事後全量掃描,無法實時感知調用。下面介紹 dsh-skill-stats 插件,它通過雙通道數據(歷史回放 + 實時訂閱)統計技能調用次數,幫助開發者判斷哪些技能值得保留。

核心功能

該插件提供以下功能:

  1. 調用統計:統計每個技能的累計調用次數、使用過的會話數、首次/最近調用時間,以及每次調用的具體時間戳。
  2. 雙通道數據:
    • 歷史回放:啓動時掃描宿主環境的會話日誌(session.jsonl / session.jsonl.zstd),解析 tool/call 事件中的技能調用。
    • 實時訂閱:監聽進行中的工具調用事件,即時累加統計數據。
  3. 會話視圖:展示單個會話用過的技能列表,支持排序。每行附帶迷你趨勢圖,展開可查看大圖及每次調用時間;已刪除的技能標記「已刪除」。
  4. 全局面板:提供所有技能(含 0 次使用)的統計表,支持排序、SVG 趨勢圖,並支持 1/3/7/30 天範圍篩選及每次調用明細。
  5. 增量緩存:基於文件大小與修改時間記錄水印,重啓時僅重放發生變化的日誌,加快啓動速度。
  6. 已刪除標記:掃描所有工作區與全局技能根目錄,檢測目錄不再存在的技能。
  7. 加載態:在日誌重放未完成時顯示提示,避免將空快照誤報爲「未使用」。

安裝與啓用

使用以下命令進行安裝和構建:

git clone git@github.com:chen-zz20/dsh-skill-stats.git
cd dsh-skill-stats && pnpm install && pnpm run build
dsh plugin --profile web add link:/path/to/dsh-skill-stats

說明:
* 該插件爲 bundle 型插件,安裝後自動加入 profile 的 dsh.profile.bundles 層,無需手動配置行。
* 依賴 @deepseek-ai/* 已發佈至公共 npm registry,pnpm install 可直接拉取。
* 若遇 pnpm 10.19+ 的 minimumReleaseAge 攔截,倉庫已包含 pnpm-workspace.yaml 豁免配置。

典型用法

插件提供 REST API 用於查詢統計數據:

GET /skill-stats/api/stats                # 全局統計(含已刪除技能)
GET /skill-stats/api/stats?scope=current  # 當前磁盤上的技能(含 0 次使用,無已刪除)
GET /skill-stats/api/stats?sessionId=...  # 單會話技能使用

響應示例:

{
  "skills": [
    { "name": "file-dsh-issue", "invocations": 5, "sessions": 2,
      "firstUsedAt": 1786000000000, "lastUsedAt": 1786009000000,
      "deleted": false, "callTimes": [1786000000000, 1786009000000] }
  ],
  "archivedSessionCount": 0,
  "ready": true,
  "updatedAt": 1786010000000
}

字段說明:
* ready:指示啓動重放是否已全部完成(未完成時前端顯示加載態)。
* callTimes:每次調用的時間戳,升序排列。
* sessionId 參數:按會話查詢;未就緒的會話會在查詢時按需重放其日誌。

注意事項

  • 只讀插件:插件不修改任何會話日誌或技能文件。
  • 實時能力:插件形態的獨特優勢在於可以邊發生邊統計,而技能形態的統計工具只能事後全量掃描。
  • 依賴與兼容性:依賴 @deepseek-ai/* 包需由宿主環境注入。

總結

dsh-skill-stats 是一個專注於技能使用統計的只讀插件。它通過增量緩存和雙通道數據,既能快速提供歷史數據,又能實時更新,幫助開發者清理不再需要的技能文件,維護健康的技能庫。

  • 項目主頁:https://github.com/chen-zz20/dsh-skill-stats
  • 社區目錄:https://www.skillhub.cn/plugins/chen-zz20/dsh-skill-stats
羽毛球分组比赛记分
小程序二维码

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

小夜