用 dsh-balance 在 DeepSeek Harness 里查看 API 余额和可用模型

前言

DeepSeek Harness(命令名 dsh)是 DeepSeek AI 开源的智能体运行时,目前仍是开发者预览。它的核心理念是「一切皆插件」:模型、工具、技能、会话、沙箱和界面都可以用插件替换或组合。社区里还有一份独立的插件目录站点 deepseek-harness-plugin.com,它和 DeepSeek / 幻方没有官方从属关系,收录的是带 dsh-plugin 话题的社区仓库。

日常用网页界面跑 DeepSeek 模型时,余额往往要另开平台页面才能看到。2026-08-17 起,官方 API 又按北京时间引入峰谷定价:高峰时段(9:00–12:00、14:00–18:00)价格是空闲时段的两倍。会话还在进行,计费档位已经切过去了,如果界面上没有任何提示,只能事后对账单。

crazywoola 维护的 dsh-balance 把这件事收进 Harness 自己的设置页和聊天框下方:用本机已经保存的 API Key,查询官方余额和当前可用模型。密钥只在 Host 侧使用,不会发到浏览器。

本文按插件目录页、GitHub 仓库 README / package.json / 源码、npm 包页,以及 DeepSeek 官方余额接口与定价文档交叉核对后整理。GitHub 上还有 deepforce/dsh-balanceLemCAE/dsh-balance 等近名仓库,功能和安装命令都不相同;本文只写 crazywoola/dsh-balance

这是什么

dsh-balance 是一款面向 DeepSeek Harness Web UI 的「工具与能力」插件,由 crazywoola 维护,仓库地址是 crazywoola/dsh-balance。npm 包名是 @pinkbanana/dsh-balance,当前版本 0.4.1(2026-08-17 发布)。许可证 MIT,主要语言 TypeScript,要求 Node.js ≥ 20。GitHub 仓库创建于 2026-08-14。截至 2026-08-17,GitHub 显示 19 颗星;目录页当时仍标注 14 颗,星标以仓库页面为准。

目录页的短简介是「设置页的 DeepSeek 余额插件」。仓库 README 写得更完整:查询 API 余额和当前可用模型;API Key 仅由本机 Host 使用,不会发送到浏览器。package.json 里的 dsh.client.platformweb,客户端会注入设置页和会话输入框下方的槽位。

它解决的问题很具体:不必离开 Harness 去打开 DeepSeek 平台,就能看到总余额、充值余额、赠送余额,以及当前密钥能调哪些模型;聊天框下方再挂一条摘要,高峰时段用橙色指示灯提醒。

核心功能

设置页里的余额和模型

安装后,设置侧栏会出现「DeepSeek 余额」入口,源码里把它挂在 settings.section 槽位,order 为 21,README 说明该入口位于「Agent 预设」下方。页面分两块:

  • DeepSeek API 余额:按币种展示总余额、充值余额、赠送余额,以及账户是否还有可用余额。数据来自官方 GET /user/balance。DeepSeek 文档里该接口会返回 is_available,以及 balance_infos 中的 currencyCNY / USD)、total_balancegranted_balancetopped_up_balance
  • DeepSeek 可用模型:列出当前 API Key 能访问的模型 id 与提供方。数据来自官方 GET /models

两块都有手动刷新按钮。Host 默认把结果缓存 30 秒;刷新时客户端会带上 ?refresh=1,跳过缓存再查一次。页面会标明更新时间,缓存命中时附带「缓存」字样。

聊天框下方的余额摘要

客户端还往 conversation.composer.dock 注入一条紧凑摘要,显示在已有会话的输入框下方。摘要按币种拼接总余额,例如 CNY … · USD …。源码里这条摘要每 60 秒 自动再查一次(走缓存,不会每次都打到 DeepSeek)。

2026-08-17 北京时间 00:00 起,官方峰谷定价生效。插件在高峰时段把这条摘要的指示灯改成橙色,并标出「高峰时段」或「低谷时段」。源码把高峰窗口写成左闭右开:北京时间 [09:00, 12:00)[14:00, 18:00),其余为空闲;每 30 秒重算一次当前时段,并提示下一次切换时间。官方定价页写的是「高峰时段为北京时间 9:00 - 12:00、14:00 - 18:00,空闲时段价格为高峰时段的一半」,和插件采用的窗口一致。

这项能力只做档位提示,不估算本会话已经花了多少钱,也不改模型路由。

密钥留在 Host,浏览器只拿结果

插件分成 Host 和 Web 客户端两半:

  • Host 注入 webServercredentials,注册两条本机路由:/dsh-balance/api/balance/dsh-balance/api/models。查询时通过凭证服务解析 DEEPSEEK_API_KEY(可改配置项 apiKeyRef),用 Bearer 调用 https://api.deepseek.com。默认超时 10 秒。
  • 浏览器只请求上述同源路由,拿到已经去掉密钥的 JSON。README 和设置页文案都写明:密钥不会发送到浏览器。

默认配置里 allowRemotefalse:非本机回环地址访问这两条路由会得到 403。baseUrl 必须是 HTTPS;只有指向 localhost / 127.0.0.1 / ::1 的 HTTP 才被接受,方便本地测试。

