DeepSeek Harness (DSH) 插件:OpenCode Go 剩余额度 HUD

DeepSeek Harness (DSH) 是一个插件化的平台,允许通过组合包扩展功能。如果你正在使用 OpenCode Go,需要监控滚动 5 小时、每周和每月的剩余额度,dsh-opencode-go-quota 插件可以自动抓取用量看板数据,将剩余百分比以类似游戏血条的形式显示在对话输入框旁,并在设置中提供完整的卡片视图。

该插件由 weijianguizhou 维护,遵循 MIT 许可证。

核心功能

插件提供以下能力:
* 实时额度显示:抓取并解析 OpenCode Go 的用量看板,显示剩余百分比。
* 对话区 HUD:在对话输入框下方展示三档额度(5h / Week / Month)的血条,悬停可查看重置倒计时。
* 设置卡片:在「设置 → 插件配置」中提供完整的进度条展示。
* 手动刷新:点击按钮即可立即触发数据抓取,无需重启。
* 自动更新:按配置的间隔自动抓取并解析数据。

安装与启用

安装过程需要指定你使用的 DSH profile 名称(如 web、desktop 或 tui)。

  1. 打开终端,执行安装命令:
    dsh plugin --profile web add https://github.com/weijianguizhou/dsh-opencode-go-quota
> 将 `web` 替换为你实际的 profile 名称。
  1. 安装完成后,DSH 会将此组合包追加进该 profile 的配置中。安装步骤完成后,需要重启相应的 profile 才能加载插件。

配置

凭据仅存储在本地,插件优先读取配置文件,配置文件缺省时回退至环境变量。

1. 配置文件(推荐)

在你 profile 的 cordis.patch.yml 文件中,插入以下内容:

- insert:
    - id: opencode-go-quota
      name: dsh-opencode-go-quota
      config:
        workspaceId: '你的workspaceId'
        authCookie: '你的browser-auth-cookie'
        timeoutMs: 10000
        refreshMinutes: 5

2. 环境变量(备用)

如果配置文件中未填写凭据,插件会尝试读取以下环境变量:

export OPENCODE_GO_WORKSPACE_ID=...
export OPENCODE_GO_AUTH_COOKIE=...

authCookie 在插件中标记为敏感信息,不会出现在任何日志或响应中。

获取凭据

authCookie 是 HttpOnly 且可能被浏览器 App-Bound Encryption 加密存储,无法通过脚本自动提取,需手动获取。

  1. 使用浏览器登录 opencode.ai。
  2. 进入 Go 用量页面(能看到 Rolling / Weekly / Monthly 的页面)。
  3. 按 F12 打开开发者工具,切换到 Network 标签页,刷新页面。
  4. 点击列表中第一个 opencode.ai 的文档请求(Type 为 document)。
  5. 在右侧 Headers → Request Headers 中找到 Cookie 行。
  6. 复制 auth= 后面的整段字符串。

获取 workspaceId:查看看板 URL,格式为 https://opencode.ai/workspace/<这一串>/go,中间段即为 workspaceId。

注意:Cookie 通常有效期约 90 天,过期后需重新获取。

桌面端额外步骤(重要)

在 DSH 桌面端(非 Web 服务),设置命名空间需要显式加入 allowlist 才会被前端读取,否则 HUD 和卡片不会显示。

  1. 找到桌面端安装目录下的文件:
    <DSH Desktop>/resources/app.asar.unpacked/node_modules/@deepseek-ai/dsh-host-apiproxy/lib/index.js
  1. 在该文件中找到 WEB_SETTINGS_NAMESPACES 数组,添加 "opencode-go-quota":
    const WEB_SETTINGS_NAMESPACES = [
      "agent-loop",
      "shell",
      "locale",
      "permission",
      "ui-conversation",
      "ui-theme",
      "web-search-deepseek",
      "opencode-go-quota",   // <-- 添加这一行
    ];
  1. 保存并重启 DSH Desktop。

注意:桌面端更新后会覆盖 app.asar.unpacked 目录,此补丁需在每次更新后重新应用。

验证是否生效

安装并配置完成后,重启 DSH 并进入对话界面:

  1. HUD:在输入框下方应出现 OpenCode Go 一排血条。
  2. 设置卡片:进入「设置 → 插件配置」,应能看到「OpenCode Go 剩余额度」卡片。

若显示「尚未配置」,说明凭据未填写正确;若显示「加载失败」,多为 Cookie 过期或看板结构变动。

开发与构建

DSH 插件要求 ./client 导出的是预构建的 bundle(window.__ModuleLoader__.load 形式)。仓库中的 lib/client.js 已随提交,若修改源码需重新构建:

npm install
npm run build
npm run check
npm test

适用场景与注意

  • 适用场景:需要频繁查看 OpenCode Go 剩余额度,希望在不离开对话界面的情况下监控使用情况。
  • 注意:插件以当前 DSH 进程的权限运行,安装前建议检查源码。桌面端用户务必完成 allowlist 配置步骤。

更多详情与源码,请访问 GitHub 仓库。

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

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

小夜