🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

OpenCode Go 订阅面板 0x-0cd/dsh-opencode-go-status

DeepSeek Harness
0x-0cd33 天前有提交已提供中文文档扫描:未发现敏感能力

查看套餐金额用量、剩余额度与到期续费状态

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 0x-0cd/dsh-opencode-go-status
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · ui
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 33 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
  • 发起网络请求
    index.js:174
    const response = await fetch(assertSecureStatusUrl(options.statusURL), {
  • 发起网络请求
    client.js:203
    const response = await fetch(`${STATUS_API}${refresh === true ? '?refresh=1' : ''}`, {
扫描于 2026/11/1(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 查看套餐金额用量
  • 查看剩余额度
  • 查看到期续费状态

README

由 DeepSeek 最新模型翻译生成
dsh-opencode-go-status DSH Web 插件:OpenCode Go 订阅状态面板 —— 侧边栏「用量」入口 + 主区面板,显示套餐用量额度、剩余额度、订阅到期时间与续费状态。 为什么需要它 OpenCode 公开的用量接口 GET https://opencode.ai/zen/go/v1/usage(API key 鉴权)只返回三个计费窗口的百分比和重置时刻: { "usage": { "rolling": { "status": "ok", "percent": 5, "resetsAt": "…" }, … } } 它没有金额、没有订阅到期日——所以社区里那批 OpenCode 用量插件(vinyumao / LTctfer / dsh-go-balance 等)都只能显示百分比,也没有任何一个能显示到期时间。
展开完整文档(README 剩余 1 节)
dsh-opencode-go-status

DSH Web 插件:OpenCode Go 订阅状态面板 —— 侧边栏「用量」入口 + 主区面板,显示套餐用量额度、剩余额度、订阅到期时间与续费状态。

为什么需要它

OpenCode 公开的用量接口 GET https://opencode.ai/zen/go/v1/usage(API key 鉴权)只返回三个计费窗口的百分比和重置时刻:

{ "usage": { "rolling": { "status": "ok", "percent": 5, "resetsAt": "…" }, … } }

它没有金额、没有订阅到期日——所以社区里那批 OpenCode 用量插件(vinyumao / LTctfer / dsh-go-balance 等)都只能显示百分比,也没有任何一个能显示到期时间。

本插件改读控制台状态接口(同样用你现有的 API key,无需 cookie):

GET https://opencode.ai/console/api/go/status
Authorization: Bearer <OPENCODE_GO_API_KEY>

它返回 access.meters.{fiveHour,week,month}.{usedMicroCents,limitMicroCents}(microCents, 1e8 µ¢ = US$1)、access.startsAt / access.endsAt,以及 cancelAtPeriodEnd / renewalPending / paymentMethodKind / useBalance / upgradePrice。于是可以显示:

- 每条窗口的金额用量:已用 $9.96 / $60.00,剩余 $50.04,百分比、进度条、分级配色;
- 订阅到期时间:access.endsAt + 实时倒计时 + 本期开始时间;
- 续费状态:自动续费 / 到期后取消、是否续费处理中、续费币种与支付方式、Zen 余额兜底开关。

界面

- 侧边栏入口:仪表盘图标(sidebar.panellist 槽,order 40),点击切到主区面板。
图标状态由 shell 维护,与官方面板(如插件管理)行为一致。
- 主区面板:main 键控槽(key 与入口 id 相同)。三张额度卡 + 到期/续费卡, 60 秒自动刷新、可手动立即刷新,显示数据来源与更新时间。

安装

dsh plugin --profile web add file:/Users/qianneng/Code/dsh_optimize/dsh-opencode-go-status

或把 cordis.patch.yml 里的 insert 行抄进 $DSH_HOME/profiles/web/cordis.patch.yml,再用 file: 装包。两种方式只用一种,重复挂载会起两个实例。

装完刷新浏览器页面即可(宿主端若已运行,可能需要重启 dsh web 才会加载新的插件行)。

配置

配置写在组合条目里(cordis.patch.yml 的 insert 行下加 config:):

| 字段 | 默认值 | 说明 |
| apiKey | 无 | 直接写死 API key(不推荐,优先用凭证) |
| apiKeyRef | OPENCODE_GO_API_KEY | DSH 凭证引用名,与 opencode-go provider 的 apiKeyEnv 一致 |
| statusURL | https://opencode.ai/console/api/go/status | 上游状态接口 |
| timeoutMs | 15000 | 请求超时 |
| cacheSeconds | 30 | 宿主端缓存窗口,避免面板轮询反复打上游 |
| enabled | true | 总开关 |

密钥解析顺序:apiKey → DSH 凭证服务(apiKeyRef,覆盖 $DSH_HOME/.credentials.yaml、启动环境、.env 各层)→ 进程环境变量。密钥只在宿主进程内使用,不进入浏览器;浏览器只访问同源路由 /api/dsh-opencode-go-status/status。

开发与验证

git config core.hooksPath .githooks # 启用提交前密钥门禁(gitleaks + grep 兜底两层)
node --check index.js && node --check client.js
node --test test/*.test.mjs # 宿主端离线测试(13 用例,桩 fetch)

改动宿主端后,用 dsh plugin --profile web add file:<本目录> 重新安装(file: 是拷贝而非软链,改完不重装则 profile 用的还是旧副本),然后重启/刷新 GUI。

安全审计结论与可复核命令见 SECURITY-AUDIT.md。

已知限制

- /console/api/go/status 是 OpenCode 控制台内部接口,不在官方公开文档里(CodexBar 读的是同一个接口的 renewAt),字段结构可能随上游变动。宿主端做了防御性解析:字段缺失只会让对应卡片显示「—」,不会报错。
- Zen 预充值余额(钱)拿不到:/console/api/billing/status 用 API key 返回 403,只有带浏览器 cookie 才能读,官方功能请求(anomalyco/opencode#10448)仍未实现。本插件的「额度/剩余」指的是 Go 订阅的额度,不是 Zen 钱包余额。
- 宿主需要能直连 opencode.ai(实测直连与 HTTP 代理均可用)。
- 到期时间是本期结束时刻;cancelAtPeriodEnd=false 时它会自动续期,所以「到期」等于「续费日」。

网络行为与隐私

- 出站请求只有一个:每次刷新向 https://opencode.ai/console/api/go/status 发一次 GET,在 Authorization: Bearer 头里带上你的 OpenCode Go API key。没有遥测、没有埋点、没有第三方端点。
- 密钥不出宿主进程:浏览器只访问同源回环路由 /api/dsh-opencode-go-status/status,返回值里只有额度数字和密钥来源标签(如 credentials:file),没有密钥本身。
- 不落盘:配额快照只存在宿主内存缓存里(cacheSeconds,默认 30 秒),不写历史文件、不写日志。
- statusURL 可被改指:改它等于把 key 发给那台主机,所以非回环地址强制 https (明文 http 会被拒绝并报错),避免配错协议把密钥暴露在链路上。
- 宿主路由只对回环地址开放(127.0.0.1/::1 + 同源标记),且只支持 GET;
进程内缓存带最小强制刷新间隔(3 秒),本地进程无法用 ?refresh=1 无限绕过缓存打上游。

许可

MIT
预览分享卡片长什么样 ↓0x-0cd/dsh-opencode-go-status
分享 · DeepSeek Harness Hub
0x-0cd/dsh-opencode-go-status

查看套餐金额用量、剩余额度与到期续费状态

回到顶部