前言¶
用 DeepSeek API 時,計費按北京時間分高峯價與低谷價(半價檔)。窗口在工作日 09:00–12:00、14:00–18:00,其餘含週末、法定節假日、午休與深夜走低谷價。規則寫在文檔裏,但每次在 DSH 輸入框發消息前並不顯眼。
下面介紹社區插件 DSH-PeakHoursHint-WhenSendingMessage(包名 dsh-peak-hours-hint):在宿主輸入框佔位符淺色提示文字末尾追加「現在高峯時段」或「現在低谷時段」(英文界面爲 peak hours now / off-peak hours),發出去之前就能對上當前應採用的價檔。
這是什麼¶
維護者 xkzdwb。插件在 SkillHub 目錄 與 GitHub 倉庫 發佈,MIT 許可,當前版本 1.0.0,要求 Node >=20。
實現上拆成 Host 與 Client 兩半:Host 只讀判定峯谷並暴露 HTTP 路由;Client 輪詢狀態,給佔位符 DOM 加 data-peak-phase / data-peak-hint,由 CSS ::after 拼出尾句。Host 僅 node: 內置模塊,Client 不 import 任何裸包名,便於按 DSH bundle 方式加載。
| 狀態 | 時間(默認) | 計費 |
|---|---|---|
| 高峯 | 北京時間週一至週五 09:00–12:00、14:00–18:00,且非法定節假日 | 高峯價 |
| 低谷 | 週末、法定節假日全天、工作日窗口外其餘時間 | 低谷價(半價檔) |
判定使用的時區、工作日、高峯窗口、節假日表均可配置;默認值即上表。
核心功能¶
- 佔位符尾句:效果類似「描述你想要構建的內容, / 調用指令, @ 文件或對話 · 現在高峯時段」。樣式沿用宿主
@deepseek-ai/dsh-client-ui-conversation的佔位符,只追加尾巴。 - 只讀路由:
GET /plugin-peak-hint/state返回 JSON,phase爲peak/offpeak,reason爲weekend/holiday/window/outside-window等。 - 客戶端自檢上報:
GET /plugin-peak-hint/ping記錄瀏覽器半邊是否ready或effect-failed;state響應裏可帶最近一次client上報,便於桌面殼無 devtools 時排查。 - 自動刷新:每 30 秒向 Host 重新拉取;頁面從後臺回到前臺立即刷新;跨過窗口邊界自動換詞。
- 語言跟隨界面:中文 / 英文文案見倉庫
locale/zh.json、locale/en.json。
倉庫還提供離線測試(test/run-tests.mjs)與靜態資源自檢(tools/check-assets.mjs),可不裝 DSH 先跑通峯谷判定與客戶端 bundle 契約。
安裝與啓用¶
官方 README 未提供 dsh plugin add github:... 一類命令;裝進 profile 有兩種寫法,改完後重啓 DSH(Host 在啓動時裝載),再刷新頁面(Client 在頁面加載時取)。細節見倉庫 examples/cordis.patch.snippet.yml。
A. 作爲包(推薦):在 profile 的 package.json 里加 link: 依賴,並把包名放進 dsh.profile.bundles;包自帶 cordis.patch.yml 會掛 Host 行。
{
"dependencies": {
"dsh-peak-hours-hint": "link:P:/path/to/DSH-PeakHoursHint-WhenSendingMessage"
},
"dsh": {
"profile": {
"bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-peak-hours-hint"]
}
}
}
將 link: 路徑改爲你本機克隆或解壓後的倉庫絕對路徑。
B. 只加 patch 行:把 snippet 中的 - insert: 段追加到 ~/.dsh/profiles/<profile>/cordis.patch.yml,name 寫本倉庫 index.js 的絕對路徑。
裝好後側欄插件列表會出現「峯谷提示 / Peak Hours Hint」。插件以當前 DSH 進程權限運行;安裝前請自行通讀源碼並確認 MIT 許可與路由行爲是否符合預期。
配置項¶
配置寫在包內 cordis.patch.yml 引入的四個鍵上:
| 鍵 | 默認 | 說明 |
|---|---|---|
timeZone |
Asia/Shanghai |
判定高峯所用的時區 |
weekdays |
[1,2,3,4,5] |
工作日(0=週日 … 6=週六) |
windows |
09:00-12:00、14:00-18:00 |
高峯窗口,左閉右開;24:00 表示到當天結束 |
holidaysPath |
空 | 空則用包內 cn-holidays.json;填絕對路徑則讀該文件 |
窗口格式錯誤會被丟棄並回落默認窗口。自定義節假日表讀失敗時退回包內副本,並在 state 的 holidayError 裏說明原因。
典型用法與自檢¶
在 DSH 正常運行且已刷新頁面後,打開任意會話,輸入框爲空時即可在佔位符末尾看到峯谷提示。有草稿時佔位符不顯示,這是宿主邏輯,提示隨之不可見。
沒有瀏覽器控制台時,可用 curl 看 Host 判定與 Client 是否就緒(默認監聽端口以你本機 DSH 爲準,README 示例爲 12484):
curl -s http://127.0.0.1:12484/plugin-peak-hint/state
響應中若無 client 字段,通常表示頁面尚未刷新、仍在跑舊 bundle;若有 client.error,錯誤文本在其中。離線驗證可在倉庫根目錄執行:
node test/run-tests.mjs
node tools/check-assets.mjs
適用場景與注意¶
適合長期在 DSH 裏用 DeepSeek API、希望發消息前對峯谷價檔有直觀提示的開發者。它不替代官方定價頁,也不保證與你路由裏實際選用的 provider 一致——只按可配置的計費窗口判定;若路由與 DeepSeek 分時規則脫鉤,提示也會不準。
已知邊界:窄屏下單行佔位符可能截斷尾部(宿主 nowrap 佈局);cn-holidays.json 爲靜態數據,國務院節假日安排公佈後需自行更新;普通輸入框與 Hero 兩行佈局行爲略有差異。
社區目錄 SkillHub 與 DeepSeek / 幻方無官方從屬關係,屬 DSH「一切皆插件」生態中的第三方擴展。
結尾¶
DSH-PeakHoursHint-WhenSendingMessage 把「此刻算高峯還是低谷」寫進你本來就要看的輸入提示裏,零依賴、只讀路由加 data 屬性,改動面小。需要目錄說明與源碼時,可訪問 SkillHub 插件頁 與 GitHub 倉庫。