前言¶
在 DeepSeek Harness 里同时配置多家模型供应商时,余额、套餐窗口和本机 token 消耗往往分散在不同后台或设置页。对话进行中要确认「还有没有额度」,通常要切出去查账单,或逐个打开供应商控制台。下面介绍社区插件 dsh-quota-board(维护者 Anixuil,分类为客户端插件):在侧栏底部、账号行上方增加入口,点开即可在同一浮窗里查看当前 profile 里已配置供应商的额度与本机用量,无需离开当前会话。
说明: 本文为第三方社区插件介绍。该项目与 DeepSeek 官方无隶属关系,也不属于官方插件市场。插件以当前 DSH 进程权限运行,安装前请自行查阅 GitHub 仓库 源码与 MIT 许可证。
这是什么¶
dsh-quota-board 是面向 DeepSeek Harness 桌面端的「模型供应商额度看板」。它把当前 profile 里所有已配置的模型供应商的余额、套餐额度,以及本机 token 用量集中展示;过期或不足时可在侧栏旁快速确认,而不必离开正在进行的对话。
- 仓库: github.com/Anixuil/dsh-quota-board
- 目录页: skillhub.cn/plugins/Anixuil/dsh-quota-board
- 当前版本(package.json): 0.1.0
- 运行环境: Node.js >= 20
供应商从哪里来¶
插件不直接读原始配置文件,也不猜测目录结构。Harness Loader 已将 profile 的 bundle 层、profile 层与 !!js 表达式合成完毕,插件读取已合成的行:
| 行 | 读到的东西 |
|---|---|
llm-pi-ai |
config.providers.<id>:displayName / api / baseURL / apiKeyEnv / models[] |
llm-deepseek* |
官方 DeepSeek 适配器的 baseURL / apiKeyEnv(默认 DEEPSEEK_API_KEY) |
agent-default-model |
config.provider,用于标记「当前默认」供应商 |
因此在 Harness 里按原有方式在 profile 中增加 provider(改 llm-pi-ai 行)会立刻反映到看板,无需在插件里再登记一遍。插件配置里的 providers 字段仅用于补充「profile 里未声明的网关」,或对已发现条目做覆盖。
核心功能¶
内置 DeepSeek 与额外供应商¶
| 谁 | 怎么查额度 | |
|---|---|---|
| 内置 | DeepSeek(llm-deepseek 行) |
登录后读 Harness 账号钱包(与「设置 → 账号与余额」同源);未登录时退回 GET {base}/user/balance |
| 额外 | 其余全部(含火山引擎、中转站、自建网关) | 通用探测器按需试探;探通后绑定并记住 |
登录 Harness 后,看板上的 DeepSeek 充值余额与赠金余额与设置页一致:插件调用宿主 deepseekAccount 服务(getState() 判断登录、getBalance() 取钱包)。钱包为充值与赠金相加,明细并排显示,负数标红。仅 api.deepseek.com / api.deepseek.ai 视为官方 DeepSeek;其他域名上的中转始终用自己的 API Key,不会误用账户余额。
密钥不落盘:各供应商的 apiKeyEnv 只是引用名,宿主按「凭证服务 → 启动环境 → 进程环境变量」解析,浏览器侧拿不到明文。
额度接口:通用探测与绑定¶
除 DeepSeek 与火山引擎有专用适配器外,其余走 generic 探测器,按顺序尝试常见余额路径(相对于 API 根,/v1 结尾会归一化):
/v1/usage → /user/balance → /v1/credits → /v1/dashboard/billing/usage → /usage → /api/usage
401/403 立即中止;404/405 继续下一项;单次超时则不再往下试。首次探通会把路径与响应类型写入:
~/.dsh/storages/quota-board/bindings.json
下次优先问绑定端点,失败再完整重探。要强制重探,删除对应键或在配置里用 fields.endpoint 钉死路径。
火山引擎使用账户 AK/SK 签名的 OpenAPI(Ark API Key 不能查账单)。命中跳过名单的供应商标记为 unsupported,卡片说明无法通过 API Key 查询账单。
设置页「额外供应商」上方会列出已发现的额外供应商(只读);需要覆盖时再点「覆盖」,在配置中生成条目。每条供应商可「测试连接」,用未保存的值先打一次请求。
本机 token 用量¶
不重放会话日志,直接读会话投影缓存:
~/.dsh/storages/session_projcache/sessions/<sessionId>.json
取 rows.tokenUsage.totals 与 rows.sessionStats,用 rows.modelSelection.lastUsed.provider 归因。该栏无需网络,断网可看;口径与供应商账单可能不一致(缓存计价、赠送额度等)。
看板交互¶
侧栏左下角、账号行上方有「额度看板」按钮;浮窗 portal 到 <body>,按按钮位置贴边展开。关闭方式:再点按钮、点浮窗外、或按 Esc。侧栏按钮默认显示「默认展示供应商」的名称与剩余额度(套餐窗口显示百分比,钱包显示金额);未配置时跟随模型默认供应商。
仅浮窗打开时按 refreshSeconds 轮询;关闭即停止。挂载时有一次安静首读,便于按钮在未展开时也有数字(宿主约 20 秒缓存)。
配置入口:浮窗右上角齿轮 → 设置 → 插件 → 额度看板。
安装与启用¶
桌面端:侧栏「插件」→「+ 添加插件」→ 在输入框填写下列之一 → 安装 → 立即启用 → 重启 Harness(bundle 类插件不热加载)。
| 输入 | 效果 |
|---|---|
github:Anixuil/dsh-quota-board |
安装 GitHub main 当前代码;升级需卸载重装 |
git+https://github.com/Anixuil/dsh-quota-board.git#v0.1.0 |
固定在 tag v0.1.0 |
dsh-quota-board(发布到 npm 后) |
走 npm 版本管理,可用 @0.1.0 固定版本 |
安装时出现 [WARN] Issues with peer dependencies found 可忽略:peerDependencies 指向 Harness 自身的 @deepseek-ai/*,未发布到 npm,与官方插件情况相同。
本地开发可在同一输入框填本目录绝对路径;pnpm 记为 link:,改 index.js / client.js 后重启 Harness 生效。link 与实体安装互斥,切换前需处理 profile node_modules 中的链接,避免 Windows 上 ERR_PNPM_EPERM。
典型用法¶
手动指定未识别的网关¶
在设置 → 插件 → 额度看板 →「额外供应商」中添加卡片(无需手写 JSON)。写入 profile 的 cordis.patch.yml 示例:
providers:
- id: my-gw
displayName: 我的网关
baseURL: https://gw.example.com/v1
apiKeyEnv: MY_GW_KEY
fields:
endpoint: /api/me/quota
remaining: data.credit
unit: data.currency
authHeader: x-api-key
authPrefix: ''
常用字段:adapter(generic / deepseek / volcengine / unsupported)、fields.endpoint / remaining / used / unit / scale、authHeader / authPrefix;火山条目另用 accessKeyEnv / secretKeyEnv 引用 AK/SK 凭证名。
常用配置项(均有默认值)¶
| 字段 | 默认 | 说明 |
|---|---|---|
providers |
[] |
额外或覆盖供应商列表 |
defaultProvider |
'' |
侧栏按钮显示哪家(空 = 跟随模型默认) |
lowThreshold |
5 |
金额余额低于此值标红 |
refreshSeconds |
60 |
浮窗打开时轮询间隔(最小 10 秒) |
usageDays |
14 |
本机用量柱状图天数(3–60) |
timeoutMs |
10000 |
单供应商接口超时(最小 2000) |
deepseekBaseURL |
'' |
所有 DeepSeek 行未写 baseURL 时的兜底 |
skipHosts |
'' |
不探测的域名片段(逗号分隔) |
可用额度主色为 DeepSeek 品牌蓝 #4d6bfe;剩余 ≤30% 琥珀色,≤10% 红色。
适用场景与注意¶
适合: 在 Harness 中同时使用 DeepSeek 账号与多家 OpenAI 兼容网关、中转或火山等供应商,希望在对话旁快速核对余额、套餐与本机用量曲线的开发者。
注意:
- 插件请求各供应商账单接口时使用的是你配置的 API Key 或火山 AK/SK,请确认密钥权限与来源可信。
- OpenAI 官方无公开
/v1/usage;通用探测器会按 README 所述顺序回退,对不上的网关需用fields手动映射。 - 社区插件随 Harness 与上游 API 变化可能需要更新;固定版本可用
git+https://github.com/Anixuil/dsh-quota-board.git#v0.1.0或后续 npm 版本号。
结尾¶
dsh-quota-board 把 profile 里已有的供应商发现逻辑、DeepSeek 账号钱包与本机会话用量投影接到侧栏一处入口,并用探测绑定减少重复试错。若你正在维护多供应商的 Harness profile,可先按上文安装命令启用,再在浮窗中核对默认展示供应商与轮询间隔是否符合习惯。