dsh-auto-scheduler:在 DSH 中按時間窗自動啓動和停止智能體會話

前言

在 DSH 裏,一個常見需求不是“馬上讓智能體幹活”,而是“讓它按一個時間窗開始和停止”:到開始時間自動創建會話、下發任務;到停止時間取消當前輪次並停止會話,之後還能在會話列表裏回看結果。

下面介紹的是 dsh-auto-scheduler。它是 Cheng-xiu 維護的一個 DSH 插件,用來做這類定時自動工作:用戶定義開始時間、停止時間、重複方式,DSH 在宿主進程內驅動會話。

這是什麼

dsh-auto-scheduler 是一個 DSH timed auto-work plugin:按用戶定義的時間表啓動和停止 agent sessions,並支持 ds valley/peak presetssilent 模式。

它解決的問題可以概括爲三步:

  1. 到 start time 時,DSH 創建一個 Web GUI session 併發送任務。
  2. 到 stop time 時,DSH 取消當前 active turn 並停止 session。
  3. session 仍然保留在會話列表中,便於事後檢查。

已覈實材料中給出的許可證爲 MIT

核心功能

主機端定時

定時器位於 dsh web host process 內,因此即使沒有打開瀏覽器標籤,定時也可以觸發。

但有兩個前提需要滿足:

  • dsh web 進程必須處於運行狀態。
  • 錯過的時間窗按設計會跳過,不會補跑。

自動開始與自動停止

這個插件會把一個任務拆成明確的時間行爲:

  • 開始時間到達:創建 Web GUI session,併發送任務。
  • 停止時間到達:取消當前 active turn,並停止 session。

這樣適合需要“定時開跑、定時收手”的任務。

default 與 silent 兩種模式

插件提供兩種運行模式:

  • default:agent 可以詢問用戶;其他設置保持部署默認值。
  • silent:不會詢問用戶,禁用 ask_user_question,使用 silent persona,並使用 danger-full-access permissions。它會繼續工作直到任務完成,但到 stop time 仍會被外部停止。

silent 模式意味着無人值守的全權限執行,只適合可信任務。

valley/peak 預設與時區處理

插件提供 ds valley/peak presets,用於一鍵填寫以下北京時間窗口:

12:00-14:00
18:00-09:00

這些時間屬於北京時間,也就是 UTC+8

時區處理規則如下:

  • 面板按你的系統時區顯示和編輯。
  • 存儲時轉換爲 UTC
  • valley presets 會轉換到你的本地時區用於顯示。

重複規則

重複方式支持兩種:

once
daily

安裝與啓用

下面使用材料中給出的安裝命令;它固定指向 #v0.1.4

dsh plugin --profile web add github:Cheng-xiu/dsh-auto-scheduler#v0.1.4

執行後,dsh plugin add 會自動註冊插件 bundle。

需要提醒的是,材料中 README 的 #v0.1.4 與 package.json 的版本信息不一致;這裏不把未確認的版本當作事實。安裝前請到倉庫覈對當前可用標籤。

安裝或升級後必須重啓 dsh web,因爲客戶端面板是在啓動時注入的。重啓後,側邊欄會出現 Auto Work 入口。

典型用法

先打開面板,再填寫時間窗,保存後等待觸發:

  1. 打開 Auto Work 側邊欄面板。
  2. 填寫 goal、mode(default / silent)、start/stop times 和 repeat;也可以直接點擊一個 valley-period preset。
  3. 保存。到時間後,DSH 創建 session 併發送任務;面板會顯示 live status 和 next-run countdown。
  4. Run now 會立即觸發一次運行;此時 stop time = now + original duration。

如果你只是想手動驗證一次,而不是等待定時器,Run now 就是最直接的方式。

適用場景與注意

這個插件適合以下場景:

  • 需要在固定時間窗內自動開始 DSH 任務。
  • 希望到停止時間自動取消當前輪次並停止會話。
  • 想使用 daily 重複執行一些穩定、可信的任務。
  • 想利用 valley/peak presets 快速填寫北京時間的低峯時段。

不適合的場景也很清楚:

  • 需要補跑錯過的時間窗。
  • 需要 dsh web 進程不運行也能觸發定時。
  • 想用 silent 模式執行不受信任、高危或不可控的任務。

使用前需要注意以下幾點:

  • 定時任務運行在 dsh web 宿主進程內,因此插件行爲與該宿主進程的運行環境相關。
  • silent 模式會使用 danger-full-access permissions,並且不會詢問用戶,只應用於可信任務。
  • 面板接口只接受 loopback 請求,或通過以下配置項放行的主機:
--trusted-host

其他請求會返回 403

  • 定時數據保存在宿主端,路徑如下:
DSH_HOME/dsh-auto-scheduler.json

默認路徑爲:

~/.dsh/dsh-auto-scheduler.json
  • 插件會隨 dsh web 宿主進程執行,安裝前應檢查源碼和許可證。

結尾

dsh-auto-scheduler 的價值在於把 DSH 的會話創建、任務下發和停止放進一個明確的時間窗裏,適合固定時段的可信自動任務。它不是官方應用商店的一部分;DSH 社區目錄是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係。

已覈實材料未確認目錄頁具體地址;倉庫地址如下:

https://github.com/Cheng-xiu/dsh-auto-scheduler
羽毛球分组比赛记分
小程序二维码

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

小夜