AI Coding

28万Star的REA火了:丢给它一个网址,AI开始复刻整个网站

网页最容易复制的,是样子。 真正难复制的,是它为什么会动。 一个按钮点下去,调用了哪个接口? 一组数据回来之后,又是哪段 JavaScript 把它变成页面? 以前遇到一个喜欢的网站,我们能做的通常只有两件事:截图,或者打开开发者工具,一层一层翻。 现在,GitHub 上一个已经拿到 28万+ St

内容来源:作者提供原稿,经授权发布 · 日期为本站发布/更新日期
REA 官方封面

网页最容易复制的,是样子。

真正难复制的,是它为什么会动。

一个按钮点下去,调用了哪个接口?

一组数据回来之后,又是哪段 JavaScript 把它变成页面?

以前遇到一个喜欢的网站,我们能做的通常只有两件事:截图,或者打开开发者工具,一层一层翻。

现在,GitHub 上一个已经拿到 28万+ Star 的开源项目 REA,正在把这件事交给 AI。

它官网给出的示例提示词,简单得有点离谱:

用 REA 检查 https://rea.tools/。帮我克隆这个网站。

对,就是这个网站。

REA 官网给出的克隆网站提示词

01 这不是截图转代码

先把最容易误解的地方说清楚。

REA 不是把一张网页截图扔给模型,再让模型凭感觉写一份差不多的 HTML。

截图只能告诉 AI:这里有个标题,那里有个按钮。

但一个真正的网站,还有 DOM 结构、可访问性树、脚本、资源、网络请求、状态变化,以及点击之后才会出现的行为。

这些才决定一个页面为什么能工作。

REA 做的事情,是连接到一个正在运行的浏览器,把这些证据交给编码 Agent。

它可以看到页面结构,读取可访问性文本,列出加载的脚本和资源,截取当前可视区域;也可以在一个限定的观察窗口里,记录你点击按钮、刷新页面时发生的网络与控制台活动。

换句话说:

过去 AI 是看着结果猜代码。现在,它可以顺着证据还原逻辑。

REA 实际捕获到的官网首屏

02 我们让 REA 检查了自己

只讲功能没意思。

这次我直接启动了一个隔离的 Chrome,让 REA 6.5.0 连接进去,目标就是它自己的官网 rea.tools。

第一次检查,REA 拿到了:

  • 1,665 个 DOM 节点
  • 618 个可访问性节点
  • 6 个页面脚本
  • 8 项页面资源
  • 一张 1440 × 913 的真实可视区截图

接着,我让它继续分析这 6 个脚本。

结果全部解析成功,一共走过 3,329 个 AST 节点,找到了 5 条模块导入关系。

它还在 main.js 里发现了页面读取 GitHub 仓库信息的接口候选:

https://api.github.com/repos/morluto/rea

这就有意思了。

页面右上角那个不断变化的 Star 数,不再只是一块“长得像数据”的 UI。

AI 已经知道:它从哪里来。

REA 实测证据摘要

然后,我根据 REA 捕获到的结构、文本、脚本和截图,重建了一个可运行的首屏。

导航、主视觉、终端卡片、复制按钮、明暗主题切换,都可以真实操作。

它不是整站复刻,也不是像素级复刻。

但它验证了最关键的一步:只要 AI 获得的不是一张图,而是一组可追溯的证据,网页重建就会从“模仿外观”变成“理解之后再实现”。

根据 REA 证据重建的可运行首屏

完整的本地案例,我也一起放进了交付文件夹,双击 index.html 就能看。

03 怎么用它复刻一个网站

整个流程并不复杂。

第一步 安装 REA

把下面这句发给你的编码 Agent:

请安装 REA,并使用 npx rea-agents@latest setup 完成配置。
先把安装计划展示给我,安装后验证连接是否正常。

也可以直接在终端运行:

npx rea-agents@latest setup

安装完成后,重启你的编码 Agent。

第二步 用隔离浏览器打开目标网站

以 macOS 的 Chrome 为例:

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
  --remote-debugging-port=9222 \
  --user-data-dir=/tmp/rea-browser-profile \
  https://你要分析的网站

这里最好使用一个临时、独立的浏览器配置。

不要把自己日常使用、已经登录各种账号的浏览器直接交给工具。

第三步 把任务交给 Agent

最短的提示词,就是官网那一句:

用 REA 检查 https://目标网站。帮我克隆这个网站。

如果你想让结果更稳,可以直接使用下面这版:

用 REA 检查 https://目标网站。

先连接独立的 Chrome 调试端口,列出页面目标。
采集当前页面的截图、DOM、可访问性文本、脚本和资源。
在观察窗口内重新加载页面,并记录关键网络请求。

请把“观察到的事实、你的推断、仍然未知的部分”分开写。
然后在一个新目录重建首页首屏和关键交互。
先完成桌面版,再验证移动端布局。
每完成一轮,都与原页面截图并排对照后再修改。

如果某个功能只有点击后才出现,就把操作也写清楚。

例如:

开始观察后,我会点击“导出”按钮。
请记录它发起的请求,并定位生成下载文件的脚本。

REA 官方的浏览器指南,用的就是这个思路:用户点击,REA 记录请求,编码 Agent 再去读取对应脚本。

REA 官方浏览器观察流程

04 它真正改变的是什么

网站复刻,以前更像一场手艺活。

你要自己量间距、猜字体、翻样式、盯请求,再一点点补交互。

REA 把其中最机械、也最容易漏掉的观察过程,变成了 Agent 可以调用的工具。

这会直接改变几类工作:

想重做一个落地页。

AI 不只参考视觉,还能读取页面结构和响应式线索。

想研究一个产品的交互。

你可以让 REA 观察登录后的授权页面、按钮流程和数据形状,再重建一个你有权使用的内部版本。

想学习一个优秀网站。

你不必停在“它很好看”,而是可以继续问:导航怎样组织?脚本怎样拆分?数据从哪里来?一次交互经过了哪些步骤?

网页不再只是一张成品图。

它变成了一份可以被阅读的运行记录。

05 但它不是万能下载器

REA 很强,边界也很明确。

它能观察浏览器端已经加载、已经发生、并且在授权范围内可见的东西。

它拿不到网站服务器内部没有暴露出来的源码。

连接之前已经结束的请求,通常也不会凭空回来。你需要重新加载页面,或者重新执行一次操作。

它的截图默认只覆盖当前可视区域。跨域脚本、登录态、付费内容和复杂的实时连接,也都需要额外授权与更细的观察步骤。

所以,“可以复刻所有网站”更准确的理解是:

几乎所有能在浏览器里打开、且你有权分析的网站,都可以成为它的观察对象;复刻到什么程度,取决于你捕获了多少证据,以及你是否愿意继续验证。

这不是一个“一键偷走网站”的按钮。

它更像给 AI 装上了一双终于能看懂软件的眼睛。

以前,我们复制的是像素。

现在,我们开始追踪像素背后的规则。

而真正有价值的,从来不是把别人的页面原样搬走。

是你终于知道,它为什么有效。

---

资料来源

备选标题

  1. 一个网址,一句提示词:REA把网站复刻交给了AI
  2. 真正难复制的从来不是网页的样子:28万Star的REA火了

摘要

REA让AI读懂网页结构、脚本与交互,再按证据重建网站。

标签

REA、网站复刻、开源项目、Vibe Coding、AI编程