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 中自行配置。
羽毛球分组比赛记分
小程序二维码

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

小夜