Monitored Ralph Loop

Polar Sponsor
爱发电 赞助
.NET 9.0

生成可直接复制粘贴的 Bash 脚本,用于 Ralph Wiggum/AI 代理循环(Codex、Claude Code、OpenCode、Goose)。适用于“拉尔夫循环”“Ralph Wiggum 循环”或 AI 循环请求,依据 PROMPT.md、AGENTS.md、SPECS、IMPLEMENTATION_PLAN.md 进行计划/构建,包含计划与构建模式、背压、沙箱及完成条件。

Ralph Loop( Event- Driven). 以事件驱动通知增强Ralph模式—— Codex/Claude在需要关注而不是投票时使用OpenClaw

功能概述

Ralph Loop( Event- Driven). 以事件驱动通知增强Ralph模式—— Codex/Claude在需要关注而不是投票时使用OpenClaw是一项面向实际任务的技能,主要用于Key Concepts.;Clean Sessions.;

核心要点

  • Each tererat。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Ralph 循环(事件驱动型)

增强版 Ralph 模式,采用 事件驱动通知机制 —— Codex/Claude 在需要关注时主动调用 OpenClaw,而非轮询。

核心概念

干净的会话(Clean Sessions)

每次迭代均启动一个 全新的代理会话(fresh agent session),上下文完全清空。这是有意为之的设计:

  • 规避上下文窗口长度限制
  • 每次 codex exec 均为独立进程,不保留此前任何运行记录
  • 状态通过文件持久化:如 IMPLEMENTATION_PLAN.md、AGENTS.md 及 git 历史

基于文件的通知回退机制(File-Based Notification Fallback)

若 Codex 发送唤醒通知时 OpenClaw 遭遇限流:

  1. 该通知将写入 .ralph/pending-notification.txt
  2. 尝试唤醒(可能失败)
  3. OpenClaw 恢复后,自动检查是否存在待处理通知
  4. 工作永不丢失 —— 所有内容均保存在 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: All tasks complete.",
  "iteration": 15,
  "max_iterations": 20,
  "cli": "codex",
  "status": "pending"
}

status 取值含义:

  • pending — 唤醒失败或尚未尝试
  • delivered — 唤醒成功

OpenClaw 故障恢复流程

在遭遇限流或服务中断后重新上线时,务必检查是否存在待处理通知:

# 在所有项目中查找 pending-notification.txt
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 "## Human Decisions
- [$(date '+%Y-%m-%d %H:%M')] Q: ? A: " >> AGENTS.md

下一次 Codex 会话将读取 AGENTS.md 并识别该答案。

清除通知

处理完通知后,请及时清除:

mv .ralph/pending-notification.txt .ralph/last-notification.txt

工作流

1. 收集需求

若未提供,则需主动询问以下信息:

  • 目标 / JTBD(Jobs To Be Done):期望达成何种成果?
  • CLI 工具:codex、claude、opencode、goose
  • 运行模式:PLANNING、BUILDING 或 BOTH
  • 技术栈:编程语言、框架、数据库等
  • 测试命令:如何验证实现正确性
  • 最大迭代次数:默认为 20

2. 生成规格文档(Specs)

