在 DeepSeek Harness (DSH) 的開發與調試過程中,追蹤技能觸發和工具調用是常見需求。模型有時會自報狀態,導致日誌數據不可靠。爲了解決這個問題,需要一種基於引擎日誌而非模型自報的方案,來展示每個回覆下方的技能和工具使用情況。
dsh-skill-trail 是一個 DSH 插件,用於在對話界面渲染緊湊的軌跡信息。
是什麼¶
該插件在 DeepSeek Harness 中運行,負責在每個助手回覆下方渲染軌跡。它顯示哪些技能被觸發(🧠)以及哪些工具被實際使用(✓)或失敗(✗)。數據來源是引擎日誌,而非模型輸出。
- 維護者:Bryan-cmf
- 類別:記憶
- 許可證:MIT
核心功能¶
- 渲染軌跡:在每個助手回覆下方展示緊湊的技能和工具徽章。
- 零模型自報:數據完全基於引擎日誌的投影摺疊,不依賴模型輸出。
- 基於引擎日誌:通過
session-projection單位處理日誌,確保數據真實。 - 結構化與可重放:數據結構化,支持通過緩存和回填進行重放。
- 逐輪顯示:每個回覆對應顯示其輪次的軌跡。
- 技能感知:技能工具調用渲染爲 🧠 並顯示解析後的技能名稱。
- 摺疊會話日誌:支持摺疊會話日誌。
安裝與啓用¶
插件需要 DSH 版本 >= 0.1.0-rc.6。
安裝路徑 A(推薦):
在項目的 package.json 中配置 dsh.profile.bundles,將插件加入其中:
{
"dsh": {
"profile": {
"bundles": ["@bryan-cmf/dsh-skill-trail"]
}
}
}
安裝並重啓 DSH 後,投影單元會在全局註冊,客戶端渲染器會在每個對話中顯示軌跡。
典型用法¶
配置示例:
可以在配置中限制輪次和每輪調用數:
* maxTurns=500:每會話保留的輪數上限。
* maxCallsPerTurn=50:每輪觸發的條目上限。
投影值獲取:
通過 useProjection('skillTrail') 獲取結構化數據,返回類型爲 Record<turn, { triggered, used, failed }>。
{
"12": {
"triggered": [
{
"name": "skill",
"skill": "ak-hk-stock-dd",
"status": "ok",
"callId": "call_1"
}
],
"used": {
"skill": 1,
"read": 3,
"bash": 2
},
"failed": ["web_search"]
}
}
適用場景與注意¶
- 依賴項:該插件依賴
@deepseek-ai/cordis、react、zod等 peerDependencies。 - 版本狀態:當前版本爲
0.1.4-alpha.0,處於 Alpha 狀態。 - 替代關係:該插件已被
@bryan-cmf/dsh-skill-ledger取代,本倉庫已歸檔,僅作爲設計歷史記錄保留。
結尾¶
dsh-skill-trail 通過投影引擎日誌的方式,實現了零模型自報的技能與工具軌跡追蹤,提供了結構化且可重放的數據視圖。由於其已被新插件取代,建議關注設計歷史記錄。
- GitHub:https://github.com/Bryan-cmf/dsh-skill-trail
- 目錄頁:https://www.skillhub.cn/plugins/Bryan-cmf/dsh-skill-trail