ralphy
Ralphy 是一款自主 AI 编码循环工具,旨在帮助开发者自动化完成软件开发任务。它通过运行一个 Bash 脚本,将 Claude Code、Cursor、Qwen 等多种主流 AI 编程助手串联起来,形成闭环工作流。用户只需输入自然语言指令或提供产品需求文档(PRD),Ralphy 就能自动调度不同的 AI 代理持续执行任务,直到所有功能开发完毕或需求列表清空。
这款工具主要解决了单一 AI 模型在处理复杂、多步骤开发任务时可能出现的上下文丢失、中途停滞或需要人工反复干预的问题。它特别适合全栈开发者、技术负责人以及希望提升原型开发效率的工程师使用。无论是修复单个 Bug、添加深色模式,还是依据详细的 PRD 文档构建完整功能模块,Ralphy 都能胜任。
其技术亮点在于强大的灵活性与兼容性:支持多种任务输入格式(Markdown、YAML、JSON 甚至 GitHub Issues),允许用户自定义项目规则与代码边界以保障安全,并能并行启动多个 AI 代理协同工作。此外,它还提供了丰富的引擎切换与参数透传功能,让开发者可以自由选择底层大模型或传递特定 CLI 参数,真正实现“一次配置,全自动交付”的高效开发体验。
使用场景
某初创团队需要在三天内基于 Next.js 完成一个包含用户认证、数据仪表盘及后台管理的 MVP 版本,时间紧任务重。
没有 ralphy 时
- 上下文切换频繁:开发者需手动在 Claude Code、Cursor 和 GitHub Copilot 之间切换,反复复制粘贴代码片段,注意力被严重分散。
- 任务进度难追踪:面对几十项待办功能,依靠人工标记 PRD 文档中的复选框,极易遗漏或重复开发,导致状态不同步。
- 规范执行不一致:不同 AI 助手对代码风格理解不一,有人写 API 路由,有人写 Server Actions,后期重构耗费大量时间。
- 串行效率低下:只能逐个任务执行,前端页面与后端接口开发必须排队进行,无法利用多模型并行加速。
使用 ralphy 后
- 全自动闭环执行:只需运行
ralphy --prd PRD.md,工具自动调用 Claude Code 等引擎循环执行,直到所有任务标记为完成,无需人工干预。 - 智能进度同步:ralphy 实时读取并更新 Markdown 或 YAML 格式的任务列表,自动跳过已完成项,确保文档与代码状态严格一致。
- 统一规则约束:通过
.ralphy/config.yaml预设"强制使用 TypeScript 严格模式”等规则,所有引擎输出均符合团队规范,代码风格高度统一。 - 并行加速交付:启用
--parallel模式后,ralphy 同时调度多个 Agent 分别处理前端与后端任务,将原本串行的开发流程压缩至几小时内完成。
ralphy 通过将分散的 AI 能力整合为自主运行的开发流水线,让团队从繁琐的提示词工程中解放出来,专注于核心架构设计。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
Ralphy
加入我们的 Discord - 有问题?想贡献代码?快来加入社区吧!

自主 AI 编码循环。持续运行 AI 代理处理任务,直到完成。
安装
选项 A:npm(推荐)
npm install -g ralphy-cli
# 然后在任何地方使用
ralphy "添加登录按钮"
ralphy --prd PRD.md
选项 B:克隆
git clone https://github.com/michaelshimeles/ralphy.git
cd ralphy && chmod +x ralphy.sh
./ralphy.sh "添加登录按钮"
./ralphy.sh --prd PRD.md
两种方式功能完全相同。以下示例使用 ralphy(npm),如果使用 bash 脚本,请替换为 ./ralphy.sh。
两种模式
单任务 - 只需告诉它要做什么:
ralphy "添加暗黑模式"
ralphy "修复认证 bug"
任务列表 - 按照产品需求文档逐步执行:
ralphy # 使用 PRD.md
ralphy --prd tasks.md
项目配置
可选。用于存储 AI 必须遵循的规则。
ralphy --init # 自动检测项目设置
ralphy --config # 查看配置
ralphy --add-rule "使用 TypeScript 严格模式"
会创建 .ralphy/config.yaml 文件:
project:
name: "my-app"
language: "TypeScript"
framework: "Next.js"
commands:
test: "npm test"
lint: "npm run lint"
build: "npm run build"
rules:
- "使用服务器动作而非 API 路由"
- "遵循 src/utils/errors.ts 中的错误模式"
boundaries:
never_touch:
- "src/legacy/**"
- "*.lock"
这些规则适用于所有任务(无论是单个任务还是 PRD)。
AI 引擎
ralphy # Claude Code(默认)
ralphy --opencode # OpenCode
ralphy --cursor # Cursor
ralphy --codex # Codex
ralphy --qwen # Qwen-Code
ralphy --droid # Factory Droid
ralphy --copilot # GitHub Copilot
ralphy --gemini # Gemini CLI
模型覆盖
可以为任何引擎覆盖默认模型:
ralphy --model sonnet "添加功能" # 使用 Claude 的 Sonnet 模型
ralphy --sonnet "添加功能" # 上面的快捷方式
ralphy --opencode --model opencode/glm-4.7-free "任务" # 自定义 OpenCode 模型
ralphy --qwen --model qwen-max "构建 API" # 自定义 Qwen 模型
引擎特定参数
使用 -- 分隔符传递底层引擎 CLI 的额外参数:
# 传递 Copilot 特定参数
ralphy --copilot --model "claude-opus-4.5" --prd PRD.md -- --allow-all-tools --allow-all-urls --stream on
# 传递 Claude 特定参数
ralphy --claude "添加功能" -- --no-permissions-prompt
# 适用于任何引擎
ralphy --cursor "修复 bug" -- --custom-arg value
-- 之后的所有内容都会直接传递给引擎 CLI,而不会被解析。
任务来源
Markdown 文件(默认):
ralphy --prd PRD.md
## 任务
- [ ] 创建认证
- [ ] 添加仪表盘
- [x] 已完成任务(已跳过)
Markdown 文件夹(适用于大型项目):
ralphy --prd ./prd/
当指向一个文件夹时,Ralphy 会读取所有 .md 文件并汇总任务:
prd/
backend.md # - [ ] 创建用户 API
frontend.md # - [ ] 添加登录页面
infra.md # - [ ] 设置 CI/CD
任务按文件跟踪,因此完成状态会更新到正确的文件中。
YAML:
ralphy --yaml tasks.yaml
tasks:
- title: 创建认证
completed: false
- title: 添加仪表盘
completed: false
JSON:
ralphy --json PRD.json
{
"tasks": [
{
"title": "创建认证",
"completed": false,
"parallel_group": 1,
"description": "可选详情"
}
]
}
标题必须唯一。
GitHub Issues:
ralphy --github owner/repo
ralphy --github owner/repo --github-label "ready"
并行执行
ralphy --parallel # 默认 3 个代理
ralphy --parallel --max-parallel 5 # 5 个代理
每个代理都有独立的工作树和分支:
代理 1 → /tmp/xxx/agent-1 → ralphy/agent-1-create-auth
代理 2 → /tmp/xxx/agent-2 → ralphy/agent-2-add-dashboard
代理 3 → /tmp/xxx/agent-3 → ralphy/agent-3-build-api
如果没有 --create-pr:自动合并回主分支,AI 会解决冲突。
如果有 --create-pr:保留分支并创建 PR。
如果有 --no-merge:保留分支,不合并也不创建 PR。
YAML 并行组 - 控制执行顺序:
tasks:
- title: 创建用户模型
parallel_group: 1
- title: 创建帖子模型
parallel_group: 1 # 同一组会同时执行
- title: 添加关系
parallel_group: 2 # 在第 1 组之后执行
分支工作流
ralphy --branch-per-task # 每个任务一个分支
ralphy --branch-per-task --create-pr # 同时创建 PR
ralphy --branch-per-task --draft-pr # 同时创建草稿 PR
ralphy --base-branch main # 从 main 分支开始
分支命名格式:ralphy/<task-slug>
浏览器自动化
Ralphy 可以使用 agent-browser 自动化浏览器交互。
ralphy "测试登录流程" --browser # 强制启用
ralphy "添加结账功能" --no-browser # 强制禁用
ralphy "构建功能" # 自动检测(默认)
启用后,AI 会获得以下浏览器命令:
agent-browser open <url>- 导航到指定 URLagent-browser snapshot- 获取元素引用(@e1, @e2)agent-browser click @e1- 点击元素agent-browser type @e1 "text"- 在输入框中输入文本agent-browser screenshot <file>- 截取屏幕截图
应用场景:
- 实现功能后测试 UI
- 验证部署
- 填写表单和测试工作流
配置(.ralphy/config.yaml):
capabilities:
browser: "auto" # "auto", "true" 或 "false"
Webhook 通知
通过 Discord、Slack 或自定义 webhook,在会话完成时接收通知。
配置(.ralphy/config.yaml):
notifications:
discord_webhook: "https://discord.com/api/webhooks/..."
slack_webhook: "https://hooks.slack.com/services/..."
custom_webhook: "https://your-api.com/webhook"
通知内容包括任务完成数量和状态(已完成/失败)。
沙盒模式
对于包含大型依赖目录的大规模代码库,沙盒模式比 Git 工作树更快:
ralphy --parallel --sandbox
工作原理:
- 符号链接 用于只读依赖项(
node_modules、.git、vendor、.venv、.pnpm-store、.yarn、.cache) - 复制 代理可能修改的源文件(
src/、app/、lib/、配置文件等)
为何使用:
- 避免在多个工作树中重复存储数 GB 的
node_modules - 对于大型 monorepo,沙盒创建速度显著提升
- 每个任务完成后,更改会同步回原始目录
何时改用工作树(默认):
- 需要在每个沙盒中访问完整的 Git 历史记录
- 需要执行需要真实仓库的
git命令 - 对于工作树开销较小的小型仓库
并行执行的可靠性:
- 如果工作树操作失败(例如嵌套的工作树仓库),ralphy 会自动回退到沙盒模式
- 可重试的速率限制或配额错误会被检测并推迟到后续重试
- 在合并阶段之前,本地更改会被暂存,并在合并后恢复
- 代理不应修改 PRD 文件、
.ralphy/progress.txt、.ralphy-worktrees或.ralphy-sandboxes
选项
| 标志 | 功能 |
|---|---|
--prd PATH |
任务文件或文件夹(自动检测,默认:PRD.md) |
--yaml FILE |
YAML 任务文件 |
--json FILE |
JSON 任务文件 |
--github REPO |
使用 GitHub 问题 |
--github-label TAG |
按标签筛选问题 |
--sync-issue N |
将 PRD 进度同步到 GitHub 问题 #N |
--model NAME |
覆盖任何引擎的模型 |
--sonnet |
--claude --model sonnet 的快捷方式 |
--parallel |
并行执行 |
--max-parallel N |
最大代理数量(默认:3) |
--sandbox |
使用轻量级沙盒代替 Git 工作树 |
--no-merge |
跳过并行模式下的自动合并 |
--branch-per-task |
每个任务一个分支 |
--base-branch NAME |
基础分支 |
--create-pr |
创建 PR |
--draft-pr |
草稿 PR |
--no-tests |
跳过测试 |
--no-lint |
跳过代码检查 |
--fast |
跳过测试和代码检查 |
--no-commit |
不自动提交 |
--max-iterations N |
执行 N 个任务后停止 |
--max-retries N |
每个任务的重试次数(默认:3) |
--retry-delay N |
重试间隔秒数 |
--dry-run |
仅预览 |
--browser |
启用浏览器自动化 |
--no-browser |
禁用浏览器自动化 |
-v, --verbose |
调试输出 |
--init |
设置 .ralphy/ 配置 |
--config |
显示配置 |
--add-rule "rule" |
向配置添加规则 |
要求
必需:
- AI CLI:Claude Code、OpenCode、Cursor、Codex、Qwen-Code、Factory Droid、GitHub Copilot 或 Gemini CLI
npm 版本 (ralphy-cli):
- Node.js 18+ 或 Bun
Bash 版本 (ralphy.sh):
jqyq(可选,用于 YAML 任务)bc(可选,用于成本计算)
两个版本共有的要求:
gh(可选,用于 GitHub 问题 /--create-pr)- agent-browser(可选,用于
--browser)
引擎详情
| 引擎 | CLI | 权限 | 输出 |
|---|---|---|---|
| Claude | claude |
--dangerously-skip-permissions |
令牌 + 成本 |
| OpenCode | opencode |
full-auto |
令牌 + 成本 |
| Codex | codex |
无 | 令牌 |
| Cursor | agent |
--force |
时长 |
| Qwen | qwen |
--approval-mode yolo |
令牌 |
| Droid | droid exec |
--auto medium |
时长 |
| Copilot | copilot |
--yolo |
令牌 |
| Gemini | gemini |
--yolo |
令牌 + 成本 |
当引擎以非零状态退出时,ralphy 会在错误信息中包含 CLI 输出的最后一行,以便于调试。
更改日志
v4.7.2
- 改进了身份验证错误检测:简化了
extractAuthenticationError函数,更好地处理边缘情况(例如登录时的 JSON 输出) - 新增项目标准:
CLAUDE.md、.cursorrules、CONTRIBUTING.md,用于实现一致的 AI 辅助开发 - 增强默认提示:强制执行简洁、专注的代码更改
v4.7.1
- Copilot 引擎改进:非交互模式(
--yolo)、正确的身份验证/速率限制/网络错误检测、令牌使用解析、基于临时文件的提示以保留 Markdown 格式 - 修复了无限重试循环:任务现在会在致命的配置或身份验证错误时正确中止
- 项目标准:添加了
.editorconfig和.gitattributes以保持一致的编码风格
v4.7.0
- JSON PRD 支持:新增
--json标志,允许使用 JSON 文件作为任务来源,并支持并行组和任务描述
v4.6.0
- Gemini CLI 支持:新增
--gemini引擎选项,用于 Google Gemini CLI - GitHub 问题同步:
--sync-issue <number>会在每个任务后将 PRD 进度同步到 GitHub 问题 - 性能改进:减少冗余文件读取、指数退避重试策略、非阻塞日志记录、操作时间可见性
- 版本修复:CLI 版本现在动态从 package.json 中读取
v4.5.3
- 并行可靠性:在工作树错误时回退到沙盒模式
- 错误输出:包含失败引擎命令的 CLI 输出片段
- 重试处理:检测速率限制/配额错误并提前停止
- 合并安全:在合并阶段前暂存本地更改,并在合并后恢复
- 提示:明确避免编辑 PRD 和
.ralphy进度/沙盒/工作树相关文件
v4.5.0
- 沙盒模式:使用符号链接对依赖项进行轻量级隔离(比工作树更快)
- 性能改进:任务缓存、并行合并分析、智能分支排序
- Webhook 通知:Discord、Slack 以及自定义 Webhook,用于会话完成通知(可在
.ralphy/config.yaml中配置) - 引擎特定参数:通过
--分隔符将参数传递给底层 CLI - Windows 改进:改善了 .cmd 包装器的错误处理
v4.4.1
- 修复了 Windows 行尾处理问题
- 修复了 Windows Bun 命令解析问题
v4.4.0
- GitHub Copilot CLI 支持(
--copilot)
v4.3.0
- 模型覆盖:新增
--model <name>标志,用于覆盖任何引擎的模型 --sonnet是--claude --model sonnet的快捷方式--no-merge标志用于跳过并行模式下的自动合并- 并行自动合并期间进行 AI 辅助的冲突解决
- 根用户检测:Claude/Cursor 报错,其他引擎警告
- 改进了 OpenCode 的错误处理和模型覆盖支持
v4.2.0
- 浏览器自动化:
--browser/--no-browser,配合 agent-browser - 自动检测 agent-browser 是否可用
- 配置选项:
.ralphy/config.yaml中的capabilities.browser
v4.1.0
- TypeScript CLI:
npm install -g ralphy-cli - 跨平台二进制文件(macOS、Linux、Windows)
- npm 版本不再依赖 jq/yq/bc
v4.0.0
- 单任务模式:
ralphy "task",无需 PRD - 项目配置:
--init会创建包含规则和自动检测功能的.ralphy/目录 - 新增:
--config、--add-rule、--no-commit
v3.3.0
- 支持 Factory Droid (
--droid)
v3.2.0
- 支持 Qwen-Code (
--qwen)
v3.1.0
- 支持 Cursor (
--cursor) - 更好的任务验证
v3.0.0
- 使用 worktree 实现并行执行
- 每个任务一个分支 + 自动创建 PR
- 支持 YAML 和 GitHub Issues 数据源
- 并行分组
v2.0.0
- 支持 OpenCode
- 增加重试逻辑
--max-iterations、--dry-run
v1.0.0
- 初始发布
贡献指南
开发指南请参阅 CONTRIBUTING.md。
核心原则:
- 保持每次更改小而集中——每个提交只包含一个逻辑变更
- 将大型任务拆分为微任务
- 质量优先于速度
- 不要留下未使用的代码
- 抵抗熵增——让代码库比你接手时更好
AI 编码助手可参考:
- CLAUDE.md —— Claude Code 使用说明
- .cursorrules —— Cursor IDE 规则
社区
许可证
MIT
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
n8n
n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。
AutoGPT
AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台,核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点,让用户只需设定目标,AI 即可自主规划步骤、调用工具并持续运行直至完成任务。 无论是开发者、研究人员,还是希望提升工作效率的普通用户,都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体;研究人员能基于开源架构探索多智能体协作机制;而非技术背景用户也可直接选用预置的智能体模板,立即投入实际工作场景。 AutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑,每个块负责单一动作,灵活且易于调试。同时,平台支持本地自托管与云端部署两种模式,兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本,即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛,让人人都能成为 AI 的创造者与受益者。
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信