未配置密钥时,Host 返回 401,界面提示先到「设置 → 模型」保存 DeepSeek API 密钥。密钥无效、限流、超时、上游不可用,都会映射成界面上的对应错误文案,响应里不带回上游原文或凭证。

中英文跟随系统语言

界面文案内置简体中文和英文,并注册到 Harness 的 locale 命名空间 dsh-balance,跟随系统语言切换。导航名在中文环境下是「DeepSeek 余额」,英文是 “DeepSeek Balance”。

安装与启用

目录页给出的安装命令是:

dsh plugin add github:crazywoola/dsh-balance

如需可复现安装,目录页要求固定 commit 哈希:

dsh plugin add github:crazywoola/dsh-balance#commit

commit 换成仓库里实际的提交哈希。插件以当前 dsh 进程的权限运行,安装时可能执行代码;安装前请检查源代码仓库和许可证。

这个插件声明了 Web 客户端,仓库 README 推荐写到 web profile,并从 npm 安装当前版本:

dsh plugin --profile web add @pinkbanana/dsh-balance@latest
dsh --profile web

dsh --profile web 会启动网页界面,官方仓库说明默认地址是 http://127.0.0.1:3080。装完后打开 Web UI,进入「设置 → DeepSeek 余额」。API Key 可在「设置 → 模型」中保存,或通过环境变量 DEEPSEEK_API_KEY 提供。

两条安装路径指向同一份仓库:GitHub 源是 crazywoola/dsh-balance,发布到 npm 时包名是 @pinkbanana/dsh-balance。不要把目录里的 github:crazywoola/dsh-balance 改成其他同名仓库。

典型用法

  1. 确认本机已经能打开 DeepSeek Harness 的 Web UI,并且在「设置 → 模型」里保存了可用的 DeepSeek API Key,或导出了 DEEPSEEK_API_KEY
  2. 按上一节安装插件,并用 web profile 启动。
  3. 打开「设置 → DeepSeek 余额」。第一次进入会看到「查询中…」,随后出现总余额、充值余额、赠送余额,以及当前密钥可用的模型列表。
  4. 需要最新数字时点「刷新余额」或「刷新模型」。默认 30 秒内的重复查询会命中 Host 缓存。
  5. 回到已有会话,输入框下方应出现「DeepSeek 余额」摘要。高峰时段指示灯为橙色,并提示何时回到低谷价;空闲时段则提示下一次进入高峰的时间。

Host 侧还可以改这些配置(均来自仓库 src/index.tsConfig,不是文档里的口头约定):

配置项 默认值 含义
apiKeyRef DEEPSEEK_API_KEY 凭证服务里的密钥引用名
baseUrl https://api.deepseek.com DeepSeek API 根地址
timeoutMs 10000 上游请求超时,范围 1–60000
cacheMs 30000 余额和模型列表的缓存时间,范围 0–300000
allowRemote false 是否允许非本机访问查询路由

没有特殊需求时保持默认即可。尤其不要在不了解暴露面的情况下把 allowRemote 打开。

适用场景与注意事项

适合已经在 DeepSeek Harness Web UI 里使用官方 DeepSeek API、希望把余额和模型列表留在本机界面上的开发者。高峰 / 空闲切换频繁的白天,聊天框下方的橙色指示灯比事后对账单更及时。

下面这些边界需要事先清楚:

  • 只覆盖 Web UI。 package.json 把客户端平台标成 web,终端 TUI 或其他 profile 不会出现设置页和输入框摘要。
  • 不是账单或会话成本面板。 它查询账户余额和 /models 列表,不统计本次会话的 token,也不按单价估算花费。社区里其他近名插件可能带 /balance 斜杠命令或会话费用,那不是这一份。
  • 依赖已保存的官方密钥。 没有 DEEPSEEK_API_KEY,或密钥无效,界面只会提示去「模型」设置里保存,不会替你登录 DeepSeek 平台。
  • 默认只服务本机。 Host 路由拒绝非回环请求。把 Harness 暴露到局域网或公网时,不要指望浏览器隔着另一台机器直接查余额。
  • 峰谷提示跟官方窗口走。 官方保留改价权利。插件把生效起点写死为 2026-08-17 00:00(北京时间);若官方以后调整时段,需要看仓库是否同步更新 src/client/pricing.ts
  • 插件以当前 dsh 进程权限运行。 安装时可能执行代码。安装前检查 GitHub 源码和 MIT 许可证;生产环境用目录页写的 #commit 固定版本。DeepSeek Harness 仍是开发者预览,官方 README 标明会有破坏性变更。

小结

dsh-balance 把官方 GET /user/balanceGET /models 接到 DeepSeek Harness 的设置页,并在聊天框下方留一条余额摘要。密钥只在本机 Host 使用;2026-08-17 起的峰谷时段会把摘要指示灯打成橙色。它不替代平台账单,也不估算单次会话花费,但能减少「开着 Harness 却不知道还剩多少余额、现在是不是高峰价」这类往返。

目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-balance/

GitHub:https://github.com/crazywoola/dsh-balance

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

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

小夜