dsh-pulse:DSH 的跨会话用量与成本观察台

前言

使用 DSH 做智能体开发时,常见的问题不只是“这一次会话用了多少 token”,而是多个 workspace、多个项目、多个模型同时存在时,用量分布、缓存命中、成本趋势和官方余额如何一起看。

dsh-pulse 是面向 DSH 的 web UI 插件,把这些信息放在同一个观察台里。它主要解决三类问题:

1、跨会话的 token 用量趋势;
2、按模型、项目维度的用量与成本拆分;
3、DeepSeek 官方余额与成本估算的对照查看。

下面介绍它的定位、功能、安装方式、典型用法和注意事项。

这是什么

dsh-pulse 是一个 DSH 插件,维护者为 Enc-hanted,许可证为 MIT。

它运行在 DSH 的 UI 平面上,不提供模型可见工具,不额外消耗 token。插件本身不保存密钥。

它提供的是一张跨会话用量与成本观察台,包含:

  • daily token charts;
  • cache hit ring;
  • 90 天 / 1 年热力图;
  • 模型与项目拆分;
  • 自适应颜色主题;
  • CSV 导出。

核心功能

1、用量趋势

dsh-pulse 的用量趋势支持多个时间窗口:

  • 今天的小时级折线图;
  • 7 天 / 30 天的每日柱状图;
  • 90 天 / 1 年的 GitHub-style heatmap;
  • 最多 30 天的自定义日期范围。

这个部分适合先看整体趋势,再缩小到某一天或某一周。

2、项目与模型过滤

仪表盘提供两个可搜索下拉框,可以按 workspace 和模型过滤。

选择其中一个 workspace,或同时选择一个 workspace 和一个模型后,整个仪表盘的数据都会收敛到对应范围。

3、跨 provider 模型区分

模型标签来自 Models 配置,格式为:

provider · display name

当多个 provider 提供同名模型时,可以通过 provider 前缀区分它们。

4、模型分布与项目排名

dsh-pulse 会展示:

  • 模型 share bars;
  • 项目 ranked table。

这两部分适合回答“哪个模型用得最多”和“哪个项目消耗最多”的问题。

5、会话详情与 subagent 归因

会话会按项目分组,并提供:

  • subagent subtotal;
  • per-session break analysis。

这有助于把一次任务里的研究、思考、总结等阶段拆开来看。

6、成本估算

成本估算基于 per-model rates,并区分 peak / off-peak tiers。

没有匹配规则的模型会显示为 unpriced。

需要说明的是,成本估算使用手动汇率 usdToCny,默认值为:

6.8

它是一个估算器,不是账务口径。

如果不想显示成本数字,可以设置:

costEnabled: false

这会隐藏成本相关数字,但保留其他用量数字。

7、成本趋势

成本趋势提供每日 sparkline。

在积累满一天 snapshots 后,会在同一张图里叠加官方余额对账线。

8、官方余额

如果已经保存了 DEEPSEEK_API_KEY,dsh-pulse 可以查询 DeepSeek 平台余额,并支持手动刷新。

查询使用的是 host 已经保存的 key,插件本身不保存密钥。

9、CSV 导出

在 dashboard header 里可以一键导出当前加载窗口。

导出内容为 UTF-8 CSV daily table。

安装与启用

dsh-pulse 要求:

node >=22.15

安装命令:

dsh plugin --profile web add -w dsh-pulse

安装后,重启 dsh web,然后打开:

Settings → Usage Pulse

安装完成后,可以在 DSH 的 web UI 里使用 dsh-pulse 的仪表盘。

典型用法

1、在会话中查看文本摘要

在任意 DSH 会话中输入:

/pulse

它会打印一个文本摘要。

2、打开浮动面板

在 DSH web 侧边栏底部按钮处,可以打开 dsh-pulse 的浮动面板。

3、查看官方余额与对账线

如果已保存 DEEPSEEK_API_KEY,仪表盘会显示官方余额。

当 snapshots 积累满一天后,成本趋势图里会出现官方余额对账线。

配置与限制

dsh-pulse 的本地保存位置是:

$DSH_HOME/settings.yaml

具体写入其中的 pulse: section。

配置修改会立即生效,并能在重启后保留。

需要注意的是:

  • 没有 llm service 时,没有可编辑的行;
  • 没有 settings service 时,页面为只读;
  • 成本数字是估算值,不适合作为账务依据;
  • 未配置规则的模型会显示为 unpriced。

卸载与残留

卸载命令:

dsh plugin --profile web remove -w dsh-pulse

卸载后,以下内容可以安全删除:

~/.dsh/settings.yaml 中的 pulse section
~/.dsh/storages/pulse_balance.json

适用场景与注意

dsh-pulse 适合需要长期观察 DSH 用量的开发者,尤其是同时使用多个项目、多个模型、多个 provider 的场景。

它适合用来回答这些问题:

  • 今天 token 消耗集中在哪个时间段?
  • 最近 7 天、30 天的用量趋势如何?
  • 哪个项目或哪个模型消耗最多?
  • 官方余额还能支撑多久?
  • 成本估算和官方余额之间有什么差异?

使用前需要注意:

  • dsh-pulse 作为 DSH 插件运行,会访问 DSH 本地配置与已保存的 key;
  • 插件以当前 dsh 进程权限运行;
  • 安装前应检查源码与 MIT 许可证;
  • 成本估算不等于官方账务结果;
  • 插件本身不保存密钥。

链接

GitHub 仓库:

https://github.com/Enc-hanted/dsh-pulse
羽毛球分组比赛记分
小程序二维码

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

Xiaoye