前言¶
在 DeepSeek Harness(DSH)里用 OpenCode Go 跑智能体或对话时,套餐往往按多个时间窗口计费:5 小时滚动、每周、每月。额度还剩多少、何时重置,若只能去 OpenCode 控制台或另开页面查,和当前会话是脱节的。下面介绍社区插件 dsh-plugin-opencode-go-usage:在 Web UI 输入框下方(conversation.composer.dock)常驻一条用量条,与「Token 用量」「会话统计」并列,点击后再展开与官方 stat-dialog 同版式的详情卡片。
这是什么¶
dsh-plugin-opencode-go-usage 由 keyblues 维护,npm 包名与仓库名一致,许可证 MIT(© 2026 keyblues)。它属于 DSH 生态里的联网工具类插件:Host 侧代你调用 OpenCode 官方用量接口,浏览器只读同源 JSON,不接触 API Key。
一句话定位:在 Harness Web 组合里,实时展示 OpenCode Go 订阅在 5h、本周、本月三个窗口的已用百分比,并支持详情与手动刷新。
界面与交互¶
安装后,dock 区域大致形态如下(README 示例):
Go 5h ◔6% · 本周 ◔2% · 本月 ◔15%
每个窗口是一个 14px viewBox、2px 描边的圆环,样式与输入框下方「上下文占用」圆环一致,颜色使用 --dsw-alias-label-tertiary。已用比例达到 70% 圆环变黄,90% 变红。
只有点击整条用量条才会弹出详情卡片,不会在悬停时弹出浮层。卡片版式对齐官方 stat-dialog:内边距 16px、明细两列网格、每个窗口一行名称与加粗百分比、一根进度条、一行重置倒计时与重置时刻;底部有数据来源、更新时间与「刷新」按钮。点卡片外或按 Esc 关闭。
页面每 20 秒轮询一次同源路由(标签页隐藏时暂停)。Host 对上游接口有 15 秒最小请求间隔,多标签共享缓存;轮询失败时保留上一次成功读数,界面不做变暗或闪烁。
数据来源与密钥¶
Host 请求:
GET https://opencode.ai/zen/go/v1/usage
Authorization: Bearer <OpenCode Go API Key>
返回中 usage.rolling / weekly / monthly 含 status、percent(已用百分比)、resetsAt;旧字段形态 { rollingUsage, weeklyUsage, monthlyUsage } 仍兼容。浏览器仅访问固定路径 GET /opencode-go-usage.json,该路径由插件 Host/Client 约定(index.js 的 ROUTE_PATH 与 client.js 的 ROUTE),不是可配置项。
API Key 解析顺序:
cordis.patch.yml里插件配置的apiKey(显式写死,不推荐);- Harness 凭据服务
credentialRef,默认OPENCODE_GO_API_KEY(对应~/.dsh/.credentials.yaml中refs.OPENCODE_GO_API_KEY); - OpenCode 本地登录:
~/.local/share/opencode/auth.json的opencode-go.key(过期时接口返回api_key_expired,条上显示「API Key 已过期」)。
安装与启用¶
要求:DSH 的 Web 组合(含 webserver / client-modules / client-ui-conversation)。Node 引擎 >=20(见 package.json)。
从 npm 安装(推荐)¶
在 Harness 插件管理器里安装 bundle,target 写 npm 包名(可带版本):
plugin_manager install_bundle target: dsh-plugin-opencode-go-usage
# 或固定版本
plugin_manager install_bundle target: dsh-plugin-opencode-go-usage@1.0.0
从本地目录安装(开发)¶
plugin_manager install_bundle target: <本仓库的绝对路径>
安装后 Host 行激活,浏览器 bundle 经 HMR 载入;必要时刷新页面。卸载:
plugin_manager remove_bundle target: dsh-plugin-opencode-go-usage
配置¶
默认无需配置。需要时在 profile 的 cordis.patch.yml 按 id 覆盖:
- id: opencode-go-usage
name: 'dsh-plugin-opencode-go-usage'
config:
# apiKey: oc_sk_xxx
credentialRef: OPENCODE_GO_API_KEY
minIntervalMs: 15000
provider: opencode-go
minIntervalMs 为 Host 上游限流(2000–600000 毫秒),只影响对 opencode.ai 的请求频率,不改变浏览器每 20 秒读本地 JSON 的间隔。
适用场景与注意¶
适合:已在 DSH Web UI 里长期使用 OpenCode Go,希望在写 prompt 时一眼看到三档窗口用量、并在接近阈值时通过颜色提醒的人。
注意:
- 插件以当前 DSH Host 进程权限运行,会向 OpenCode 发起联网请求;安装前请阅读 GitHub 仓库 源码与 MIT 许可证,自行评估是否写入凭据或依赖本地
auth.json。 - 社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」,本介绍仅描述该 bundle 的 documented 行为。
链接¶
- 目录页:https://www.skillhub.cn/plugins/keyblues/dsh-plugin-opencode-go-usage
- 源码与 README:https://github.com/keyblues/dsh-plugin-opencode-go-usage