前言¶
在 DeepSeek Harness(DSH)里长时间对话时,API 中转站的余额往往要另开页面或手动 curl 才能看到。余额见底才发现限流或 402,是常见体验。社区插件 dsh-rely(维护者 xiaoming132887,分类:客户端)把「站点名 + 余额」收成聊天输入框上方一行状态条,数字颜色即阈值灯;余额由宿主进程定时拉取,Key 不进浏览器页面。
这是什么¶
dsh-rely 是面向 DeepSeek Harness 的客户端插件:在聊天输入框正上方独占一行,显示写死的中转站名称(默认「绿萝」)与当前余额。点击状态条打开底部设置抽屉,可配置 API Key、服务端刷新间隔与绿/黄线阈值(USD)。不挤占输入框,也不占用 token / 上下文条的位置。
仓库:https://github.com/xiaoming132887/dsh-rely
目录页:https://www.skillhub.cn/plugins/xiaoming132887/dsh-rely
许可证:MIT(见仓库 LICENSE);当前 package 版本 0.1.0。
核心功能¶
界面与交互¶
状态条极简:中转站名字 + 余额;余额数字颜色表示状态(高于绿线阈值 → 绿,介于绿线与黄线 → 黄,更低 → 红)。点状态条展开抽屉,三个主要输入:API Key、服务端刷新(秒)、绿线 / 黄线阈值 (USD)。
拉取与安全模型¶
余额由宿主进程(Node 侧 src/index.js)按间隔请求中转站,结果写入缓存;浏览器半区只读缓存,因此目标站点无需为页面开 CORS,API Key 也不进入前端 DOM。站点显示名与 base URL 在代码中写死(默认 绿萝 / https://zdxjl.com),界面不能改;Key 在抽屉保存一次后会锁定,持久化在 $DSH_HOME/rely/state.json(权限 0600),重启不变。
支持的余额接口¶
按顺序探测,第一个能解析出数字的胜出;全部失败则显示「查询失败」,不伪造数字。认证均为 Authorization: Bearer <sk-…>。
| 中转站类型 | 请求 | 取的字段 |
|---|---|---|
| Sub2API | GET {base}/v1/usage?start_date=&end_date=&timezone= |
remaining / quota.remaining(币种取 unit) |
| new-api | POST {base}/api/user/self |
data.available_balance(美元)或 data.quota(500000 ≈ $1) |
| one-api | GET {base}/api/user/balance |
balance |
| OpenAI 兼容额度 | GET {base}/v1/dashboard/billing/credit_grants |
total_available |
说明:hard_limit_usd 不是余额,插件不会用它顶替真实余额。
Key 来源顺序¶
- 抽屉里保存过的 Key(锁定后空保存不会清掉);
- 未保存时回退 DSH 凭据中的
ZDXJL_API_KEY($DSH_HOME/.credentials.yaml的 refs,或同名环境变量)。
安装与启用¶
DeepSeek Harness 生态强调「一切皆插件」;SkillHub 等社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。安装前建议浏览仓库源码与 MIT 许可证——插件以当前 DSH 进程权限运行,会持有你配置的 API Key。
从 GitHub 安装¶
dsh plugin --profile <你的 profile 名> add github:xiaoming132887/dsh-rely
桌面端 profile 常见为 desktop,DSH Web 端一般为 web,以 $DSH_HOME/profiles/ 下实际目录为准。
装完后必须重启一次 DSH:宿主半区在进程启动时只加载一次,仅停用/启用插件不会重新导入 Node 模块。
典型用法¶
- 安装并重启 DSH 后,在聊天页输入框上方应出现状态条。
- 点击状态条,在抽屉填写
sk-…的 API Key(或事先在 DSH 凭据中配置ZDXJL_API_KEY)。 - 设置 服务端刷新(秒)(1–60,文档建议 30 秒以上,避免频繁拉用量被限流)。
- 设置 绿线阈值、黄线阈值(USD),保存后观察数字颜色变化。
需要立刻刷新余额时,浏览器会经宿主路由拉缓存;宿主提供 GET/POST /rely/balances(?force=1 或 POST 可现拉,有 1.5s 节流)。配置读写为 GET/POST /rely/config(Key 回传仅为打码预览)。
若使用非默认中转站,需改 src/index.js 中写死常量后重启:
const RELAY_NAME_LOCKED = '绿萝'
const RELAY_BASE_LOCKED = 'https://zdxjl.com'
const RELAY_KEY_ENV = 'ZDXJL_API_KEY'
RELAY_KEY_ENV 应对应你在 DSH 凭据里存的 Key 名称。
适用场景与注意¶
适合谁: 固定使用某一中转站(默认绿萝 / zdxjl.com)、希望在 DSH 对话界面内一眼看到余额与阈值告警的开发者。
注意:
- 站点名与 URL 不可在 UI 修改,换站要改源码并重启。
- 已锁定的 Key 需通过抽屉「更换 Key」流程更新;不带
unlockKey: true的覆盖请求会被忽略。 - 改
client/client.js刷新页面即可;改src/index.js必须重启 DSH。 - 排查:「查询失败」看抽屉红字(401/403 多为 Key 问题);「未配置」表示无可用 Key;
/rely/*全 404 多为宿主未加载,确认插件启用后重启 DSH。
结尾¶
dsh-rely 把中转站余额收到输入框上方一行,用宿主拉取、前端只读缓存的方式兼顾展示与安全。需要安装命令、接口表与排查表时,以 GitHub README 为准。
- 目录页:https://www.skillhub.cn/plugins/xiaoming132887/dsh-rely
- GitHub:https://github.com/xiaoming132887/dsh-rely