有些任务需要几分钟甚至更长时间才能完成—— 代码库扫描、批量文件处理、生成长篇报告…… OpenClaw 的 Background Tasks 让 AI 在后台静默执行, 完成后通知你,不阻塞其他对话。
Background Tasks vs 普通对话
普通对话模式:
你 → 发消息 → AI 处理 → 等待回复(渠道阻塞)
问题:任务耗时长时会超时/用户体验差
Background Tasks(后台任务):
你 → 触发任务 → AI 立即返回「任务已启动」
AI 在后台继续执行 ↓
完成后 → 主动推送通知到你的渠道
优点:不阻塞、可查看进度、可取消
触发后台任务
通过自然语言直接触发:
你:帮我在后台扫描整个 ~/projects/main-app 代码库,
找出所有潜在的安全漏洞,
完成后发报告给我
AI:好的!已启动后台安全扫描任务。
任务 ID:task-abc123
预计用时:5-10 分钟
完成后我会通知你。
[5分钟后]
AI:✅ 安全扫描完成!
发现 3 个中等风险问题:
1. SQL 注入风险(src/db/query.ts 第 45 行)
2. ...
完整报告:[附件/链接]
openclaw tasks 命令管理
bash
# 列出所有任务(运行中/已完成/失败)
openclaw tasks list
# 输出示例:
# ID STATUS STARTED TASK
# task-abc123 running 5分钟前 安全扫描 ~/projects/main-app
# task-xyz789 completed 1小时前 生成月报
# task-def456 failed 2小时前 批量翻译(API限额)
# 查看单个任务详情
openclaw tasks show task-abc123
# 查看实时日志
openclaw tasks logs task-abc123 --follow
# 取消运行中的任务
openclaw tasks cancel task-abc123任务状态与通知
任务完成后,AI 会主动推送通知:
json
{
"tasks": {
"notifications": {
"onComplete": true,
"onError": true,
"channel": "telegram",
"format": "详细"
}
}
}通知格式示例:
✅ 后台任务完成:批量图片压缩
处理文件数:234 张
压缩后总大小:456 MB(原来 1.2 GB)
用时:3分42秒
文件已保存至:~/compressed/
❌ 后台任务失败:API 数据同步
错误:连接超时(已重试 3 次)
建议:检查 API Key 是否有效,或等待网络恢复后重试
Background Tasks vs Cron Jobs
| 维度 | Background Tasks | Cron Jobs |
|---|---|---|
| 触发方式 | 对话触发(随时) | 时间表触发(定期) |
| 重复性 | 一次性任务 | 周期性任务 |
| 监控 | 实时 logs | 无内置监控 |
| 取消 | 可取消 | 等下次跳过 |
| 适合场景 | 临时大任务 | 定期例行任务 |
选用建议:
- 「帮我处理这批文件」→ Background Task(一次性)
- 「每天8点发日报」→ Cron Job(周期性)
实战场景
场景一:代码库安全扫描
你:后台扫描 ~/projects 下所有 Node.js 项目,
检查 npm 依赖的已知 CVE 漏洞,
按严重程度排序,生成修复建议报告
AI:[后台执行,约 10 分钟]
✅ 完成!发现:
- 严重:2 个(需立即修复)
- 高危:5 个
- 中等:12 个
[完整报告已附上]
场景二:批量文档翻译
你:把 ~/docs/english/ 目录下所有 .md 文件
翻译成中文,保存到 ~/docs/chinese/
AI:已启动后台翻译任务,共 47 个文件...
[后台逐一处理,每 10 个文件通知一次进度]
✅ 47/47 翻译完成,用时 8 分钟
场景三:竞品分析研究
你:在后台帮我研究这 10 个竞品,
搜集它们的定价/功能/用户评价,
生成对比报告
AI:好的,已启动竞品分析后台任务...
[30 分钟后]
✅ 竞品分析完成,报告已生成
[详细报告...]
长任务最佳实践
1. 分批处理,避免单次超时
处理 1000 个文件时,每批 50 个,有进度保存
2. 设置合理超时
"tasks": { "timeout": 1800 } # 30 分钟最大执行时间
3. 任务前先估算
「帮我估算一下扫描这个目录大约需要多久」
4. 错误恢复
任务失败时保留进度,支持从断点继续
「继续刚才失败的翻译任务,从第 25 个文件开始」
来源:OpenClaw 官方文档 - docs.openclaw.ai/automation/tasks