dsh-auto-continue:DSH 的額度續跑與閒時任務插件

前言

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)。

  1. 執行安裝命令:
dsh plugin --profile web add github:Meowrium/dsh-auto-continue
  1. 安裝完成後,重啓 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 元素正確渲染。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