DeepSeek API 採用分時段計費。北京時間每天 09:00–12:00 與 14:00–18:00 爲峯值時段(價格較高),其餘時間爲谷值時段。在 DSH Web GUI 中直接操作容易在不知不覺中跑完高成本任務,尤其是在使用 DeepSeek V4 Pro 等高價模型時。
本插件旨在解決這一問題,常駐顯示當前計費時段,並在峯值時段使用特定模型時提供二次確認。
核心功能¶
常駐峯/谷徽章
插件會在 DSH Web 界面的輸入框下方(conversation.composer.dock)常駐顯示狀態。綠點代表谷時段,橙點代表峯時段,同時顯示實時北京時間與峯時段範圍,每 30 秒自動刷新。
峯值時段二次確認
滿足以下全部條件時,插件會在任務提交前(第一步)彈窗確認:
1. 當前爲峯值時段(北京時間 09:00–12:00、14:00–18:00);
2. 當前會話使用的模型是 DeepSeek V4 Pro;
3. 是新提交的回合(子代理、工具續步或重試不會重複彈窗)。
彈窗選項
用戶可選擇:
* 繼續使用:按當前配置立即開始任務。
* 今日不再提醒:繼續使用,且在當天之內不再彈窗。該狀態會寫入瀏覽器 localStorage,跨重啓持久化,直到北京時間零點自動失效。
* 取消本次:本次任務不執行,回合以 blocked 結束,消息保留在會話中。
完全 fail-open
任何判斷異常(如無彈窗組件、會話異常或模型讀取失敗)都會直接放行,不會卡住正在運行的任務。
工作原理¶
插件通過攔截 DSH Host 側的 agent/pre-step 事件來判斷是否需要彈窗,同時通過 webServer 在宿主與瀏覽器間進行同源通信以同步狀態。
- Host 側:在
agent/pre-step階段判斷當前時間、模型及「今日不再提醒」狀態。如果符合條件,調用userQuestions.ask彈窗。 - Client 側:在
composer.dock渲染峯/谷徽章,並監聽頁面加載或連接重置事件,將瀏覽器的「今日不再提醒」狀態同步給宿主。 - 時區:峯谷判斷使用北京時間(UTC+8),由 Host 與 Client 各自獨立計算,不依賴系統時區設置。
安裝¶
- 克隆倉庫到本地:
git clone https://github.com/Heldea-xianmiao/dsp-deepseek-peak.git
- 在你的 DSH profile(如
$DSH_HOME/profiles/web)的package.json中添加依賴與 bundle:
{
"dependencies": {
"dsp-deepseek-peak": "link:<本倉庫的絕對路徑>"
},
"dsh": {
"profile": {
"bundles": [ /* ...原有列表... */, "dsp-deepseek-peak" ]
}
}
}
- 在 profile 目錄執行
pnpm install,然後重啓 DSH。
或者使用官方命令:
dsh plugin --profile web add file:/path/to/dsp-deepseek-peak
自定義¶
插件源碼位於 lib/ 目錄,可根據需求修改:
| 想改什麼 | 改哪裏 |
|---|---|
| 峯谷時段(如改爲 08:00–10:00) | lib/index.js 的 isPeakNow() 與 lib/client.js 的 isPeak() |
| 觸發彈窗的模型(如只對 V4 Pro 生效) | lib/index.js 的 isDeepseekV4Pro() |
| 彈窗文案 | lib/index.js 的 askConfirmation() 中的選項與問題 |
| 徽章刷新間隔(默認 30s) | lib/client.js 中的 window.setInterval(..., 30000) |
修改後重啓 DSH 生效。
隱私與兼容性¶
隱私說明
插件純本地運行,所有計算(峯谷判斷、模型判斷、彈窗)都在你自己的 DSH 宿主與瀏覽器內完成,沒有任何數據上傳。瀏覽器側僅使用 localStorage 存儲一個日期字符串,Host 與 Client 通過 DSH 內置的 webServer 在本機迴環地址通信。
兼容性
依賴宿主服務:agentDefaultModel、userQuestions、webServer、agents。
兼容 DSH Web profile(rc.6+)。
總結¶
這是一個爲 DSH Web 用戶設計的實用插件,旨在通過視覺提示和交互攔截,幫助開發者在高峯時段避免無意中觸發高成本的 DeepSeek V4 Pro 任務。