前言¶
在使用 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:0012:00–14:0018: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