dsh-plugin-openai-quota:DSH Web UI 顶栏一行额度提示

前言

在 DeepSeek Harness(DSH)里同时用 DeepSeek 账户和已在 DSH 里登录的 ChatGPT/Codex 时,余额、5 小时窗口剩余比例、周额度以及重置卡到期时间往往要分别打开网页或设置页查看。下面介绍的插件把这几项收成 Web UI 顶边一条固定状态行,不弹面板、不占侧边栏,适合长时间开着 DSH 桌面端或 dsh web 时扫一眼用量。

这是什么

dsh-plugin-openai-quota 由维护者 pythoner1984 发布,在 SkillHub 插件目录 中归类为客户端插件。官方简介是:为 DeepSeek Harness 提供一行额度通知——DeepSeek 余额、ChatGPT/Codex 速率限制窗口与重置卡信息。

数据全部来自你已在 DSH 中登录的账户;插件不会新建、复制或存储 API Key。

界面上显示什么

通知条固定在 DSH 窗口顶边,示例形态如下(数值随账户实时变化):

DeepSeek余额:65.2元 | OpenAI额度26%(80%) 重置时间:12:10(11月7日) | 重置卡:1张 11月7日 05:23到期

各段含义与数据来源如下。

显示段 来源 说明
DeepSeek 余额 DSH deepseekAccount.getBalance() 人民币钱包,保留一位小数
OpenAI 当前额度 + 重置时刻 GET https://chatgpt.com/backend-api/wham/usage → rate_limit.primary_window 5 小时窗口剩余百分比,重置时间为 HH:mm
OpenAI 周额度 + 周重置 同上 → rate_limit.secondary_window 周窗口剩余百分比与重置日期
重置卡 GET https://chatgpt.com/backend-api/wham/rate-limit-reset-credits 仍为 available 且计划支持的卡中,最近到期的一张

点击「重置卡」相关段落会在系统默认浏览器打开 ChatGPT 用量页;插件只展示信息,不会替你兑换重置卡。

客户端通过 shell.overlay(id: openai-quota,order: 600)注册顶栏 overlay,向 Host 请求 /openai-quota/summary 渲染;每 15 分钟刷新一次,页面重新可见时立即再拉一次。

工作原理概要

Host 端(index.js)从 DSH 凭证库读取已有 ChatGPT OAuth(llm-pi-ai/openai-codex),调用上述两个 chatgpt.com/backend-api/wham/* 接口,并通过 deepseekAccount 读 DeepSeek 余额,对外提供四条需本地信任校验的路由:

路由 方法 用途
/openai-quota/summary GET 通知条渲染所需的汇总
/openai-quota/usage GET 原始额度窗口
/openai-quota/health GET 脱敏自检(排障用)
/openai-quota/reset-card/open POST 在默认浏览器打开用量页

浏览器侧仅看到百分比、时间戳与卡数量;访问令牌不离开 Host 进程。

环境与依赖

  • 带 Web UI 的 DeepSeek Harness(桌面应用或 dsh web)。
  • 已在 DSH 中配置 ChatGPT/Codex 登录(OpenAI 额度段依赖此 OAuth)。
  • 可选:已登录 DeepSeek 账户;未登录时余额段显示为 —。

package.json 要求 Node >=20;当前插件版本为 1.8.0,许可证 MIT(非 OpenAI / DeepSeek 官方项目)。

安装与启用

官方 README 给出的方式是:将仓库克隆到持久目录,再用 DSH Plugin Manager 以本地 bundle 安装。

git clone https://github.com/pythoner1984/dsh-plugin-openai-quota.git

在 DSH Plugin Manager 中执行(将 <absolute path to the clone> 换成本机克隆目录的绝对路径):

plugin_manager install_bundle   target: <absolute path to the clone>

git pull 更新代码后需重新安装 bundle 或重启 DSH 以加载新版本。

也可在自己的 Cordis 组合中插入:

- insert:
    - id: openai-quota
      name: 'dsh-plugin-openai-quota'

移除 bundle 会去掉 overlay 条目,不残留插件状态。

配置

无配置文件。刷新间隔、时区(Asia/Shanghai)与目标 URL 在代码中为常量,不能通过配置改指向其他主机。若需不同行为需 fork 仓库自行修改。

典型用法与交互

  1. 完成安装并重启或重装 bundle 后,打开 DSH Web UI,顶边应出现一行额度文案。
  2. 需要核对 OpenAI 侧是否正常时,可在本机访问 GET /openai-quota/health(须通过 DSH 本地信任校验),查看脱敏 JSON,例如:
{
  "ok": true,
  "plugin": "dsh-plugin-openai-quota",
  "version": "1.8.0",
  "routes": { "usage": true, "summary": true, "health": true, "openResetCard": true },
  "credentialConfigured": true,
  "openaiReachable": true,
  "usageError": null,
  "windows": { "primary_window": true, "secondary_window": true },
  "resetCredits": { "status": "ready", "count": 1, "nextExpiresAt": "2026-11-06T21:23:57.312Z" }
}
  1. 点击重置卡段落打开浏览器用量页;在桌面应用内可能只打开页面顶部,无法像浏览器标签页那样通过 text-fragment 定位到重置卡区块(README 已知限制)。

开发侧可运行 npm test(node --test,覆盖 Host 与 Client 两半)。

适用场景与注意

适合:已在 DSH 内登录 ChatGPT/Codex、并希望在不打开额外面板的前提下监视 DeepSeek 余额与 OpenAI 窗口额度、重置卡到期时间的用户。

安全与隐私(README 强调):不索取 admin key;各路由经 connection.requestRejection 本地信任检查,失败则关闭;打开浏览器时 URL 为 Host 常量,不把请求参数拼进 shell。

已知限制:

  • chatgpt.com/backend-api/wham/* 属于 ChatGPT Web 内部接口,可能变更;异常时界面降级为 — / 暂不可用 而非整页崩溃。
  • 重置时间一律按 Asia/Shanghai 显示,而非本机时区。
  • credentialConfigured: false 表示未找到 llm-pi-ai/openai-codex 登录;usageError: "upstream-http" 且 401 时 OAuth 可能过期,需在 DSH 内重新登录。

插件以当前 DSH 进程权限运行;安装前请阅读 GitHub 仓库 源码与 MIT 许可证,自行评估风险。DSH 生态强调「一切皆插件」;SkillHub 目录 为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-plugin-openai-quota 把 DeepSeek 余额、ChatGPT 主/次窗口额度与重置卡到期收成 Web UI 顶栏一行,复用 DSH 已有登录、无需额外 Key。需要安装步骤与排障表时,以 README 为准。

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

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

小夜