前言¶
DSH session 日誌會記錄一次運行中的事件,但原始事件本身並不能直接回答幾個實際問題:這次跑了多久?有多少 Turns 和 Steps?哪些工具調用失敗?有沒有重複調用或重複讀取同一文件?最後有沒有觀察到 test、build、lint、typecheck 這類驗證命令?
下面介紹 dsh-session-audit。它針對單個 DSH session 輸出執行分析和審計報告,幫助你查看 Agent 實際是如何工作的。
這是什麼¶
dsh-session-audit 是 DeepSeek Harness(DSH)的 session 執行分析插件,由 bwndlct 維護。
它解決的問題是:把一次 session 中的步驟、工具調用、失敗情況、重複動作、token 用量和驗證信號,整理成一份可讀報告。許可爲 MIT。
核心功能¶
Session 指標¶
報告包含 session 級執行指標:
- 時長
- Turns
- Steps
- assistant 消息數
- 工具調用總數
- 按工具分佈
- 成功 / 失敗拆分
Token 用量¶
Token 用量按 turn:step 摺疊爲 input / output / cache 桶,語義與官方 session-stats 投影一致。
如果 provider 沒有上報 token 信息,報告會顯示 Unavailable,不會進行估算。
確定性審計信號¶
dsh-session-audit 使用純規則判定審計信號,不用 LLM 打分。已覈實的信號包括:
- 連續失敗
- 失敗率
- 高頻工具
- 完全相同的重複調用
- 重複讀取同一文件
驗證命令識別¶
插件可以識別 shell 工具調用中的 test / build / lint / typecheck 命令,並報告實際觀察到的結果。
輸出格式¶
報告支持三種格式:
text:默認格式- Markdown
- JSON:帶穩定
schemaVersion
當前或歷史 Session¶
默認審計當前內存中的 session,也可以按 id 審計任一持久化 session,並支持列出最近的 session。
健壯性¶
以下情況會被安全處理,並在報告的數據質量說明中呈現:
- 空會話
- 畸形事件
- 未來新增的事件類型
- 孤兒 result
- 崩潰尾部殘幀
安裝與啓用¶
先確認 DSH 版本要求:
@deepseek-ai/dsh 0.1.0-rc.6+
下面按步驟安裝並啓用。
1、執行安裝命令:
dsh plugin --profile web add dsh-session-audit
2、編輯 ~/.dsh/profiles/web/package.json,把包加進 dsh.profile.bundles。上面的安裝命令不會做這一步。
例如:
{
"dsh": {
"profile": {
"bundles": [
"dsh-session-audit"
]
}
}
}
如果已有其他 bundles 條目,保留現有條目,並把 dsh-session-audit 加入數組。
3、重啓 dsh:
dsh web
4、驗證掛載:
dsh --profile web --dump-config | grep -A2 session-audit
經過上面的步驟,插件應在當前 profile 中完成啓用。
典型用法¶
審計當前會話¶
可以直接用自然語言:
審計當前會話
也可以指定格式:
用 markdown/json 格式審計當前會話
交互式 profile 中還可以使用斜槓命令:
/session-audit [text|markdown|json]
其中,空參數默認使用 text 格式。
審計歷史 session¶
如果已經知道 session id,可以按 id 審計:
審計 session session-abc123
要列出可審計的持久化 session,可以使用:
列出最近的 session
對應的斜槓命令是:
/audit-list
適用場景與注意¶
適合誰¶
如果你需要覆盤一次 DSH Agent 運行,檢查工具調用失敗、重複動作、token 用量和驗證命令結果,dsh-session-audit 適合作爲本地審計工具使用。
權限與安全檢查¶
插件以當前 dsh 進程權限運行。它會讀取本機 DSH home 的 session 日誌和內存中的 live session 註冊表。
安裝前建議檢查源碼和許可證,確認其符合你的安全要求。
本地性¶
dsh-session-audit 只做本地分析:
- 不發起任何網絡請求
- 不調 LLM API
- 不發遙測
- 不收集任何用戶數據
報告只留在本地,作爲工具結果返回給你和模型閱讀,不寫盤。
限制¶
已覈實的限制包括:
- 驗證命令識別基於模式;包在特殊腳本名裏的驗證器無法識別。
- 子 Agent 的 session 需按 id 單獨審計;暫無跨 session 彙總。
- Reasoning token 在 provider 上報時展示,但部分 provider 的逐步值無法重建。
- 暫無時間序列 / 上下文增長分析。
結尾¶
dsh-session-audit 的價值在於把 DSH session 的執行過程整理成可檢查的信息:步驟、工具調用、失敗、重複動作、token 用量和驗證信號都會出現在報告中。
倉庫地址:
https://github.com/bwndlct/dsh-session-audit
目錄頁可搜索插件名:
dsh-session-audit