dsh-balance-display:在 DSH 界面里查看 DeepSeek API 余额

前言

在 DeepSeek Harness(DSH)里跑任务时,余额是个绕不开的东西:额度见底却没及时知道,可能跑到一半任务失败;想确认还剩多少,就得切回 DeepSeek 控制台登录、找到 API 余额页,再回到本地。也有做法是自己写脚本调 user/balance 接口,但要自己管 API Key 的读取、缓存和错误处理。

下面介绍的 dsh-balance-display 把这件事放进了 DSH 本身:一个可安装的 Harness bundle,在界面里用一个可折叠的 shell.overlay 面板显示当前 DeepSeek API 账户余额,插件自己从 Harness credentials 取 Key、调官方接口、把结果渲染到浏览器端。

这是什么

dsh-balance-display 是社区维护的 DSH 插件,维护者为 tynacity,分类为客户端(Web 平台)。它是 DeepSeek Harness bundle,作用是在界面里显示 DeepSeek API 账户余额,属于「一切皆插件」理念下的一个客户端扩展,不是 DSH 官方能力,也不属于 DeepSeek / 幻方的官方应用。

它的定位很明确:只做余额展示,不做余额历史、不做本地 token 费用估算、不做多 provider 抽象。

核心功能

下面这些能力均来自 GitHub README。

1、余额行:以 CNY 和 USD 两种币种显示总余额、赠送余额、充值余额。
2、账户可用性与最近一次刷新时间。
3、面板交互:可折叠,支持手动刷新,也支持手动、1 分钟、5 分钟、15 分钟的自动刷新选择。
4、页面隐藏时暂停定时刷新,页面重新可见时再刷新,避免后台空跑。
5、主题与语言:跟随 Harness 的浅色/深色主题 token,内置 zh-CN / en-US 两套语言字典。
6、错误状态显式化:缺少凭据、401、超时、网络错误、上游错误、响应非法,都有对应的明确状态,而不是静默空白。

明确不包含:余额历史、合成数据、本地 token 成本估算、provider 抽象。

安装与启用

安装命令来自 README 原文,分三种方式,按需选择。

从本地 checkout 安装:

dsh plugin --profile web add F:\path\to\dsh-balance-display
dsh --profile web --dump-config
dsh --profile web

前两条命令把插件加进 web profile 并打印配置,第三条启动。

从预构建的 release tarball 安装:

dsh plugin --profile web add .\dsh-balance-display-0.1.0.tgz

tarball 里已经是构建产物,不需要构建权限。

从固定到 v0.1.0 的源码 tag 安装:

dsh plugin --profile web add github:Liu-ty/dsh-balance-display#v0.1.0

Git 方式安装会拉取源码并执行该包的 prepare 构建。pnpm 可能拒绝这种安装,需要在 profile 的 pnpm-workspace.yaml 里显式放开:

allowBuilds:
  dsh-balance-display: true

这个放开意味着安装时可以在机器上、agent 沙箱之外执行包代码。README 建议在授予前先审阅源码,并固定 tag 或 commit。如果用 release tarball,则不需要这项放开。

启用前置条件:

1、DSH 使用 Web profile,且是当前的 profile-bundle 体系。
2、Node.js 版本为 ^22.19.0 || >=24.0.0。
3、Harness credentials 里有可用的 DEEPSEEK_API_KEY,用于实时读取余额。

如果没有凭据,插件仍会加载,只是显示缺少凭据的状态,不会报错退出。

配置

bundle 会插入一行 Host/Client 配置:

- id: balance-display
  name: dsh-balance-display
  inject: [credentials, webServer]
  config:
    requestTimeoutMs: 10000

如果想改超时,需要覆盖这一整行,改在 profile 或 home 目录的 cordis.patch.yml 里,requestTimeoutMs 取正整数。自动刷新间隔和面板折叠状态是浏览器本地的偏好,插件本身不存储余额数值。

典型用法

安装并启动后,在 Web 界面里展开余额面板即可看到当前账户余额,无需在命令行里敲接口。下面是 README 里给出的开发流程,用于本地验证插件能正常构建和测试:

pnpm install
pnpm run typecheck
pnpm run test
pnpm run build
pnpm pack

README 说明,测试覆盖了路由销毁、Client slot 与语言字典销毁、定时器与监听器清理、响应校验、显式 UI 状态,以及密钥不外泄;另有一个真实 Cordis 组合的冒烟测试,会挂载并销毁构建出的 Host 入口。

安全模型与适用场景

README 明确列出了它的安全边界,这几点对决定是否采用比较关键。

1、Host 每次余额操作只解析一次凭据,不做缓存。
2、Authorization 头只加在发往 DeepSeek 的请求上。
3、DeepSeek 返回的非成功响应体不会转发,也不会记录。
4、成功响应体按文档字段集解析,只保留转成 camelCase 的展示值。
5、Host 响应带 Cache-Control: no-store。
6、插件没有模型可见的输入,也没有 token 计费集成。

需要留意的是,插件以当前 dsh 进程的权限运行,Git 安装方式还会在安装阶段执行包代码。安装前应审阅源码并确认许可证(该插件为 MIT),必要时优先使用预构建 tarball 或固定 commit。它只面向 DeepSeek 的余额接口,如果需要多家 provider 或历史趋势,这个插件不满足。

结尾

dsh-balance-display 的价值在于把「看一眼 DeepSeek 余额」从控制台和脚本里挪进 DSH 界面,同时把 API Key 的处理留在 Host 侧,不进浏览器、不落日志、不进快照。适合已经在用 DSH Web profile、希望随时确认 DeepSeek API 额度的开发者。

目录页:https://www.skillhub.cn/plugins/tynacity/dsh-balance-display
GitHub:https://github.com/tynacity/dsh-balance-display

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

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

Xiaoye