dsh-ocgo-lite:OpenCode Go 用量常驻条

前言

在 DeepSeek Harness(DSH)里跑 OpenCode Go 时,套餐余量、token 消耗和花费分散在官方页面或会话日志里,切换会话后也不容易对照「当前这次对话」到底用了多少。若要在 composer 输入框旁持续看到配额与消耗,通常得手动查用量接口或翻日志。

dsh-ocgo-lite 由 OK-wx 维护,是 DSH 的客户端插件:在聊天输入框下方(composer dock)常驻展开 OpenCode Go 套餐余量圆环、token 与花费统计,并支持一键复制 API Key。数据直读 DSH 会话事件与官方用量接口,零外部依赖。

这是什么

dsh-ocgo-lite 面向使用 DSH web 界面、且本机已登录 OpenCode Go 的开发者。插件在 composer dock 固定显示一条状态栏,汇总账户配额、token 明细与按模型估算的花费;点击各区域可展开详情卡片。分类为客户端插件,GitHub 仓库 OK-wx/dsh-ocgo-lite 当前约 10 stars,许可证 MIT。

核心功能

账户与配额

状态条左侧为 GO 账户入口。点击弹出账户卡片:登录状态、套餐、配额概览,以及 API Key 掩码显示与一键复制(复制成功有 toast 提示)。

配额区域展示官方配额百分比圆环,健康色为蓝、黄、红三档。点击可查看滚动、周、月三个窗口的进度条与重置倒计时。配额数据来自官方接口 https://opencode.ai/zen/go/v1/usage,使用 ~/.local/share/opencode/auth.json 中的 Bearer key,口径为账户级(含其他设备或软件),不受下方范围切换影响。

统计范围

点击范围控件可在三种口径间切换:

  1. 全部 — 所有 DSH 会话合计
  2. 本次会话 — 仅当前聊天
  3. 最近对话 — 最近活跃会话的最后一次任务执行消耗,按 turn 细分,含子代理与后台任务

切到限定会话时,若只用过一个模型会自动选中该模型。每个会话的「范围 + 模型」选择会被独立记忆,切到其他会话再切回会原样恢复。

按模型联动

模型选择器在范围等于「本次会话」时,只列出本次会话用过的模型。选中后,状态条上的 token 与花费按「范围 + 模型」双层联动显示。

token 与花费明细

token 区域显示完整数字;点击展开详情卡片,含输入、输出、推理、缓存读、写,以及按模型分组明细。标题随范围显示「总消耗 token」或「本次会话总消耗」;选中模型时只显示该模型口径。

花费区域展示累计金额与按模型花费排行(占比条 + 各模型官方定价),随范围与模型联动。金额按官方定价表估算(per 1M tokens);无官方定价的模型不计入累计,显示「定价未知」。内置定价表在启动时与每 24 小时自动从 opencode.ai/docs/go 抓取覆盖,抓取失败静默回退内置表。

实时性与交互

token 与花费数据来自 DSH 会话事件中 assistant/message 的 usage,按 provider 分组统计,覆盖 DSH 会话中的全部 provider(opencode-go、deepseek-official 及其他套餐,自动识别切换)。

Client 轮询携带 ?live=<sessionId> 时,Host 增量直读会话日志文件(多帧 zstd 解压 + JSONL 行解析),只重读 mtime 变化的活跃会话,未变化条目用缓存。常规轮询通常只处理 1~2 个文件,耗时几十到几百毫秒;全部范围覆盖所有会话,不按数量截断。冷启动全量扫描约 5 秒,之后 5 分钟缓存加 in-flight 锁防重复扫描。

其他交互:点击页面空白处关闭详情卡片;30 秒自动刷新且无 loading 闪烁;切换会话立即显示(前端共享缓存)。

安装与启用

推荐通过 DSH 官方 bundle 安装,随 dsh web 启动自动加载:

# GitHub 直接安装(推荐)
dsh plugin --profile web add github:OK-wx/dsh-ocgo-lite

# 或从源码目录安装
dsh plugin --profile web add <本目录>
dsh --profile web

等价手动操作:将 dsh-ocgo-lite 加入 profile package.jsondependencieslink:<本目录>)与 dsh.profile.bundles,建立 node_modules junction,并应用 cordis.patch.yml

运行时热装配(免重启)可在 DSH 会话里使用注入器:

dev_install_package {"dir": "<本目录>", "profile": "web"}

也可从插件市场安装:dsh.aitreez.com、YELEBAI 插件市场或 dsh-market(收录后可在设置 → 插件市场一键安装)。社区目录页:SkillHub

典型用法

日常查看

启动 dsh --profile web 后,composer 输入框下方常驻条自动出现。无需额外配置即可查看配额圆环、token 总数与花费;点击各区块展开详情,点击空白处关闭。

切换范围与模型

在状态条上依次点击范围与模型控件,对照「全部 / 本次会话 / 最近对话」及单模型口径。切到其他聊天再切回,该会话记住上次选择。

复制 API Key

点击 GO 账户区域,在卡片中一键复制完整 API Key(通过本机同源接口 GET /ocgo-lite/key)。

对话内查询

插件注册模型工具 opencode_go_usage,可在对话里直接查询用量聚合数据。

Host 提供的 HTTP 接口:

  • GET /ocgo-lite/api — 聚合 JSON(配额 + DSH token/花费 + 按模型/按会话 + 账户掩码)
  • GET /ocgo-lite/api?live=<sessionId> — 实时通道,增量直读变化的会话日志
  • GET /ocgo-lite/key — 完整 API Key(仅本机同源)

开发时修改 lib/ 后可执行 dev_reload_package {"packageName": "dsh-ocgo-lite"} 热重载,或重启 dsh web

适用场景与注意

适合在 DSH web 中长期使用 OpenCode Go、需要 composer 旁持续对照配额与 token/花费的开发者。插件以当前 dsh 进程权限运行,安装前应自行检查 源码 与 MIT 许可证。

环境要求:

  • DeepSeek Harness(dsh web
  • 本机已登录 OpenCode Go(~/.local/share/opencode/auth.jsonopencode-go key)
  • Node.js ≥ 22.5(依赖 fetchnode:sqlite

DSH 生态理念是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系,并非官方应用商店。

结尾

dsh-ocgo-lite 把 OpenCode Go 套餐余量、token 消耗与花费估算收拢到 composer dock 一条常驻条里,支持范围与模型联动、会话级配置记忆和秒级日志增量更新。目录页见 SkillHub,源码与安装说明见 GitHub

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

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

小夜