Skip to content

定时任务与循环 ​

定时任务和循环让 MBAgent 自动按周期干活,不需要您每次手动触发。本篇详细介绍如何配置。


一、什么是定时任务? ​

定时任务 = 按特定时间或间隔自动触发执行的 MBAgent 任务。

触发方式适用场景
Cron 表达式每天 9 点、每周一、每月 1 号等固定时间
固定间隔每 30 分钟、每 2 小时、每 5 秒
工作区监听文件变化时触发
手动触发不定时,但需要预先定义

二、创建定时任务 ​

第一步:打开定时任务管理 ​

在 MBAgent 主界面点击 "任务" → "定时任务" 选项卡,或输入 slash command:

/schedule list

显示当前所有定时任务。

第二步:新建任务 ​

点击 "+" 按钮,弹出新建窗口:

新建定时任务
任务名称:________________
任务描述:____________________________
触发方式:○ Cron○ 固定间隔○ 监听
Cron 表达式:________________
[提示: 0 9 * * * 表示每天 9 点]
候鸟环境: 自动 / 指定 / 标签
并发数: 5
超时: 300 秒
失败处理:○ 重试3次○ 跳过○ 终止

第三步:填写任务描述 ​

任务描述就是定时任务每次执行时,AI 收到的提示词。例如:

汇总今天所有店铺的订单数,按金额降序排列,
写入 reports/orders-{YYYYMMDD}.xlsx。
如果有异常(订单金额超过 10000 或低于 1),
发邮件给 alerts@company.com。

第四步:选择触发方式 ​

1. Cron 表达式 ​

最常用的方式。Cron 表达式语法:

*  *  *  *  *
│  │  │  │  │
│  │  │  │  └── 星期 (0-7, 0=周日)
│  │  │  └───── 月份 (1-12)
│  │  └─────── 日 (1-31)
│  └────────── 时 (0-23)
└───────────── 分 (0-59)

常用示例:

Cron含义
0 9 * * *每天 9:00
0 9 * * 1-5工作日 9:00
0 0 1 * *每月 1 号 0:00
*/30 * * * *每 30 分钟
0 */2 * * *每 2 小时
0 18 * * 5每周五 18:00
0 0 1 1 *每年 1 月 1 日 0:00

2. 固定间隔 ​

设置每隔多少时间执行一次:

字段说明
间隔值数字
间隔单位秒 / 分钟 / 小时 / 天

例如:每 30 分钟执行一次。

3. 工作区监听(watchWorkspace) ​

当指定文件夹的内容发生变化时触发:

字段说明
监听路径监听哪个文件夹
事件类型新增文件 / 修改文件 / 删除文件
文件过滤文件名模式(如 *.xlsx)

适用场景:

  • 收到新订单文件时自动处理
  • 数据文件更新时自动重新分析

第五步:配置运行环境 ​

  • 候鸟环境:是否需要打开候鸟浏览器
  • 并发数:多个环境的并行度
  • 超时:每次执行的最长时间
  • 失败处理:失败时如何应对

第六步:保存 ​

点击 "保存",定时任务出现在任务列表里,状态为"未启用"。

第七步:启用 ​

选中任务,点击 "启用" 按钮。MBAgent 会按计划自动执行。


三、管理定时任务 ​

查看所有定时任务 ​

/schedule list

启用 / 暂停 ​

  • 启用:选中任务 → 点击 "启用" 按钮
  • 暂停:选中任务 → 点击 "暂停" 按钮(保留配置但不执行)

删除任务 ​

  1. 选中任务
  2. 点击 "删除" 按钮
  3. 确认删除

查看执行历史 ​

  1. 选中任务
  2. 点击 "历史" 选项卡
  3. 显示每次执行的:触发时间 / 状态 / 耗时 / 结果

立即执行(手动触发) ​

  1. 选中任务
  2. 点击 "立即运行" 按钮

四、MBAgent Daemon ​

Daemon = 一个后台常驻进程,让定时任务即使您没主动启动 MBAgent 也能按计划执行。mbAgent 的 daemon 支持两种后台宿主:

  • macOS:launchd(写入 ~/Library/LaunchAgents/sh.mbagent.scheduler.plist)
  • Linux:systemd --user(写入 ~/.config/systemd/user/mbagent-scheduler.service)

