前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在使用過程中,開發者常面臨兩個具體痛點:一是任務因 API 限流或配額耗盡而中斷,需要手動干預;二是希望利用 DeepSeek 的峯谷價差,在低峯時段運行耗時任務以節省成本。dsh-auto-continue 是一個雙面插件,旨在解決這兩個問題。
插件概覽¶
該插件由 Meowrium 維護,採用 MIT 許可證。它是一個單包結構,同時包含主機端邏輯(lib/index.js)和瀏覽器端交互(lib/client.js),通過 cordis.patch.yml 和 dsh.client 打包。
安裝與啓用¶
安裝前請確保本地 DSH 版本滿足要求(>= 0.1.5-alpha.1)。
- 執行安裝命令:
dsh plugin --profile web add github:Meowrium/dsh-auto-continue
- 安裝完成後,重啓
dsh web服務。
重啓後,打開任意對話窗口。在輸入欄會出現兩個膠囊按鈕:“閒時任務”和“自動續跑”。
核心功能¶
1. 自動續跑¶
當運行中的會話遇到 RATE_LIMIT 或 QUOTA 錯誤時,插件會自動恢復會話。
- 重試機制:默認在 60 秒後重試,如果服務端返回
Retry-After頭,則使用該值;重試間隔上限爲 24 小時。 - 持久化開關:該功能通過
dsh settings服務保存。開啓後,狀態行會顯示當前是否開啓自動續跑。
2. 閒時任務¶
該功能根據峯谷價格窗口自動暫停或恢復會話。
- 時間基準:北京時間 (UTC+8),無夏令時。
- 峯價時段:09:00 – 12:00 和 14:00 – 18:00。在此期間,所有正在運行的會話會被暫停。
- 谷價時段:除峯價外的其他時間,會話自動恢復運行。
- 交互與反饋:
- 點擊“閒時任務”按鈕可切換開關。
- 狀態行會顯示當前窗口(如“谷價”)以及距離下一個切換點(峯價)的倒計時。
- 切換狀態即時生效,暫停的會話在谷價時段會收到恢復信號。
技術細節¶
- 設置存儲:插件將用戶配置存儲在 DSH 的
auto-continue命名空間下,包含idleTaskEnabled和autoContinueEnabled兩個布爾值。 - 插件結構:
cordis.patch.yml:定義主機端插件入口。dsh.client:映射到lib/client.js,負責瀏覽器端的 UI 渲染與事件注入。lib/index.js:主機端邏輯,處理時間邊界、會話狀態管理和錯誤鉤子。
注意事項¶
- 依賴版本:由於 DSH 設置服務的 API 變更,插件不直接使用舊版
@deepseek-ai/dsh-settings的命名導出,而是通過ctx.inject(["settings"])獲取服務實例,這與官方插件dsh-agent-default-model的實現方式一致。 - 瀏覽器註冊:瀏覽器端模塊通過
slots.inject註冊到conversation.input.left和conversation.composer.dock,確保 UI 元素正確渲染。