前言¶
在 DeepSeek Harness (DSH) 中開發智能體時,頻繁調用 API 會導致成本上升。如果在 API 費用較高的時段(峯段)進行大量計算,成本會顯著增加。dsh-peak-valley-queue 插件通過攔截輸入,將消息放入任務隊列,並在低費率時段(谷段)自動按序執行,從而幫助開發者壓低 API 調用成本。
核心功能¶
該插件主要解決“按需執行”與“成本控制”的問題,具備以下能力:
- 輸入攔截與隊列化:輸入框左側提供開關,開啓後聊天消息不再直接發送,而是進入任務隊列;關閉後消息直髮。
- 谷段自動調度:隊列按序(FIFO)派發,僅在谷段(DeepSeek 官方定義的低費率時段)且距下一峯段超過配置分鐘數時自動執行。
- 峯谷倒計時:面板實時顯示距下一峯段(谷段顯示)或距下一谷段(峯段顯示)的時間。
- 靈活的峯段配置:默認支持工作日 09:00–12:00 / 14:00–18:00 爲峯段。支持增刪時段(支持重疊)、設置週末是否算峯段、指定時區。清空列表則全天爲谷段。
- 隊列管理:支持在面板中添加任務、編輯、刪除、拖拽排序、合併相鄰任務、手動“送出”以及執行中任務的“強制完成”。
- 精確的完成判定:採用冗餘多信號機制(turn/end、agent/status、watchdog、客戶端輪詢),將任務狀態精確劃分爲 4 種:已完成、被打斷、失敗、阻塞。
- 待確認任務集成:與
dsh-todo-enhancer配合,檢測到<!-- dsh-todo:start -->標記時,任務轉爲“待確認”並暫停隊列,等待用戶決策。 - 失敗暫停與恢復:任務失敗或被打斷時隊列暫停,並通過瀏覽器通知提醒。點擊“繼續任務”可恢復隊列並重排。
- 嚴格校驗(可選):派發時可注入約定,要求回覆末尾輸出
__TASK_DONE__,未檢測到則視爲未完成。 - 多會話獨立:每個會話(含不同工作區)擁有獨立的開關、隊列與持久化數據,互不干擾。
- 本地持久化:隊列與配置存儲在 DSH 數據目錄
~/.dsh/peak-valley-queue/(優先$DSH_HOME),絕不寫入用戶工作區文件。
安裝與啓用¶
必須通過一條命令同時安裝兩個插件:dsh-peak-valley-queue(核心排隊邏輯)和 dsh-todo-enhancer(決策清單面板)。安裝後必須重啓 DSH 服務才能加載 bundle 層。
dsh plugin --profile web add github:EmptyCollin/dsh-peak-valley-queue github:EmptyCollin/dsh-todo-enhancer
安裝完成後:
1. 重啓 DSH 服務:這是加載 bundle 層的必要步驟。
2. 刷新瀏覽器:重新拉取插件清單。
3. 配置依賴:若需使用“待確認”功能,確保已安裝 dsh-todo-enhancer 並正確加載。
離線或本地開發時,可使用本地路徑安裝,效果相同。
典型用法¶
- 谷段批量處理:將非緊急任務(如批量改寫、巡檢清單、報表生成)攢到谷段統一執行,享受低費率。
- 峯段自動排隊:工作日上午/下午高峯時段開啓排隊,谷段一到自動按序執行,無需人工值守。
- 手動干預與兜底:在面板中手動添加任務、拖拽排序或強制完成處於異常狀態的任務。
- 嚴格模式:開啓嚴格校驗,要求回覆末尾輸出
__TASK_DONE__,確保任務執行結果被正確捕獲。
適用場景與注意¶
- 適用場景:適合批量處理任務、需要串行執行的任務、或對 API 成本敏感的場景。
- 不適用場景:不適合需要立即回覆的實時對話、高峯期的緊急任務、強交互式調試流程。
- 重要提示:
- 消息入隊後不會直接出現在聊天區,需等待執行。
- 僅支持從 GitHub 安裝或本地路徑安裝。
- 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
總結¶
dsh-peak-valley-queue 爲 DeepSeek Harness 提供了一套完整的峯谷定價時段任務管理方案。通過本地持久化、多會話隔離以及精細的完成判定,它幫助開發者在保證任務順序和安全性的前提下,有效降低 API 調用成本。