dsh-better-status:DeepSeek Harness 会话统计可视化与余额监控

前言

DeepSeek Harness(DSH)在底部提供了一个文本统计行,展示轮次、步骤、耗时、tok/s 等信息。这种形式信息密度低,且容易被忽略。dsh-better-status 插件将这一行文本替换为页面右侧直观、醒目的图表面板,并每秒自动刷新。它还增加了本次花费与 DeepSeek 账户余额的显示。

安装与启用

本插件为正式插件包,安装一次即出现在 DSH 的插件列表中,每次启动自动加载。

  1. 找到 DSH profile 目录(默认 ~/.dsh/profiles/<profile>/)。
  2. 编辑 package.json,加入依赖与 bundle 配置:
{
  "dependencies": {
    "dsh-better-status": "https://github.com/Yaing-Yan/dsh-better-status/archive/refs/tags/v1.0.0.tar.gz"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-better-status"
      ]
    }
  }
}
  1. 在该 profile 目录执行 pnpm install。
  2. 重启 DSH。打开任一有会话的界面,页面右侧即出现每秒刷新的图表。

功能特性

  • 每秒自动刷新:由 timer 服务驱动,强制重渲染并重读最新投影。
  • 零图表依赖:全部使用原生 React + SVG + CSS 绘制,无构建步骤。
  • 数据权威:直接读取会话投影 sessionStats、tokenUsage、contextPressure,与官方统计行同源。
  • 花费与余额显示:
    • 花费:按 token 用量 × 单价估算(单价可修改)。
    • 余额:由 Host 侧通过 Typert Remote 调用 DeepSeek /user/balance 读取(缓存 60s)。
  • 自动降级:当 sessionStats 投影缺失时,回退到本地节点折叠数据。
  • 主题自适应:颜色使用 --dsw-* 变量,明暗主题自动适配。

图表内容

面板包含以下可视化组件:
* 轮 / 步:两个大数字卡片(蓝 / 紫)。
* 本次花费 / 账户余额:两个数字卡片。
* LLM 耗时 vs 工具耗时:SVG 环形图(donut)+ 图例。
* 首 token 平均 / 生成速度:渐变进度条。
* 缓存命中:环形进度环。
* 输入 / 输出 token:堆叠条形图。
* 上下文占用:环形进度环(附加)。

二次开发

插件源码位于 lib/client.js,包含 Tile、Donut、Ring、Bar、StackedBar、LegendItem 等无 hook 的纯展示函数。

  • 改配色:修改 lib/client.js 里的 C 调色板。
  • 改面板位置/宽度:修改 lib/client.js 的 CSS 里 .bsb-panel 的 top / right / width。
  • 改花费单价:修改 lib/client.js 顶部的 PRICING(单位 USD/百万 token)。
  • 改余额刷新间隔:Host 缓存 60s(lib/index.js 的 60000),Client 每 60 tick 拉取一次(lib/client.js 的 tick % 60)。

注意事项

  • 余额功能:需要能读到你的 API Key。在 DSH 的 Models 设置页配置 DEEPSEEK_API_KEY(或 llm-deepseek 设置里的 apiKeyEnv)。未配置时余额显示「—」,其余图表不受影响。
  • 权限与安全:插件以当前 DSH 进程权限运行,安装前建议阅读源码与许可证(MIT)。

仓库

https://github.com/Yaing-Yan/dsh-better-status

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

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

小夜