dsh-opencode-go-usage:OpenCode Go 用量与花费悬浮仪表盘

前言

在 DeepSeek Harness(DSH)里用 OpenCode Go 跑会话时,配额还剩多少、单次请求花了多少钱、不同模型各占多少,往往要切到浏览器里的 opencode.ai 用量页才能看清。DSH 自身的事件流能反映本机会话,但和官网账户级明细、滚动配额不是同一套视图。

下面介绍社区插件 xenia0922/dsh-opencode-go-usage:在 DSH 桌面右下角挂一个可拖动、可缩放的悬浮面板,把官方 usage.list 与 DSH 会话分析放在同一处查看。

这是什么

dsh-opencode-go-usage 由维护者 Xenia0922 发布,分类为客户端插件,当前版本 v1.7.1,MIT 许可证,支持 Windows、macOS、Linux。

它解决的核心问题是:在 DSH 工作区内直接查看 OpenCode Go 的账户级用量、配额、逐请求花费,以及按 DSH 会话、模型、日期聚合的本地统计。数据在本机处理;网络请求只发往 opencode.ai,以及用于版本检查的 GitHub 公共 package.json,不会把 API key、Cookie 或用量数据发给第三方。

核心功能

官方账户级用量

读取官网 usage.list,使用官方逐请求费用,支持跨设备数据。凭据通过本地配置中的 authCookieworkspaceId 提供。

DSH 会话分析

只统计 source.provider == "opencode-go" 的事件;deepseek 直连等其他 provider 不计入。插件按相邻事件计算 cache token 增量,避免重复累计;金额先按内置模型价格估算,再尝试与官方逐请求记录匹配。

配额监控

显示滚动 5 小时、周、月配额、重置时间和消耗速度预测。支持从 $DSH_HOME/.credentials.yaml 自动发现 OPENCODE_GO_KEY_*,可切换 key 并提示限流状态。

交互面板与数据分析

FAB 可拖动;面板支持标题栏拖动、边缘缩放、最大化,位置和大小写入浏览器 localStorage。可按模型排行、费用分项查看 7/14/30 天趋势、最近会话,并导出 CSV。界面支持中英文,可手动切换或跟随 DSH 全局语言。

安装与启用

插件以当前 DSH 进程权限运行,安装前建议阅读源码与 MIT 许可证

推荐:Bundle 插件

在插件仓库的父目录执行:

git clone https://github.com/Xenia0922/dsh-opencode-go-usage.git
dsh plugin --profile my-profile add ./dsh-opencode-go-usage
dsh --profile my-profile

Bundle 模式会随 DSH profile 启动,并通过本地 webServer 注册路由 /ocgo-usage/fetch/ocgo-usage/config/ocgo-usage/retry。若插件目录路径含空格导致 dsh plugin add 解析失败,请移到无空格路径,或用 junction/link 指向无空格目录。

快速体验:动态加载

动态加载不需要构建,但只在当前 DSH 进程有效:

  1. 在 DSH 会话中让 Agent 执行 cordis_definekind: newidPrefix: zenus
  2. src/host.js 内容填入 code.host
  3. src/client.js 内容填入 code.client
  4. 执行 cordis_run 并授权。

DSH 重启后动态定义会消失;长期使用请用 Bundle 模式。

典型用法

首次配置官方视图

安装后右下角会出现 OpenCode Go FAB。官方视图采用一次性手动凭据配置:

  1. 在普通浏览器打开 opencode.ai 的 usage 页面并确认已登录。
  2. F12(或 Ctrl+Shift+I)打开开发者工具,进入 Application/应用 → Storage/存储 → Cookies → https://opencode.ai
  3. 找到名称为 auth 的 Cookie,只复制 Value/值 一栏(不要带 auth= 前缀或整条 Cookie: 头)。
  4. 从地址栏形如 https://opencode.ai/workspace/wrk_123/usage 的 URL 中,只复制 wrk_123 作为 workspaceId
  5. 在面板两个输入框分别填入上述两项,点击「保存并刷新」。

配置保存在本机:

~/.config/dsh-opencode-go-usage.json

凭据保存后,后续刷新不需要再次登录,也不依赖调试模式启动浏览器。

面板区域与常用操作

区域 说明
官方视图 账户级官方明细,金额来自官方 usage.list
DSH 视图 当前 DSH 会话的模型、金额、趋势和最近会话
配额区 滚动、周、月配额及重置倒计时
模型排行 按费用排序,点击行查看 token 与费用分项
花费趋势 最近 7、14 或 30 天每日费用
最近会话 DSH 会话标题、更新时间与官方回填金额

点击 FAB 打开或关闭面板;拖动标题栏移动面板,拖动右缘、底缘或右下角调整大小;双击标题栏最大化或还原;标题栏按钮可切换语言、导出 CSV、手动刷新。官方明细首次全量抓取通常需 15–60 秒,后续增量更快;点击「重试提取」会绕过缓存重新抓取。

适用场景与注意

适合谁: 长期在 DSH 里用 OpenCode Go、需要同时对照官网账户明细与本机会话花费的开发者。

数据口径: 官方配额按用量单位计算,部分模型可能按 2 倍计量,与美元明细不是同一口径;面板中的「官方窗口 vs 本地明细」仅供参考,不宜直接当账单对账。配额接口走 OpenCode CLI key,官方明细依赖 Cookie 与 workspace ID——可能出现配额正常但官方明细加载失败的情况,需先确认登录状态再点「重试提取」。

当前限制(README 已列): v1.7.0 起主流程不再自动启动浏览器或探测 CDP 端口,首次须手动填写凭据;DSH 首次扫描会话事件通常需 10–60 秒;官方 usage.list 为内部接口,上游格式变化时插件会报错但无法保证永久兼容。

故障排查: 官方视图显示 NEED_CONFIG 表示尚未配置凭据;重启后插件消失多半是用了动态加载而未加入 profile,请确认已执行 dsh plugin add;诊断日志见 ~/.config/dsh-opencode-go-usage.log(约保留最近 200 行)。

结尾

dsh-opencode-go-usage 把 OpenCode Go 的配额、逐请求成本与 DSH 会话统计收进一块可拖动的悬浮面板,数据留在本机处理。若你已在用 DSH 的 OpenCode Go 集成,可按上文 Bundle 方式安装并配置一次官方凭据。

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

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

小夜