DeepSeek Harness (DSH) 的核心思想是“一切皆插件”。對於需要定時執行的任務,通常受限於 DSH Web 進程的存活狀態。dsh-cron-scheduler 插件通過將任務規則存儲爲 Cron 表達式,交由用戶機器的系統 crontab 在進程外執行,解決了這個問題。
核心功能¶
- 系統級調度:任務由系統 crontab 執行,不依賴 DSH Web 進程存活,機器開機即可運行。
- 語法支持:支持標準 5 字段 Cron 表達式(分 時 日 月 周)及快捷方式(
@reboot、@daily等)。 - 會話隔離:每次運行均爲全新的 Agent + Session,結果自動掛載到規則所屬工作區。
- Web 管理與工具:Web 端提供規則管理、部署與運行結果查看;Agent 工具支持
automation_create/list/runs/update/run_now/delete。 - 權限控制:支持
read-only(默認)或workspace-write沙箱模式。
安裝與啓用¶
使用官方插件通道安裝:
dsh plugin --profile web add @mappedinfo/dsh-cron-scheduler
安裝完成後,重啓 DSH Web 並硬刷新瀏覽器即可。設置菜單中會出現“定時任務”入口,側邊欄工作區樹會自動顯示運行產生的會話。
使用方法¶
- 設置頁管理:在 Web 端“設置 → 定時任務”中,可以新建、編輯、暫停、恢復、立即運行或刪除規則。下方列表顯示運行狀態(排隊中/運行中/成功/失敗)及結果會話。
- 對話中調用:在對話中告訴 agent“每天 9 點運行 <任務>”,agent 會調用
automation_create創建定時任務,並支持後續的查詢、更新和立即執行操作。
Cron 語法示例:
* 0 9 * * 1-5:工作日 9 點
* */15 * * * *:每 15 分鐘
* @reboot:系統重啓後執行
權限與安全¶
- 沙箱模式:每條規則可選
read-only(默認)或workspace-write模式,通過環境變量DSH_PERMISSION_MODE控制。 - 併發鎖:同一規則同時只允許一個運行,疊加觸發會被標記爲
skipped。
已知限制¶
- 結果一致性:結果歸屬爲最終一致。Web 進程在運行期間輪詢並掛載會話;Web 未啓動時運行照常完成,重啓 Web 後會話會被補掛。
- 會話標題:目前由系統自動生成(含標記前綴),暫不支持自定義。
- 模型配置:模型/預設默認爲 headless,暫不支持按規則單獨選擇。
生態背景¶
DSH 理念是“一切皆插件”,社區目錄與 DeepSeek / 幻方無官方從屬關係。本文介紹的插件由社區開發者 Mappedinfo 維護,遵循 MIT 許可證。