前言¶
DeepSeek Harness (DSH) 采用插件化架构,允许用户通过扩展功能来增强桌面客户端的体验。在使用 OpenCode Go 服务时,确认剩余额度通常需要切换页面或查看侧边栏,这打断了工作流。本插件旨在解决这一痛点,直接在 Web UI 的输入框下方展示额度信息,使开发者无需离开当前页面即可监控用量。
插件介绍¶
插件名称:blibilijojo/dsh-plugin-opencode-go-quota
维护者:blibilijojo
许可证:MIT
类别:客户端
这是一个 DSH 插件,用于在 Web UI 的 composer dock 中显示 OpenCode Go 的三个额度窗口:5 小时滚动、本周和本月。插件通过宿主原生样式渲染,确保与 DSH 自带的胶囊组件视觉统一。
核心功能¶
-
三个额度胶囊显示
在输入框下方的 dock 区域显示三个 pill,分别对应 5 小时滚动、本周和本月额度。默认状态下不占用额外行高,与 DSH 自带的统计信息并排显示。 -
颜色状态指示
额度胶囊的颜色会根据使用量变化:
- 灰色:使用率 < 70%
- 黄色:使用率 >= 70% 且 < 90%
- 红色:使用率 >= 90% -
详情浮层
点击任意胶囊可打开浮层,显示详细的进度条、百分比以及各自的重置时间。关闭浮层的方式为点击外部区域或按Esc键。 -
设置开关与配置
插件提供了设置开关,可控制是否在输入框下方显示胶囊。在设置页的 OpenCode Go 页面中,可以填写或清除 API Key。 -
API Key 安全管理
API Key 存储在 DSH 的凭证库中(键名为OPENCODE_GO_API_KEY),不写入设置文件。浏览器端仅能获取脱敏提示(如oc_sk_…D4K),密钥仅在 Host 进程中使用。 -
架构分离
插件采用前后端分离架构:Host 进程负责凭证解析、网关请求和路由处理;浏览器端仅负责渲染和 UI 交互。
安装与启用¶
- 将本仓库克隆或下载到本地任意目录。
- 打开 DeepSeek Harness(桌面版或
dsh web)。 - 在插件管理器中执行以下命令安装本地 bundle:
plugin_manager action: install_bundle
target: <本仓库的绝对路径>
安装完成后刷新页面,若已配置 Key,三个额度胶囊将立即出现在输入框下方。
配置方法¶
- 打开 DSH 设置,找到「智能体预设」下的「OpenCode Go」页面。
- 在「API Key」输入框中粘贴你的
oc_sk_...密钥,点击保存。 - 三个额度 pill 会立即显示在输入框下方。
- 若需隐藏,可关闭「显示额度」开关。
工作原理¶
插件通过 DSH 的 webServer 注册路由,与内置插件使用相同的 Host/Origin 校验机制。Host 进程负责处理凭证解析、调用 OpenCode 网关接口 GET /zen/go/v1/usage 以及缓存数据。浏览器端通过注入的方式挂载到 conversation.composer.dock,仅负责渲染三个 pill 和设置页。
主要文件包括:
- index.js:Host 半边逻辑,处理凭证、网关请求及路由。
- client.js:浏览器半边逻辑,负责渲染胶囊与浮层。
- package.json:声明插件清单与注入点。
注意事项与限制¶
-
代码修改生效
修改 Host 半边代码(如index.js)后,必须重启 DSH 才能生效。DSH 会缓存已加载的 Host 模块,仅修改浏览器端代码(client.js)时刷新页面即可。 -
订阅类型支持
本插件仅支持 OpenCode Go / Go Plus 订阅的额度窗口。不支持 Zen 余额。 -
接口依赖
插件依赖 OpenCode 网关接口GET /zen/go/v1/usage。若上游接口调整路径或返回结构,插件功能可能受影响,需同步更新。 -
密钥管理
密钥存储在凭证库中,卸载插件不会自动清除。如需删除,可在设置页点击「清除密钥」,或手动删除凭证库中的对应条目。
总结¶
该插件通过在 composer dock 中集成额度监控功能,简化了开发者查看 OpenCode Go 用量的流程。其宿主原生样式和清晰的配置界面,使其成为 DSH 生态中实用的工具之一。
项目地址:https://github.com/blibilijojo/dsh-plugin-opencode-go-quota