前言¶
用 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。
典型用法与开发注意¶
- 为要监控的来源配置对应环境变量或 DSH 凭据,重启 DSH 后圆环应出现在模型选择器左侧。
- 点击圆环切换 5 小时 / 周 / 月视图(余额类来源为刷新);点击卡片上的来源行切换厂商。
- 改
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。