dsh-session-eval:對已發生會話做確定性復盤評分

前言

在 DeepSeek Harness(DSH)裏跑 agent,改 prompt、換模型、加插件之後,常見問題是:真實工作會話有沒有變差?傳統 benchmark 要事先寫用例、再跑一輪,和日常 session 不是同一批數據。若再引入 LLM 當裁判,結果還難復現。

下面介紹社區插件 dsh-session-eval(維護者 kittimzhe,分類:工作流):對已持久化的 session 日誌做回顧性評估——固定閾值打出等級卡,並支持跨 session 的迴歸對比。不新建 benchmark、不用 LLM 評判、不要求再跑一輪 agent。

這是什麼

dsh-session-eval 是 DSH 會話工具鏈裏的「測量層」插件:讀已有 session,輸出可復現的等級與趨勢,用來回答「這次會話好不好」「改配置之後趨勢是升還是降」。

與同生態插件的分工(均通過 ctx.sessionQuery 讀日誌,JSONL 或 SQLite 後端均可):

插件 層級 回答的問題
dsh-session-export 證據 這次 session 裏具體發生了什麼
dsh-session-recall 記憶 之前做過什麼、記錄在哪
dsh-session-eval 測量 會話質量如何、趨勢是否在改善

與 benchmark 型 dsh-eval 的對比:前者評估你事先發起的跑分;本插件評估已經發生的 session。兩者互補,不互相替代。

許可證 MIT;npm 包名 dsh-session-eval(資料中 package.json 版本爲 0.2.4)。

核心功能

單 session 等級卡(/eval)

從持久化日誌提取三項確定性指標,按文檔化閾值映射爲 A–E(缺相關活動時該維度爲 n/a):

維度 指標 含義概要
Reliability 工具錯誤率 tool result 報錯佔比
Re-ask 每 10 輪修正信號 連續用戶消息中、助手尚未回覆前的額外用戶消息(行爲上近似「沒一次說對」)
Tool load 每輪工具調用數 調用密度是否在合理區間

Overall 取各已評分維度中的最差檔,偏保守設計。閾值常量見倉庫 src/grade.ts;可配置閾值在 roadmap(GitHub issues)。

同一套日誌多次執行 /eval,輸出一致:無模型參與、無採樣,牆鍾時間僅作備註、不參與打分。

跨 session 迴歸(/eval-diff)

指定兩個 sessionId,在噪聲帶(錯誤率 ±2pp、re-ask ±0.5、tool load ±1)內對比,避免微小抖動被誤判爲迴歸。

工作區歷史趨勢(/eval-history)

在當前工作區 cwd 範圍內(與 /archive 相同的 sessionQuery 範圍),對最近 N 個 session 分別打分,並對首尾做 diff。適合「改插件 / prompt / 模型前後各抓一批真實 session」做對比。

安裝與啓用

環境:Node.js 20 或 22;DSH profile 需掛載 commands 與 sessionQuery 服務(自帶的 web / agent profile 滿足要求)。

在 DSH 中安裝(官方 README 命令):

dsh plugin --profile web add dsh-session-eval

或從 GitHub 源安裝:

dsh plugin --profile web add github:kittimzhe/dsh-session-eval

安裝後 bundle 會掛載 /eval、/eval-diff、/eval-history。若自行維護 cordis.patch.yml,需保留類似條目:

- insert:
    - id: session-eval
      name: 'dsh-session-eval'

插件以當前 DSH 進程權限運行;安裝前建議瀏覽倉庫源碼與 MIT 許可證,確認符合你的安全與合規要求。

典型用法

先看當前 session

在 DSH 會話裏執行:

/eval

終端示例(README 摘錄,版本號隨安裝包變化):

Session eval — a1b2c3d4… (dsh-session-eval v0.2.2)
Overall: A
  Reliability   A    2/87 tool results errored (2.3%)
  Re-ask        A    1 re-ask signal(s) over 23 turns (0.4/10 turns)
  Tool load     B    3.8 tool calls per turn
Notes:
  • Wall time 41.2 min over 23 turns.

指定 session 或導出 JSON

/eval --id <sessionId>
/eval --json

對比兩次變更前後

已知兩個 id 時:

/eval-diff <beforeId> <afterId>
/eval-diff <beforeId> <afterId> --json

看最近 N 次趨勢

/eval-history [N]
/eval-history [N] --json
/eval-history --out report.md

--out 將終端卡片存爲 Markdown;加 --json 可存 JSON。相對路徑相對當前 session 工作區解析;父目錄須已存在,已有文件會被覆蓋。

適用場景與注意

適合:已在 DSH 中持續產生 session 日誌的團隊或個人;需要在真實工作數據上跟蹤 Reliability、Re-ask、Tool load 趨勢;改配置後做噪聲容忍的迴歸判斷,而不是隻依賴事先設計的 benchmark。

不適合替代:需要覆蓋預測場景的標準化 benchmark(仍應使用 dsh-eval 等 benchmark 路徑)。

注意:

  1. 評分閾值目前爲代碼內常量,自定義門檻需關注上游 issue 或自行 fork。
  2. 歷史範圍綁定當前工作區 cwd,跨目錄對比請用 /eval-diff 並明確 session id。
  3. 社區目錄 SkillHub 插件頁 與 GitHub 倉庫由社區維護,與 DeepSeek / 幻方無官方從屬關係;星標等元數據以各站點當時展示爲準。

結尾

dsh-session-eval 把「會話好不好、改完有沒有變差」落到持久化日誌上的固定閾值與 diff,補全 export / recall 之後的測量一環。安裝後從 /eval 和 /eval-history 即可在現有 session 上試跑。

羽毛球分组比赛记分
小程序二维码

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

小夜