前言¶
在 DeepSeek Harness(DSH)里跑多 workspace、子智能体会话时,Token 消耗分散在各次 assistant/message 事件里,Web 界面默认不会把「全库汇总、按日趋势、预算还剩多少」放在一处。若只靠账单或手工翻日志,很难对照当前 profile 里到底花了多少、哪条 session 最贵、Host 进程是否吃满 CPU。
下面介绍的 dsh-usage-insights 是社区维护的 Web UI 插件(维护者 yuhaoboris),在左侧栏增加 用量统计 入口,用 profile 已持久化的会话日志做聚合,不造假数据、也不另建账本。
这是什么¶
dsh-usage-insights 归类为「模型推理」相关插件。它在 Harness Web 侧栏注册图标(顺序 5,位于 Plugins 与 Schedules 之间),打开后展示完整统计面板:总 Token、会话数(含子 agent 拆分)、估算美元成本、预算剩余、按日时间线、可搜索的会话表,以及 Host 进程的 CPU / 内存采样。
数据全部来自 ctx.sessionQuery 重放各 session 日志里已提交的、带 provider usage 的 assistant/message;fork 继承的事件(inheritedEventCount)会跳过,避免父会话重复计费。开发与验证目标版本为 DSH 0.2.1-rc.5;package.json 中插件版本为 1.0.0,许可证 MIT。
核心功能¶
KPI 与预算¶
顶栏 KPI 包括:总 Token、带 sub-agent 拆分的会话数、估算成本、预算剩余。预算区展示已花费相对 budgetUsd 的进度、今日花费、近 7 日日均、30 日投影、按当前节奏估算的剩余天数。预算对比的是全历史估算成本与配置上限;30 日投影依据最近 7 日日均成本。
时间线¶
按 7 / 14 / 30 天切换日粒度柱状图,轴上带数值标签。可堆叠展示 cache-read / input / output Token、仅 output,或按日成本;悬停某日可看明细,当天在轴上有标记。Host 返回的日桶长度由 timelineDays 控制(7–90 天)。
会话列表¶
表格列出全部 session,支持排序与搜索,每页 10 条、表头固定。列包括模型、Token 合计、估算成本、最后活动时间;展开行可看 Token 分项、模型、工作目录、session ID、父 session。
CPU 与费率¶
CPU 区块展示进程 CPU(每核与整机占比)、系统 CPU、load 1/5/15、内存、uptime、每核条形图,以及近期采样的滚动 sparkline;采样间隔约 2 秒,数据来自 Host 内 node:os 与 process。
Rates 为可折叠表格,列出估算成本所用的「每百万 Token 美元」费率;可在配置里按模型覆盖,未列出的模型走 defaultPrice。
成本模型(估算)¶
成本按 README 公式从 usage 字段折算,单位为 USD / 1M tokens;reasoning tokens 计入 output,不二次计费。这是按配置费率的估算,不是供应商账单。
cost = input × inputRate
+ cacheRead × cachedInputRate
+ cacheWrite × cacheWriteRate
+ output × outputRate
数据刷新与隐私¶
Host 缓存各 session 的 fold:活跃 session 至多每 10 s 重读,全库至多每 5 min 重读;浏览器默认每 5 s 轮询 snapshot,因此不会每次请求都重放全部日志。
只读路由 GET /usage-insights/snapshot 挂在现有 webServer 上,返回聚合、标题、工作目录、session ID 与 CPU/内存计数,不包含消息正文。与其它命名路由一样未单独做鉴权,继承 server 的 loopback 绑定;响应为 no-store。
环境与依赖¶
- Profile 需通过 Web GUI(
@deepseek-ai/dsh-web-app或等价物)组装,并提供ctx.sessionQuery与ctx.webServer。 - Node/Host 运行环境需支持
node:os(常规 DSH desktop/web 部署均满足)。 - 插件无运行时 npm 依赖,安装目录即可,无需
npm install。
安装与启用¶
官方流程是先取得仓库目录,再在 Harness Web UI 里把该目录作为 bundle 装进 profile。
git clone https://github.com/yuhaoboris/dsh-usage-insights.git
# SSH instead of HTTPS:
# git clone git@github.com:yuhaoboris/dsh-usage-insights.git
在 Web UI 中选择 Plugins → Add,选中克隆下来的 dsh-usage-insights 文件夹;profile 的 bundle 选择与 dsh.profile.bundles 会随之更新。程序化安装可对克隆目录的绝对路径调用 plugin_manager 的 install_bundle action。
bundle 通过 cordis.patch.yml 插入配置行,默认示例为:
- insert:
- id: usage-insights
name: dsh-usage-insights
config:
budgetUsd: 20
timelineDays: 30
includeSubagents: true
安装完成后在左侧栏打开 用量统计。若 profile 支持 HMR 通常无需整页刷新;否则需重启 profile 后再用。
配置说明¶
可在 profile 的 cordis.patch.yml 中编辑 usage-insights 行,或在安装前改 bundle 内 cordis.patch.yml 的 config 块。完整字段示例如下:
- id: usage-insights
config:
budgetUsd: 20
timelineDays: 30
refreshMs: 5000
liveRefreshMs: 10000
fullRefreshMs: 300000
includeSubagents: true
pricing:
deepseek-flash:
input: 0.28
cachedInput: 0.028
cacheWrite: 0.28
output: 0.42
defaultPrice:
input: 0.28
cachedInput: 0.028
cacheWrite: 0.28
output: 0.42
| 字段 | 默认值 | 含义 |
|---|---|---|
budgetUsd |
20 |
预算上限;0 表示不显示上限相关 UI |
timelineDays |
30 |
Host 返回的日桶天数(7–90) |
refreshMs |
5000 |
浏览器轮询间隔(最小 2000) |
liveRefreshMs |
10000 |
活跃 session 最小重读间隔 |
fullRefreshMs |
300000 |
全库重读间隔 |
includeSubagents |
true |
是否在合计与表格中计入 sub-agent session |
pricing |
DeepSeek 风格估算 | 各模型 USD/1M tokens |
defaultPrice |
同上 | 未列出模型的回退费率 |
默认费率偏 DeepSeek 官方量级,实际账户价不同时应改 pricing / defaultPrice,否则成本数字仅供趋势参考。
典型用法¶
- 在已启用 Web GUI 的 profile 中按上文安装 bundle 并打开 用量统计。
- 先看 KPI 与预算条,确认全库估算成本是否接近你设定的
budgetUsd。 - 在时间线切换 7 / 14 / 30 天,按 Token 堆叠或「仅 cost」观察近期峰值日。
- 在 Sessions 表搜索模型名或按成本排序,展开高成本行核对 working directory 与 session ID。
- 长时间跑 agent 时对照 CPU 区块与 load,判断 Host 是否资源紧张。
Host 侧实现位于 index.js(聚合、snapshot、CPU 采样),客户端为无构建步骤的 client.js,经上述 HTTP 路由拉取数据而非 Remote namespace,以保持零依赖。
适用场景与注意¶
适合:需要在 DSH Web 里一眼看到真实会话 Token 与估算 spend、做简单预算约束、同时关心 Host CPU/内存的开发者。
注意:
- 插件在 当前 DSH Host 进程权限 下运行,并注册本机 web 路由;安装前请阅读 仓库源码 与 MIT 许可证,确认符合你的安全策略。
- 社区目录 SkillHub 插件页 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,安装来源以你信任的仓库为准。
- 无
ctx.sessionQuery或非 Web GUI profile 无法满足 README 中的 Requirements。 - GitHub 星标为 0(截至资料抓取),不代表功能描述;以 README 与 CHANGELOG 为准升级。
结尾¶
dsh-usage-insights 把 profile 里真实的 assistant/message usage 折成总览、预算、时间线与逐 session 明细,并附带 Host 侧 CPU 监控,适合作为日常跑 Harness 时的用量仪表盘。安装与配置以仓库 README 为准。