前言¶
用 DeepSeek Harness(DSH)做日常開發時,模型調用按峯谷計價:高峯與空閒單價不同,週末和法定節假日整天空閒。若只靠記憶或外部表格對照北京時間,很難在對話界面裏立刻知道「現在是不是高峯、還有多久切換」,也不方便把本機已有會話用量按峯谷拆開算錢。
下面介紹社區插件 dsh-peak-hours(維護者 run666888,分類爲客戶端)。它在 Web GUI 輸入框底欄顯示當前峯谷狀態與倒計時,並在「設置 → 通用」裏基於本機會話日誌做高峯/空閒用量與費用對比;數據本地讀取,不依賴聯網拉節假日表。
這是什麼¶
dsh-peak-hours 是一個 DeepSeek Harness 插件,主要做兩件事:
- 底欄角標:標明當前是否爲高峯計價時段,以及距離下一次切換還有多久。
- 設置頁卡片:把本機用量按高峯/空閒拆分,並對比「實際花費」與「假設全部落在高峯 / 全部落在空閒」的差異。
插件面向帶客戶端 UI 的 DSH Web GUI(dsh.client 聲明 platform: web)。角標掛在 conversation.input.right,與「完全權限」、模型名、上下文佔用同一行;用量統計由 host 半提供只讀接口 GET /dsh-peak-hours/api/usage,除解析緩存外不寫文件、不需要配置或憑據。
底欄角標顯示什麼¶
角標嵌在輸入框底欄右側,一行內用狀態燈、當前時間與倒計時概括峯谷狀態:
- 狀態燈:橙點表示高峯(Busy),藍點表示空閒(Free)。
- 當前時間:北京時間,秒級更新(與瀏覽器時區無關,一律按 UTC+8 計算)。
- 倒計時:距下一次切換的剩餘時間;超過一天顯示如
2 days 07:11,否則爲H:MM:SS。
佈局上,空間足夠時角標停在「+ 與模型名之間空白帶」的中點;窗口變窄或打開右側邊欄導致一行放不下時,優先讓尾部(模型名、上下文、檔位等)換到第二行,角標本身保持完整顯示,避免拖動窗口時角標來回跳。
鼠標懸停或鍵盤聚焦角標會彈出詳情卡,內容包括:狀態與倍率(高峯 ×2、空閒 5 折)、當前北京時間、距切換倒計時及切換後狀態、當前時段起止、以及「明天」是工作日、週末還是法定節假日。
計費規則(插件內置口徑)¶
插件按 DeepSeek 峯谷定價規則判定時段:
- 高峯:北京時間 09:00–12:00、14:00–18:00。
- 空閒:其餘時間(含 12:00–14:00、18:00 之後、09:00 之前)。
- 整天空閒:週六、週日及中國法定節假日。
- 閒時價爲高峯價的一半。
節假日表內置在客戶端,不聯網;資料中寫明目前覆蓋 2026 年(例如中秋 9/25–27、國慶 10/1–7),2026-09-20(週日)與 2026-10-10(週六)爲調休上班日仍按空閒處理。未收錄年份退化爲「週末空閒」規則(保守起見少標高峯);新年份安排需更新 client.js 中的 HOLIDAYS。
角標顏色爲固定值(高峯 #f59e0b、空閒 #4d6bfe),不跟隨主題 brand-primary,以免換皮膚後識別色變化。
設置頁:高峯/空閒用量與費用對比¶
除角標外,插件在「設置 → 通用」增加 高峯/空閒用量與費用對比(settings.general.item,排在「性能與用量」之後)。它讀取本機 DeepSeek Harness 會話日誌,按每個請求發生的北京時間歸入高峯或空閒,再按內置價目表折算費用。
卡片提供:
- 三個區間:近 7 天 / 近 30 天 / 全部。
- 三筆錢:實際花費(高峯按 ×2、空閒按 ×1)、假設全部高峯、假設全部空閒。
- 節省金額與比例(示例格式:
¥68.49 · 35.5%)。 - 用量拆分:高峯 token、空閒 token、合計、高峯佔比及橙/藍比例條。
- 分模型:前四個模型各自的 token 與費用。
口徑與限制(與 README 一致):
- 僅對能對上 DeepSeek 價目表的模型計費用(如
deepseek-flash按 flash 價,deepseek-v4-pro/ reasoner 按 pro 價);其他供應商模型只計 token、不計入費用並在說明中標註。 - 價目表內置在
lib/schedule.js(元/百萬 tokens,空閒→高峯):flash 命中 0.02→0.04、未命中 1→2、輸出 4→8;pro 命中 0.15→0.30、未命中 4.5→9、輸出 13.5→27。 - 同一
turn+step的多次採樣按最後一次計,避免流式輸出重複累加。 - 數據來源:
~/.dsh/sessions/<工作區>/<會話>/session.v4.jsonl.zstd,僅本地讀取;解析結果緩存到~/.dsh/storages/peak-hours/cache.json。用量接口有 60 秒 TTL,卡片「刷新」會跳過緩存重新掃描。
角標部分純客戶端,不依賴 host;host 取數失敗時角標仍正常工作。
安裝與啓用¶
從 npm 安裝(官方 README 命令):
dsh plugin --profile web add dsh-peak-hours
從本地目錄安裝:
dsh plugin --profile web add /絕對路徑/dsh-peak-hours
安裝後刷新頁面或重啓 dsh web 即可生效。
卸載:
dsh plugin --profile web remove dsh-peak-hours
典型用法¶
- 安裝並刷新 Web GUI 後,在對話輸入框底欄右側查看橙/藍狀態燈、北京時間與切換倒計時;需要細節時懸停角標查看倍率、本段起止與次日日曆類型。
- 打開 設置 → 通用,找到「高峯/空閒用量與費用對比」,切換近 7 天 / 30 天 / 全部,對照實際花費與「全高峯 / 全空閒」假設,評估是否值得把重任務挪到空閒時段。
- 會話日誌更新後,在卡片上點「刷新」強制重新解析(跳過 60 秒緩存)。
插件無額外配置文件;節假日擴展需改源碼中的 HOLIDAYS 並自行維護。
適用場景與注意¶
適合誰:長期使用 DSH Web 界面、關心 DeepSeek 峯谷計價、希望在本機會話數據上估算峯谷費用差異的開發者。
權限與安全:插件以當前 DSH 進程權限運行,會讀取 ~/.dsh/sessions 下的會話日誌並在 ~/.dsh/storages/peak-hours/ 寫入解析緩存。安裝前應查看 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的環境策略。
生態說明:DSH 社區插件目錄(如 SkillHub 上的 dsh-peak-hours 頁)爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;本文事實以倉庫 README 與 package 元數據爲準。
結尾¶
dsh-peak-hours 把峯谷時段判斷嵌進日常對話底欄,並把本機用量按高峯/空閒拆開算賬,適合需要「當下是否高峯」與「歷史省了多少」一併看清的場景。
- 目錄頁:https://www.skillhub.cn/plugins/run666888/dsh-peak-hours
- 源碼與文檔:https://github.com/run666888/dsh-peak-hours