各平台支持情况 ​

平台状态说明
macOS✅ 已支持安装时自动 launchctl bootstrap gui/$UID
Linux✅ 已支持生成 unit 文件,需用户自行执行 systemctl --user enable --now
Windows⏳ 暂未支持代码已显式标注 "Windows daemon support is deferred";schedules 模块的 PID 探测在 Windows 上直接返回 false,没有 launchd / SCM / Windows Service 注册分支

安装方法(macOS / Linux) ​

  1. 进入 "设置 → 定时任务"
  2. 点击 "安装 Daemon" 按钮
  3. macOS 会自动 launchctl bootstrap;Linux 会把 unit 文件写到 ~/.config/systemd/user/,并提示执行的 systemctl --user enable --now 命令

Daemon 状态 ​

MBAgent Scheduler daemon
  状态: 运行中
  PID: 12345
  pidfile: ~/.local/share/mbagent/scheduler.pid
  已加载任务: 12

卸载 Daemon ​

  1. 进入 "设置 → 定时任务"
  2. 点击 "卸载 Daemon" 按钮
  3. macOS 会执行 launchctl bootprint gui/$UID sh.mbagent.scheduler;Linux 会给出 systemctl --user disable --now 命令

WARNING

卸载前先暂停所有定时任务,否则卸载后任务会失败。

NOTE

Windows 用户:当前如果需要"无人值守"执行定时任务,仍需要保持 MBAgent 主进程启动。如需长期无人值守,可改用 Windows 任务计划程序把 mbagent schedule tick 包成一个开机自启的计划任务(这是变通方案,不是 mbAgent Daemon)。


五、循环监控(更高级) ​

循环任务 = 按固定间隔反复执行的简化版定时任务。

与定时任务的区别 ​

维度定时任务循环任务
触发时间精确时间点固定间隔
配置复杂度高(cron 表达式)低(间隔值)
适合场景每天 9 点跑日报每 30 分钟检查库存
失败处理详细简单

创建循环任务 ​

  1. 打开任务面板
  2. 新建任务时选择 "循环任务"
  3. 设置:
    • 间隔(每 X 秒/分钟/小时)
    • 结束条件(运行 N 次后停止 / 永不停止)
  4. 保存并启用

典型循环任务 ​

  • 每 30 分钟检查店铺库存,低于阈值时通知
  • 每小时检查候鸟账号 Token 是否过期
  • 每 5 分钟检查邮箱新订单
  • 持续监控某个网页变化

六、长目标(Goal) ​

长目标 = 让 MBAgent 围绕一个长期目标自主迭代,直到目标完成或您手动终止。

创建长目标 ​

  1. 在 MBAgent 主界面输入 slash command:
    /goal start 持续优化这 20 个店铺的转化率,每周出一份分析报告
  2. MBAgent 接受目标,开始自主规划:
    • 第一周:收集基线数据
    • 第二周:识别低转化店铺
    • 第三周:制定优化方案
    • 持续迭代...

查看长目标状态 ​

/goal status

显示:

目标 #1 - 持续优化 20 个店铺转化率
  状态: 进行中
  已运行: 14 天
  当前阶段: 第 3 周(制定优化方案)
  完成度: 45%
  下次评估: 2026-10-01

终止长目标 ​

/goal stop

七、研究任务(Research) ​

研究任务 = MBAgent 深度研究某个主题,输出结构化报告。

创建研究任务 ​

/research start 研究 2026 年亚马逊新政策对中小卖家的影响

研究流程 ​

[1] 拆解研究主题
    - 子主题 1: 新政策全文解读
    - 子主题 2: 对中小卖家的影响
    - 子主题 3: 应对策略
    - 子主题 4: 行业案例
    ↓
[2] 并行收集资料
    - 调用候鸟 RAG 知识库
    - 调用 WebSearch
    - 调用 WebFetch
    ↓
[3] 分析与综合
    - 提取关键信息
    - 验证事实
    - 总结观点
    ↓
