dsh-peak-hours:DeepSeek Harness 運行窗口切換插件

在 DeepSeek Harness 中開發智能體時,模型調用成本是主要考量之一。插件 dsh-peak-hours 提供了運行窗口的切換能力,允許用戶在非高峯時段自動運行或暫停任務,以優化成本。

插件簡介

這是一個由 lion231226 維護的 DeepSeek Harness 工作流插件,基於 MIT 許可證。它允許在 Composer 工具欄添加控件,在“總是運行”和“僅非高峯時段運行”之間切換。在“僅非高峯時段運行”模式下,當北京時區的峯價窗口開始時,所有 dsh 任務(包括正在運行的任務)會自動暫停;窗口結束後自動恢復。

核心功能

  • 界面控件:在 composer 工具欄添加運行模式切換控件,支持“總是運行”和“僅非高峯時段運行”兩種模式。
  • 自動調度:高峯時段自動暫停所有任務,非高峯時段自動恢復。
  • 時段判定:基於北京時區(UTC+8)的峯谷時段判定(週一至週五 09:00-12:00, 14:00-18:00)。
  • 節假日支持:支持法定節假日和補班日判定。
  • HTTP API:提供 API 接口用於狀態查詢、模式切換和時鐘模擬。
  • 實現方式:無構建步驟,純 JavaScript 實現。

安裝與啓用

使用 DeepSeek Harness 的 CLI 進行安裝:

dsh plugin --profile web add github:lion231226/dsh-peak-hours

典型用法

界面操作

在 composer 界面中,點擊工具欄中模式按鈕右側的控件即可選擇運行策略。

API 操作

插件在宿主機的迴環 Web 服務器上註冊了以下接口:

  • 查詢健康狀態:
    GET /api/peak-hours/health
  • 查詢當前狀態:
    GET /api/peak-hours/state?session=<id>
不帶 `?session=` 參數時,報告 `default` 模式。
  • 切換運行模式:
    POST /api/peak-hours/mode
    Content-Type: application/json

    {
      "mode": "always" | "idle-only" | null,
      "session": "<id>",
      "scope": "session" | "default"
    }
設置 `mode: null` 並指定 session 可清除該 session 的覆蓋設置。
  • 時鐘模擬:
    POST /api/peak-hours/clock
    Content-Type: application/json

    {
      "offsetMs": <int|null>,
      "ttlMs": <int>
    }
`ttlMs` 最大限制爲 30 分鐘。

技術細節與注意事項

  • 安裝衝突:不要混用 dsh plugin add 和 install.ps1 兩種安裝方式。dsh plugin add 會註冊包,而 install.ps1 會手動寫入 patch 文件。混用會導致 patch 文件重複。
  • 補班日邏輯:補班日被視爲空閒時段,不參與高峯時段判定。
  • 時鐘覆蓋:clockOverride 的 TTL 最大限制爲 30 分鐘。
  • 依賴項:依賴 @deepseek-ai/cordis(可選依賴)。
  • 攔截機制:主要通過 agent/pre-step 和 tools/pre-execute 攔截,llm/stream 接口未被阻擋,因爲其返回類型與 agent loop 的調用路徑有關。

適用場景

該插件適合需要在特定時間段控制任務運行、以降低模型調用成本的 DeepSeek Harness 用戶。使用前請檢查源碼與許可證,插件以當前 dsh 進程權限運行。

羽毛球分组比赛记分
小程序二维码

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

小夜