dsh-peak-reminder:DeepSeek 峰谷计价提醒插件

前言

在使用 DeepSeek Harness(DSH)时,计价按北京时间的峰谷切换:工作日 09:00–12:00、14:00–18:00 为高峰计价,其余时间(含周末、法定节假日、调休)为空闲计价。若不留意,容易在峰时继续使用,导致计费上涨;而在谷时被提醒,可以节省开支。

dsh-peak-reminder 是一个 DSH 插件,用于在峰时按间隔提醒当前处于高峰计价,在谷时保持静默,并在侧边栏常驻一行显示当前状态与倒计时。插件不发起任何网络请求,不依赖凭据,只通过配置文件控制行为。

功能说明

插件在 DSH Web UI 上提供两种可见元素:顶部提醒条与侧边栏状态行。

顶部提醒条

  • 进入峰时时,先弹一条「现在是峰时 —— 高峰计价」。
  • 之后每隔 N 分钟(默认 5 分钟)再弹一条,直到峰时结束。
  • 进入谷时时,弹一条「现在是谷时 —— 空闲计价」。
  • 谷时期间不再重复提醒。
  • 提醒条包含「知道了」和「暂停 30 分钟」按钮。

侧边栏状态行

  • 显示在侧边栏底部(sidebar.footer.action),格式为:
  • 峰时 · 32 分钟后谷(橙点表示峰时)
  • 谷时 · 1 分钟后峰(绿点表示谷时)
  • 提醒已关(灰点表示已关闭)
  • 悬停显示完整说明,点击立刻弹出当前状态提示。

设置页面

插件在设置页提供一节(settings.section),可配置:

  • 总开关(enabled)
  • 提醒间隔(intervalMinutes,1–120 分钟)
  • 峰↔谷切换时是否额外提醒(notifyOnSwitch)
  • 是否显示侧边栏状态行(showSidebar)

安装与启用

官方安装命令如下:

dsh plugin --profile web add dsh-peak-reminder

插件通过 npm 发布,也支持从 Git 仓库或本地目录安装。若构建环境不支持 github: 规范,可先克隆仓库再添加:

git clone https://github.com/54nanmiao/dsh-peak-reminder
dsh plugin --profile web add /absolute/path/to/dsh-peak-reminder

安装后重新加载 Web UI,侧边栏底部会显示状态行,设置页出现相应配置节。

配置文件

插件将配置写入 ~/.dsh/peak-reminder.json,也可手动编辑。默认内容如下:

{
  "enabled": true,
  "intervalMinutes": 5,
  "notifyOnSwitch": true,
  "showSidebar": true
}

字段说明:

key 默认值 含义
enabled true 总开关;关闭时不再提醒,侧边栏显示「提醒已关」
intervalMinutes 5 峰时提醒间隔(1–120 分钟)
notifyOnSwitch true 峰↔谷切换时额外提醒一次
showSidebar true 是否显示侧边栏状态行

修改配置后无需重启,DSH 会按请求读取配置。

峰谷规则实现

插件依据主机时钟(北京时间)判断当前是否为峰时,规则位于 lib/peak.js。

  • 高峰计价:周一至周五,09:00–12:00 与 14:00–18:00。
  • 空闲计价:其余时间,包括:
  • 00:00–09:00
  • 12:00–14:00
  • 18:00–24:00
  • 所有周末
  • 所有中国法定节假日
  • 周末作为调休工作日的情况

节假日表(HOLIDAY_VALLEY)目前仅到 2026 年 12 月 31 日。次年放假安排公布后,需手动补充到该数组;在此之前,未来节假日会被当作普通工作日处理,这会导致多提醒但不会漏掉提醒。

工作原理

  • lib/index.js:宿主侧,负责注入 Web 服务、注册路由、加载配置。
  • lib/client.js:浏览器侧,通过 slots.register 注入到 sidebar.footer.action 与 settings.section,每 30 秒轮询一次 /state,每秒更新倒计时,使用原生 DOM 渲染提示。
  • lib/peak.js:纯函数集合,无依赖,负责判断峰时、计算下一次切换时间、识别周末与节假日等。

HTTP 接口

插件在 DSH Web 服务器上注册以下路由(无需鉴权):

  • GET /plugins/dsh-peak-reminder/state
    返回:{ ok, now, isPeak, peakWindow, nextChangeAt, dayKind, config, rules }
  • GET /plugins/dsh-peak-reminder/config
    返回:{ ok, config, file }
  • POST /plugins/dsh-peak-reminder/config
    请求体为配置的子集,返回:{ ok, config, file }

now 为宿主的 Unix 时间戳,客户端据此校正本地时钟偏移,倒计时由客户端渲染,但峰谷判定始终由宿主执行,节假日表集中维护。

适用场景与注意事项

  • 适合需要严格控制计费时段、希望在不打断工作流的情况下被动获知峰谷状态的用户。
  • 插件以 DSH 进程权限运行,安装前建议查看源码与许可证(MIT)。
  • 节假日规则需随官方安排更新,插件不自动拉取未来节假日,需手动维护 lib/peak.js 中的 HOLIDAY_VALLEY 数组。

小结

dsh-peak-reminder 将 DeepSeek 的峰谷计价规则可视化,通过顶部提醒与侧边栏状态行帮助用户在峰时及时停止,在谷时继续使用。规则集中在一处,易于维护与扩展,适合作为 DSH 工作流中的计费提醒组件。

  • 插件主页:https://www.skillhub.cn/plugins/54nanmiao/dsh-peak-reminder
  • 源码仓库:https://github.com/54nanmiao/dsh-peak-reminder
羽毛球分组比赛记分
小程序二维码

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

小夜