将目标拆解为若干 关注主题(topics of concern) → 输出至 specs/*.md:

# specs/overview.md
## Goal
<一句话 JTBD 描述>

## Tech Stack
- Language: Python 3.11
- Framework: FastAPI
- Database: SQLite
- Frontend: HTMX + Tailwind

## Success Criteria
- [ ] Criterion 1
- [ ] Criterion 2

3. 生成 AGENTS.md

# AGENTS.md

## Project
<简要描述>

## Commands
- **Install**: `pip install -e .`
- **Test**: `pytest`
- **Lint**: `ruff check .`
- **Run**: `python -m app`

## Backpressure
每次实现后执行:
1. `ruff check . --fix`
2. `pytest`

## Human Decisions


## Learnings

4. 生成 PROMPT.md(按模式定制)

PLANNING 模式

# Ralph PLANNING 循环

## Goal


## Context
- 阅读:specs/*.md
- 阅读:当前代码库结构
- 更新:IMPLEMENTATION_PLAN.md

## Rules
1. 禁止编写代码
2. 禁止提交变更
3. 分析规格与现状之间的差距
4. 创建/更新 IMPLEMENTATION_PLAN.md,列出优先级明确的任务
5. 每项任务应足够小(≤ 1 小时工作量)
6. 若需求不清晰,需列出具体问题

## Notifications
当需要人工输入或规划完成时,调用:
```bash
openclaw gateway wake --text "PLANNING: " --mode now

推荐使用如下前缀:

  • DECISION: — 需人工就某项选择做决策
  • QUESTION: — 需求表述不清
  • DONE: — 规划已完成

完成标志

当规划完成且已准备好进入构建阶段,在 IMPLEMENTATION_PLAN.md 中添加:

STATUS: PLANNING_COMPLETE

随后发送通知:

openclaw gateway wake --text "DONE: Planning complete. X tasks identified." --mode now
#### BUILDING 模式

```markdown
# Ralph BUILDING 循环

## Goal


## Context
- 阅读:specs/*.md、IMPLEMENTATION_PLAN.md、AGENTS.md
- 实现:每次迭代仅处理一项任务
- 测试:执行 AGENTS.md 中定义的 backpressure 命令

## Rules
1. 从 IMPLEMENTATION_PLAN.md 中选取最高优先级且尚未完成的任务
2. 修改前先调研相关代码
3. 实现该任务
4. 运行 backpressure 命令(lint、test)
5. 若测试通过:以清晰信息提交变更,并标记任务为已完成
6. 若测试失败:最多尝试修复 3 次,之后发出通知
7. 在 AGENTS.md 中更新任何操作性经验
8. 在 IMPLEMENTATION_PLAN.md 中更新进度

## Notifications
需要时调用 OpenClaw:
```bash
openclaw gateway wake --text ": " --mode now

前缀说明:

  • DECISION: — 需人工输入(例如:“SQLite 还是 PostgreSQL?”)
  • ERROR: — 经过 3 次尝试后测试仍失败
  • BLOCKED: — 缺失依赖、凭证或规格描述不清
  • PROGRESS: — 完成重大里程碑(可选)
  • DONE: — 所有任务均已完工

完成标志

当所有任务均完成时:

  1. 在 IMPLEMENTATION_PLAN.md 中添加:STATUS: COMPLETE
  2. 发送通知:
openclaw gateway wake --text "DONE: All tasks complete. Summary: " --mode now
### 5. 启动循环

使用提供的脚本 scripts/ralph.sh:

```bash
# 默认:使用 Codex 执行 20 次迭代
./scripts/ralph.sh 20

# 使用 Claude Code
RALPH_CLI=claude ./scripts/ralph.sh 10

# 启用测试
RALPH_TEST="pytest" ./scripts/ralph.sh

并行执行

对于相互独立的任务,可使用 git worktree:

# 创建多个 worktree 以支持并行开发
git worktree add /tmp/task-auth main
git worktree add /tmp/task-upload main

# 启动并行会话(每个会话均为干净、独立环境)
exec pty:true background:true workdir:/tmp/task-auth command:"codex exec --full-auto 'Implement user authentication...'"
exec pty:true background:true workdir:/tmp/task-upload command:"codex exec --full-auto 'Implement image upload...'"

会话跟踪表:

Session ID Worktree Task Status
abc123 /tmp/task-auth Auth module running
def456 /tmp/task-upload Image upload running

各 Codex 实例独立发送通知。请分别检查各 worktree 下的 .ralph/pending-notification.txt。

CLI 工具专用说明

Codex

  • 要求项目位于 git 仓库中
  • 每次 codex exec 均为全新会话 —— 各次调用之间无状态共享
  • --full-auto:在 workspace(沙箱环境)中自动批准
  • --yolo:禁用沙箱、跳过审批(高风险但高效)
  • 默认模型:gpt-5.2-codex

Claude Code

  • --dangerously-skip-permissions:自动批准(建议仅在沙箱中使用)
  • 不要求 git 仓库
  • 每次调用均为全新会话

OpenCode

  • opencode run "$(cat PROMPT.md)"

Goose

  • goose run "$(cat PROMPT.md)"

安全须知

⚠️ 自动批准参数具有高风险。请始终遵守以下原则:

  1. 在专用目录或分支中运行
  2. 对不可信项目使用沙箱(Docker/VM)
  3. 随时准备执行 git reset --hard 作为紧急逃生手段
  4. 推送前务必人工审查所有提交

快速开始

# 1. 创建项目目录
mkdir my-project && cd my-project && git init

# 2. 从 skill 复制模板
cp /path/to/ralph-loop/templates/* .
mv PROMPT-PLANNING.md PROMPT.md

# 3. 创建 specs 目录及概述文件
mkdir specs
cat > specs/overview.md << 'EOF'
## Goal
Build a web app that...

## Tech Stack
- Python 3.11 + FastAPI
- SQLite
- HTMX + Tailwind

## Features
1. Feature one
2. Feature two
EOF

# 4. 编辑 PROMPT.md,填入您的具体目标

# 5. 启动 Ralph 循环
./ralph.sh 20

示例:古董目录系统

# specs/overview.md
## Goal
用于管理古董物品元数据、图片与分类的 Web 应用。

## Tech Stack
- Python 3.11 + FastAPI
- SQLite + SQLAlchemy
- HTMX + Tailwind CSS
- 图片本地文件存储

## Features
1. 物品 CRUD(名称、描述、年代、购买信息、尺寸)
2. 图片上传(每件物品支持多张图片)
3. 标签与分类管理
4. 搜索与筛选功能
5. 多种视图模式(网格、列表、详情)

Agent 将执行以下步骤:

  1. (PLANNING 阶段)将上述需求拆解为 10–15 个子任务
  2. (BUILDING 阶段)每次迭代实现一个子任务
  3. 每次成功实现后提交变更
  4. 完成或受阻时主动发出通知

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.3万人学习