dsh-api-balance:在 DSH 设置面板查看 DeepSeek 余额与真实 Token 用量

前言

用 DSH(DeepSeek Harness)接 DeepSeek API 的开发者,大多要回答两个问题:账户里还剩多少额度,这段时间真实消耗了多少 token。前者要去 DeepSeek 平台控制台查,后者要么翻会话日志手动算,要么靠估算——而 DeepSeek 并没有公开的用量接口(/user/usage 实测返回 404),估算值并不可靠。

dsh-api-balance 把这两件事做成了 DSH 设置面板里的一个模块:余额与可用状态直接查官方接口,token 用量从本地会话日志里聚合每次调用的真实 usage。整个过程 API Key 只存在于后端,浏览器只会拿到余额数据。

下面介绍它的功能、原理、安装方式与注意事项。

这是什么

dsh-api-balance 是由 gaozhiwei521 维护的 DSH 插件,版本 0.1.0,MIT 许可证。它做的事情很集中:在 DSH「设置」面板新增「API 余额」模块,实时查询已配置供应商(DeepSeek)的账户余额、可用状态与真实 Token 用量,支持手动刷新。

核心功能

  • 「设置 → API 余额」界面:可用额度大数字 + 可用状态徽章 + 用量卡片(累计/今日 Tokens、会话数、用量记录),支持手动刷新
  • 用量为真实数据:消耗数据来自本地会话日志中每次调用的真实 token usage(输入/输出/缓存/推理),不是估算
  • API Key 只存在于后端,浏览器只会拿到余额数据
  • 账户无赠送余额(0)时自动隐藏赠送余额项
  • 样式使用全局 --dsw-alias-* 主题令牌,与暗色主题一致

工作原理

插件分前后端两层:

实现
后端 lib/index.js 注册两条回环路由:GET /dsh-balance/query 通过 credentials.resolve() 读取 DEEPSEEK_API_KEY,调用 {baseURL}/user/balanceGET /dsh-balance/usage 聚合本地会话日志中的真实 token 用量,带 60s 缓存
前端 lib/client.js 注册 settings.section 槽位(id 为 api-balance,label 为「API 余额」),渲染余额、状态与用量界面

baseURL 与 apiKeyEnv 跟随「设置 → 模型」中 llm-deepseek 配置段的覆盖。如果你在模型设置里改过 Key 引用或 baseURL,插件会自动跟随,不需要另外配置。

安装与启用

插件已声明为 DSH bundle(patch 指向 ./extensions/dsh/cordis.patch.yml,client 平台为 web),推荐用 DSH 原生插件指令从 GitHub 安装到 web profile:

dsh plugin --profile web add github:gaozhiwei521/Deepseek-Harness-Api-monitor

装完需要重启 DSH(退出「DSH 对话」再打开),然后在「设置 → API 余额」即可看到界面。

迁移注意:如果之前用过下面的手动 Copy-Item 安装方式,请先移除 cordis.patch.yml 中的 api-balance insert 块,并删除 ~\.dsh\profiles\node_modules\dsh-api-balance\,避免与 bundle 双份注册。

手动安装与卸载

DSH 升级后插件可能丢失,这时可以用旧方式手动安装:

# 1) 把包放到 profiles\node_modules
Copy-Item 'E:\deepseekwork1\dsh-api-balance\package.json' "$env:USERPROFILE\.dsh\profiles\node_modules\dsh-api-balance\" -Force
Copy-Item 'E:\deepseekwork1\dsh-api-balance\lib' "$env:USERPROFILE\.dsh\profiles\node_modules\dsh-api-balance\lib" -Recurse -Force

# 2) 确认 cordis.patch.yml 末尾有 api-balance insert 块(升级若覆盖则重新追加)
# 3) 重启 DSH(退出「DSH 对话」再打开;或杀掉后端进程由桌面壳看门狗自动拉起)

上面命令把 package.jsonlib 目录复制到 DSH 的 profiles 目录,再手动确认补丁文件后重启生效。

卸载只需一条命令:

dsh plugin --profile web remove dsh-api-balance

如果是旧手动方式装的,卸载分三步:1. 删除 cordis.patch.ymlapi-balance 的 insert 块;2. 删除 ~\.dsh\profiles\node_modules\dsh-api-balance\;3. 重启 DSH。

测试

源码目录下带两组测试,分别覆盖后端逻辑与前端模块结构:

node 'E:\deepseekwork1\dsh-api-balance\test\unit.test.mjs'        # 后端逻辑(13 项)
node 'E:\deepseekwork1\dsh-api-balance\test\client-load.test.cjs' # 前端模块结构

适用场景与注意

适合的用户:在 DSH 里接 DeepSeek API,想在界面里直接看余额与消耗,不想登录平台控制台、也不信任估算值的开发者。

使用前注意:

  • 仅支持 DeepSeek 官方账户余额接口,其他供应商的余额接口暂未接入
  • 默认读取 DEEPSEEK_API_KEY;若在「设置 → 模型」中改过 Key 引用或 baseURL,插件自动跟随
  • 安装后必须重启 DSH,才能在「设置 → API 余额」看到界面
  • 插件以当前 dsh 进程权限运行,会读取本机凭据(如 DEEPSEEK_API_KEY)与本地会话日志。安装前建议自行查看源码与许可证(MIT),确认可靠后再装

小结

dsh-api-balance 解决的问题很具体:不离开 DSH 就能看到 DeepSeek 账户余额与真实 token 消耗,Key 不出后端。如果你在用 DSH 接 DeepSeek,可以装上试试。

  • 目录页:https://www.skillhub.cn/plugins/linshufan21/dsh-Api-monitor
  • GitHub:https://github.com/gaozhiwei521/Deepseek-Harness-Api-monitor

最后说明:上面的目录页是社区维护的独立站点,与 DeepSeek / 幻方没有官方从属关系。

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

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

小夜