前言¶
在 DeepSeek Harness(DSH)的使用場景中,需要定期執行腳本、生成日報或進行數據清洗時,現有的方案往往存在割裂:系統級 crontab 脫離瀏覽器或桌面環境,而同會話的 reminder 插件則會佔用當前對話的上下文。這裏介紹 dsh-cron-tasks,一個運行在 DSH Host 內部的調度插件。它通過新建獨立的 root Session 來執行任務,並將運行記錄隔離在側邊欄的「定時任務」入口中,既避免了干擾日常工作區,又提供了可控的調度策略。
核心功能¶
該插件爲 DSH 提供了完整的任務調度能力,核心功能包括:
- 側邊欄管理入口:在「新會話」正下方提供「定時任務」入口,支持任務的創建、暫停/恢復、刪除、立即運行以及搜索功能。
- 調度策略配置:在設置 → 插件 → 插件配置中,可設置全局調度策略,包括啓用開關、默認時區(默認爲
Asia/Shanghai)、歷史記錄保留策略以及重疊/漏跑的處理策略。 - 獨立會話與歷史:每次觸發任務會新建一個 root Session,點擊歷史記錄可直接打開原生對話窗口繼續交互。
- 模型與路徑鎖定:每個任務可指定固定的模型,避免因切換聊天模型而影響額度預期;工作目錄支持下拉選擇已有工作區或自定義路徑。
- 交互式創建:支持在對話中通過 skill
scheduled-tasks配合cron_create命令創建任務。
安裝與啓用¶
安裝前需確保已安裝 DeepSeek Harness。插件通過官方 CLI 安裝,支持 Web 和 Desktop 兩個 Profile。
- 執行安裝命令。Web 和 Desktop 需分別安裝。
dsh plugin --profile web add github:Whale-Zhang/dsh-cron-tasks
dsh plugin --profile desktop add github:Whale-Zhang/dsh-cron-tasks
- 安裝完成後,重啓對應的 Profile(
dsh web或 Desktop 應用)。 - 驗證安裝。運行以下命令應能在輸出中看到
dsh-cron-tasks。
dsh --profile web --dump-config
典型用法¶
- 延時觸發:使用
after_minutes參數設置任務在 N 分鐘後觸發,例如after_minutes: 60。 - 週期性調度:支持一次性
at調度或標準的 5 字段 cron 表達式。 - 本地開發安裝:在本地開發環境調試時,建議使用
file:協議安裝,而非link:。
dsh plugin --profile web add file:$HOME/.dsh/plugins/dsh-cron-tasks
適用場景與注意¶
- 運行環境:調度器運行在 DSH Host 進程中。如果 Host 未在運行,任務不會觸發。
- 非官方/系統級:這不是官方的同會話 reminder 插件(
@deepseek-ai/dsh-schedule),也不是操作系統的crontab。 - 重疊與漏跑:若同一任務已有運行中的實例,新的觸發將跳過;Host 宕機期間錯過的調度節拍不會自動補跑。
- 本地開發提示:本地開發安裝建議使用
file:路徑,不要使用link:。
結尾¶
該插件通過獨立的會話管理和側邊欄歷史記錄,爲 DSH 用戶提供了一套可控的定時任務解決方案。其核心價值在於將調度邏輯與對話上下文解耦,適合需要定期批量執行或自動化彙報的場景。源碼與文檔位於 GitHub,許可證爲 MIT。