namuh-eng/ralph-to-ralph
GitHub: namuh-eng/ralph-to-ralph
一条完全自主的 AI 驱动流水线,能从任意 SaaS URL 自动生成、测试并部署功能完整的全栈克隆产品。
Stars: 12 | Forks: 2
# Ralph-to-Ralph
**给它一个 URL。返还一个已部署的全栈克隆。**
一个自主流水线,能够审查任何 SaaS 产品,构建具备真实云基础设施的可运行克隆,测试所有内容,并将其部署——全程无需人工干预。
[](LICENSE)

## 效果验证
我们在 Ralphthon Seoul 2026 期间将 Ralph-to-Ralph 指向 [resend.com](https://resend.com),最终成果如下:
| 指标 | 结果 |
|--------|--------|
| 构建的功能 | **52** |
| 代码行数 | **24,000+** |
| 通过的单元测试 | **388** |
| 仪表板页面 | **10** |
| API endpoints | **16+** |
| 总耗时 | **~4 小时**(完全自主) |
| 人工干预 | **零** |
该克隆版通过 AWS SES 发送真实邮件,验证真实域名,通过 Cloudflare 自动配置 DNS,并将自己部署到了 AWS App Runner。它在黑客马拉松中获得了**第二名**。
## 目录
- [为什么做这个](#why)
- [工作原理](#how-it-works)
- [快速开始](#quick-start)
- [构建内容](#what-gets-built)
- [流水线深入解析](#pipeline-deep-dive)
- [自定义配置](#customization)
- [项目结构](#project-structure)
- [常见问题](#faq)
- [贡献指南](#contributing)
- [团队](#team)
- [许可证](#license)
## 为什么做这个
大多数 AI 编程演示生成的都是玩具应用——只有单页面、硬编码数据且没有测试。我们想知道:**AI 智能体能否自主克隆一个真实产品,端到端地完成,并配备真实的基础设施?**
Ralph-to-Ralph 就是答案。它不是简单地搭建脚手架或生成样板代码。它会像人类一样浏览目标产品,编写详细的 PRD,使用 TDD 实现每一个功能,搭建真实的云服务,运行独立的 QA,并进行部署。整个流水线无需人工值守即可运行。
## 工作原理
Ralph-to-Ralph 是一个由看门狗编排器管理的三阶段自主流水线:
1. **审查 (Inspect)** (Claude + [Ever CLI](https://foreverbrowsing.com)) — 浏览目标产品,提取文档,截取屏幕截图,并生成包含 50+ 功能的详细 PRD
2. **构建 (Build)** (Claude) — 使用 TDD 逐一实现每个功能,搭建真实的云基础设施(AWS SES, RDS Postgres, S3),并在每个功能完成后提交代码
3. **QA** (Codex + [Ever CLI](https://foreverbrowsing.com)) — 一个独立的评估器,根据原始产品测试每个功能,发现 bug,修复它们,并验证结果
**看门狗编排器** 将这一切串联起来,具备失败自动重启、每次迭代后 git commit + push,以及最多运行 5 个循环的构建-QA-修复闭环,直到所有测试通过。
## 快速开始
### 前置条件
| 工具 | 用途 |
|------|---------|
| [Node.js 20+](https://nodejs.org/) | 运行时 |
| [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) | 驱动审查 + 构建阶段 |
| [Codex CLI](https://github.com/openai/codex) | 驱动 QA 阶段 |
| [Ever CLI](https://foreverbrowsing.com) | 用于审查和 E2E 测试的浏览器自动化 |
| [AWS CLI](https://aws.amazon.com/cli/) | 云基础设施(通过 `aws configure` 配置) |
| Docker | 部署 |
### 运行
```
# 克隆
git clone https://github.com/jaeyunha/ralph-to-ralph.git
cd ralph-to-ralph
# 安装
npm install
npx playwright install chromium
# 配置
cp .env.example .env
# 使用您的 AWS、Cloudflare 和其他凭证编辑 .env
# 配置 AWS 基础设施 (RDS, SES, S3, ECR)
bash scripts/preflight.sh
# 开始
./scripts/start.sh https://your-target-product.com
```
就是这样。系统将审查目标,通过测试构建每个功能,独立进行 QA,并部署到 AWS App Runner。
## 构建内容
该循环产出一个**功能完整、已部署的产品**——而非模型或原型。
| 能力 | 实现方式 | 时机 |
|------------|---------------|------|
| 全栈 Web 应用 | Next.js 16 + TypeScript | 始终 |
| REST API | Bearer token 认证 | 始终 |
| 数据库 | 通过 Drizzle ORM 连接 RDS Postgres | 始终 |
| 单元 + E2E 测试 | Vitest + Playwright | 始终 |
| 部署 | Docker + AWS App Runner | 始终 |
| 邮件发送 | AWS SES | 如果目标发送邮件 |
| DNS 管理 | Cloudflare API | 如果目标管理域名 |
| 文件存储 | AWS S3 | 如果目标处理上传 |
| TypeScript SDK | 含 React 邮件支持 | 如果目标有 SDK |
## 流水线深入解析
```
./scripts/start.sh https://target-product.com
│
Watchdog Orchestrator (auto-restart, git push, cron backup)
│
▼
┌─────────────────────────────────────────────┐
│ Phase 1: INSPECT │
│ Claude + Ever CLI │
│ → Browse target, capture screenshots │
│ → Extract docs and API structure │
│ → Generate prd.json (50+ features) │
│ → Write build-spec.md │
└──────────────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Phase 2: BUILD │
│ Claude (one feature per iteration) │
│ → TDD: write tests first, then implement │
│ → make check && make test │
│ → git commit + push after each feature │
└──────────────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Phase 3: QA │
│ Codex + Ever CLI │
│ → Run Playwright regression suite │
│ → Ever CLI verification against original │
│ → Fix bugs and re-test │
│ → Compare output with target product │
└──────────────────────┬──────────────────────┘
│
▼
All features pass?
/ \
Yes No
│ │
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ DEPLOY │ │ FIX + REBUILD │
│ Docker → ECR │ │ (up to 5 loops) │
│ → App Runner │ │ then re-QA │
│ → Live URL │ └───────┬──────────┘
└──────────────────┘ │
└──→ back to Phase 2
```
### AI 智能体
| 智能体 | 角色 | 阶段 |
|-------|------|-------|
| Claude | 审查目标产品并构建克隆 | 1, 2 |
| [Codex](https://github.com/openai/codex) | 独立 QA 评估 | 3 |
| [Ever CLI](https://foreverbrowsing.com) | 用于审查和 E2E 测试的浏览器自动化 | 1, 3 |
## 自定义配置
### 更改目标
```
./scripts/start.sh https://any-saas-product.com
```
### 云凭证
编辑 `.env` 以配置:
- **AWS** — SES, RDS, S3, App Runner(必需)
- **Cloudflare** — 自动配置 DNS 记录(可选)
### 修改智能体行为
系统由您可以编辑的提示词文件控制:
| 文件 | 控制内容 |
|------|----------|
| `inspect-prompt.md` | 审查智能体如何分析目标 |
| `build-prompt.md` | 构建智能体如何实现功能 |
| `qa-prompt.md` | QA 智能体如何测试功能 |
| `pre-setup.md` | 预配置的设置上下文(所有智能体读取) |
## 项目结构
```
ralph-to-ralph/
├── scripts/
│ ├── start.sh # Entry point — starts the loop
│ ├── preflight.sh # Provisions AWS infrastructure
│ └── generate-demo-keys.sh # Generate API keys for demos
├── ralph-watchdog.sh # Orchestrator (inspect → build → QA loop)
├── inspect-ralph.sh # Phase 1 runner
├── build-ralph.sh # Phase 2 runner
├── qa-ralph.sh # Phase 3 runner
├── inspect-prompt.md # Inspect agent instructions
├── inspect-spec.md # Inspection strategy
├── build-prompt.md # Build agent instructions
├── qa-prompt.md # QA agent instructions
├── pre-setup.md # Pre-configured setup (read by agents)
├── ever-cli-reference.md # Ever CLI command reference
├── CLAUDE.md # Instructions for Claude agents
├── AGENTS.md # Instructions for Codex QA agent
├── prd.json # Product requirements (generated)
├── src/ # Next.js app (built by build agent)
├── tests/ # Unit tests (Vitest)
├── tests/e2e/ # E2E tests (Playwright)
├── packages/sdk/ # TypeScript SDK (if applicable)
└── Dockerfile # For deployment
```
## 常见问题
运行一次在 API credits 上花费多少?
针对像 Resend 这样复杂的产品进行一次完整运行(审查 + 构建 + QA),大约需要 $30–60 的 Claude 和 Codex API 综合使用费,具体取决于功能数量和所需的 QA 修复循环次数。对非 SaaS 产品有效吗?
它针对具有仪表板、API 和文档的 SaaS 产品进行了优化。静态网站或原生应用无法产生很好的效果。审查阶段需要可浏览的 UI 以及理想的公开文档才能生成有意义的 PRD。如果某个阶段失败了怎么办?
看门狗编排器会自动重启失败的阶段(审查最多 5 次,构建最多 10 次)。它还会在每次迭代后提交进度,因此您不会丢失工作。如果重试次数耗尽,它会停止,您可以查看日志。我可以跳过某些阶段吗?
可以。如果您已经有了 `prd.json`,可以通过分别调用 `./build-ralph.sh` 和 `./qa-ralph.sh` 直接运行构建和 QA 阶段。每个阶段都是独立的脚本。我可以在不使用 AWS 的情况下使用它吗?
完整流水线需要 AWS(RDS 用于数据库,SES 用于邮件,S3 用于存储,App Runner 用于部署)。您可以修改提示词和 `preflight.sh` 以针对其他云提供商,但这并不是开箱即用支持的。
如果您觉得这个项目有趣,请考虑给它点个 star。这有助于其他人发现它。
## 许可证
[Apache License 2.0](LICENSE) — 随意使用、修改、发布。包含明确的专利授权。标签:App Runner, AWS, DNS解析, DPI, IP 地址批量处理, MITM代理, SaaS, Web 抓取, 云计算, 云资产清单, 产品克隆, 人工智能, 代码自动构建, 开源项目, 数据管道, 无代码开发, 特征检测, 用户模式Hook绕过, 站点复制, 自主系统, 自动化代码生成, 规则引擎, 请求拦截, 软件工程, 软件开发套件, 逆向工程, 部署自动化, 配置审计