[4] 输出报告
    - 结构化 Markdown
    - 引用来源
    - 包含图表

查看研究报告 ​

  1. 进入 "研究" 侧栏
  2. 选择已完成的研究任务
  3. 查看报告

八、最佳实践 ​

时间选择 ​

✅ 推荐:

  • 业务低峰期(凌晨、深夜)
  • 候鸟账号额度刷新前(月末)
  • 候鸟浏览器空闲时

❌ 避免:

  • 高峰时段(白天工作时段)
  • 多任务重叠(CPU / 内存占用过大)
  • 跨时区敏感时间(如双 11)

任务拆分 ​

✅ 好做法:

  • 把大任务拆成多个小定时任务
  • 每个任务聚焦一个目标
  • 任务间不互相依赖

❌ 坏做法:

  • 一个大任务做太多事
  • 任务间强依赖(A 失败导致 B 失败)

错误处理 ​

  • ✅ 配置 告警通知(失败时发邮件 / 微信)
  • ✅ 设置 合理超时(不要等太久)
  • ✅ 失败时 保留日志(便于排查)

资源管理 ​

  • ✅ 限制并发数(不要让多个任务同时跑满 CPU)
  • ✅ 监控资源占用(任务面板里有资源监控)
  • ✅ 重要任务用独立 Daemon / 独立进程(避免被其他任务影响;Windows 当前无 Daemon,可改用独立 MBAgent 实例承接重要任务)

九、典型场景 ​

场景 1:每日销售日报 ​

任务名称: 每日销售日报
触发: Cron 0 9 * * * (每天 9 点)
描述: 汇总昨天的所有店铺订单数据,生成日报,写入 reports/daily-{YYYYMMDD}.xlsx,
     并把日报内容发送到 wechat-bot。

场景 2:库存监控 ​

任务名称: 库存监控
触发: 固定间隔 30 分钟
描述: 检查所有店铺的商品库存,低于 10 件的记录到 alerts/low-stock-{YYYYMMDD}.csv,
     并发邮件给运营团队。
结束条件: 永远运行

场景 3:账号健康巡检 ​

任务名称: 账号健康巡检
触发: Cron 0 */6 * * * (每 6 小时)
描述: 检查所有候鸟账号的登录状态、Cookie 完整性、IP 异常,
     输出报告到 health-check/{YYYYMMDD-HH}.json。
失败处理: 重试 3 次后跳过

场景 4:自动数据备份 ​

任务名称: 数据备份
触发: Cron 0 3 * * * (每天凌晨 3 点)
描述: 备份 AI 记忆库、KMS、所有会话到 backup/{YYYYMMDD}/。
结束条件: 永远运行

十、常见问题 ​

Q1:定时任务没有按预期触发 ​

排查:

  1. 检查 cron 表达式是否正确
  2. 检查 MBAgent 是否启动(Windows 当前不支持 Daemon,必须保持主进程运行;macOS/Linux 安装了 Daemon 才能"无人在场"触发)
  3. 查看任务历史里的错误信息
  4. 确认系统时间正确

Q2:电脑休眠时任务不执行 ​

解决:

  1. macOS / Linux:安装 Daemon(让 launchd / systemd-user 唤醒任务)
  2. Windows:当前不支持 Daemon,请改用"Windows 任务计划程序 + mbagent schedule tick"变通方案(详见四、MBAgent Daemon 末尾的 NOTE)
  3. 设置电脑不休眠(控制面板 → 电源)
  4. 设置唤醒定时器

Q3:任务一直失败 ​

排查:

  1. 单独运行一次,看错误信息
  2. 检查候鸟浏览器是否在线
  3. 检查网络连接
  4. 简化任务描述,逐步排查

Q4:定时任务消耗太多 Token ​

解决:

  1. 用便宜的模型(gpt-5-mini)
  2. 关闭"显示思考过程"
  3. 缩短任务描述
  4. 减少执行频率

Q5:能否在多台电脑同步定时任务? ​

暂不支持云端同步。建议:

  1. 在每台电脑单独配置
  2. 或用统一任务管理文件 + Git 同步

下一步:使用技巧与最佳实践 → 老用户的经验总结。