前言¶
DeepSeek Harness(DSH)采用「一切皆插件」的架构,插件生态独立于 DeepSeek 官方或幻方集团。在使用 DSH 进行开发或交互时,若同时管理 DeepSeek 与 OpenRouter 两个账户,频繁手动查询余额会打断工作流。本插件旨在解决这一痛点,在 Web 界面会话头部提供一个常驻的双账户余额芯片。
是什么¶
这是由开发者 305037991x-pixel 维护的客户端插件 dsh-account-balance。它通过在会话头部注入一个卡片,同时显示 DeepSeek 和 OpenRouter 的余额。插件运行在宿主侧,不依赖特定版本的 DSH 核心包,支持 3 分钟自动刷新。
核心功能¶
- 双源显示:一枚芯片同时展示 DeepSeek 与 OpenRouter 余额。OpenRouter 的余额计算公式为
充值 - 已用。 - 明细查看:鼠标悬停芯片,气泡内分两段展示:
- DeepSeek:总余额、充值、赠送。
- OpenRouter:可用余额、充值、已用。
- 容错机制:任一数据源(如 OpenRouter API 调用失败)出错时,仅在该来源上显示错误标记,不影响另一家数据的显示。
- 自动刷新:支持 3 分钟自动刷新,并提供手动刷新按钮(同时刷新两家)。
- 智能缓存:余额数据与定时器为模块级共享缓存。切换会话时不会重复发起请求。
- 安全性:API 密钥仅存储于宿主环境(
.credentials.yaml或环境变量),浏览器端永不接触密钥。
安装与启用¶
通过命令行安装插件:
dsh plugin --profile web add github:305037991x-pixel/dsh-account-balance
安装完成后,需要重启 dsh web 服务并执行硬刷新以加载新插件:
- 停止当前运行的
dsh web。 - 重新启动
dsh web。 - 在浏览器页面按
Ctrl + Shift + R硬刷新。
若在本地开发此插件,可使用包内自带的 install-into-dsh.ps1 脚本,以 link: 方式注册本地源码目录。修改源码后重启即可生效,无需重新安装。
典型用法¶
插件依赖于宿主提供的凭证服务。在 $DSH_HOME/.credentials.yaml 中配置以下密钥即可显示对应余额(缺省则不显示):
DEEPSEEK_API_KEY: sk-xxx
OPENROUTER1_API_KEY: sk-or-v1-xxx
配置完成后,会话头部将自动出现余额芯片。
兼容性与注意事项¶
- 与核版本解耦:所有
@deepseek-ai/dsh-*核心包被声明为可选的peerDependencies(范围>=0.1.0-rc.6 <0.2.0)。插件自身不携带核心包副本,运行时直接使用宿主正在运行的那份核。 - 依赖接口:
- 宿主半区(
lib/index.js):仅依赖dsh-credentials的credentialRef和dsh-launch-environment的launchEnvironmentOf。 - 浏览器半区(
lib/client.js):通过dsh.client.inject由宿主客户端模块表提供依赖。
- 宿主半区(
- 版本锁定警告:切勿将核心包写入
dependencies并钉死具体版本。若写入,插件目录内会出现一份旧核心包。当宿主升级核版本后,这份旧包会遮蔽宿主的新包,导致插件以failed to import加载失败。 - 许可证:MIT。
小结¶
dsh-account-balance 是一款轻量级、无侵入的双账户余额监控工具。它利用 DSH 的插件机制,在不修改宿主核心代码的情况下,为 Web 界面提供了便捷的余额查询入口。适合需要同时管理 DeepSeek 与 OpenRouter 余额的开发者使用。