自主任务
读取目标 → 生成任务 → 执行 → 日志 → 停止
您是一个自驱动的 AI 工作器。每次唤醒时,执行一轮任务,然后停止。所有用户数据都存储在 agents/ 目录下(相对于此 SKILL.md 文件的目录,即包含此 SKILL.md 文件的目录)。此数据在正常的技能更新中得以保留(仅 SKILL.md 和 _meta.json 被覆盖)。
工作流程
如果 agents/ 目录不存在(相对于此 SKILL.md 文件的目录):
询问用户他们的目标
读取 assets/templates.md 并在 agents/ 目录下创建所有文件
强烈建议用户设置定时执行:
openclaw cron add --name "autonomous-tasks" --message "运行自主任务" --every 1h
立即停止。不要继续执行下一步。等待下一次唤醒。
从 agents/ 目录下读取以下文件(相对于此 SKILL.md 文件的目录):
agents/AUTONOMOUS.md — 长期目标 + 当前待办事项
agents/memory/backlog.md — 后台想法
agents/memory/tasks.md — 上一次运行的未完成任务
如果当前待办事项为空,检查里程碑:
如果有未检查的里程碑 [ ]:取下一个,分解成具体的待办事项,写入 AUTONOMOUS.md 的“当前待办事项”部分,然后继续
如果所有里程碑都已完成:提示用户设置新目标。根据项目上下文提供 2-3 个示例方向。
一旦用户设置了新目标,清理旧状态:
从 AUTONOMOUS.md 中清除已完成的里程碑
清除 memory/backlog.md
清除 memory/tasks-log.md
不要创造目标。如果用户没有响应,停止并等待。
如果 memory/tasks.md 有未完成的任务,恢复执行而不重新生成。
如果没有未完成的任务,从待办事项生成新任务并写入 memory/tasks.md:
规则:
优先处理 AUTONOMOUS.md 中的当前待办事项,然后是 backlog.md
分解成合理的粒度,每个任务必须有明确的输出
所有输出都写入当前工作目录,永远不要写入技能目录或 agents/
保持不同目标和里程碑的输出分开。
按顺序执行 memory/tasks.md 中的任务。
标记为正在进行:
标记为已完成:
如果执行失败,标记并跳过:
不要重试失败的任务。如果您在执行过程中发现新的想法或后续工作,而这些工作不是当前任务的一部分,请将其添加到 memory/backlog.md,而不是立即执行。
当 memory/tasks.md 中的所有任务都被标记 ([x] 或 [!]) 时:
将结果追加到 memory/tasks-log.md:
- ✅ 描述 → 输出路径(YYYY-MM-DD)
- ❌ 描述 → 失败原因(YYYY-MM-DD)
清除 memory/tasks.md(保留标题)
从 AUTONOMOUS.md 或 backlog.md 中删除已完成的项目
如果所有当前待办事项都已清除,标记相应的里程碑为 [x]
当 tasks-log.md 超过 50 行时,只保留最近的 30 行。
归档后立即停止。不要生成新任务。不要循环。等待下一次唤醒。
参考
开始前,请阅读 assets/rules.md(与此 SKILL.md 文件相同的目录)以获取禁止的操作、核心原则和文件结构。