前言¶
在 DeepSeek Harness(DSH)里调模型、跑智能体时,余额和定价时段往往要切到 DeepSeek 后台或另开页面才能确认。DSH 社区里已有按会话估算花费的插件,但「今日花费」在跨进程、跨客户端共用同一把 API Key 时很难与官方口径对齐。下面介绍 dsh-balance-peek:在侧边栏底部用两行纯文字展示官方余额接口返回的充值相关总额,以及按 DeepSeek 定价页规则计算的当前峰/谷时段与切换倒计时;2.0.0 起不再展示当日花费,需要花费统计可改用 dsh-cost-meter 或后台用量页。
这是什么¶
dsh-balance-peek 是维护者 QWHYQ114514-cell 发布的 DSH 客户端类插件(npm 包名 dsh-balance-peek,当前版本 2.0.0,MIT 许可)。它在 DSH 侧边栏底部(插槽 sidebar.footer.action)挂载只读 UI:一行余额、一行峰/谷状态;宽栏两行完整文案,收起为约 56px 窄栏时退化为「金额 / 谷或峰」两格。Host 侧拉取官方余额,浏览器侧用本地时钟每秒更新时段与倒计时,不产生额外定价相关请求。
界面与行为¶
宽栏示例(README 原文):
余额 ¥5.43
空闲 2h14m 后转峰
- 极简:纯文字,无图标、图表、动画。
- 只读余额:数字来自官方
GET /user/balance(完整 URL 为https://api.deepseek.com/user/balance),与 DeepSeek 后台「充值余额」口径一致;接口取balance_infos[0]的总额(充值 + 赠送钱包合计),若账号另有赠送额度,可能与后台单独查看的「充值余额」略有差别。 - 零配置:复用 DSH 已保存的
DEEPSEEK_API_KEY;未配置 key 时退回已登录 DeepSeek 账号钱包(deepseekAccount.getBalance())。展开明细中的「来源」会标明本次用的是哪一种凭据。 - 刷新:余额默认每分钟自动刷新(Host 侧另有约 25 秒缓存);峰/谷与倒计时由浏览器本地每秒计算。点击这两行可强制刷新余额并展开明细(当前时段、余额更新时间、数字来源)。
- 不落盘:不写文件、不留账本,重启无状态。
峰谷规则¶
判定依据 DeepSeek 官方定价页(模型 & 价格):
| 时段 | 判定 |
|---|---|
| 高峰 | 北京时间周一至周五(不含中国法定节假日)9:00–12:00、14:00–18:00 |
| 空闲 | 其余全部时段,含周末、调休上班的周末、法定节假日全天 |
高峰单价为空闲单价 × 2;插件只显示当前时段与距离切换的剩余时间,不参与计价。法定节假日清单写在 lib/index.js 与 lib/client.js 的 HOLIDAY_VALLEY 常量中,资料注明目前覆盖 2026 年;国务院每年 11 月发布次年安排后需维护者补录,否则次年法定假日可能被当成普通工作日(仅影响显示)。
安装与启用¶
插件以当前 DSH profile 的依赖与 bundles 挂载;安装前建议在 GitHub 仓库阅读源码与 MIT 许可证,确认符合你对进程权限与数据外发的预期。
推荐从 npm 安装(将 desktop 换成你的 profile 名,Web 版通常为 web):
dsh plugin --profile desktop add dsh-balance-peek
也可从 GitHub 或本地目录安装:
dsh plugin --profile desktop add github:QWHYQ114514-cell/dsh-balance-peek
dsh plugin --profile desktop add link:/path/to/dsh-balance-peek
只把包加进依赖不够。 DSH 通过 profile 的 dsh.profile.bundles 决定挂载哪些插件;本包在 package.json 中声明了 dsh.bundle.patch,在 bundles 列表里才会挂载。dsh plugin add 会自动加入;若手工编辑过 package.json,请确认列表含 dsh-balance-peek。装好后刷新页面即可在侧边栏底部看到组件。
卸载:
dsh plugin --profile desktop remove dsh-balance-peek
典型用法与 Host 接口¶
日常无需配置:打开 DSH 并保证凭据或 DeepSeek 登录可用即可。需要立刻对齐官方余额时,点击底部两行触发强制刷新。
Host 半区提供只读 JSON 接口(供 UI 或调试):
GET /dsh-balance/state.json[?refresh=1]
?refresh=1 可绕过 Host 侧短缓存取最新余额。API Key 仅在 Host 进程内请求官方接口,不下发到浏览器;对外只返回余额数字与时段状态。若需从其他 Host 名访问(反代/局域网),可设环境变量 DSH_BALANCE_TRUSTED_HOSTS(逗号分隔 host:port);请求仍经过回环/同源自检及 DSH 的 connection.requestRejection(含浏览器会话鉴权)。
架构要点¶
仓库无构建步骤:lib/index.js(Host,约 280 行)负责取余额与只读路由;lib/client.js 通过手写 window.__ModuleLoader__.load({ id, factory }) 注册 React 组件,与 @deepseek-ai/dsh-client-modules 在 /plugins 上的惰性加载形态一致。开发与验证环境为 DeepSeek Harness 0.2.0-rc.2(桌面 profile),Node ≥ 20。修改 lib/ 后刷新页面即可(客户端半区可走 HMR)。
适用场景与注意¶
适合:长期在 DSH 侧边栏工作、希望一眼看到官方余额与当前峰/谷切换时间的开发者;不想为「两行读数」单独开后台的用户。
注意:
- 插件在 当前 DSH 进程权限 下运行,会代表你向 DeepSeek 请求余额;安装前请自行审查 GitHub 源码。
- 不统计当日 API 花费;精确花费请用 dsh-cost-meter 或 DeepSeek 后台用量页。
- 社区目录 SkillHub 插件页 与 DeepSeek / 幻方无官方从属关系,仅为社区收录。
排查¶
| 现象 | 原因 / 处理 |
|---|---|
| 侧边栏底部无内容 | 包名未进 profile package.json 的 dsh.profile.bundles;补上后刷新。 |
显示未配置 DEEPSEEK_API_KEY… |
凭据中无 key 且未登录 DeepSeek 账号;到「设置 → 模型」配置 API Key。 |
余额为 — |
接口失败;展开明细查看 HTTP 状态、超时等。 |
| 数字不刷新 | 默认每分钟轮询;点击两行可强制刷新。 |
| 与后台「充值余额」不一致 | 接口为总额(含赠送);展开看「来源」,或用 ?refresh=1。 |
结尾¶
dsh-balance-peek 把官方余额与峰谷读数收进侧边栏底部两行文字,零配置、只读、无账本文件,适合作为 DSH 工作流里的常驻提醒。目录与详情见 SkillHub:dsh-balance-peek,源码与安装说明见 GitHub:QWHYQ114514-cell/dsh-balance-peek。