Skip to content

定時與循環任務 ​

MBAgent 支持把任務設置為 定時執行 或 循環執行,讓 AI 在指定時間自動為您完成工作。本篇系統介紹相關功能。

NOTE

截圖說明:本篇已為定時任務設置、循環配置等環節配圖。


一、什麼是定時與循環任務? ​

定時任務 ​

在 指定時間點 執行一次任務:

  • 例如:每天早上 9 點檢查服務器狀態
  • 例如:下週一下午 3 點發送項目進度報告

循環任務 ​

按 固定間隔 重複執行任務:

  • 例如:每 30 分鐘檢查一次郵箱
  • 例如:每小時同步一次數據

後台任務 ​

不阻塞您當前操作的任務:

  • 任務在後台執行
  • 您可以繼續使用 MBAgent
  • 完成後會有通知

二、定時任務 ​

創建定時任務 ​

步驟 ​

  1. 從任務菜單選擇一個任務,或在會話中告訴 AI "把這個任務設置為定時執行"
  2. 在彈出的對話框中選擇 "定時執行"
  3. 設置:
    • 執行時間:具體日期時間
    • 時區:默認使用本機時區
    • 提醒:執行前是否提醒
  4. 點擊 "保存"

示例 ​

把"檢查服務器狀態"這個任務設置為明天下午 3 點執行。

時間表達式 ​

MBAgent 支持兩種時間表達式:

1. 自然語言 ​

明天下午 3 點
下週一上午 9:30
每週一到週五早上 8 點
2026 年 10 月 1 日 14:00

AI 會自動解析為標準時間。

2. Cron 表達式 ​

# 格式:分 時 日 月 週
0 9 * * *        # 每天早上 9 點
30 14 * * 1      # 每週一下午 2:30
0 0 1 * *        # 每月 1 號 0 點
*/15 * * * *     # 每 15 分鐘
0 9-18 * * *     # 9 點到 18 點每小時

時區處理 ​

  • MBAgent 存儲的時間是 UTC
  • 顯示時轉換為本機時區
  • 跨時區任務會自動處理夏令時

定時任務列表 ​

查看所有定時任務:

  1. 任務菜單 → 定時任務列表
  2. 或快捷鍵 Ctrl+Shift+T

定時任務列表

列表顯示:

  • 任務名稱
  • 下次執行時間
  • 重複規則
  • 狀態(待執行 / 執行中 / 已完成 / 失敗)
  • 操作(編輯 / 刪除 / 立即執行)

三、循環任務 ​

創建循環任務 ​

步驟 ​

  1. 選擇任務
  2. 選擇 "循環執行"
  3. 設置:
    • 循環間隔:每 N 分鐘 / 小時 / 天
    • 開始時間:從什麼時候開始
    • 結束條件:永不 / 執行 N 次後停止 / 指定時間停止
  4. 保存

示例 ​

把"檢查郵箱"任務設置為每 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. 隨機抖動 ​

避免多個任務同時重試造成雪崩。

手動重試 ​

在任務列表中:

  1. 找到失敗的任務
  2. 點擊 "重試" 按鈕

八、任務監控與日誌 ​

實時監控 ​

在後台任務面板中查看:

  • 當前狀態
  • 已運行時間
  • 已消耗 Token
  • 輸出片段

歷史日誌 ​

所有執行記錄保存在:

%LOCALAPPDATA%\mbagent\tasks\history\

包含:

  • 執行時間
  • 執行結果
  • 輸出
  • 錯誤信息
  • Token 消耗

日誌查看 ​

  1. 在任務列表中點擊 "查看日誌"
  2. 或在文件管理器中打開日誌目錄

九、典型場景 ​

場景 1:每日報告 ​

任務:生成每日銷售報告
時間:每天下午 6 點
循環:每天
輸出:Markdown 文件 + 郵件發送

場景 2:服務器監控 ​

任務:檢查服務器狀態
循環:每 5 分鐘
失敗重試:3 次
通知:失敗時發郵件

場景 3:數據同步 ​

任務:從第三方 API 同步數據
循環:每小時
依賴:無
失敗:記錄錯誤,下次重試

場景 4:每日代碼審查 ​

任務:審查昨天的代碼提交
時間:每天早上 9 點
輸出:審查報告(Markdown)

十、最佳實踐 ​

時間設置 ​

  • ✅ 避開業務高峰(如凌晨 3 點執行報表)
  • ✅ 預留足夠執行時間(如設置超時 30 分鐘)
  • ✅ 錯開多個任務的時間點

間隔設置 ​

  • ✅ 不要過於頻繁(避免資源耗盡)
  • ✅ 不要過於稀疏(避免錯過重要事件)
  • ✅ 根據業務重要性調整

失敗處理 ​

  • ✅ 始終設置失敗重試
  • ✅ 失敗時一定要通知
  • ✅ 定期檢查任務歷史,發現潛在問題

安全注意 ​

WARNING

安全注意事項:

  • 定時/循環任務會消耗 API 額度,注意控制頻率
  • 不要讓 AI 在後台執行敏感操作(如自動支付)
  • 長期運行的任務要設置超時,避免資源浪費
  • 定期審計任務列表,刪除不再需要的任務

十一、常見問題 ​

Q1:任務到了時間沒執行? ​

A:

  1. 檢查 MBAgent 是否在運行
  2. 檢查系統時間是否正確
  3. 檢查時區設置
  4. 查看任務狀態是否被禁用

Q2:循環任務堆積了? ​

A:MBAgent 默認跳過堆積任務。如需強制執行,請在任務設置中關閉"跳過堆積"選項。

Q3:如何關閉所有後台任務? ​

A:

  • 點擊狀態欄 → 全部停止
  • 或使用快捷鍵 Ctrl+Shift+Alt+K
  • 或命令行 mbagent task stop-all

Q4:任務執行時可以關閉電腦嗎? ​

A:不可以。當前版本所有任務依賴 MBAgent 主進程,關閉電腦 = 任務中斷。後續 Daemon 版本將解決此問題。

Q5:如何導入/導出任務配置? ​

A:

  • 導出:任務列表 → 右鍵 → 導出
  • 導入:任務列表 → 右鍵 → 導入

下一步:使用技巧與最佳實踐 → 提升 MBAgent 使用效率。