前言¶
在 DeepSeek Harness(DSH)里同时配置多家 LLM Provider 时,用量窗口、充值余额往往分散在各家的控制台或 CLI 里。切换网页、对照重置时间,既打断开发节奏,也容易在额度触顶后才察觉。下面介绍社区插件 dsh-quota-windows:在 DSH 左侧栏增加「额度窗口」入口,对已在设置中添加且插件适配器支持的 Provider,在同一页展示订阅用量窗口与账户余额(只读拉取)。
这是什么¶
dsh-quota-windows(GitHub:LXD-8/dsh-quota-windows)由维护者 LXD-8 发布,归类为 客户端 插件。它在 Harness 左侧边栏注册「额度窗口 / Quota windows」项,背后是一页网格卡片:每张卡对应一个已添加且具备公开 usage 或 balance API 的 Provider 家族,展示各时间窗口的已用比例、严重程度色条、重置时间,以及余额类钱包信息。未提供公开用量/余额接口的 Provider(例如 README 中提到的 OpenAI、Google、本地模型服务等)不会出现在页面上。
插件以 Host 端聚合快照、Web 端渲染的方式工作;所有查询均为只读。它以当前 dsh 进程权限运行,安装前宜自行查看源码与 MIT 许可证。
核心功能¶
动态发现 Provider¶
发现逻辑是动态的:Host 读取实时 LLM 路由(llm.listProviders()),与内置适配器注册表匹配。在 Settings 里添加、且其 family 有对应适配器的 Provider 会自动出现,无需改插件代码。没有公开 usage 或 balance API 的 Provider 不会匹配。
README 中列出的支持情况如下(路由 id 与数据类型以资料为准):
| Family | Route ids | 数据 |
|---|---|---|
| OpenCode Go | opencode-go, opencode-go* |
5 小时 / 本周 / 本月 usage windows |
| Claude | anthropic(或独立 Claude Code 凭据) |
5 小时 / 本周,Opus/Sonnet weekly,extra usage |
| DeepSeek | deepseek, deepseek-official, deepseek-account(或独立登录账户) |
充值 + bonus 钱包 |
| OpenRouter | openrouter |
credit balance(总额减用量) |
| Moonshot / Kimi | moonshotai, moonshotai-cn |
可用额 + voucher 余额 |
| Z.ai / GLM | zai, zai-coding-cn |
Coding Plan 额度窗口(5h / 周 / 其他周期) |
| MiniMax | minimax, minimax-cn |
Token Plan session 用量 |
凭据按 Provider 从 settings profile 的 apiKeyEnv(回退到常规的 <ROUTE>_API_KEY)经 ctx.credentials 解析;Claude 读取 Claude CLI token,DeepSeek 走账户服务,二者不强制要求对应 DSH 路由处于 live 状态。
页面交互与展示¶
每张订阅类卡片按窗口分行,显示已用百分比、带严重程度颜色的进度条和重置时间。余额类卡片显示可用金额及钱包明细。概览区「最紧窗口」与「下次重置」瓦片可点击:会滚动到对应源卡片并短暂高亮。
各源卡片使用维护者手写的品牌强调色表(BRAND_ACCENTS);未列入表的 id 会回退到稳定哈希色,新支持的 Provider 仍可有区分色而无需改代码。
后端与前端分工¶
index.js(Host):匹配 live 路由与ADAPTERS,读取各匹配项;成功结果缓存 60 秒,错误缓存 15 秒;提供GET /quota-windows/api/snapshot(?refresh=1可绕过缓存)。client.js(Web):注册sidebar.panellist与main面板;进入页面时重读快照,之后每分钟轮询;卡片等宽网格布局(数量为 3 的倍数时三列,否则两列)。页面级错误边界避免渲染崩溃整页空白,并向GET /quota-windows/api/client-error上报。
安装与启用¶
bundle 名称为 dsh-quota-windows。资料提供两种方式。
方式一:本地 link 依赖(需先取得仓库到本机绝对路径,再以 profile 引用;正文不展开 clone 步骤,按 README 将路径写入 profile):
"dsh-quota-windows": "link:/absolute/path/to/dsh-quota-windows"
在 profile 中选择 quota-windows bundle,下次加载后侧边栏入口出现。
方式二:CLI 安装(desktop profile):
dsh plugin --profile desktop add github:LXD-8/dsh-quota-windows
package.json 中当前版本为 1.16.1;许可证 MIT。
典型用法¶
- 按上一节完成安装并重新加载 DSH(desktop profile 使用 CLI 时以你的 profile 名为准)。
- 在 Harness Settings 中照常添加需要监控的 Provider 并配置凭据(
apiKeyEnv或各家约定方式)。 - 打开左侧栏「额度窗口」,查看自动出现的 Provider 卡片;需要立即刷新数据时,可请求带
?refresh=1的快照 API(由 Host 提供)。 - 若使用反向代理等非本机 Host,可在 profile 补丁中配置
allowedHosts(见下文配置示例)。
可选配置写在 Loader schema 校验的 row config 中,例如 profile patch:
- id: quota-windows
config:
cacheSeconds: 60
opencodeBaseUrl: https://opencode.ai/zen/go/v1
opencodeCredentialRef: OPENCODE_GO1_API_KEY
claudeCredentialsPath: ~/.claude/.credentials.json
# Hosts allowed in addition to loopback/IP/same-origin, for a reverse proxy.
allowedHosts:
- quota.example.com
适用场景与注意¶
适合谁:在 DSH 中并行使用多家 API、需要在一屏内对照各家用量窗口与余额、且所用家族已在 README 适配表中的开发者。
务必注意:
- 插件随 当前 dsh 进程权限 读取凭据并访问各家 API;安装前请阅读仓库源码与许可证,勿在不可信环境盲目启用。
- Claude token 只读、不刷新;过期后卡片会提示重新登录 Claude Code。
- OpenCode Zen 的 credit balance 未在 API-key API 暴露,页面仅展示 Go 订阅窗口。
- 无公开 usage/balance 端点的 family 有意不展示;若日后出现公开接口,增加适配器即可。
- Provider 失败会本地化 HTTP 状态、超时、空响应等前缀,具体细节仍保留 Provider 原文。
- README 说明测试命令:
node --test tests/*.test.mjs(覆盖解析器及部分适配器的 stub HTTP)。
社区插件目录 SkillHub 上的 dsh-quota-windows 为独立生态站点,与 DeepSeek / 幻方无官方从属关系;源码与说明以 GitHub 仓库 为准。
结尾¶
dsh-quota-windows 把「已添加且 API 可读的 Provider」的订阅窗口与余额收到 DSH 同一页,减少在控制台与 Harness 之间的切换。若你的日常路由落在 README 所列 family 内,可按官方 CLI 或 link 方式装入 desktop profile,从侧边栏「额度窗口」开始使用。
- 目录页:https://www.skillhub.cn/plugins/LXD-8/dsh-quota-windows
- GitHub:https://github.com/LXD-8/dsh-quota-windows