前言¶
DeepSeek Harness(DSH)的 profile 可以掛很多 bundle:skill、工具、MCP、客戶端 UI。時間一長,常見問題是兩類——不知道哪些 skill 和工具真的被加載或調用過,每輪請求裏固定注入的工具 schema 又佔多少 token;以及裝了一堆插件之後,某次重啓會不會因爲某個 bundle 的 client 產物 materialize 失敗、清單與 node_modules 不一致等問題,把整個 profile「全有或全無」地連坐崩掉。
社區裏已有 skill 用量統計、記分板、雷達等先例,但 README 裏作者對照後認爲:有的要帶一整條 @dsh-cc/* 依賴鏈,有的只計 skill 次數、不算工具與固定成本,有的只看最近時間窗。dsh-capability-ledger 由維護者 MrXiongBear 自研,歸類爲 admin-security,目標是一次只讀掃描同時回答「能力臺賬」和「安全體檢」兩個問題,且不引入第三方運行依賴(僅用 node: 內置模塊,React 由 shell 提供)。
這是什麼¶
倉庫:MrXiongBear/dsh-capability-ledger
目錄頁:skillhub.cn 插件條目
package.json 中的描述爲:對某個 DSH profile,從持久化會話日誌彙總真實的 skill/工具使用情況,統計每請求固定的 tool-schema 成本,並對已安裝的每個 bundle 做只讀安全審計。插件未發佈到 npm;README 標明實驗性、自用性質,且緊貼 DSH 宿主接縫,只在編寫時的 DSH 版本上驗證過,宿主升級後可能失效。
當前狀態(README 標註 2026-10-31):桌面 profile 上的面板已摘掉(作者自定規則「沒人看就停」),保留的是體檢 CLI 與重啓前三問的閘門腳本;源碼與面板仍在,可按 README 三步重新掛載 bundle。
核心功能¶
能力臺賬(只讀)¶
共用一次掃描,從本機會話日誌與 profile 清單讀取數據,不上傳會話內容(隱私紅線見下文)。
- 技能加載:會話裏
tool/call且name === 'skill',用callId與tool/result配對,且無錯誤纔算成功;斜槓調用(user/message且data.source.kind === 'skill-invocation')單獨計入並標slashLoads。 - 技能目錄與截斷:從
skill-catalog事件取模型當時可見的描述,與ctx.skills.list()的完整描述對比,分measured/suspected/none三檔。 - 工具調用:按工具名累計調用與失敗;固定成本分「歷史請求實測注入均值」與「當前註冊表下次請求總和」,二者勿混讀;token 按 3.5 B/token 估算,僅用於橫向比較。
- 工具來源分檔:
plugin/mcp/builtin,用於區分可摘與不可動部分。 - 統計窗口:按會話
header.createdAt篩選全部歷史、最近 90 天或 30 天;切窗口是換分母重算,不是過濾表格。
面板(重新掛載後)在 Settings 旁提供「臺賬」入口,含總覽、技能臺賬、工具臺賬、安全體檢、候選預檢等頁籤;具體交互見 GitHub README「面板」一節。
安全體檢(只讀)¶
邏輯移植自作者工作區裏的 audit-dsh-plugins.mjs,統一爲 auditProfile(profileDir),供面板、測試與 CLI 共用。檢查項包括:package.json 與 cordis.patch.yml、bundle 是否在 node_modules、宿主入口、用與 shell 相同契約執行 client 產物 materialize、非 optional 的 @deepseek-ai/* peer 影子副本、安裝期腳本、明文憑據字面量(只報位置不回顯)、profile 內 @deepseek-ai/* 副本與應用自帶版本漂移等。紅項表示當前或下次啓動會連坐的問題;黃項爲形態風險。不安裝、不停用、不執行插件業務代碼、不改 profile 文件。
命令行與 HTTP(只讀)¶
重啓前三問(任一爲否則拒絕重啓):manifest 是否完整登記、audit 是否有紅項、gate-profile-boot.mjs 是否通過。
node <repo>\scripts\preflight-restart.mjs
node ...\scripts\preflight-restart.mjs --profile <dsh-home>\profiles\desktop --json <workspace>\reports\preflight.json --quiet
退出碼:0 可重啓;1 有紅項需修復;2 環境錯誤未真正驗證。作者已將此腳本接入 tools\dsh-restart-safe.ps1,並寫入 <workspace>\reports\preflight-latest.json。
僅做體檢:
node <repo>\scripts\audit-cli.mjs
node ...\scripts\audit-cli.mjs <dsh-home>\profiles\desktop --json <workspace>\reports\plugin-audit.json --quiet
有紅項時退出碼爲 1,可接進重啓前置檢查。
HTTP 路由(bundle 加載後):GET /api/capability-ledger/report(?refresh=1、?window=all|<天數>)、GET /api/capability-ledger/audit、POST /api/capability-ledger/candidate、POST /api/capability-ledger/export。環境變量可覆蓋報告目錄與 profile:DSH_CAPABILITY_LEDGER_DIR、DSH_PROFILE_DIR。
安裝與啓用¶
README 強調:DSH profile 加載是全有或全無,一個插件 import 失敗可能連坐整個 profile;安裝前備份 profile 裏的 package.json 與 cordis.patch.yml。本包沒有 dsh plugin add 一類的一行安裝命令,需本地 link 並登記 bundle。
- 備份 manifest 與 patch 文件。
- 在 profile 的
package.json的dependencies增加"dsh-capability-ledger": "link:<本倉庫絕對路徑>",並在dsh.profile.bundles中加入dsh-capability-ledger;在 profile 目錄執行pnpm install --prefer-offline。 - 若只需 CLI/閘門、不掛面板,可只保留依賴與腳本路徑;若恢復面板,README 還要求調整
gate-profile-boot.mjs的EXPECTED後重啓。
示例(路徑按本機替換):
Copy-Item <dsh-home>\profiles\desktop\package.json <dsh-home>\profiles\desktop\package.json.bak -Force
Copy-Item <dsh-home>\profiles\desktop\cordis.patch.yml <dsh-home>\profiles\desktop\cordis.patch.yml.bak -Force
# dependencies 與 dsh.profile.bundles 登記後
pnpm install --prefer-offline
node <repo>\scripts\preflight-restart.mjs
卸載:從 dsh.profile.bundles 移除 → pnpm remove dsh-capability-ledger 或刪除 junction → 重啓;異常時用備份的兩個文件還原。
運行要求:engines.node 爲 >=22;許可證 MIT;當前版本 0.1.0。
典型用法¶
重啓前閘門(與 safe restart 腳本一致):
node <repo>\scripts\preflight-restart.mjs --profile <dsh-home>\profiles\desktop --quiet
if ($LASTEXITCODE -ne 0) { Write-Error 'preflight 未通過,不要重啓 DSH'; exit 1 }
日常體檢:
node <repo>\scripts\audit-cli.mjs --quiet
if ($LASTEXITCODE -ne 0) { Write-Error '體檢有紅項,不要重啓 DSH'; exit 1 }
候選包預檢(面板「候選預檢」或 POST /api/capability-ledger/candidate):輸入 npm 包名時會通過 npm view --json 查元數據且不下 tarball、不執行包代碼;本地目錄路徑則只掃目錄。
快照默認落在作者工作區的 reports 目錄(可通過環境變量改);「全部歷史」刷新時間節流 60s 寫 capability-ledger-latest.json 供 diff。
適用場景與注意¶
適合:自行維護較複雜 DSH profile、需要可檢驗的 skill/工具用量與 schema 成本口徑、希望在重啓前用同一套邏輯做只讀審計的開發者。
務必注意:
- 插件以當前 DSH 進程權限運行;安裝前應閱讀源碼與 MIT 許可證,並理解 README 中的實驗性與 AI 生成說明。
- 臺賬數據來自本機會話與 profile,不是精確賬單;判定規則(如 skill 零使用、工具零調用)僅爲提示,停用/卸載由人決定,紅項旁提供可複製處置命令。
- 候選預檢的 npm 路徑會聯網查元數據,其餘能力不上傳會話內容。
- 社區目錄 skillhub.cn 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;倉庫 GitHub 星標以目錄頁爲準爲 0,不代表功能完備度。
結尾¶
dsh-capability-ledger 把「哪些能力真的用過、固定 schema 成本大概在哪」和「這批 bundle 現在能不能安全重啓」收到一次只讀掃描裏;即使不掛 UI,體檢 CLI 與 preflight-restart.mjs 仍可單獨使用。進一步細節、口徑表格與 API 以倉庫 README 爲準。
- 目錄頁:https://www.skillhub.cn/plugins/MrXiongBear/dsh-capability-ledger
- GitHub:https://github.com/MrXiongBear/dsh-capability-ledger