dsh-coding-plan-quota:在 DSH 输入框旁一眼看清 Coding Plan 额度

前言

用 DeepSeek Harness(DSH)做智能体开发时,模型往往绑在各类 Coding Plan 或 API 套餐上:有的按 5 小时、每周、每月窗口计用量,有的只报账户余额。额度分散在各厂商控制台或 CLI 里,Composer 里选模型时很难同步知道「还剩多少、窗口何时重置」。下面介绍社区客户端插件 dsh-coding-plan-quota(维护者 sxwer001),在 DSH 输入框工具行、模型选择器左侧放一个额度圆环,同时只显示一个已配置来源,点击可切换时间窗口或刷新,并按占用比例着色,悬停可看详情与来源切换。

这是什么

dsh-coding-plan-quota 是 DSH 的 Web 客户端插件(dsh.client.platform: web),当前 npm 包版本 0.2.1,许可证 MIT。它由宿主侧拉取各厂商用量或余额,浏览器侧渲染圆环与卡片;所选来源与时间窗口保存在 localStorage。插件市场分类为 Usage & Billing;SkillHub 目录归类为客户端插件。

核心功能

圆环与窗口切换

圆环读取当前选中来源的 coding plan 用量窗口或账户余额。

  • 点击圆环:对有 5 小时 / 每周 / 每月窗口的来源,循环 5 小时 → 每周 → 每月;纯余额类来源则执行刷新。
  • 着色(默认阈值):已用占比绿 <50% → 蓝 <75% → 橙 <90% → 红 ≥90%。
  • 悬停:显示已用百分比、距离重置的倒计时,以及各窗口进度条。

来源选择与容错

卡片标题行格式为 额度来源 · <名称> ›,点击可换来源。选择页只列出当前能成功拉取数据的来源,其余可在开关后展开。某次采集失败时,保留上一次成功数值并标记 stale,避免界面变空。

支持的来源(15 个)

README 列出的来源及凭据如下(无凭据时界面会提示需要哪一项):

来源 id 凭据 / 说明
OpenCode Go opencode-go OPENCODE_GO_API_KEY;5h / 周 / 月
智谱 GLM glm ZHIPU_API_KEY;5h / 周;region: cn 走 open.bigmodel.cn
Kimi kimi KIMI_API_KEY
MiniMax minimax MINIMAX_COOKIE(浏览器会话 Cookie,非 API key)
火山方舟 ark ARK_API_KEY;需自行配置 endpoint
Claude 订阅 claude CLAUDE_CODE_OAUTH_TOKEN
Codex / ChatGPT codex CHATGPT_ACCESS_TOKEN + CHATGPT_ACCOUNT_ID
Gemini CLI gemini GEMINI_ACCESS_TOKEN
GitHub Copilot copilot COPILOT_API_TOKEN
DeepSeek 余额 deepseek DEEPSEEK_API_KEY
Moonshot 余额 moonshot MOONSHOT_API_KEY
OpenRouter 余额 openrouter OPENROUTER_API_KEY
硅基流动余额 siliconflow SILICONFLOW_API_KEY
阶跃星辰余额 stepfun STEPFUN_API_KEY
Novita 余额 novita NOVITA_API_KEY

厂商若按 remaining 上报百分比,插件会反相为 used;多窗口按模型分别上报时(如 GLM、Gemini),取最差窗口展示。

安装与启用

从 DSH 插件市场(Usage & Billing)安装,或在终端执行(二选一):

dsh plugin --profile web add dsh-coding-plan-quota                  # npm
dsh plugin --profile web add github:sxwer001/dsh-coding-plan-quota  # GitHub

安装完成后重启 DSH。插件以当前 DSH 进程权限运行;安装前建议在 GitHub 仓库 查看源码与 MIT 许可证。

配置与凭据

在 Cordis 补丁中通过 apply(ctx, config) 合并配置。常用键与默认值:

键 默认值 含义
cacheMs 60000 各来源宿主侧缓存时长
timeoutMs 12000 上游请求超时
thresholds [50, 75, 90] 圆环颜色分界
defaultProvider "opencode-go" 未选择时的默认来源
hideUnconfigured false 是否隐藏无凭据来源
insecureTls false 是否跳过 TLS 证书校验
providers {} 按 id 的单来源覆盖

单来源可设 enabled、endpoint、apiKey、apiKeyEnv、region、insecureTls 等。火山方舟需通过 providers.ark.endpoint 填入额度 URL。

示例(摘自 README):

- insert:
    - id: coding-plan-quota
      name: dsh-coding-plan-quota
      config:
        thresholds: [50, 75, 90]
        defaultProvider: opencode-go
        providers:
          ark:
            endpoint: "https://<your-ark-quota-url>"

凭据解析顺序(先命中者胜):providers.<id>.apiKey → apiKeyEnv 或内置环境变量名 → DSH credentials 服务 → $DSH_HOME/.credentials.yaml → 部分厂商 CLI 凭据文件。凭据仅在宿主侧读取,不会送到浏览器。

浏览器侧通过同源路由 /plugins/dsh-coding-plan-quota/usage.json 取数,支持 ?refresh=1、?provider=<id>、?debug=1。

典型用法与开发注意

  1. 为要监控的来源配置对应环境变量或 DSH 凭据,重启 DSH 后圆环应出现在模型选择器左侧。
  2. 点击圆环切换 5 小时 / 周 / 月视图(余额类来源为刷新);点击卡片上的来源行切换厂商。
  3. 改 lib/host.js 需重启 DSH;改 lib/client.js 刷新页面即可。仓库提供 node scripts/verify.mjs 做端到端检查。

卡片文案随 DSH 当前 UI 语言(中 / 英)切换,插件自身无独立语言设置。

适用场景与注意

适合同时在 DSH Web 里使用 OpenCode Go、GLM、Claude/Codex/Gemini/Copilot 等 coding plan,或需要盯多家 API 余额的开发者。需注意:chatgpt.com、cloudcode-pa.googleapis.com 等在部分网络下可能不可达;Copilot 若被 TLS 代理拦截,可设 insecureTls: true。MiniMax 必须使用浏览器 Cookie,而非 API key。

DSH 生态主张「一切皆插件」;SkillHub 目录页 为社区索引,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-coding-plan-quota 把分散在多处的 plan 窗口与余额收到 Composer 工具行的一个圆环里,减少选模型前「不知道还剩多少额度」的断点。进一步了解可访问目录页 skillhub.cn/plugins/sxwer001/dsh-coding-plan-quota 与源码 github.com/sxwer001/dsh-coding-plan-quota。

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

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

Xiaoye