ai-website-cloner-template
用AI coding agent一键克隆任意网站为现代Next.js代码的终极工具链
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用AI coding agent一键克隆任意网站为现代Next.js代码的终极工具链
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你或许有过这样的经历:看到某个设计精美的网站,心里痒痒想知道它是怎么实现的,却只能对着浏览器干瞪眼——右键查看源代码,扑面而来的是压缩成一行的 minified JS、层层嵌套的 iframe、以及根本读不懂的 CSS 类名。更别说那些依赖第三方 CDN 的字体、图片、动画资源,单独拎出来一个都跑不起来。
JCodesMore/ai-website-cloner-template 解决的就是这个问题。这是一个开源的 Next.js 模板项目,它的核心思路是:不给 AI 一张截图让它「猜」,而是把 AI 变成一个拥有 Chrome 浏览器的自动化工程师——让它亲自打开目标网站、截图、提取设计参数、分析每个组件的样式和行为,再基于这些真实数据重建整个页面。
过去一年,AI 辅助前端开发工具井喷——从 Claude Code 到 Cursor,从 Windsurf 到 GitHub Copilot,几乎所有主流 AI coding agent 都具备「生成代码」的能力。但这些工具在面对「复刻一个已有网站」这类需求时,表现普遍拉胯。
核心痛点是信息差。人类设计师看一个网站,能瞬间感知到「导航栏是固定的」「轮播图在第三屏有淡入动画」「这个按钮 hover 时会微微上浮 2px」。但 AI 看到的只是一堆 HTML/CSS 字符串,没有任何「视觉感知」能力。想要 AI 精准复刻,就必须有人把这些视觉信息「翻译」成 AI 能理解的规格说明文档。
这个翻译工作本身就是门槛——需要懂前端开发、了解 CSS 盒模型、知道怎么用 DevTools 提取 computed styles。普通用户根本搞不定。于是出现了一个悖论:最能被 AI 替代的前端工作,反而需要最多的人工干预。
JCodesMore 的解决方案是让 AI 自己完成这个翻译工作。它给 AI coding agent 提供了一个名为 /clone-website 的技能(Skill),这个技能定义了一套标准流程,引导 AI 像人类前端工程师一样逐步分析目标网站,最终生成完整的 Next.js 代码。
/clone-website 技能的执行分为五个阶段,每个阶段都有明确的产出物传递给下一个阶段,形成一条完整的信息链。
第一阶段:侦察(Reconnaissance)。AI 启动 Chrome 浏览器访问目标 URL,对页面进行系统性「踩点」:截取多分辨率截图(桌面、平板、手机)、提取设计 token(颜色、字体、间距)、遍历交互状态(滚动、点击、hover、输入框聚焦)。这个阶段解决的是「网站长什么样」的问题。
第二阶段:基建(Foundation)。基于侦察阶段的数据,更新项目的基础配置——下载 Google Fonts 并替换为本地字体文件、提取品牌主色调并写入 Tailwind CSS 全局配置、把所有图片/视频/Favicon 下载到本地 public/ 目录。这一步确保后续组件开发时不会因为外部资源不可用而出现样式断裂。
第三阶段:组件规格(Component Specs)。这是整个流水线最关键的一步。AI 会对页面的每个区块/组件进行深度分析,写出一份份精确到像素的规格文档,保存在 docs/research/components/ 目录下。规格文档包含:元素的精确 CSS 样式(getComputedStyle() 读取的实际值而非源码声明值)、交互状态(默认、hover、active、disabled、loading)、响应式断点(不同屏幕宽度下的行为)、动态内容(如果数据来自 API,则记录 API 端点和返回格式)。
第四阶段:并行构建(Parallel Build)。拥有完整规格文档后,项目会利用 git worktree 机制,为每个组件/区块创建独立的 git 分支,调度多个 AI builder agent 并行工作。每个 builder agent 接收的是完整的内联规格说明,不需要猜测,不依赖上下文记忆。这种并行模式大幅缩短了整体克隆时间——理论上 N 个组件同时构建,总耗时约等于单个最复杂组件的构建时间。
第五阶段:组装与 QA(Assembly & QA)。各 builder agent 完成工作后,worktree 被合并回主分支,AI 负责「缝合」各个组件(处理 props 传递、共享状态、响应式布局冲突),最后运行视觉 diff 工具对比克隆结果与原站,报告偏差。
项目采用 Next.js 16 + React 19 + TypeScript strict 模式,这是当前全栈 React 生态的最新组合。App Router 提供了更灵活的路由和布局系统,React 19 的新特性让页面加载性能更上一层。
UI 层使用的是 shadcn/ui + Tailwind CSS v4。shadcn/ui 不是传统意义上的 UI 组件库——它更像是一套「设计配方」,通过 Radix primitives 提供无障碍访问底层组件,用 Tailwind CSS v4 的 oklch 色彩空间实现更精准的配色管理。这套组合在 AI 生成代码时具有天然优势:类名语义化、AI 容易理解和修改,且生成的代码可维护性远高于直接生成内联样式。
值得注意的是,项目根目录下有大量 agent 配置文件:.claude/、.cursor/、.continue/、.windsurf/、.codex/、.gemini/、AGENTS.md、CLAUDE.md、GEMINI.md……这些文件通过 scripts/sync-agent-rules.sh 和 scripts/sync-skills.mjs 两个脚本统一生成和维护,保证同一个技能定义(/clone-website)能在所有主流 AI coding agent 平台上保持一致。这是该项目工程化程度极高的体现。
使用门槛分层明显。如果你是一个普通开发者,想要克隆某个网站并自定义修改,整个流程非常顺畅:clone 仓库 → npm install → 运行 Claude Code → 输入 /clone-website https://target-site.com → 等待结果。但实际操作中,用户需要本地安装 Claude Code(或任意支持的 agent),以及 Node.js 24+ 环境。
项目的 docker-compose 部署支持非常完善,docker compose up dev --build 即可在容器中启动开发模式,环境一致性有保障。但核心能力(网站克隆)依赖本地 AI agent 连接外部 API(Claude 等),这使得纯后端部署的价值有限——它更像是一个「AI 工具的运行环境」而非独立服务。
从实测来看,克隆效果与目标网站的复杂度强相关:静态展示类网站(个人博客、作品集页)克隆质量高,交互密集型网站(Web 应用、动态内容)仍需要人工介入调整。克隆结果本身是干净的 Next.js 代码,不含任何原站版权内容,可以自由修改使用。
这个项目的工具属性极强,但争议也很明显。README 明确列出了「禁止用于钓鱼/冒充」「禁止将他人的设计据为己有」「注意网站服务条款」三条红线。然而技术本身是中性的,这类工具的普及确实会降低逆向工程的门槛——原本需要专业前端知识才能完成的工作,现在任何一个会用 AI 工具的人都能做到。
此外,克隆结果与原站的视觉相似度极高(项目自称能精确还原每个 CSS 像素值),这在法律边界上存在模糊地带。不同国家的版权法对「网站外观」的保护范围差异很大,建议用户在使用前咨询法律意见。
从技术演进角度看,这个项目代表了 AI 前端工具的一个新方向:从「生成代码」升级到「分析和理解代码」。它不只是一个模板,更是一套方法论——如何让 AI 像人类一样系统性地分析一个前端项目,并基于分析结果重建代码。这套方法论可以被泛化到更多场景,比如:
从 Star 增长曲线来看,该项目在发布后短期内获得了超过 15,000 颗星,GitHub Trending 多次上榜,反映了社区对「AI + 前端」工具的强烈需求。随着 Claude Opus 4.7 等更强大的 AI model 上线,以及浏览器自动化工具的成熟,这类工具的能力上限还会持续提高。