前言¶
在使用 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