前言¶
在本地运行 DeepSeek 模型时,持续监控 API 余额是必要的操作。手动查询网页或终端既低效又不直观。dsh-balance-local 针对此场景设计,将余额查询集成到 DSH 界面中,提供直观的显示面板和徽章,同时严格遵守安全原则,确保 API Key 不离开 Host 进程。
它是什么¶
这是一个 DeepSeek Harness (dsh) 插件,由维护者 chenpengye 开发。它是一个 Cordis bundle,旨在为 dsh 提供余额查询能力,包含设置页面板和输入框徽章。插件核心价值在于:在 Host 端完成 API 请求,仅将脱敏后的余额数据返回给浏览器。
核心功能¶
该插件提供以下功能:
- 设置页面板:在 DSH 的设置页面显示「DeepSeek 余额」面板,包含总余额、充值余额和赠送余额。面板提供手动刷新按钮。
- 输入框徽章:在会话输入框下方显示余额状态徽章。绿色代表有余额,橙色代表无余额,灰色代表加载中或错误。
- 自动刷新:默认每 60 秒自动刷新余额。Host 侧对响应进行 30 秒缓存。
- 安全机制:API Key 仅在 Host 进程的凭据库中解析,永不发送至浏览器。插件提供的路由仅允许本机回环访问(默认
allowRemote: false)。错误信息经过分类处理,不透传上游响应体。
安装与启用¶
由于插件未发布至 npm,需通过源码安装。
- 克隆并构建
git clone https://github.com/chenpengye/dsh-balance-local.git
cd dsh-balance-local
pnpm install && pnpm build
构建完成后,会在 `lib` 目录下生成 `index.js` 和 `client.js`。
- 安装依赖
cd ~/.dsh/profiles/web
pnpm add /absolute/path/to/dsh-balance-local -w
- 注册插件
编辑~/.dsh/profiles/web/cordis.patch.yml,添加以下条目:
- insert:
- id: dsh-balance-local
name: dsh-balance-local
- 重启与刷新
重启dsh web(或触发 HMR 热加载),并在浏览器中执行硬刷新(Cmd+Shift+R/Ctrl+Shift+R)。
典型用法¶
无需额外配置。API Key 直接复用 dsh 凭据库中保存的 DEEPSEEK_API_KEY(即设置 → 模型 中保存的同一个 Key)。插件启动后会自动读取该凭据并查询余额。
适用场景与注意¶
- 运行环境:插件以当前 dsh 进程的权限运行,需确保对
~/.dsh/profiles/目录有读写权限。 - 安全配置:默认情况下,插件路由拒绝非 Loopback 请求。如需在局域网其他设备访问余额查询接口,需修改配置项
allowRemote: true。 - 响应头:API 返回的响应头包含
no-store和nosniff,这是标准的安全实践。 - 更新:修改源码后需重新运行
pnpm build并重启 dsh。
结语¶
dsh-balance-local 通过将余额查询本地化并集成到 DSH 界面,解决了开发者监控成本的问题。其安全设计确保了 Key 的安全。更多细节与源码,请访问:GitHub 仓库。