Monitored Ralph Loop — 监控Ralph循环
v0.1.1生成 copy-paste bash scripts for Ralph Wiggum/AI 代理 loops (Codex, Claude Code, OpenCode, Goose). Use when asked for a "Ralph loop", "Ralph Wiggum loop", or an AI loop to plan/build code via PROMPT.md + 代理S.md, SPECS, and IMPLEMENTATION_PLAN.md, including PLANNING vs BUILDING modes, backpressure, sandboxing, and completion conditions.
运行时依赖
安装命令
点击复制技能文档
Ralph Loop(事件驱动) 增强的Ralph模式,具有事件驱动的通知 —— Codex/Claude在需要注意时调用OpenClaw,而不是轮询。
关键概念 清洁会话 每次迭代都会产生一个新的代理会话,具有清洁的上下文。这是故意的: 避免上下文窗口限制 每个Codex执行都是一个新的进程,没有之前运行的记忆 通过文件持久化:IMPLEMENTATION_PLAN.md,AGENTS.md,git历史 基于文件的通知回退 如果OpenClaw在Codex发送唤醒通知时受到速率限制: 通知被写入.ralph/pending-notification.txt 尝试唤醒(可能失败) 当OpenClaw恢复时,它会检查是否有待处理的通知 工作永远不会丢失 —— 它都在git/文件中
文件结构 project/ ├── PROMPT.md # 每次迭代加载(模式特定) ├── AGENTS.md # 项目上下文、测试命令、学习 ├── IMPLEMENTATION_PLAN.md # 任务列表,带有状态 ├── specs/ # 要求规格 │ ├── overview.md │ └── .md └── .ralph/ ├── ralph.log # 执行日志 ├── pending-notification.txt # 当前待处理的通知(如果有) └── last-notification.txt # 之前的通知(用于参考)
通知格式 .ralph/pending-notification.txt: { "timestamp": "2026-02-07T02:30:00+01:00", "project": "/home/user/my-project", "message": "DONE:所有任务完成。", "iteration": 15, "max_iterations": 20, "cli": "codex", "status": "pending" }
状态值: pending —— 唤醒失败或未尝试 delivered —— 唤醒成功
OpenClaw恢复程序 在速率限制或停机后在线恢复时,检查是否有待处理的通知: # 查找所有项目中的待处理通知 find ~/projects -name "pending-notification.txt" -path "/.ralph/" 2>/dev/null # 或检查特定项目 cat /path/to/project/.ralph/pending-notification.txt
恢复操作按消息前缀 前缀 操作 DONE:报告完成给用户,总结构建内容 PLANNING_COMPLETE:通知用户,询问是否准备好进入BUILDING模式 PROGRESS:记录并更新用户,如果有显著进展 DECISION:向用户提出选项,等待答案,并将其注入到AGENTS.md ERROR:检查日志(.ralph/ralph.log),分析,并提供帮助或升级 BLOCKED:立即将其升级到用户,提供完整的上下文 QUESTION:向用户提出问题,获取澄清,并将其注入到AGENTS.md
注入响应 为了回答下一次迭代的决定/问题: echo "## 人类决定 - [$(date '+%Y-%m-%d %H:%M')] Q: ? A: " >> AGENTS.md 下一个Codex会话将读取AGENTS.md并看到答案。
清除通知 处理通知后,清除它: mv .ralph/pending-notification.txt .ralph/last-notification.txt
工作流程
- 收集需求
- 生成规格
目标 <一句话JTBD>
技术栈
- 语言:Python 3.11
- 框架:FastAPI
- 数据库:SQLite
- 前端:HTMX + Tailwind
成功标准
- [ ] 标准1
- [ ] 标准2
- 生成AGENTS.md
项目 <简要描述>
命令
- 安装:
pip install -e . - 测试:
pytest - lint:
ruff check . - 运行:
python -m app
后压力
在每次实现后运行:ruff check . --fixpytest
人类决定
学习
- 生成PROMPT.md(模式特定)
目标
上下文
- 读取:specs/.md
- 读取:当前代码库结构
- 更新:IMPLEMENTATION_PLAN.md
规则
- 不要实现代码
- 不要提交
- 分析规格和当前状态之间的差距
- 创建/更新IMPLEMENTATION_PLAN.md,带有优先任务
- 每个任务应小于1小时的工作
- 如果需求不明确,列出问题
通知
当您需要输入或完成规划时: ``bash
openclaw gateway wake --text "PLANNING:<您的消息>" --mode now
使用前缀:
DECISION:—— 需要人类输入的选择
QUESTION:—— 需求不明确
DONE:—— 规划完成
完成
当计划完成并准备好进行构建时,添加到IMPLEMENTATION_PLAN.md:
状态:PLANNING_COMPLETE
然后通知:
openclaw gateway wake --text "DONE:规划完成。X个任务已识别。" --mode now
BUILDING模式
``markdown
# Ralph BUILDING循环
目标
上下文
- 读取:specs/*.md,IMPLEMENTATION_PLAN.md,AGENTS.md
- 实现:每次迭代一个任务
- 测试:运行AGENTS.md中的后压力命令
规则
- 从IMPLEMENTATION_PLAN.md中选择最高优先级的未完成任务