dsh-session-audit:DSH Session 執行審計插件

前言

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
羽毛球分组比赛记分
小程序二维码

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

小夜