DeepSeek Harness Plugin: dsh-opencode-usage

前言

在使用 DeepSeek Harness (DSH) Web composer 开发智能体时,如果接入 OpenCode Go 服务,额度耗尽往往发生在用户不知情的时候。在输入框下方的统计行中增加一个状态指示器,是管理成本的有效手段。dsh-opencode-usage 插件旨在解决这一问题,它将 OpenCode Go 的额度状态以最轻量的方式嵌入到 DSH 的界面中。

插件简介

这是一个用于 DeepSeek Harness Web composer 的插件,由 ColorlessBoy 维护。它的核心作用是在输入框下方的统计行中显示 OpenCode Go 的剩余额度百分比。该插件不需要用户进行配置,直接读取 llm-pi-ai 中的 provider 设置,通过浏览器同源请求获取额度数据并展示。

核心功能

该插件提供以下能力:

  1. 额度展示:在输入框下方的统计行中显示剩余百分比,包括滚动(5小时)、每周和每月三个维度的数据。
  2. 零配置:自动跟随 llm-pi-ai 中已配置的 provider,不要求用户复制密钥或手动添加设置项。
  3. 零构建:仓库自带 lib/ 目录,通过 dsh plugin 命令安装即可直接运行,无需构建授权。
  4. 密钥安全:密钥仅由 host 侧解析并使用,浏览器端只访问同源端点,密钥不会泄露到前端页面。
  5. 智能显示:根据 provider 的 URL 判定是否显示,仅当当前模型所属 provider 的 baseURL 指向 OpenCode Go 时才显示,切到其他 provider(如 DeepSeek 官方)自动隐藏。
  6. 交互详情:点击 pill 可展开详情面板,查看各档位的剩余百分比和重置倒计时。

安装与启用

安装过程不需要构建步骤,推荐使用官方插件命令:

dsh plugin --profile web add github:ColorlessBoy/dsh-opencode-usage

安装完成后,必须重启 dsh web 进程并刷新浏览器页面,插件层才会生效。可以通过以下命令验证插件层已组合进配置:

dsh --profile web --dump-config   # 应出现 "# == dsh-opencode-usage" 层

使用方式

安装并重启后,在 Web composer 的输入框下方的统计行中,内置的「上下文已用」pill 之后会出现一枚新的 pill,显示当前 OpenCode Go 的剩余电量图标和百分比。

界面示例如下:

10 轮 89 步 · 42 tok/s  │  1.2M · 缓存命中 45%  │  24%  │  🔋 剩余 5h 80% │ 周 84% │ 月 42%

点击该 pill 可以展开详情面板,查看更具体的额度信息。

注意事项

  1. 安装方式:插件支持 bundle 安装(推荐)和手工挂载两种方式。不要同时使用两种方式,同一个 opencode-usage id 出现两行会导致组合错误。
  2. 重启要求:lib/index.js 由 Node ESM 模块缓存持有,修改 host 侧代码后必须重启 dsh web;浏览器半边支持热重载,修改后刷新页面即可。
  3. License:采用 MIT 协议。
  4. 行为限制:插件不接管路由,不创建悬浮窗,不参与请求计费,仅做只读展示。

技术细节

插件采用 Host/Client 分离架构。Host 侧 (lib/index.js) 负责解析 provider 的 baseURL 和 apiKeyEnv,向 OpenCode Go 官方接口发起带凭据的请求,并将返回的“已用”百分比归一化为“剩余”百分比,同时进行缓存(成功30s,失败10s)。Client 侧 (lib/client.js) 负责从会话中读取当前模型对应的 provider,轮询同源端点并将额度渲染为 dock 中的 pill。

插件将自身内容通过 display: contents 摊平,以 flex order: 1 排列在「上下文已用」pill 之后,确保 UI 布局与原生组件一致。

结语

dsh-opencode-usage 是一个克制且实用的工具,它通过复用 DSH 现有的 UI 组件,在不增加额外干扰的情况下,解决了 OpenCode Go 额度监控的问题。

  • GitHub 仓库: https://github.com/ColorlessBoy/dsh-opencode-usage
  • 官方目录: https://www.skillhub.cn/plugins/ColorlessBoy/dsh-opencode-usage
羽毛球分组比赛记分
小程序二维码

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

Xiaoye