dsh-account-balance:DeepSeek 与 OpenRouter 双账户余额监控插件

前言

DeepSeek Harness(DSH)采用「一切皆插件」的架构,插件生态独立于 DeepSeek 官方或幻方集团。在使用 DSH 进行开发或交互时,若同时管理 DeepSeek 与 OpenRouter 两个账户,频繁手动查询余额会打断工作流。本插件旨在解决这一痛点,在 Web 界面会话头部提供一个常驻的双账户余额芯片。

是什么

这是由开发者 305037991x-pixel 维护的客户端插件 dsh-account-balance。它通过在会话头部注入一个卡片,同时显示 DeepSeek 和 OpenRouter 的余额。插件运行在宿主侧,不依赖特定版本的 DSH 核心包,支持 3 分钟自动刷新。

核心功能

  1. 双源显示:一枚芯片同时展示 DeepSeek 与 OpenRouter 余额。OpenRouter 的余额计算公式为 充值 - 已用。
  2. 明细查看:鼠标悬停芯片,气泡内分两段展示:
    • DeepSeek:总余额、充值、赠送。
    • OpenRouter:可用余额、充值、已用。
  3. 容错机制:任一数据源(如 OpenRouter API 调用失败)出错时,仅在该来源上显示错误标记,不影响另一家数据的显示。
  4. 自动刷新:支持 3 分钟自动刷新,并提供手动刷新按钮(同时刷新两家)。
  5. 智能缓存:余额数据与定时器为模块级共享缓存。切换会话时不会重复发起请求。
  6. 安全性:API 密钥仅存储于宿主环境(.credentials.yaml 或环境变量),浏览器端永不接触密钥。

安装与启用

通过命令行安装插件:

dsh plugin --profile web add github:305037991x-pixel/dsh-account-balance

安装完成后,需要重启 dsh web 服务并执行硬刷新以加载新插件:

  1. 停止当前运行的 dsh web。
  2. 重新启动 dsh web。
  3. 在浏览器页面按 Ctrl + Shift + R 硬刷新。

若在本地开发此插件,可使用包内自带的 install-into-dsh.ps1 脚本,以 link: 方式注册本地源码目录。修改源码后重启即可生效,无需重新安装。

典型用法

插件依赖于宿主提供的凭证服务。在 $DSH_HOME/.credentials.yaml 中配置以下密钥即可显示对应余额(缺省则不显示):

DEEPSEEK_API_KEY: sk-xxx
OPENROUTER1_API_KEY: sk-or-v1-xxx

配置完成后,会话头部将自动出现余额芯片。

兼容性与注意事项

  1. 与核版本解耦:所有 @deepseek-ai/dsh-* 核心包被声明为可选的 peerDependencies(范围 >=0.1.0-rc.6 <0.2.0)。插件自身不携带核心包副本,运行时直接使用宿主正在运行的那份核。
  2. 依赖接口:
    • 宿主半区(lib/index.js):仅依赖 dsh-credentials 的 credentialRef 和 dsh-launch-environment 的 launchEnvironmentOf。
    • 浏览器半区(lib/client.js):通过 dsh.client.inject 由宿主客户端模块表提供依赖。
  3. 版本锁定警告:切勿将核心包写入 dependencies 并钉死具体版本。若写入,插件目录内会出现一份旧核心包。当宿主升级核版本后,这份旧包会遮蔽宿主的新包,导致插件以 failed to import 加载失败。
  4. 许可证:MIT。

小结

dsh-account-balance 是一款轻量级、无侵入的双账户余额监控工具。它利用 DSH 的插件机制,在不修改宿主核心代码的情况下,为 Web 界面提供了便捷的余额查询入口。适合需要同时管理 DeepSeek 与 OpenRouter 余额的开发者使用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