前言¶
在 DeepSeek Harness(DSH)Web 里跑长会话时,token 消耗和套餐额度往往分散在上游控制台或日志里,切换渠道后还要自己对照 provider。若只想在写 prompt 的同一屏看到「当前会话用了多少、官方余额还剩多少、Go 套餐三窗口走到哪」,需要在宿主 UI 里挂一块轻量汇总,而不是另开页面查账。
下面介绍社区插件 dsh-usage-summary(维护者 lionwill,分类:模型推理):在输入框下方状态栏注册一颗紧凑胶囊,点击向上展开面板,并按当前会话正在使用的渠道自动切换展示内容。
这是什么¶
dsh-usage-summary 是 DSH Web 的用量汇总小组件:注入位置为 conversation.composer.dock(order: -10),排在「N 轮 M 步 · tok/s」统计胶囊左侧。面板锚定在胶囊上方,跟随会话渠道在 DeepSeek 官方与 OpenCode Go 两套视图之间切换。
- 目录页:https://www.skillhub.cn/plugins/lionwill/dsh-usage-summary
- 源码:https://github.com/lionwill/dsh-usage-summary
- 当前 package 版本:0.7.0(MIT)
插件不内置密钥;OpenCode Go 与 DeepSeek 的 key 由宿主 credentials 解析(默认引用 OPENCODE_GO_API_KEY / DEEPSEEK_API_KEY,可在 profile 配置里改)。
两种展示模式¶
| 当前会话渠道 | 胶囊示例 | 面板标题 | 面板内容 |
|---|---|---|---|
DeepSeek 官方(deepseek-official / deepseek-account) |
● DS ¥128.40 |
DeepSeek 官方余额 | 官方 token(未命中输入 / 缓存命中 / 输出)、按时段计费的估算金额、账户余额;不显示 Go 套餐 |
| OpenCode Go(其他情况) | ● Go 5h 12% · 周 8% · 月 46% |
OpenCode Go 用量汇总 | 顶部「本会话」行(仅 Go 渠道 token 与调用次数);下方 5 小时 / 周 / 月进度条与重置时间 |
既有交互:进度与圆点颜色默认绿 <60%、60–85% 黄、≥85% 红;点胶囊开面板,点外部或 Esc 收起;60 秒自动刷新;面板内 ↻ 强制刷新;取数失败显示错误与重试。
DeepSeek 官方模式下,颜色按余额金额判定(余额 < ¥10 橙、< ¥1 红),与 Go 模式的可调阈值无关。
颜色阈值(面板内 ⚙)¶
Go 模式的进度条、百分比与胶囊圆点共用三档颜色,默认切分点为 60 / 85。打开面板后点标题栏 ⚙ 可改橙色起点与红色起点,需满足 1 ≤ 橙色起点 < 红色起点 ≤ 100,否则拒绝保存。
保存后立即生效,写入浏览器 localStorage(键 dsh-usage-summary:thresholds)。胶囊圆点取三个窗口里最高百分比来着色。该设置只影响本浏览器显示,不在服务端 cordis.patch.yml 里配置。
历史会话与后台索引¶
宿主内存通常只保留当前进程打开过的会话。插件通过 ctx.sessionPersistence 读持久化日志,并在后台静默全量索引:
- 启动时
sessionPersistence.list()枚举已存会话,按最近活动时间倒序排队折叠,会话之间默认间隔 120ms。 - 面板打开时若该会话尚未索引完,「本会话」显示 统计中…,打开期间每 2 秒轮询,完成后自动变为数字。
- 点
↻会把当前会话插到队列最前并等待结果(默认最长indexTimeoutMs8s)。 - 索引在内存中只建一次;每 5 分钟按
revision复查已存日志,有变化才重折叠。
索引过程不写日志、不发通知、不占用会话。
数据来源与统计方式¶
Host 提供两个 HTTP 端点(默认前缀可在配置里设为 apiPath: /usage-summary/v1):
| 端点 | 用途 |
|---|---|
GET /usage-summary/v1/plan |
OpenCode Go 套餐用量(host 轮询上游 https://opencode.ai/inference/go/v1/usage,60s 缓存) |
GET /usage-summary/v1/session?session=<id> |
当前会话汇总:路由判定 + 官方/Go 本地统计 + 余额;未索引历史会话返回 pending:true,&refresh=1 触发高优先折叠 |
用量统计在 host 侧折叠会话持久日志(request/header 判路由,assistant/message 的 source.provider + usage 记账),不额外发起推理。余额优先匹配认证方式:API-key 走官方 /user/balance,账号路由走 DSH 账号平台钱包,失败会回退另一来源(60s 缓存)。官方花费按 2026-10-17 价目表逐次按北京时间峰/闲时段估算;法定节假日未建模,Search/Fetch 按次费用不计。
安装与启用¶
从本地目录安装(路径须为绝对路径且无空格):
dsh plugin --profile web add link:/绝对/无空格/路径/dsh-usage-summary
从 npm 打包的 tgz 安装同样可行(README 示例文件名为 dsh-usage-summary-0.5.0.tgz,以你手头的包为准):
dsh plugin --profile web add /绝对路径/dsh-usage-summary-0.5.0.tgz
首次安装或升级 host 半边后需要重启 dsh web;仅修改 lib/client.js 时刷新页面即可。
卸载:
dsh plugin --profile web remove dsh-usage-summary
可选配置¶
在 profile 的 cordis.patch.yml 中按插件 id 覆盖,例如:
- id: usage-summary
config:
apiBase: https://opencode.ai/inference/go/v1
apiKeyEnv: OPENCODE_GO_API_KEY
apiPath: /usage-summary/v1
refreshMs: 60000
timeoutMs: 15000
goProviders: [opencode-go]
deepseekApiBase: https://api.deepseek.com
deepseekKeyEnv: DEEPSEEK_API_KEY
deepseekProviders: [deepseek-official, deepseek-account]
deepseekAccountVersion: 1.0.0
balanceRefreshMs: 60000
indexDelayMs: 120
indexRescanMs: 300000
indexTimeoutMs: 8000
deepseekPrices:
deepseek-flash:
peak: { cacheHit: 0.04, cacheMiss: 2, output: 8 }
offPeak: { cacheHit: 0.02, cacheMiss: 1, output: 4 }
deepseek-v4-pro:
peak: { cacheHit: 0.30, cacheMiss: 9, output: 27 }
offPeak: { cacheHit: 0.15, cacheMiss: 4.5, output: 13.5 }
扩展新渠道时,需在配置里列出要计入「本会话」的 provider id,并在有余额/套餐上游接口时增加 fetch 适配;目前内置 Go 与 DeepSeek 官方两组,不会随 DSH 设置页里的「渠道」自动接入。
典型用法¶
- 安装并重启
dsh web后,打开任意会话,在输入框下方状态栏左侧找到用量胶囊。 - 使用 DeepSeek 官方 provider 时,胶囊显示余额缩写;点开可查看本会话 token 分项与估算花费。
- 使用 OpenCode Go 时,胶囊显示三窗口最高占用摘要;点开可看「本会话」Go 用量与套餐进度,必要时点
↻刷新或 ⚙ 调整颜色阈值。 - 打开历史会话时,若「本会话」短暂为「统计中…」,等待后台索引或点
↻优先统计。
适用场景与注意¶
适合长期在 DSH Web 里切换 DeepSeek 官方与 OpenCode Go、又希望在同屏掌握额度与会话 token 的开发者。插件以当前 dsh 进程权限运行,安装前建议阅读源码与 MIT 许可证,并确认 credentials 与环境变量配置符合你的安全策略。
已知限制包括:会话日志依赖 Session.snapshotEvents()(deprecated);只统计成功上报 usage 的消息;deepseek-account 余额需账号插件已登录,否则回退 API-key 余额;缺少 sessionPersistence 时历史会话可能取数失败;会话很多时首次后台索引需数秒。金额为估算,勿当作账单唯一依据。
结尾¶
dsh-usage-summary 把 DeepSeek 官方余额/本会话 token 与 OpenCode Go 套餐窗口收进状态栏一颗胶囊,减少在 Harness 内外来回查用量的切换成本。详情与安装说明见 SkillHub 目录页与 GitHub 仓库: