返回顶部
r

ralph-loop拉尔夫循环

Generate copy-paste bash scripts for Ralph Wiggum/AI agent 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 + AGENTS.md, SPECS, and IMPLEMENTATION_PLAN.md, including PLANNING vs BUILDING modes, backpressure, sandboxing, and completion conditions.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.1
安全检测
已通过
1,235
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

ralph-loop

Ralph Loop (事件驱动)

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

核心概念

干净会话

每次迭代都会生成一个全新的代理会话,上下文完全干净。这是有意为之:
  • - 避免上下文窗口限制
  • 每次codex exec都是全新进程,不保留之前运行的记忆
  • 通过文件持久化记忆:IMPLEMENTATION_PLAN.md、AGENTS.md、git历史

基于文件的通知回退

如果Codex发送唤醒通知时OpenClaw遇到速率限制:
  1. 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:
json
{
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恢复流程

当因速率限制或停机重新上线时,检查待处理通知

bash

查找所有项目中的待处理通知


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 |

注入回复

为下一次迭代回答决策/问题:
bash
echo ## 人工决策

  • - [$(date +%Y-%m-%d %H:%M)] 问:<问题>? 答:<答案> >> AGENTS.md

下一次Codex会话将读取AGENTS.md并看到答案。

清除通知

处理完通知后,清除它:
bash
mv .ralph/pending-notification.txt .ralph/last-notification.txt



工作流程

1. 收集需求

询问(如果未提供):

  • - 目标/JTBD:需要什么成果?
  • CLI:codex、claude、opencode、goose
  • 模式:PLANNING、BUILDING或BOTH
  • 技术栈:语言、框架、数据库
  • 测试命令:如何验证正确性
  • 最大迭代次数:默认20

2. 生成规格

将目标分解为关注主题 → specs/*.md:

markdown

specs/overview.md


目标


<一句话描述JTBD>

技术栈

  • - 语言:Python 3.11
  • 框架:FastAPI
  • 数据库:SQLite
  • 前端:HTMX + Tailwind

成功标准

  • - [ ] 标准1
  • [ ] 标准2

3. 生成AGENTS.md

markdown

AGENTS.md

项目

<简要描述>

命令

  • - 安装:pip install -e .
  • 测试:pytest
  • 代码检查:ruff check .
  • 运行:python -m app

反向压力

每次实现后运行:
  1. 1. ruff check . --fix
  2. pytest

人工决策

经验记录

4. 生成PROMPT.md(模式特定)

PLANNING模式

markdown

Ralph PLANNING循环

目标

上下文

  • - 读取:specs/*.md
  • 读取:当前代码库结构
  • 更新:IMPLEMENTATION_PLAN.md

规则

  1. 1. 不要实现代码
  2. 不要提交
  3. 分析规格与当前状态之间的差距
  4. 创建/更新IMPLEMENTATION_PLAN.md,包含优先级排序的任务
  5. 每个任务应较小(< 1小时工作量)
  6. 如果需求不明确,列出问题

通知

当需要输入或完成规划时: bash openclaw gateway wake --text PLANNING: <你的消息> --mode now

使用前缀:

  • - DECISION: — 需要人工对某个选择做出决定
  • QUESTION: — 需求不明确
  • DONE: — 规划完成

完成

当计划完成并准备好构建时,添加到IMPLEMENTATION_PLAN.md:

STATUS: PLANNING_COMPLETE

然后通知:
bash
openclaw gateway wake --text DONE: 规划完成。已识别X个任务。 --mode now

BUILDING模式

markdown

Ralph BUILDING循环

目标

上下文

  • - 读取:specs/*.md、IMPLEMENTATION_PLAN.md、AGENTS.md
  • 实现:每次迭代一个任务
  • 测试:运行AGENTS.md中的反向压力命令

规则

  1. 1. 从IMPLEMENTATIONPLAN.md中选择优先级最高的未完成任务
  2. 在修改前调查相关代码
  3. 实现该任务
  4. 运行反向压力命令(代码检查、测试)
  5. 如果测试通过:用清晰消息提交,标记任务完成
  6. 如果测试失败:尝试修复(最多3次),然后通知
  7. 用任何操作经验更新AGENTS.md
  8. 用进度更新IMPLEMENTATIONPLAN.md

通知

在需要时调用OpenClaw: bash openclaw gateway wake --text : <消息> --mode now

前缀:

  • - DECISION: — 需要人工输入(例如,SQLite还是PostgreSQL?)
  • ERROR: — 测试在3次尝试后仍然失败
  • BLOCKED: — 缺少依赖、凭据或规格不明确
  • PROGRESS: — 完成重大里程碑(可选)
  • DONE: — 所有任务完成

完成

当所有任务完成时:
  1. 1. 添加到IMPLEMENTATION_PLAN.md:STATUS: COMPLETE
  2. 通知:
bash openclaw gateway wake --text DONE: 所有任务完成。摘要:<构建了什么> --mode now

5. 运行循环

使用提供的scripts/ralph.sh:

bash

默认:20次迭代,使用Codex


./scripts/ralph.sh 20

使用Claude Code

RALPH_CLI=claude ./scripts/ralph.sh 10

带测试

RALPH_TEST=pytest ./scripts/ralph.sh

并行执行

对于独立任务,使用git工作树:

bash

创建工作树以并行工作


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 实现用户认证... exec pty:true background:true workdir:/tmp/task-upload command:codex exec --full-auto 实现

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 monitored-ralph-loop-1776341726 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 monitored-ralph-loop-1776341726 技能

通过命令行安装

skillhub install monitored-ralph-loop-1776341726

下载

⬇ 下载 ralph-loop v0.1.1(免费)

文件大小: 13.19 KB | 发布时间: 2026-4-17 14:20

v0.1.1 最新 2026-4-17 14:20
- Notify openClaw via cron job
- Let claw decide if issue has to be surfaced to human or can be handled by itself

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部