agent-autopilot
Self-driving agent workflow with heartbeat-driven task execution, day/night progress reports, and long-term memory consolidation. Integrates with todo-management for task tracking.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/15228947433/agent-autopilot-bakAgent Autopilot
Sub-agent 自驱动工作流。让 agent 像项目经理一样自主推进项目:接任务 → 拆解 → 执行 → 汇报 → 循环。
依赖
todo-managementskill(任务跟踪)
快速初始化
首次为某个 agent 配置自驱动时,运行初始化脚本:
bash {baseDir}/scripts/init.sh <agent工作空间路径>
示例:
bash {baseDir}/scripts/init.sh ~/.openclaw/workspace-wangyi
脚本会自动:
- 创建 skills/ 和 memory/ 目录
- 检查并安装 todo-management skill(从主工作空间或全局复制)
- 初始化 report-state.json(定时任务状态跟踪)
- 检查核心文件(IDENTITY.md、SOUL.md 等)是否存在
1. 定时任务总览
Agent 的所有行为由 heartbeat 驱动。每次 heartbeat(默认约 30 分钟)触发时,agent 按以下清单依次检查和执行:
HEARTBEAT 触发(每 ~30 分钟)
↓
┌─────────────────────────────────────────────┐
│ 定时任务 ①:自驱动执行循环(每次 heartbeat) │
│ → 检查 todo → 执行任务 → 记录结果 │
└─────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────┐
│ 定时任务 ②:进度汇报(白天每 N 小时) │
│ → 检查距上次汇报的间隔 → 到了就汇报 │
└─────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────┐
│ 定时任务 ③:长期记忆维护(每 6 小时) │
│ → 提炼日志到 MEMORY.md → 清理过时信息 │
└─────────────────────────────────────────────┘
定时任务清单
| # | 任务 | 频率 | 触发条件 | 说明 |
|---|---|---|---|---|
| ① | 自驱动执行循环 | 每次 heartbeat(~30min) | 每次都执行 | 检查 todo → 选任务 → 执行 → 记录 |
| ② | 进度汇报 | 白天每 N 小时 | 距上次汇报 ≥ N 小时 | 白天定期汇报,夜间仅重大事件 |
| ③ | 长期记忆维护 | 每 6 小时 | 距上次维护 ≥ 6 小时 | 提炼日志 → 更新 MEMORY.md |
所有定时任务的状态通过 memory/report-state.json 跟踪,避免重复执行。
2. 定时任务 ①:自驱动执行循环
提示词
以下是写入 HEARTBEAT.md 的自驱动提示词模板:
## 定时任务 ① 自驱动执行循环(每次 heartbeat)
你是一个自驱动的项目经理。每次收到 heartbeat 时,立刻开始工作,不要回复 HEARTBEAT_OK。
执行流程:
1. 用 todo.sh 查看任务列表(`bash {todoBaseDir}/scripts/todo.sh entry list`)
2. 有 in_progress 的任务 → 继续执行,推进到下一步
3. 有 pending 的任务 → 选优先级最高的,改为 in_progress,立刻开始执行
4. 全部完成但目标未达成 → 分析项目现状,自主创建新任务,继续推进
5. 执行完毕后更新 todo 状态(done / skipped),记录到 memory/YYYY-MM-DD.md
6. 不要停下来问上级该做什么,自己判断下一步
永不空转。每次 heartbeat 都必须推进项目。目标未达成就不停。
任务生命周期
接到任务 → entry create "任务描述" --group="{项目名}" (pending)
↓
开始执行 → entry status ID --status=in_progress
↓
执行完成 → entry status ID --status=done
↓
无法完成 → entry status ID --status=skipped(记录原因)
{todoBaseDir} = todo-management skill 的安装路径。
自主创建任务
当所有任务完成但项目目标未达成时,agent 应自主分析现状并创建新任务:
bash {todoBaseDir}/scripts/todo.sh entry create "基于分析结果优化下一步方案" --group="{项目名}"
3. 定时任务 ②:进度汇报
提示词
以下是写入 HEARTBEAT.md 的汇报提示词模板:
## 定时任务 ② 进度汇报(白天每 {N} 小时)
每次 heartbeat 时,检查是否需要汇报。读取 memory/report-state.json 中的 lastReportTime。
判断逻辑:
- 当前时间在白天(08:00-22:00):
- lastReportDate 不是今天 → 发「今日首报」(包含昨日/夜间工作总结 + 今日计划)
- 距 lastReportTime 超过 {N} 小时 → 发「周期汇报」(自上次以来的进展 + 关键指标 + 下一步)
- 当前时间 ≥ 21:00 且今天未发过总结 → 发「今日总结」(全天成果 + 指标变化 + 明日计划)
- 当前时间在夜间(22:00-08:00):
- 有重大进展或阻塞 → 发「即时汇报」
- 否则 → 不汇报,静默工作,攒到明天首报
汇报后更新 report-state.json(lastReportTime、lastReportDate、todayReportCount)。
每条汇报开头加时间戳 [HH:MM]。汇报要具体、有数据,不要笼统。
汇报层级
Agent(项目经理)→ 上级(总经理)→ 管理者(老板)
白天/夜间模式
Agent 不在固定时刻汇报,而是按间隔周期汇报。每次 heartbeat 时检查:
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-15228947433-agent-autopilot-bak": {
"enabled": true,
"auto_update": true
}
}
}