- Home
- Plugin
- Utilizzo e fatturazione
- dsh-opencode-usage
dsh-opencode-usage
2869949486/dsh-opencode-usage
Adds an OpenCode Go usage page to dsh Settings with per-model 5-hour, weekly, and monthly spend and remaining allowance.
Installazione
dsh plugin --profile web add github:2869949486/dsh-opencode-usageREADME
OpenCode 账户与用量(设置页 + 数据接口)
按模型统计 OpenCode Go 套餐的用量与剩余额度,并逐个账户展示官方额度。一个 bundle 同时提供两半:
- 客户端:设置 → 「OpenCode 账户与用量」页面(
settings.section槽位),60 秒自动刷新,右上角「立即刷新」;模型表以「本月剩余 / 本月用量 / 本周用量」打头,两张表都能按住左右拖动。 - Host:
GET /opencode-usage.json(设置页的数据源;?refresh=1会先强制拉一次官方额度快照)。
多账户与账户管理
账户池由 dsh-opencode-quota-router 拥有($DSH_HOME/opencode-quota-router.json):本插件只读它拿账户列表,
再通过该插件的 GET|POST /opencode-quota-router.json 做管理操作。所以在「OpenCode 账户与用量」一页里既能看额度,也能管账户:
- 顶部状态条:
正常/全量回退+ 原因、当前账户、下次探测,「立即探测」「重置封禁标记」; - 「账户」表:掩码密钥、官方 5 小时 / 本周 / 本月百分比、状态(可用 / 额度用尽 / 鉴权失败 / 已停用 / 未配置);
- 每行操作:设为当前、↑ / ↓ 调顺序、停用 / 启用、改密钥、删除;
- 「添加账户」:填备注 +
oc_sk_…即可,密钥写入凭据库,页面只显示掩码; - 按顺序使用:A 的任一窗口用尽时自动切到 B 并重试当前步骤,全部用尽才回退备用模型;
- 按模型统计仍是全局的(会话日志不区分调用了哪个账户的密钥);
- 状态文件不存在时退化成
apiKeyRef指向的单个账户,两个插件分开装也能各自工作。
字段:accounts[](id/label/keyRef/enabled/active/configured/hint/usage/usageError/checkedAt)、
activeAccount、usage(当前账户)、usageError。
数据来源
OpenCode 官方 /inference/go/v1/usage 只返回一组四舍五入的 rolling/weekly/monthly 百分比,
不区分模型;而套餐实际是按模型各自计额度(5 小时 = 月额度 20%、周 = 50%、月 = 100%)。
所以按模型的数据由本插件自己算:
- 启动时回扫
$DSH_HOME/sessions下近 40 天的会话日志,取每条assistant/message的usage与message.source(时间用事件自带的time)。 - 之后实时监听
session/event,同一套 reducer 折进内存记录。 - 金额按内置价格表(离峰/标准价)估算,DeepSeek 模型峰时(UTC 周一至周五 01–04、06–10)乘 2; 免费模型价格为 0。中国法定节假日见下一节。
- 窗口起点优先用官方
resetsAt反推,monthly 用 UTC 月初。
峰谷与节假日
页面上有两套时钟,只是为了让「此刻用哪个更划算」这张卡算得准:
| 峰段时段 | 是否认中国法定节假日 | |
|---|---|---|
| OpenCode Go | UTC 周一至周五 01–04、06–10 | 不认(节假日白天照算峰) |
| DeepSeek 官方 API | 北京周一至周五 09–12、14–18 | 认,节假日整天算谷 |
Go 不认节假日是官方答复(issue anomalyco/opencode#53071):
Go pricing follows our own schedule, not DeepSeek's holiday calendar.
所以日历(HOLIDAYS,2026–2031)只服务官方一侧:算「官方此刻是否谷段」、给
/opencode-usage.prices.json 的 peak.chinaHolidays 对齐下游账本、以及在
holidayAware: true 时让历史估算走官方口径。默认 false,按模型统计的金额就是 Go 账单口径。
「此刻用哪个更划算」怎么算
关键不是单价,杠杆:
- Go 套餐:付 $10/月(≈¥71)拿到 $100 官方价额度(≈¥710)。额度按官方价扣,等于打 1 折——走 OpenCode 你只付官方价的 10%。
- 官方直连:照官方价付现,峰段 ×2。
所以结论基本恒定:额度内走 OpenCode 始终比官方直连便宜约 90%,峰段只是让额度烧得快一倍(同一请求从 扣 $1 变扣 $2,折合你的实付从 ¥0.71 变 ¥1.42,仍远低于官方的 ¥7.1)。例外只有两个:额度用尽, 或某个模型先见底(Go 里 Pro 只有 $15/月)。
卡片按「每 100 万输出 tokens」折算成人话金额(编码账单主要来自输出),汇率取 cnyPerUsd
(默认 7.1,可在 cordis.patch.yml 改)。
套餐适配
cordis.patch.yml 的 plan 决定各模型的月额度表:go(默认)/ go-plus / go-teams。
升级后只有额度差 ≥1.5× 的明确变化(如 go → go-plus)会被官方百分比自动识别;
Go $100 与 Go Teams $105 只差 5%,在估算噪声内,以配置为准。
局限
- 只统计这个 harness 发出的调用;OpenCode 官方客户端等其它工具不计入。
- 金额是估算;官方百分比只有一行,无法按模型拆分,页面把它原样展示作为交叉核对。
- 数据接口只监听回环地址;插件路由本身不做鉴权。
Plugin correlati
DeepSeek-Balance-Whale-Widget
meteornox/deepseek-balance-whale-widget
dsh-context
bowenliang123/dsh-context
dsh-cost-meter
han-1413141/dsh-cost-meter
dsh-damage-pulse
wssfk12138/dsh-damage-pulse