在使用 DeepSeek Harness (DSH) Web UI 进行开发时,需要频繁确认当前会话的 Provider 配额或现金余额。手动切换页面或查看控制台既低效又不直观。该插件在 DSH Web 界面右侧边缘添加了一个常驻浮动卡片,根据当前会话的 Provider 自动切换数据源。
插件定位¶
这是由 MST19711 维护的客户端插件,核心是一个可扩展的后端架构。它不仅支持 OpenCode Go 的订阅配额,还兼容 Zhipu 和 DeepSeek 的按量计费余额。当当前会话使用的模型命中某个已接入后端时,会在右侧边缘显示一张常驻小窗;切换到未接入的 provider 时自动隐藏。
核心功能¶
-
浮动卡片
显示在 DSH Web UI 右侧边缘。面板内容按当前 Provider 自动选择,同一时刻只显示一张。卡片包含标题、当前模型名、数据行以及更新时间戳。 -
自动选择机制
插件内置 OpenCode Go、Zhipu、DeepSeek 三种后端。根据当前会话的 Provider ID 或 BaseURL 自动匹配对应后端。 -
OpenCode Go 订阅配额
支持订阅配额展示,包含 5h 滚动、本周、本月三个维度的窗口。
* 展示内容:剩余百分比、重置倒计时、进度条。
* 颜色提示:剩余比例 ≤30% 显示橙色,≤10% 显示红色。 -
通用余额后端
* Zhipu:支持按量计费现金余额(可用余额、累计充值、累计消费)。赠送和冻结余额在非零时出现。徽章圆点按绝对余额提醒(<¥10 红色,<¥50 橙色)。
* DeepSeek:支持按量计费现金余额。展示可用余额、其中充值、其中赠送。当账户不可用(is_available: false)时,会追加状态行。徽章圆点按币种阈值提醒(CNY <¥10 / <¥50,USD <\(2 / <\)10)。
安装与验证¶
安装¶
使用官方提供的安装脚本,默认安装到 web profile:
bash install.sh
验证¶
运行验证脚本可以测试后端逻辑。脚本支持离线模式(使用假上下文和假上游)和在线模式(读取 ~/.dsh/.credentials.yaml):
node test-deepseek-backend.mjs # 离线验证
node test-deepseek-backend.mjs --live # 在线验证
扩展与安全¶
扩展新供应商¶
插件采用多后端可扩展架构,客户端无需改动即可扩展。在 lib/index.js 的 BACKENDS 数组中添加后端对象即可:
{
id: 'my-provider',
displayName: 'My Provider',
cache: new TTLCache(60_000),
matchesProvider(id, node) { ... },
async resolvePanel(ctx, providerId, node) {
return {
ok: true,
panel: {
title: 'My Provider',
rows: [ { label: '剩余', value: '…', bar: { fill: 42, tone: 'warn' } } ],
chip: { text: '…', tone: 'ok' },
foot: '…',
},
};
},
}
安全与防护¶
- API Key 安全:API key 仅经 DSH
credentials服务在服务端进程内解析,key 永不进入浏览器、不写入日志。 - 独立缓存:各后端独立缓存。OpenCode Go 缓存 15s,Zhipu 和 DeepSeek 各缓存 5min。失败不缓存,下次轮询重试。
- 路由防护:路由具备同源/loopback 防护,跨站读取返回 403。
升级说明¶
从旧版本升级时,需先移除旧包名,并替换 dsh.profile.bundles 中的包名,重启 DSH 后生效。
总结¶
该插件为 DSH 用户提供了直观的实时数据反馈,解决了在 Web UI 中监控配额和余额的痛点。更多细节请参考 GitHub 或 社区目录。