用量罗盘(dsh-usage-compass):本机 API 用量、余额与趋势预测

前言

在 DeepSeek Harness(DSH)里跑 OpenCode Go 或 DeepSeek 官方 API 时,常见用量面板只能回答「已经花了多少」。订阅窗口还剩多少百分比、按当前速度月底会到多少、DeepSeek 余额还能撑几天——这类问题要靠自己翻日志或心算。下面介绍社区插件 用量罗盘(dsh-usage-compass),它在 DSH 设置页聚合本机会话统计,并接上余额与趋势预测;统计来自 ~/.dsh/sessions,Key 与余额查询只在 DSH 宿主进程里完成,不进入浏览器。

这是什么

用量罗盘 是 DSH 设置页插件,维护者为 CHengShan-deep。支持 OpenCode Go 订阅与 DeepSeek 官方 API,并提供可选的自定义来源接入,把其它插件或脚本推送的用量并入同一看板。分类上可归入 模型推理 相关工具;当前 GitHub 星标为 0,许可证为 MIT,package.json 版本为 0.5.0,要求 Node >= 22.19、DSH >= 0.2.1-rc.5。

和「只显示已用额度」面板的区别

用量罗盘在总览之外,侧重回答:

  1. 按当前速度,本窗口/月底大约到多少百分比?
  2. 订阅预计何时撞到 100% 月额度?
  3. DeepSeek 余额按近 30 天日均,还能用大约几天?
  4. 当天按小时消耗分布;近 24 小时跨天时,标签是否带日期以便区分「昨天」时段。

花费按内置价目表估算(OpenCode Go 美元、DeepSeek 官方人民币峰谷),并非「订阅不计费」的假设。

核心功能

余额与总览

  • 余额卡片:OpenCode Go 滚动 / 本周 / 本月;DeepSeek 官方赠送、充值、可用余额。
  • 用量总览:请求数、输入 / 缓存读取 / 缓存写入 / 输出 Tokens、缓存命中率。

趋势与预测

  • 趋势:Tokens / 请求 / 成本 / 预测 四视图;当天按小时,7 / 14 / 30 天 / 全部按自然日;纵轴自动用亿 / M / K 分档。
  • 预测(在 成本 右侧):
  • 订阅:按当前套餐窗口趋势,预测到重置日的百分比,并给出预计达 100% 的日期。
  • DeepSeek 官方:按最近 30 天日均预测未来 30 天花费;虚线表示当前余额,余额刷新会移动虚线。

明细、筛选与时间

  • 明细排行:会话 / 工作区 / 模型,默认活跃优先,可切换用量优先,每页 10 条。
  • 筛选:会话、工作区、供应商、模型下拉与搜索。
  • 时间范围:当天 / 近 24 小时 / 近 7 / 14 / 30 天 / 全部 / 自定义月历。
  • 请求日志:每页 10 条,支持页码跳转。

供应商卡片

默认展示 OpenCode Go、DeepSeek 官方及 DSH 已配置供应商;每页 2 张卡,滚轮翻页;点击卡片切换当前供应商;「+」打开 DSH 模型设置新增第三方供应商。

自定义来源

默认只统计 DSH 会话。顶部「来源」里其它项需勾选后才计入总请求、Tokens、成本、趋势与日志,便于把外部工具的用量并入同一罗盘,而不伪装成全进程自动抓包(插件无全局网络钩子,也不读取其它插件的 API 响应)。

安装与启用

插件以当前 DSH 进程权限运行,安装前建议在 GitHub 查看源码与 MIT 许可证。DSH 0.2.1-rc.5 起尚无官方公共插件市场,Discover 依赖用户自行添加 market index。

方式 A:自定义市场索引(推荐)

  1. 打开 Plugins → More(Experimental plugins),启用 Custom plugin markets。
  2. 在 Discover 索引中添加:
https://raw.githubusercontent.com/CHengShan-deep/dsh-usage-compass/main/market/index.json
  1. 搜索 用量罗盘、Usage Compass、usage forecast 或 预测 并安装。
  2. 安装后重启 DSH,或按当前热重载策略刷新页面。

