DSH 插件 dsh-opencode-go-usage:在侧边栏查看 OpenCode Go 订阅用量

前言

在 DeepSeek Harness(DSH)里做开发时,如果同时使用 OpenCode Go 订阅,额度往往要单独去控制台或 CLI 里查:最近 5 小时、本周、本月各用了多少、何时重置,不容易和当前工作环境放在一起看。dsh-opencode-go-usage 是社区维护的客户端插件,在 DSH 左侧栏增加 OpenCode Go 入口,把三类用量窗口和重置时间直接展示在 Harness 界面里;密钥由 DSH 服务端解析,不进入浏览器。下面介绍它的能力、安装方式与配置要点。

这是什么

插件仓库:ungurenko/dsh-opencode-go-usage,维护者 ungurenko,许可证 MIT,当前版本 1.0.0(package.json)。分类上属于 DSH 客户端插件:通过 cordis.patch.yml 注册 bundle,在 Web 客户端注入侧边栏页面。README 写明已在 DeepSeek Harness 0.2.2-rc.1 上验证,并标注兼容 0.2.x。

核心功能

点击左侧栏 OpenCode Go 后,面板按三个时间窗口展示订阅用量(README 中的对应关系如下):

窗口 含义
最近 5 小时(rolling) 滚动 5 小时内的消耗
周(weekly) 一周内的消耗
月(monthly) 一月内的消耗

每个窗口包含使用百分比、进度条和重置时间;额度用尽时会显示类似「限额已用尽 · 重置 …」的提示(具体文案随语言包而定)。数据默认每分钟自动刷新,并提供手动「刷新」按钮。

界面支持俄语、英语、中文(locale/ 目录)。在「插件」→「已安装」中,插件名称对应 README 中的「Лимиты OpenCode Go」/ _limits 类展示;侧边栏项名为 OpenCode Go。

实现上,浏览器通过 DSH 调用服务端路由 /api/opencode-go/usage;服务端查找 API 密钥后请求 GET https://opencode.ai/zen/go/v1/usage,请求头为 Authorization: Bearer <key>,再将响应整理为 rolling、weekly、monthly,字段包含 percent、limited、resetsAt 等。插件面板底部会标明密钥来自哪一个来源。

安装与启用

官方 README 的安装路径是:获取插件源码后,以 pnpm link 方式挂入 DSH 配置档,而不是 dsh plugin add github:… 形式的单行命令。

1、获取插件目录(README 原文):

git clone https://github.com/ungurenko/dsh-opencode-go-usage.git

2、编辑所用 DSH 配置档的 package.json(示例路径 ~/.dsh/profiles/<配置档名>/package.json)。在 dependencies 与 dsh.profile.bundles 中各增加一条;link: 后改为本机上的绝对路径:

{
  "dependencies": {
    "@local/dsh-opencode-go-usage": "link:/完整/路径/到/dsh-opencode-go-usage"
  },
  "dsh": {
    "profile": {
      "bundles": ["@local/dsh-opencode-go-usage"]
    }
  }
}

若 bundles 里已有其他插件,只需把 "@local/dsh-opencode-go-usage" 追加到列表末尾。

3、在该配置档目录执行 pnpm install,然后重启 DSH。

4、验收:左侧栏出现 OpenCode Go;「插件」→「已安装」中能看到本插件。

API 密钥从哪里来

插件按顺序尝试以下来源,使用第一个找到的:

  1. 插件配置中的 apiKey
  2. DSH 凭证,名称为 OPENCODE_GO_API_KEY(默认与 apiKeyRef 一致)
  3. 环境变量 OPENCODE_GO_API_KEY
  4. macOS 钥匙串,服务名 opencode-go-api-key(默认与 keychainService 一致)
  5. 本机 opencode 登录状态:~/.local/share/opencode/auth.json

若本机已通过 opencode 登录,通常无需额外配置。密钥只在 DSH 服务端使用,不下发到浏览器。

可选配置

在插件的 config(cordis.patch.yml)中可覆盖下列项(以下为 README 表格摘要):

参数 默认值 作用
apiKey 无 直接在配置中写密钥
apiKeyRef OPENCODE_GO_API_KEY DSH 凭证与环境变量中的密钥名
workspaceId 空 需要 x-opencode-org-id 时的工作区 id
baseUrl https://opencode.ai OpenCode 控制台/API 基地址
timeoutMs 15000 请求超时(毫秒)
keychainService opencode-go-api-key macOS 钥匙串条目名

典型用法与排错

日常用法:安装并重启后,从左侧栏打开 OpenCode Go,查看三档用量与重置时间;需要即时数据时点「刷新」。

README 中列出的常见提示:

  • No OpenCode API key found:五处来源均未找到密钥。可登录 opencode,或在 DSH 凭证 / 环境变量中配置 OPENCODE_GO_API_KEY。
  • This key has no Go subscription:密钥有效,但账号无 OpenCode Go 订阅。
  • 侧边栏没有该项:确认插件已在「插件」中启用,且 pnpm install 后已重启 DSH。

适用场景与注意

适合:在 DSH 中长时间编排智能体或脚本、同时又订阅 OpenCode Go,希望在同一界面监控 5 小时 / 周 / 月额度、避免默默触顶的用户。

注意:插件以当前 DSH 进程权限运行,会向 opencode.ai(或你配置的 baseUrl)发起带 Bearer 密钥的请求;安装前建议阅读仓库源码与 MIT 许可证。DSH 生态主张「一切皆插件」;社区目录站 SkillHub 插件页 与 GitHub 仓库为社区分发渠道,并非 DeepSeek / 幻方官方应用商店。

结尾

dsh-opencode-go-usage 把 OpenCode Go 的三档订阅用量收进 DSH 左侧栏,并复用 DSH 与本机 opencode 已有的密钥来源,减少单独查控制台的开销。更多说明与截图见 GitHub README,目录索引见 SkillHub。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