dsh-skill-history:從本地會話日誌重建 Skill 使用歷史

前言

DeepSeek Harness(DSH)側欄能列出已安裝的 Skill,但不會告訴你哪些 Skill 真正被調用過。裝了很久卻從未用過的 Skill,和每天都在用的 Skill,在列表裏看起來一樣。若你想按天回顧調用次數、下鑽到具體會話,或把關心的 Skill 歸組篩選,需要額外工具。

下面介紹社區插件 dsh-skill-history(維護者 nacivageer,分類:工作流)。它在 DSH 側欄提供只讀面板,從你本機已有的會話日誌裏重建 Skill 使用統計,不聯網、不上報。

這是什麼

dsh-skill-history 是面向 DeepSeek Harness 的側欄插件:按本地日曆日彙總 skill 工具調用次數,支持從某一天下鑽到會話,再看到該會話內各 Skill 的明細;並可創建分組、着色、多選過濾,方便盯住少數幾個 Skill。

數據來源是主機已寫入的會話日誌,只統計 tool/call 且 data.name 爲 skill 的事件,因此歷史從你第一次有會話起就完整,而不是從安裝計數器那天才開始。

插件對會話是隻讀的:不會打開會話、不會改歸檔狀態、不會編輯 Skill;除分組列表外不寫其他 Skill 相關文件。

核心功能

按日總覽

側欄展示按日表格:當日調用次數、涉及會話數、當天用過的 Skill;當天行高亮顯示。

下鑽

路徑爲:某一天 → 該日會話列表 → 單個會話內的 Skill 明細。明細包含 cwd、輪次、首次/末次調用,並提供複製 session id / 路徑的操作。

分組

可創建、重命名分組,從 8 色調色板加中性色中選色,並用多選過濾。一個 Skill 可屬於多個分組。分組數據寫入本機 $DSH_HOME/skill-history/groups.json(原子寫入,保留三份備份)。

全部 Skill 列表

列出每個已安裝 Skill 的創建日與描述(默認兩行截斷,點擊行可展開),分組方式與主頁一致。內置 Skill 有標記;從未被調用的 Skill 會排在主頁視圖底部。

增量掃描與輪詢

會話日誌是 append-only,掃描只解碼尚未讀過的字節;面板每 5 秒輪詢一次。若主機繁忙,保留上一次成功快照。已歸檔會話會標記且保持只讀。

本地與隱私

不發起網絡請求、無遙測。僅在本機讀取會話日誌(標題、cwd、skill 調用等),不存儲憑據,不修改你的 Skill 文件。

統計口徑與數據來源

一次「調用」指日誌裏 tool/call 事件,且 data.name 爲 skill;Skill 名從 data.arguments.name(JSON 字符串,需再解析)讀取。按事件時間的本機日曆日歸因,用主機時鐘而非瀏覽器時區。

默認包含子 agent 會話(delegationDepth > 0);可在過濾欄關閉 Subagents 排除。磁盤上已刪除的會話文件在下次掃描後不再計入。無法解碼的日誌(例如 Node 無 zstd、未知日誌版本)會顯示錯誤橫幅和 scan.failedFiles,不會誤顯示爲 0。

日誌路徑爲:

$DSH_HOME/sessions/<workspace>/<session>/session.v4.jsonl.zstd

設計上需注意:僅寫在 AGENTS.md 裏、沒有 skill 工具調用的 rule-only Skill,統計爲 0 是預期行爲,不是缺陷。

安裝與啓用

要求 DSH 0.2.2-rc.1 或更新,Node >=22.19.0(依賴 zlib.zstdDecompressSync)。package.json 中當前版本爲 0.2.0,許可證 MIT。

插件在 DSH 進程權限下運行,安裝前建議通讀倉庫源碼與 LICENSE。

從本地目錄(當前可用)

dsh plugin --profile <profile> add link:/absolute/path/to/dsh-skill-history

若無 dsh CLI,可通過插件管理器指定目錄:

plugin_manager install_bundle  target=/absolute/path/to/dsh-skill-history

從 GitHub(倉庫已發佈後)

dsh plugin --profile <profile> add github:nacivageer/dsh-skill-history

桌面應用

在 Settings → Plugins 中通過應用內插件管理器安裝包,刷新頁面一次。側欄會出現柱狀圖圖標。

更新與移除

dsh plugin --profile <profile> update github:nacivageer/dsh-skill-history
dsh plugin --profile <profile> remove dsh-skill-history

典型用法

安裝並刷新後,在側欄打開 Skill usage 面板即可查看按日統計。想聚焦某幾個 Skill 時,在分組裏創建分類並着色,用多選過濾縮小列表。

需要覈對某一天的具體使用時:點選該日 → 進入會話列表 → 點開會話查看 Skill 明細;若會話已歸檔,面板不會提供「打開會話」動作(避免寫操作),可複製 id 或路徑自行定位。

過濾欄可切換是否計入子 agent 會話。首次掃描大量歷史可能耗時(README 中在約 200 會話 / 150 MB 量級下約爲 15 秒);面板會先展示上次快照,後臺刷新。

適用場景與限制

適合:長期在 DSH 裏安裝多個 Skill、想分清「裝了沒用」和「常用」的開發者;需要按日本地回顧 Skill 調用、又希望數據不出本機的團隊或個人。

限制(README 已說明):

  • 尚無日期範圍過濾與 CSV 導出。
  • 不統計非 skill 工具路徑的 Skill 規則。
  • 分組與顏色不同步到其他機器。
  • 大批量歷史首次掃描佔用時間;大日誌依賴 Node zstd 與 session.v4.jsonl.zstd 格式。

從舊名 dsh-skill-stats 遷移時,原有分組仍會從 $DSH_HOME/skill-stats/groups.json 讀取,首次保存寫入 $DSH_HOME/skill-history/groups.json。

兼容性摘要

表面 狀態
DeepSeek Harness >=0.2.2-rc.1 Desktop 已測
Node >=22.19.0
OS Windows、macOS、Linux
會話日誌 session.v4.jsonl.zstd;未知格式報錯而非顯示 0

結尾

dsh-skill-history 用本機會話日誌回答「哪些 Skill 真的在用」:按日彙總、會話下鑽、分組過濾,且只讀、無網絡。DSH 生態強調「一切皆插件」;社區目錄在獨立站點維護,與 DeepSeek / 幻方無官方從屬關係。

  • 目錄頁:https://www.skillhub.cn/plugins/nacivageer/dsh-skill-history
  • 倉庫:https://github.com/nacivageer/dsh-skill-history
羽毛球分组比赛记分
小程序二维码

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

小夜