前言¶
DeepSeek Harness (DSH) 旨在通过插件化架构扩展功能。OpenCode Go 提供了滚动、每周和每月的订阅额度,但官方接口通常不提供直观的 Web 前端展示。该插件在 DSH Web 侧边栏的会话窗口左下角注册了一个独立的悬浮入口,用于展示这些订阅的用量百分比和重置时间。
核心功能¶
- 独立入口:悬浮按钮位于会话窗口左下角,不占用侧边栏入口或输入框,避免与其他插件冲突。
- 用量展示:点击按钮弹出面板,展示滚动用量、每周用量、每月用量三个窗口。
- 数据细节:每张卡片显示已用百分比、剩余百分比以及重置时间。
- 面板定位:面板以按钮为锚点,左边缘对齐按钮,底部位于按钮上方 12px,随会话窗口或侧边栏变化自动调整。
- 自动刷新与关闭:打开期间每 60 秒自动刷新;支持
Esc键或点击面板外部关闭。 - 安全机制:API Key 仅在 Harness host 进程内解析,不会下发到浏览器。
安装与启用¶
- 使用 npm 安装插件:
dsh plugin --profile web add dsh-plugin-opencode-usage
-
确认凭据。在
~/.dsh/.credentials.yaml中确认存在OPENCODE_GO_API_KEY。 -
可选:在 profile 的
cordis.patch.yml中覆盖opencode-usage条目,配置凭据引用和 API 地址:
- id: opencode-usage
config:
credentialRef: OPENCODE_GO_API_KEY
apiBaseUrl: https://opencode.ai/zen/go/v1
cacheMs: 30000
- 重启
dsh web并刷新页面。在会话窗口左下角会出现独立的 “OpenCode Go 用量” 悬浮入口。
适用场景与限制¶
- 适用场景:使用 OpenCode Go 订阅并在 DSH Web 环境下工作的开发者。
- Profile 限制:仅适用于
webprofile,headless模式下不注册路由。 - 依赖要求:
- Node.js: ^22.19.0 || >=24.0.0
- DSH: >=0.1.5-rc.1 <0.2.0-0
- 安全说明:插件的 API 调用继承 Webserver 的绑定地址。默认 profile 绑定
127.0.0.1,只有本机可访问;若将webServer.config.host改为0.0.0.0,同一局域网内可读取用量百分比。API Key 本身不会离开 host 进程。