dsh-tokstat:DeepSeek Harness 會話日誌實時統計面板

DeepSeek Harness (dsh) 的設計理念是“一切皆插件”。在開發或使用 dsh 過程中,開發者常需要快速瞭解會話的 Token 使用量、首字生成時延(TTFT)、吞吐量(TPS)以及估算成本。dsh-tokstat 是一個由 kongjianguan 維護的插件,它直接讀取本地的會話日誌,提供兩種形態的統計面板:Web 設置頁插件和 Python TUI 儀表盤。

核心能力

插件通過 zstd 幀級增量解析還原指標,將散落在 ~/.dsh/sessions/ 下的日誌轉化爲可分析的數據:

  • 實時面板:提供兩種形態。一種是 Web 設置頁插件,在 dsh Web 設置頁增加「統計」section,每 2 秒輪詢更新;另一種是獨立 Python TUI,提供 7 個視圖的終端儀表盤。
  • 多維視圖:支持 切換 7 個視圖,包括總覽(Hero 卡 + 火花線)、趨勢(按小時/天柱狀圖)、模型/供應商、會話、請求、錯誤。
  • 詳細指標:還原輸入/輸出/緩存 Tokens、TTFT(首 token 時延)、TPS、耗時、重試與失敗、估算成本。支持按每小時/天統計,支持點擊表頭排序。
  • 錯誤分析:支持重試原因分佈(TRANSPORT/SERVER/TIMEOUT 等)及逐條重試事件、失敗步驟的查看。

安裝與啓用

在 dsh 中安裝插件到指定 profile(例如 web-dev):

dsh plugin --profile web-dev add https://github.com/kongjianguan/dsh-tokstat.git

安裝後啓動 dsh Web:

dsh --profile web-dev --port 3199

打開瀏覽器訪問 http://127.0.0.1:3199/,進入 設置 → 統計 即可看到面板。

使用方式

Web 設置頁插件

插件通過 dsh 進程內的 Node half 通過 sessionPersistence 讀取會話日誌並聚合,提供 /tokstat/stats 接口。面板無需額外服務,直接展示聚合後的統計信息。

Python TUI 運行

在倉庫根目錄下運行:

./run.sh          # 默認範圍:全部
./run.sh --range today          # 只看今日

TUI 快捷鍵:

  • o t m p s r e:切換 總覽/趨勢/模型/供應商/會話/請求/錯誤 視圖。
  • 1 2 3 4:切換時間範圍(全部/今日/近7天/近30天)。
  • f:聚焦請求日誌過濾框(Esc 退出)。
  • space:暫停 / 繼續自動刷新。

配置價格表

通過 YAML 文件配置各模型的價格(每百萬 Token):

./run.sh --prices PATH

注意事項

  • 版本兼容性:數據格式基於 dsh 0.1.0-rc.6 的會話日誌結構驗證。插件形態需要 Node ≥ 23.6;TUI 需要 Python 3.11+。
  • 權限與安全:插件全程只讀,僅讀取 ~/.dsh/sessions/ 下的 session.jsonl.zstd 與 ~/.dsh/settings.yaml,不修改任何 dsh 數據。TUI 全程離線運行,不聯網,無遙測,不會讀取或上傳 API 密鑰。
  • 敏感數據:會話日誌包含對話內容,請勿將包含敏感對話的 ~/.dsh 目錄提交到任何倉庫。
  • 指標口徑:TTFT 定義含排隊/思考時間,長尾明顯,請以 p50/p95 爲準。部分會話的持久化日誌只有批量 chunk,TTFT 爲近似值(誤差 <10%)。
  • 成本說明:成本爲估算,中轉渠道價格需在 prices.yaml 中自行配置。
羽毛球分组比赛记分
小程序二维码

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

小夜