方式 B:从 Git 安装

dsh plugin --profile desktop add git+https://github.com/CHengShan-deep/dsh-usage-compass.git

重启后,设置左侧会出现「用量统计」。若曾使用旧版 dsh-usage-statistics,需先移除 local-plugins 与 cordis.patch.yml 中的旧 usage-statistics 条目,避免同 id 重复注册。

方式 C:本地插件目录

将仓库拷贝到 ~/.dsh/profiles/desktop/local-plugins/dsh-usage-compass,并在 ~/.dsh/profiles/desktop/cordis.patch.yml 末尾按 README 示例插入 usage-statistics 条目(含 refreshSeconds、balanceSeconds、requestsLimit 等可选配置)。

典型用法

在设置页查看

安装并重启后,从 DSH 设置进入「用量统计」,切换供应商卡片、时间范围与趋势视图即可。浏览器只请求插件路由 /plugins/dsh-usage-statistics/data,余额由宿主拉取:

来源 凭据 接口
OpenCode Go OPENCODE_GO_API_KEY(兼容 OPENCODE_API_KEY) GET https://opencode.ai/zen/go/v1/usage
DeepSeek 官方 DEEPSEEK_API_KEY GET https://api.deepseek.com/user/balance

其它插件推送用量(推荐:宿主内 audit)

同一 DSH 进程内的插件可直接取服务,无需 HTTP:

const audit = ctx.get('usageAudit')
if (audit !== undefined) {
  await audit.ingest({
    source: { id: 'ai-review', label: 'AI 审核插件', kind: 'plugin' },
    events: [{
      time: Date.now(),
      provider: 'deepseek-official',
      model: 'deepseek-v4.1-flash',
      input: 1200,
      cacheRead: 3000,
      cacheWrite: 0,
      output: 300,
      cost: 0.0021,
      currency: 'CNY',
      sessionId: 'review-2026-11-08',
      title: '命令审核',
      workspace: 'L:/work/project',
    }],
  })
}

ctx.get('usageAudit') 无需写入 inject;服务不可用时为 undefined,可安全跳过。

本地 HTTP 推送(MCP、脚本等)

POST http://127.0.0.1:<DSH Web 端口>/plugins/dsh-usage-statistics/ingest
Content-Type: application/json
X-Usage-Token: <配置了 ingestToken 时必填>

单次最多 100 条事件;外部写入持久化在 ~/.dsh/storages/dsh-usage-compass/events.jsonl。input 表示未命中缓存的输入 Tokens,勿与缓存命中部分混传。

可选配置

在 cordis.patch.yml 的 config 中可覆盖:

键 默认 含义
refreshSeconds 5 用量聚合缓存秒数
balanceSeconds 30 余额查询缓存秒数
requestsLimit 5000 返回请求条数上限
pricing {} 覆盖单模型每百万 Token 单价
ingestToken '' 非空时 HTTP 推送需带 X-Usage-Token

OpenCode Go 与 DeepSeek 官方已内置价目表;其它供应商可用 pricing 补单价,否则可能不计入估算花费。

数据口径与安全

  • 会话数据来自 ~/.dsh/sessions 的 assistant/chunk、assistant/message usage,按 turn/step 去重;Tokens 合计含输入、缓存读/写与输出。
  • 不把 API Key 发给浏览器;余额仅宿主访问;插件路由监听回环并校验 Origin / Referer。
  • 只统计本机会话,不汇总其它机器;预测为线性趋势估算,非账单承诺;OpenCode Go /usage 未公开文档化,字段变化时可能显示读取失败但不致崩溃。

适用场景与注意

适合在本机长期用 DSH 调用 OpenCode Go 或 DeepSeek 官方、需要统一看板又希望 Key 留在宿主侧的开发者。若还需把 CI、MCP 或其它插件的调用记入同一罗盘,用 ingest 主动推送即可。

社区目录 SkillHub 插件页 与 GitHub 仓库并列收录,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本文安装与配置均以仓库 README 为准。

源码与问题反馈:https://github.com/CHengShan-deep/dsh-usage-compass

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

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

小夜