96SEO 2026-08-12 20:56 4
哈喽,大家好,我是 alien。今天我们来讲一个能够将精美网站一键复制的功能——ai-website-cloner-template 的使用和实现原理。
通过本篇文档,你能收获到哪些内容?

ai-website-cloner-template 的完整使用流程与内部实现;第一步先:把 GitHub 上的模板下载到本地:
git clone https://github.com/JCodesMore/ai-website-cloner-template.git
接下来:运行 Claude Code,执行 /clone-website。
案例展示:以掘金() 为例。先看效果对比:
整体评估:
P1 – 摸底 🔎
{tokens,assets。topology}.json}) 均保存在/docs/research/ 和 /docs/design‑references/ *痛点映射:手动收集这些信息往往需要数十分钟甚至数小时而自动化 Phase‑1 能在几分钟内完成全部采集。
P2 – 搭骨架 🏗️
bg-primary text-muted‑foreground)。
next/font/google;话说回来,若为程序字体,则回退至 system‑font‑stack,省去外部请求。icons.tsx。public/images/ 与public/seo/目录。怎么说呢,无法下载时使用基于 ID 的 hash 渐变占位块。保持视觉连贯,怎么说呢,* 痛点映射:传统手工收集 design tokens 与资源常常导致漏抓或冗余。这一步骤通过脚本“一键落地”,解决掉资源管理混乱的问题。
P3 –组件生成 ⚙️
Spec 定义: 每个目标组件对应一套像素级别样式,真实文本内容还有交互模型。所有信息均来源于 Phase‑1 抓取的数据,无需人工猜测。
复杂度预算: 单份 spec 长度控制在 ** 行以内**;以掘金首页为例,将多个 section 拆分成 **N** 个 spec。由 **M** 个 Builder Agent 并行处理。拆得越细,单个 Agent 专注度越高,质量随之提高。
Worktree 并发:
每个 Builder Agent 在独立的 Git worktree 分支上工作,互不冲突。完成后 Orchestrator 按顺序 merge 至 main,并立即执行npm run check 确保“Build Must Always Compile”。
产出: 每个 section 对应一个 React 组件文件 + 对应 spec 文件,实现“先写 spec 再写代码”。
* 痛点映射:多人协作时经常出现代码冲突和不一致的 UI 实现。此阶段通过 worktree 与 Spec 驱动,实现真正意义上的并行开发与零冲突合并。
P4 – 拼装与 QA 🔍
拼装:
在/pages/page.tsx 中按照 z-index 与响应式断点组合各 component。例如 Header 使用 sticky top。移动端浮动按钮采用 fixed 且层级高于 Footer,但不遮挡 Header。
视觉 QA: 脚本同时截取目标站与克隆站三个视口下的全页图,生成对比图。差异判定优先级:
* 痛点映射:没有自动化视觉回归测试的话。需要人工逐帧比对,这既耗时又主观。本 QA 流程实现了客观、一键化差异检测。
// 启动浏览器
const { chromium } = require;const browser = await chromium.launch;// 新建隐身窗口
const context = await browser.newContext;// 独立 session
// 基础操作示例
await page.goto;await page.click;
await page.screenshot;// 完整 API 列表请参考官方文档
const viewports =;for {
const ctx = await browser.newContext({
viewport: { width: vp.width,height: vp.height }。locale: 'zh-CN',userAgent:
'Mozilla/5.0 AppleWebKit/... Chrome/... Safari/...'
});const page = await ctx.newPage;await page.goto;老实说,// 掘金等站点有懒加载。需要额外等待
await page.waitForTimeout;// 截全页
await page.screenshot({
path的观点是。`${outDir}/${vp.name}-full.png`,fullPage: true,});await ctx.close;}
// 在页面内执行 JS 收集所有计算样式
const tokens = await page.evaluate => {
const nodes = document.querySelectorAll;const fonts = new Set。sizes = new Set,colors = new Set;for {
const s = getComputedStyle;fonts.add,sizes.add;if ') colors.add;}
return {
从fonts来看。sizes: .sort,colors:,};}),// 将结果写入 tokens.json
await fs.promises.writeFile(
`${outDir}/tokens.json`,JSON.stringify
);
* 痛点映射:传统 CSS 抽离往往只能拿到源码而非最终渲染值。这里直接获取计算后值,从根源避免了变量解析错误。
// 滚动 Sweep:记录不同 scrollY 时 header 样式变化
const scrollYPoints =;const scrollSnapshots =;for {
await page.evaluate,y);await page.waitForTimeout;// 等待渲染
const snapshot = await page.evaluate => {
const header = document.querySelector;return {
scrollY: window.scrollY,bgColor: header?getComputedStyle.backgroundColor : null,boxShadow: header?getComputedStyle.boxShadow : null,};}),scrollSnapshots.push;}
// 点击 Sweep:模拟点击“最新” Tab 并获取列表数量变化
await page.evaluate => {
const tab = Array.from)
.find === '最新');if tab.click;}),await page.waitForTimeout;// 等待网络请求完成
const latestCount = await page.evaluate =>
document.querySelectorAll.length
);老实说,console.log;// 将交互数据写入 topology.json
await fs.promises.writeFile(
`${outDir}/topology.json`,JSON.stringify
);
* 痛点映射:如果只靠静态截屏无法捕捉 Tab 切换或滚动导致的 UI 改变,本步骤确保所有动态状态都被记录下来从而避免“看不到却影响功能”的隐形错误。
Header — 静态
LeftSidebar — 点击
ArticleList — 点击
ArticleCard — hover
CtaBanner — 静态
RightRail — 静态
Footer — 静态
MobileAppPill — 静态
...
json
{
"sections":
}
此文件会被 Builder Agent 用来定位每个 component 的输入输出规范,这样就能实现“一键生成”。
// 对比 target 与 clone 三个视口下的全页截图
for {
// 本地建立产物页面
const ourCtx = await browser.newContext;const ourPage = await ourCtx.newPage;await ourPage.goto;await ourPage.screenshot;话说回来,
// 原始站点页面 const targetCtx = await browser.newContext;老实说,const targetPage = await targetCtx.newPage;老实说,await targetPage.goto;await targetPage.screenshot;
// 可选:调用 pixelmatch 或 Resemble.js 做像素级 diff 并输出 diff.png }
// 差异优先级检查示例: /* 1️⃣ 尺寸差异 → 宽高不匹配或 padding/gap 错误;2️⃣ 色彩差异 → 背景/文字/边框颜色偏差;3️⃣ 布局差异 → Flex/Grid 顺序错误或 sticky 丢失;*/
* 痛点映射:没有自动化 Diff 时需要开发者手工打开十几张图片进行肉眼比对,这一步骤把时间从「数小时」压缩到「几秒」。
a i - w e b s i t e - c l o n e r - t e m p l a t e 真正价值不在「能复制网站」——这只是 DevTools 的基本功能,而是它把「截图+抄代码」重构为一条"可复用·可验证·可并发" 的工程流水线:
再看关键理念。“先写 Spec,再写代码”。这一步骤倒置是从“AI 玩具”跃升到“AI 工程”的分水岭,也是我们实现大规模网站克隆并保持质量的一把钥匙。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback