定時與循環任務
MBAgent 支持把任務設置為 定時執行 或 循環執行,讓 AI 在指定時間自動為您完成工作。本篇系統介紹相關功能。
NOTE
截圖說明:本篇已為定時任務設置、循環配置等環節配圖。
一、什麼是定時與循環任務?
定時任務
在 指定時間點 執行一次任務:
- 例如:每天早上 9 點檢查服務器狀態
- 例如:下週一下午 3 點發送項目進度報告
循環任務
按 固定間隔 重複執行任務:
- 例如:每 30 分鐘檢查一次郵箱
- 例如:每小時同步一次數據
後台任務
不阻塞您當前操作的任務:
- 任務在後台執行
- 您可以繼續使用 MBAgent
- 完成後會有通知
二、定時任務
創建定時任務
步驟
- 從任務菜單選擇一個任務,或在會話中告訴 AI "把這個任務設置為定時執行"
- 在彈出的對話框中選擇 "定時執行"
- 設置:
- 執行時間:具體日期時間
- 時區:默認使用本機時區
- 提醒:執行前是否提醒
- 點擊 "保存"
示例
把"檢查服務器狀態"這個任務設置為明天下午 3 點執行。
時間表達式
MBAgent 支持兩種時間表達式:
1. 自然語言
明天下午 3 點
下週一上午 9:30
每週一到週五早上 8 點
2026 年 10 月 1 日 14:00AI 會自動解析為標準時間。
2. Cron 表達式
# 格式:分 時 日 月 週
0 9 * * * # 每天早上 9 點
30 14 * * 1 # 每週一下午 2:30
0 0 1 * * # 每月 1 號 0 點
*/15 * * * * # 每 15 分鐘
0 9-18 * * * # 9 點到 18 點每小時時區處理
- MBAgent 存儲的時間是 UTC
- 顯示時轉換為本機時區
- 跨時區任務會自動處理夏令時
定時任務列表
查看所有定時任務:
- 任務菜單 → 定時任務列表
- 或快捷鍵
Ctrl+Shift+T

列表顯示:
- 任務名稱
- 下次執行時間
- 重複規則
- 狀態(待執行 / 執行中 / 已完成 / 失敗)
- 操作(編輯 / 刪除 / 立即執行)
三、循環任務
創建循環任務
步驟
- 選擇任務
- 選擇 "循環執行"
- 設置:
- 循環間隔:每 N 分鐘 / 小時 / 天
- 開始時間:從什麼時候開始
- 結束條件:永不 / 執行 N 次後停止 / 指定時間停止
- 保存
示例
把"檢查郵箱"任務設置為每 30 分鐘執行一次。
循環間隔選項
| 間隔 | 適用場景 |
|---|---|
| 每 5 分鐘 | 實時監控 |
| 每 30 分鐘 | 一般監控 |
| 每小時 | 數據同步 |
| 每 3 小時 | 非緊急同步 |
| 每天 | 每日報告 |
| 每週 | 週報 |
| 每月 | 月報 |
避免任務堆積
WARNING
避免任務堆積:
- 如果某次任務執行時間超過間隔,下一次會立即執行(堆積)
- 建議在任務中加入"如果上次未完成則跳過"邏輯
- MBAgent 默認行為是 跳過堆積任務
循環任務列表
與定時任務列表類似,循環任務會顯示:
- 任務名稱
- 循環間隔
- 下次執行時間
- 已執行次數
- 狀態
四、後台運行
什麼是後台運行?
任務執行時,不阻塞 MBAgent 主界面,您可以繼續與 AI 對話、做其他事情。
開啟後台運行
方式一:任務啟動時選擇
在任務啟動對話框中勾選 "後台運行"。
方式二:命令行參數
bash
mbagent task run check-email --background方式三:API
javascript
await mbagent.tasks.run({
template: 'check-email',
background: true
});後台任務狀態
在狀態欄(右下角)查看:
- 🟢 0 個任務運行中
- 🟡 1 個任務運行中
- 🔴 1 個任務失敗
點擊狀態欄查看詳情。
後台任務通知
通知方式
- 系統通知:Windows 10/11 系統通知中心
- 應用內通知:MBAgent 右上角通知
- 聲音:可選
- 郵件:可選(需要 SMTP 配置)
通知內容
- 任務名稱
- 執行時間
- 執行結果(成功 / 失敗)
- 簡要輸出
五、MBAgent Daemon 守護進程
IMPORTANT
關於 MBAgent Daemon:
- 在當前發佈的 MBAgent 1.112.x 版本中,不包含 "MBAgent Daemon" 守護進程
- 後台任務、定時任務、循環任務均由 MBAgent 主進程在退出前統一管理
- 退出 MBAgent = 終止所有後台任務(含定時與循環)
- 因此如需定時與循環任務穩定執行,請保持 MBAgent 主進程持續運行
- 後續版本規劃中將獨立 Daemon 服務,敬請期待
守護進程的作用(規劃中)
- 即使 MBAgent 關閉,定時任務也能正常觸發
- 統一管理所有後台任務的生命週期
- 提供獨立的健康監控與日誌
當前版本的最佳實踐
- ✅ 保持 MBAgent 運行:讓定時/循環任務按計劃觸發
- ✅ 最小化運行:可用 PowerShell
Start-Process後台啟動 MBAgent - ✅ Windows 任務計劃程序:可在關機後用 Windows 自身的 Task Scheduler 喚醒 MBAgent 觸發一次任務
WARNING
不要依賴尚不存在的 Daemon:當前版本所有任務(無論前後台)都依賴 MBAgent 主進程存活。
六、任務依賴
什麼是任務依賴?
一個任務的執行依賴另一個任務的完成:
任務 A(數據採集) → 任務 B(數據分析) → 任務 C(生成報告)配置依賴
方式一:在任務模板中聲明
yaml
name: 數據分析
depends_on:
- 數據採集方式二:使用 DAG(有向無環圖)
複雜工作流:
yaml
name: 生成報告
depends_on:
- 數據分析
- 異常檢測
data_analysis:
depends_on:
- 數據採集依賴執行
- 任務 B 在 A 完成後才執行
- 如果 A 失敗,B 跳過並標記為失敗
- 可配置失敗時是否繼續執行
七、失敗重試
自動重試
任務執行失敗時,可以設置自動重試:
| 字段 | 說明 | 默認 |
|---|---|---|
| 最大重試次數 | 最多重試幾次 | 3 |
| 重試間隔 | 隔多久重試 | 1 分鐘 |
| 指數退避 | 每次重試間隔加倍 | 否 |
| 失敗後通知 | 失敗時是否發通知 | 是 |
重試策略
1. 固定間隔
每 N 秒/分鐘重試一次。
2. 指數退避
第 1 次:1 分鐘後 第 2 次:2 分鐘後 第 3 次:4 分鐘後 第 4 次:8 分鐘後 ...
3. 隨機抖動
避免多個任務同時重試造成雪崩。
手動重試
在任務列表中:
- 找到失敗的任務
- 點擊 "重試" 按鈕
八、任務監控與日誌
實時監控
在後台任務面板中查看:
- 當前狀態
- 已運行時間
- 已消耗 Token
- 輸出片段
歷史日誌
所有執行記錄保存在:
%LOCALAPPDATA%\mbagent\tasks\history\包含:
- 執行時間
- 執行結果
- 輸出
- 錯誤信息
- Token 消耗
日誌查看
- 在任務列表中點擊 "查看日誌"
- 或在文件管理器中打開日誌目錄
九、典型場景
場景 1:每日報告
任務:生成每日銷售報告
時間:每天下午 6 點
循環:每天
輸出:Markdown 文件 + 郵件發送場景 2:服務器監控
任務:檢查服務器狀態
循環:每 5 分鐘
失敗重試:3 次
通知:失敗時發郵件場景 3:數據同步
任務:從第三方 API 同步數據
循環:每小時
依賴:無
失敗:記錄錯誤,下次重試場景 4:每日代碼審查
任務:審查昨天的代碼提交
時間:每天早上 9 點
輸出:審查報告(Markdown)十、最佳實踐
時間設置
- ✅ 避開業務高峰(如凌晨 3 點執行報表)
- ✅ 預留足夠執行時間(如設置超時 30 分鐘)
- ✅ 錯開多個任務的時間點
間隔設置
- ✅ 不要過於頻繁(避免資源耗盡)
- ✅ 不要過於稀疏(避免錯過重要事件)
- ✅ 根據業務重要性調整
失敗處理
- ✅ 始終設置失敗重試
- ✅ 失敗時一定要通知
- ✅ 定期檢查任務歷史,發現潛在問題
安全注意
WARNING
安全注意事項:
- 定時/循環任務會消耗 API 額度,注意控制頻率
- 不要讓 AI 在後台執行敏感操作(如自動支付)
- 長期運行的任務要設置超時,避免資源浪費
- 定期審計任務列表,刪除不再需要的任務
十一、常見問題
Q1:任務到了時間沒執行?
A:
- 檢查 MBAgent 是否在運行
- 檢查系統時間是否正確
- 檢查時區設置
- 查看任務狀態是否被禁用
Q2:循環任務堆積了?
A:MBAgent 默認跳過堆積任務。如需強制執行,請在任務設置中關閉"跳過堆積"選項。
Q3:如何關閉所有後台任務?
A:
- 點擊狀態欄 → 全部停止
- 或使用快捷鍵
Ctrl+Shift+Alt+K - 或命令行
mbagent task stop-all
Q4:任務執行時可以關閉電腦嗎?
A:不可以。當前版本所有任務依賴 MBAgent 主進程,關閉電腦 = 任務中斷。後續 Daemon 版本將解決此問題。
Q5:如何導入/導出任務配置?
A:
- 導出:任務列表 → 右鍵 → 導出
- 導入:任務列表 → 右鍵 → 導入
下一步:使用技巧與最佳實踐 → 提升 MBAgent 使用效率。
