dsh-peak-bar:标题栏峰谷与余额胶囊

前言

用 DeepSeek API 做日常开发时,计费时段并不均匀:工作日白天往往是高峰价,其余时间按空闲价计,差价大约一半。余额和「今天到底花了多少」又分散在账号页、控制台或第三方小工具里,切窗口才能看一眼。DeepSeek Harness(DSH)把界面和能力拆成可安装的插件;在 DSH 窗口里,你更需要的是不离开当前对话就能确认「现在是峰还是谷、距切换还有多久、余额够不够、今天累计用了多少」。下面介绍维护者 Woo3aN 的客户端插件 dsh-peak-bar,它把这几项信息收进标题栏正中一枚可点击的小胶囊。

这是什么

dsh-peak-bar 是 DSH 的客户端插件(分类:客户端)。当前 package 版本为 0.3.0,README 标明仍为 pre-release(0.x),CSS 变量名与目录结构可能变动。插件在窗口标题栏正中渲染一枚胶囊,展示 DeepSeek API 峰谷时段、距下次切换的倒计时、账户余额与今日已用;配色默认跟随当前 DSH 皮肤(样式表不写死颜色字面值,变量回退到宿主 --dsw-alias-* token)。点击胶囊可在主区域打开详情面板,右上角关闭后回到对话。项目采用 MIT 许可证,源码与说明见 GitHub,社区目录页为 SkillHub 条目。

核心功能

标题栏胶囊与详情面板

胶囊一行展示峰谷状态、倒计时、余额与今日已用;倒计时在剩余超过一小时时只显示到分钟(例如 59小时24分),最后一小时内显示到秒(例如 18分57秒)。标题栏座位使用 pointer-events: none,仅胶囊可点,其余区域仍可拖动窗口。实现上通过 shell.overlay 挂载(而非 shell.leading,后者在 Windows 上无对应槽位)。Windows 上与最小化/关闭按钮同一行、位于其左侧;README 称实测水平中心约 49.9%。

峰谷规则(北京时间)

时段 计费
周一至周五 09:00–12:00、14:00–18:00 高峰价
其余时段 空闲价(约为高峰价的一半)
法定节假日 全天按空闲价

法定节假日表目前只覆盖 2026 年;2027 年起若未更新,节假日可能被算成高峰,详情面板会提示。

余额读取与隐私

按顺序尝试两条路径,口径一致(充值 + 赠金):

  1. 账号登录态:ctx.remote.account.getBalance(),与 DSH 自带「账号与余额」同一路径。
  2. API key:账号路不可用时,由 Host 提供 /dsh-peak-bar/balance,从 DSH 凭据服务解析 DEEPSEEK_API_KEY 直连官方端点,只返回总额与币种,密钥不出 Host。

数据不发往第三方;面板会标明本次余额来自哪条路。未配置 API key 时显示「未配置 API key」(配置事实,非报错)。两条路都失败时,胶囊与面板会分别给出原因;读取失败时胶囊会写短原因而非静默 --,失败持续超过 2 分钟会挂「余额未刷新」标记;完整原因在悬停提示与详情面板。轮询正常为 60 秒,失败时按 15s → 30s → 60s 递退,网络恢复或窗口重新可见时立即重试。

今日已用

官方账号接口给的是余额而非账单,插件按余额下降累计消费:两次读取之间的差额计为消费,充值/赠金导致的上升不计入也不抹除已记消费,按北京时间日分账。账本由 Host 半持久化在 <DSH_HOME>/.dsh-peak-bar.json(默认 ~/.dsh/),保留最近 14 天;Host 路由不可用时退回「本次运行统计」(丢失历史,功能仍可用)。

语言与配色

无独立语言开关,跟随 DSH 设置 → 通用 → 语言(中文 / English)。自定义颜色只需覆盖 --dsh-peak-bar-* 等变量(如 --dsh-peak-bar-bg、--dsh-peak-bar-peak、--dsh-peak-bar-offpeak 等),未覆盖项继续跟皮肤;README 提供皮肤作者与三套现成配色示例。

安装与启用

README 列出多种安装方式;改完配置或换包后必须整进程重启 DSH(仅刷新页面不够,Host 会在激活时把客户端产物快照进内存)。

  1. Release 附件:下载 dsh-peak-bar-<版本>.zip 解压,添加插件时指向该目录。
  2. 本地目录:DSH 插件 → 添加插件,填写目录绝对路径。
  3. tgz:在源码目录执行 npm pack,再通过「添加插件 → tgz」安装。
  4. 命令行(profile 为 web 时):
dsh plugin --profile web add "<路径或包名>"

将 "<路径或包名>" 换成本地解压目录、npm pack 生成的 .tgz,或 Release 包路径。

安装前建议自行浏览 仓库源码 与 MIT 许可证;插件以当前 DSH 进程权限运行,涉及本机凭据与 API 访问。

典型用法

日常无需额外配置即可在标题栏查看峰谷与余额;需要细节时点胶囊打开面板。

  • 换肤:安装 Rhine Lab 等语义 token 皮肤后,胶囊颜色会自动跟随;只需改少数变量时可按 README 在皮肤 CSS 里覆盖 --dsh-peak-bar-*。
  • 调整位置(类名非公开契约,升级后需自行验证):例如用 .dshPeakBarSeat 改为整窗居中或紧贴窗口按钮左侧。
  • 开发者自检:在插件目录执行 npm test,三套离线测试(peak / render / host)不依赖真实 ~/.dsh。

适用场景与注意

适合在 DSH 桌面客户端里长期调用 DeepSeek API、希望扫一眼峰谷与余额的开发者。README 写明当前主要在 Windows 官方客户端 + DSH 0.2.0-rc.2 实测;macOS、Linux 与纯浏览器模式未测。「今日已用」为按余额差推算的估计值,不是平台账单。插件请求里客户端版本字段为 'unknown'(官方构建内联,第三方插件拿不到)。社区目录 SkillHub 与 GitHub 由社区维护,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-peak-bar 把峰谷倒计时、余额与今日已用收到标题栏一枚胶囊里,失败有说明、配色跟皮肤,状态由 Host 持久化以避免端口与 origin 变化清空页面存储。若要安装或贡献节假日表与皮肤适配,可访问 https://www.skillhub.cn/plugins/Woo3aN/dsh-peak-bar 与 https://github.com/Woo3aN/dsh-peak-bar。

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

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

Xiaoye