dsh-opencode-go-usage-compact:DeepSeek Harness 的可收拢 OpenCode GO 用量组件

前言

DeepSeek Harness(DSH)运行在本地,需要通过 API 调用 OpenCode GO 服务来获取智能体开发能力。原版插件在侧边栏底部常驻一个用量面板,展开时会占用较多垂直空间。对于习惯在 DSH 里长时间运行多个会话的开发者来说,收拢面板可以腾出更多工作区高度。

下面介绍一个修改版插件:dsh-opencode-go-usage-compact。它保留了原插件的数据源、同源代理和聊天命令,把侧边栏底部的用量面板改成可收拢的一行,收拢后只占一行高度。

插件定位

这是 @astervolans/dsh-opencode-go-usage 1.5.0 的修改版,上游是 yumusb/dsh-opencode-go-usage。维护者是 zhufei1000。

它解决的问题是:在 DSH 侧边栏底部提供一个常驻的 OpenCode GO 用量小组件,默认收拢,展开后显示 5 小时/周/月 的额度百分比、时间进度和重置倒计时,同时保持同源代理和聊天命令能力。

核心功能

  • 可收拢的用量面板:默认收拢为一行,只显示三个窗口的百分比;点击箭头或标题行可切换状态
  • 5 小时 / 周 / 月 额度:展开后显示三条用量条,下面各有一条时间进度条,右侧是重置倒计时
  • 同源代理:host 端请求 https://opencode.ai/zen/go/v1/usage,浏览器只访问 /opencode-go/usage,API key 不进入前端
  • /opencode-go 聊天命令:输出同样三个窗口的文本
  • 运行时注入 x-opencode-session:修复 OpenCode GO 网关的 400 MissingSessionID 错误
  • 语言跟随 DSH:中文 / English 跟随 DSH 的界面语言,实时切换
  • 状态持久化:收拢/展开状态保存在浏览器 localStorage,刷新或重启后保持上次选择

安装与启用

安装前需要先移除原插件,避免两个插件争用同一个用量路由和 /opencode-go 命令:

dsh plugin --profile desktop remove @astervolans/dsh-opencode-go-usage

然后从 GitHub 安装本仓库:

dsh plugin --profile desktop add github:zhufei1000/dsh-opencode-go-usage-compact

安装后完全退出并重新打开 DSH;Web 用户重启 dsh web 并刷新页面。

如果你用的是 web profile,把 desktop 换成 web。

配置

在 设置 → 插件 → 插件配置 中修改,字段都是 volatile,改完即时生效:

键 默认 说明
apiKeyEnv OPENCODE_GO_API_KEY API key 的 credential 引用
baseUrl https://opencode.ai/zen/go OpenCode GO 网关地址
cacheMs 30000 host 端用量缓存 TTL
injectSessionHeader true 为 OpenCode GO 请求注入 x-opencode-session

API key 仍然使用 DSH 的 credential OPENCODE_GO_API_KEY,不需要重新填写。没有配置过的话,在 ~/.dsh/.credentials.yaml 里加:

OPENCODE_GO_API_KEY: sk-...

或者直接使用环境变量 OPENCODE_GO_API_KEY。

与上游 1.5.0 的差异

  • 侧边栏底部面板可手动收拢 / 展开,收拢后只占一行
  • 收拢拉手改成分割线中间的纯箭头,没有胶囊边框或底色
  • 中文紧凑标签用「五小时 / 周 / 月」,避免阿拉伯数字 5 与汉字视觉高度不一致
  • host 端修复 Request 对象被 String() 成 [object Request]、导致 session header 不注入的问题
  • 注入 header 时保留 Request 自带的 headers
  • 标题行不再重复声明 role="button",只保留箭头按钮这一个语义控件
  • 30 秒时间条 tick 只在展开时运行
  • 移除 setOpen updater 里的 localStorage 副作用
  • 修复紧凑模式在”已加载但无窗口数据”时仍显示”加载中…”
  • 移除 npm 自动更新检查(本仓库通过 GitHub 分发)

兼容性

  • DSH:>=0.1.7-rc.1 <0.3.0(peerDependencies)
  • Node.js:>=18
  • 已在 DSH 0.2.1-rc.2 上验证 host 路由和侧边栏组件

如果 DSH 的 peer 校验拒绝某个版本,可以显式放行:

dsh plugin --profile desktop allow-version dsh-opencode-go-usage-compact@1.5.1 --dsh-version <你的版本> --accept-risk

适用场景与注意

适合在 DSH 中使用 OpenCode GO 服务的开发者,特别是需要频繁查看用量额度、希望侧边栏占用空间更少的情况。

本插件以当前 dsh 进程权限运行,安装前建议检查源码与许可证(MIT)。

结尾

dsh-opencode-go-usage-compact 通过收拢面板和细节修复,让 OpenCode GO 用量查看更轻量。如果你想了解最新动态或提交问题,可以访问:

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

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

Xiaoye