前言¶
在 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。
和「只显示已用额度」面板的区别¶
用量罗盘在总览之外,侧重回答:
- 按当前速度,本窗口/月底大约到多少百分比?
- 订阅预计何时撞到 100% 月额度?
- DeepSeek 余额按近 30 天日均,还能用大约几天?
- 当天按小时消耗分布;近 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:自定义市场索引(推荐)¶
- 打开 Plugins → More(Experimental plugins),启用 Custom plugin markets。
- 在 Discover 索引中添加:
https://raw.githubusercontent.com/CHengShan-deep/dsh-usage-compass/main/market/index.json
- 搜索 用量罗盘、Usage Compass、usage forecast 或 预测 并安装。
- 安装后重启 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/messageusage,按 turn/step 去重;Tokens 合计含输入、缓存读/写与输出。 - 不把 API Key 发给浏览器;余额仅宿主访问;插件路由监听回环并校验
Origin/Referer。 - 只统计本机会话,不汇总其它机器;预测为线性趋势估算,非账单承诺;OpenCode Go
/usage未公开文档化,字段变化时可能显示读取失败但不致崩溃。
适用场景与注意¶
适合在本机长期用 DSH 调用 OpenCode Go 或 DeepSeek 官方、需要统一看板又希望 Key 留在宿主侧的开发者。若还需把 CI、MCP 或其它插件的调用记入同一罗盘,用 ingest 主动推送即可。
社区目录 SkillHub 插件页 与 GitHub 仓库并列收录,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本文安装与配置均以仓库 README 为准。