前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。當需要系統化處理每日任務時,手動維護清單效率低下。dsh-task-dispatcher 作爲一個插件,利用 TickTick 作爲 DSH 的每日任務調度器:一個定時器拉取今日待辦,將其寫入任務文件,並通過通知渠道(微信/Flomo/macOS)告知 Agent,Agent 讀取文件並執行,最後將結果寫回 TickTick。
插件定位¶
- 名稱:dsh-task-dispatcher
- 維護者:zhengjy01
- 功能:將 TickTick 的任務列表轉換爲 DSH 可讀取的 Markdown 文件,並支持自動執行與結果回執。
核心功能¶
1. 定時調度與任務拉取
* 定時器:默認每分鐘輪詢一次(ctx.interval),可通過配置調整間隔,或通過 dispatcher_run 手動觸發。
* 任務來源:默認從 TickTick 的 5️⃣AI 列表拉取任務。支持配置 projectName、projectId 以及 dueMode(today 僅拉取今日/逾期/未定日期任務,all 拉取所有未完成任務)。
* 寫入文件:將拉取到的任務寫入 Markdown 檢查清單文件(默認路徑:~/.dsh/dsh-task-dispatcher/today-tasks.md)。
2. 執行與結果回執
* 自動執行:開啓後,每個任務將在獨立的 dsh --profile headless 會話中串行執行。
* 結果回執:任務完成後推送通知(OK/FAIL 及簡要結果)。批量執行時會彙總輸出。執行日誌通過 stdout 輸出結果,stderr 輸出推理過程。
* 超時控制:每個 Worker 有獨立的超時時間,默認 30 分鐘(範圍 1-1440 分鐘)。
3. 通知渠道
* 支持三種通知方式:微信(通過本地 ClawBot 網關)、Flomo、macOS (AppleScript)。
* 變更通知:僅在任務列表變更或任務執行完成時通知,無新任務時不發送。
* 微信配置:通過本地網關 http://127.0.0.1:51235 發送,默認接收者爲 ClawBot 狀態目錄下的賬戶。
4. 廉價模式
* 支持在 DeepSeek 的非高峯時段自動執行任務,以節省成本。需配置 cheapPreset 和 peakWindows。
5. 工作區與同步
* 工作區:自動執行 Worker 的運行目錄可配置(默認爲用戶家目錄),可指定爲 DSH 的工作區 ID,以便在 GUI 中按工作區展示。
* 延遲同步面板:提供設置頁面,配置靜默閾值、會話上限及 Launchd 檢查間隔,支持手動強制刷新隊列。
6. 代理工具
* 提供命令行工具:dispatcher_status(查看狀態)、dispatcher_config(配置)、dispatcher_run(手動運行)、dispatcher_report(查看報告)。
安裝與啓用¶
前置條件
* 需已安裝 dsh-ticktick 插件以提供數據層和 OAuth 憑證。
* DSH 版本需 >= 0.1.5-rc.1(兼容 0.2.0-rc.2)。
* 使用微信通知需本地運行 DSH-WeChatClawBot 網關。
安裝步驟
1. 在終端執行安裝命令:
dsh plugin --profile web add dsh-task-dispatcher
- 重啓 DSH Web 服務,確認無加載錯誤。
- 確認插件已加載,在 Agent 中運行
dispatcher_status,輸出應顯示“插件狀態:已啓用”並列出當前配置。
典型用法¶
- 手動觸發調度:
dispatcher_run
- 查看當前配置:
dispatcher_config
- 運行無頭會話:
dsh --profile headless
注意事項¶
- 文件路徑:任務文件默認位於
~/.dsh/dsh-task-dispatcher/today-tasks.md。 - 微信依賴:微信通知不直接連接微信服務器,必須依賴本地網關
DSH-WeChatClawBot,且默認讀取~/.dsh-wechat目錄下的狀態。 - 生態位置:該插件託管在 SkillHub 目錄與 GitHub,與 DeepSeek 官方無直接從屬關係。
總結¶
dsh-task-dispatcher 爲 DSH 提供了一個標準化的任務調度入口。它通過 TickTick 管理任務流,利用 Markdown 文件與 Agent 交互,並具備自動執行、結果回執和成本控制能力,適合需要將日常任務自動化流轉的開發者。