vinyumao/dsh-opencode-usage ↗★ 0
@chen-001/dsh-opencode-usage
OpenCode Go 套餐用量显示插件:滚动/每周/每月用量百分比与重置倒计时,输入框下方常驻徽章 + 展开卡片,Agent 可经 opencode_go_usage 工具查询。API key 默认取环境变量 OPENCODE_GO_API_KEY,可在卡片内覆盖。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:vinyumao/dsh-opencode-usage说明文档
阅读完整 README ↗dsh-opencode-usage
OpenCode Go 套餐用量显示插件(DSH Web):输入框下方常驻徽章显示滚动 / 每周 / 每月用量百分比与重置倒计时,点击展开进度卡片;Agent 可经 opencode_go_usage 工具随时查询余额。
DSH 官方 bundle 插件,安装一条命令:
dsh plugin --profile web add github:vinyumao/dsh-opencode-usage#
English | 中文
能力面
| 工具 | 说明 |
|---|---|
opencode_go_usage | 对话中查询 OpenCode Go 套餐余额:三个窗口的已用百分比与重置倒计时(无参数) |
| UI 能力 | 说明 |
|---|---|
| 常驻徽章 | 输入框(composer)下方一行:OpenCode Go:滚动用量 0% · 每周用量 0% · 每月用量 0%,按配置间隔自动刷新 |
| 用量卡片 | 点击徽章展开:三个窗口的进度条 + 已用百分比 + 重置倒计时(每秒走动)+ 立即刷新 |
| 配置表单 | 卡片内直接填写 API key / Base URL / 刷新间隔,保存即生效 |
| Key 复用 | API key 默认取环境变量 OPENCODE_GO_API_KEY——与 DSH 的 opencode-go 模型提供商配置(settings.yaml 中 apiKeyEnv)一致,通常零配置可用 |
原理
用量来自 OpenCode Go 订阅套餐的配额接口:
GET https://opencode.ai/zen/go/v1/usage
Authorization: Bearer # 即普通的 Anthropic 兼容 API Key
响应示例:
{
"usage": {
"rolling": { "status": "ok", "percent": 0, "resetsAt": "2026-…Z" },
"weekly": { "status": "ok", "percent": 0, "resetsAt": "2026-…Z" },
"monthly": { "status": "ok", "percent": 0, "resetsAt": "2026-…Z" }
}
}
⚠️ 存疑标注:该接口未写入 OpenCode 官方公开文档,由 cc-switch 社区 发现(issue 中附有验证脚本)。响应结构可能随 opencode 变动;本插件做了防御性解析(
usage.前缀与裸窗口、resetsAt与resetsInSeconds两种形式均可识别),结构若变更请以实际响应为准。
浏览器不直接访问上游:所有请求经宿主进程的 /api/dsh-opencode-usage/* 路由代理(同源 fetch),API key 不进入浏览器。
关于 OpenCode Zen
本插件仅面向 Go 套餐——它展示的是订阅配额窗口,只有 OpenCode Go 才有。OpenCode Zen 是另一套按量付费网关(预充值余额、按 token 计费),没有等价的 API-key 鉴权余额接口:官方功能请求(anomalyco/opencode#10448「Add Zen balance API endpoint」)至今仍未实现;社区中能显示 Zen 余额的工具都依赖抓取工作区 billing 页面的浏览器 cookie(脆弱方案,如 )。若未来 OpenCode 提供公开的 Zen 余额 API,本插件可增加 选项接入。