前言¶
在 DeepSeek Harness (DSH) 的 Web 插件生态中,针对 opencode.go 和 commandcode 这两个主流开发计划的额度管理,通常需要手动访问官网或通过命令行查询。lbwfff/dsh-usage-estimator 是一个专门为此设计的双端插件。它通过 Host 端获取数据,在 Browser 端渲染,无需单独部署进程,直接在 DSH 侧边栏提供实时额度条以及基于官方定价文档的模型预算估算表。
插件简介¶
插件名称:lbwfff/dsh-usage-estimator
维护者:lbwfff
许可证:MIT
核心价值:为 opencode.go 和 commandcode.ai 提供零配置的实时额度监控与预算估算。
核心功能¶
该插件主要提供以下能力:
- 实时额度条:在侧边栏展示 opencode.go 和 commandcode 的滚动/每周/每月配额,并显示重置时间。
- 模型预算估算:根据官方定价文档,生成包含 OpenCode Go 与 Command Code GOAT 两个计划的对比表格,显示每个模型的请求预算(每 5 小时/每周/每月)。
- 全语言支持:UI 界面完全本地化,跟随 DSH 的语言设置(简体中文/英文)。
- 隐私保护:Cookie 读取功能是可选的。开启后,Cookie 仅发送至 opencode.ai 和 commandcode.ai 官方域名,且绝不离开本地机器,不进行第三方日志记录。
- 零配置数据源:请求表数据直接从官方定价文档抓取,无需用户手动维护。
安装与启用¶
安装此插件需要先确保 pnpm 已安装在系统路径中,然后通过 DSH 的插件命令安装。
- 安装 pnpm
npm i -g pnpm
# 或者
corepack enable
- 安装插件
dsh plugin --profile web add github:lbwfff/dsh-usage-estimator
- 重启 DSH Web
插件安装后会自动注册到dsh.bundle和cordis.patch.yml中,需重启dsh web使其生效。
配置说明¶
插件的配置位于 Web profile 的补丁文件中:~/.dsh/profiles/web/cordis.patch.yml。
在 config 节点下,需要设置以下字段:
- insert:
- id: dsh-usage-estimator
name: dsh-usage-estimator
config:
# opencode.go 工作区 ID(必须设置以显示 OpenCode Go 额度条)
opencodeWorkspaceId: wrk_xxxxxxxxxxxxxxxxxxxxxxxx
# commandcode 每月信用上限(用于计算月度百分比)
commandcodeMonthlyCap: 70
# 是否读取浏览器 Cookie 以进行身份验证
cookieEnabled: true
# 当实时 API 不可用时,用于回退的 HAR 文件路径
# harPath: /path/to/commandcode.ai.har
字段说明¶
opencodeWorkspaceId:opencode.go 的 workspace ID(格式为wrk_...)。留空将禁用 OpenCode Go 的额度条显示。commandcodeMonthlyCap:commandcode 的每月信用上限。未设置时,月度百分比会回退到 API 报告的上限或显示为不可用。cookieEnabled:默认为true。设为false将禁用 Cookie 读取,此时实时额度条将不可用,但请求计数表仍可正常显示。harPath:默认路径为~/.dsh-usage-estimator/commandcode.ai.har。这是当实时 API 无法访问时的备选数据源。
隐私与安全¶
启用 cookieEnabled: true 后,插件会读取浏览器中针对 opencode.ai 和 commandcode.ai 的 Cookie。
- 数据流向:Cookie 仅被发送至上述两个官方域名以获取配额数据,绝不离开本地机器。
- 日志记录:插件不会进行任何第三方日志记录。
- HAR 回退:如果需要,用户可以手动导出 HAR 文件(通过浏览器开发者工具),插件可读取该文件作为备份数据源。
架构与实现¶
该插件采用“双端”架构,Host 端与 Browser 端协同工作。
Host 端 (lib/index.js)
* 作为 Cordis 插件注册,在 DSH Web 服务器的 webServer 上注册一个精确的 /quota 路由。
* 该路由通过 execFile 调用 Python 脚本 (scripts/quota.py) 获取数据。
* 数据会被缓存约 120 秒后返回 JSON 格式。
* 不需要单独的进程或端口,共享 DSH 的服务器上下文。
Browser 端 (lib/client.js)
* 一个 React 组件,通过 window.__ModuleLoader__.load() 加载。
* 注入到侧边栏底部的 sidebar.footer.action 插槽中。
* 定期(每 10 分钟)轮询 /quota 路由。可以通过 ?force=1 参数手动刷新。
* 使用 DSH 的原生 Modal 组件展示请求计数表。
数据处理 (scripts/quota.py)
* 负责计算额度条和请求计数表。
* 从官方定价文档抓取数据(缓存约 6 小时)。
结语¶
lbwfff/dsh-usage-estimator 旨在解决 opencode.go 和 commandcode 用户的额度管理痛点。通过将官方定价数据与实时 API 结合,它为开发者提供了一个无需额外操作的监控方案。配置简单且注重隐私,适合需要在 DSH 环境中高效管理这两个特定服务额度的用户。
- GitHub 仓库:https://github.com/lbwfff/dsh-usage-estimator
- 插件目录:https://www.skillhub.cn/plugins/lbwfff/dsh-usage-estimator