dsh-quota-status:DeepSeek Harness 余额与订阅状态极简卡片

前言

DeepSeek Harness (DSH) 为智能体开发提供了 Web 界面。在使用过程中,开发者通常需要同时监控 DeepSeek API 余额、Kimi For Coding 的套餐余量(含周限与 5 小时窗口)以及 ChatGPT (Codex) 的订阅限流情况。dsh-quota-status 插件在一个极简的卡片中聚合了这些信息,提供余额状态、进度条、重置倒计时以及波峰波谷电价提醒,解决了多窗口查看分散的问题。

插件简介

名称:dsh-quota-status
维护者:ruby1304
类别:联网工具
许可证:MIT

这是一个 DeepSeek Harness (DSH) web 插件。它在一个极简卡片里实时显示 DeepSeek API 余额、Kimi For Coding 套餐余量(周限 + 5h 滚动窗口)与 ChatGPT (Codex) 订阅限流窗口。卡片包含剩余量数值、进度条、重置倒计时,并针对 DeepSeek 的波峰波谷时段提供价格提醒。

核心功能

插件具备以下功能:

  • 开箱即用:默认读取环境变量 DEEPSEEK_API_KEY 与 KIMI_CODING_API_KEY。凭证通过 dsh credentials seam 传递,密钥永不进入浏览器。
  • 极简卡片:固定宽度 260px。每个账户一行(状态点 + 名称 + 数值),展开详情时宽度保持不变。卡片支持 hover 抬升阴影效果。
  • 余额分档着色:根据 DeepSeek 余额数值自动着色。绿 ≥100,黄 20–99,红 1–19,灰 <1。
  • 波峰波谷提醒:行内嵌入时段徽标(如高峰期)。展开详情会显示当前时段与距离切换的倒计时,每秒跟随系统时钟刷新。
  • 点击交互:点击某一行原地展开该账户详情(DeepSeek 充值/赠送拆分;Kimi 各窗口进度条、剩余量与重置倒计时)。再点收起。
  • 倒计时显示:当 Kimi 或 ChatGPT 窗口耗尽(0%)且服务端提供重置时间时,收起态直接追加实时倒计时;未耗尽窗口保持百分比格式。
  • 可拖动:按住卡片空白处可拖动到任意位置,位置记忆在浏览器本地。
  • 自动刷新:默认 60 秒刷新一次。页面隐藏时暂停,回到前台立即刷新。
  • 中英双语:跟随界面语言,自动适配深浅主题。
  • 仅回环 RPC:RPC channel 仅回环可访问(authority: loopback),确保数据安全。
  • 插件配置卡片:在 DSH 的「设置 → 插件 → 插件配置」中可直接查看三类账户状态,并在此处处理 ChatGPT 的 OAuth 登录。

安装与启用

安装插件需要使用 DeepSeek Harness 的 CLI。

dsh plugin --profile web add dsh-quota-status
dsh web

安装后,dsh-quota-status 会作为 bundle 自动通过 cordis.patch.yml 插入 quota-status 行。

典型用法

默认安装后无需配置即可使用。如需调整刷新频率、颜色阈值或添加 ChatGPT 监控,需在 ~/.dsh/profiles/web/cordis.patch.yml 中覆盖配置。

配置示例

在配置文件中按行覆盖 quota-status 节点:

- id: quota-status
  config:
    refreshMs: 30000          # 默认 60000,刷新间隔毫秒
    timeoutMs: 15000          # 上游查询超时
    warnBalance: 30           # DeepSeek 余额低于 30 变黄
    criticalBalance: 10       # 低于 10 变红
    warnUsagePercent: 40      # Kimi 余量低于 40% 变黄
    criticalUsagePercent: 15  # 低于 15% 变红
    codexBinary: cliproxyapi  # 设置页「登录 ChatGPT」调用的程序
    codexConfigPath: ~/.cli-proxy-api/config.yaml
    providers:
      - id: deepseek
        label: DeepSeek
        kind: deepseek-balance
        credential: DEEPSEEK_API_KEY
        endpoint: https://api.deepseek.com/user/balance
      - id: kimi-coding
        label: Kimi Coding
        kind: kimi-usage
        credential: KIMI_CODING_API_KEY
        endpoint: https://api.kimi.com/coding/v1/usages
      # ChatGPT 订阅(可选,需本地 CLIProxyAPI 网关已登录 codex):
      - id: codex-sub
        label: ChatGPT
        kind: codex-usage
        credential: ''        # codex-usage 无需 env 凭证
        endpoint: https://chatgpt.com/backend-api/wham/usage
        authDir: ~/.cli-proxy-api   # codex-*.json 所在目录

数据源说明

  • DeepSeek:GET https://api.deepseek.com/user/balance(可用余额,无重置时间)。
  • Kimi For Coding:GET https://api.kimi.com/coding/v1/usages(套餐周限 + 各窗口明细)。
  • ChatGPT (Codex):GET https://chatgpt.com/backend-api/wham/usage(订阅限流窗口,凭证来自 CLIProxyAPI 本地 auth 文件)。

适用场景与注意

该插件适合需要频繁监控 API 余额和订阅限流的开发者。在安装前,请确保已正确配置 DeepSeek Harness 的 profile。

安全机制:
* API Key 只在宿主进程解析,不写入响应、日志或浏览器。
* Codex 订阅的 OAuth token 只在宿主进程从 CLIProxyAPI 本地 auth 文件读取。
* RPC channel 仅回环可访问。

开发与维护:
如需参与开发,可运行以下命令:

npm install
npm run typecheck
npm test
npm run build

结语

dsh-quota-status 通过极简的卡片视图和自动刷新机制,将 DeepSeek、Kimi 和 ChatGPT 的关键配额信息集中展示。它遵循 DeepSeek Harness 的“一切皆插件”理念,利用回环 RPC 确保了密钥安全,适合作为开发环境的标配组件。

GitHub 仓库

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

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

小夜