idonafraid-create/GCW

GitHub: idonafraid-create/GCW

GCW 是一项证据驱动的网站解构与重建 Agent 技能,通过对设计 DNA 和 WebGL 渲染进行提取分析,生成可验证的技术规格说明与可运行的本地项目。

Stars: 5 | Forks: 0

# GCW 本英文 README 为权威版本;每当面向用户的行为发生变更时,请在同一变更中更新 `README.zh-CN.md`。

English · 简体中文

GCW 是一项 agent 技能,它可以在每个阶段提供可验证证据的情况下,对网站进行解构、克隆和重建。

GCW — evidence-driven website cloning [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE) · [更新日志](./CHANGELOG.md) GCW 代表 Gao Copy Website。是的,这个名字就是这么直白。但工具本身并不简单: 喂给它一个网站。它返回证据、规格说明以及一个可运行的项目。 ## 你可以做什么 | 目标 | 结果 | |---|---| | 了解网站运作方式 | 带有证据和可迁移技术的技术解构 | | 克隆优秀网站 | 带有路由、响应式、交互和视觉检查的可运行本地项目 | | 重构为你自己的项目 | 设计 DNA、替换指南以及原创的可编辑实现 | | 恢复已拥有的已部署网站 | 在源码不可用时提供经过验证的重放或可维护的重建 | GCW 涵盖静态页面、React/Vue/Next 内容站点、多页面营销网站、重度动画体验,以及 Canvas/WebGL/WebGPU 前端。身份验证、私有服务器逻辑、支付、权限和专有 API 不在默认边界内。 普通网站是首要的用例。GCW 的独特优势在于,相同的工作流可以继续应用于重动效、重交互和 GPU 渲染的网站,同时不放弃证据或浏览器验证。 ## 工作原理 ``` TEARDOWN_PHASE -> FAITHFUL_CLONE -> REVIEW_GATE -> CREATIVE_REBUILD ``` 每个任务都从解构和 `.gcw/SITE_SPEC.md` 开始。研究可以在此停止。构建任务会建立一个范围明确且忠实于原型的基线,然后在 `REVIEW_GATE` 处停止,以便用户可以请求更高的保真度、接受克隆或批准创意重建。 解构深度随目标而扩展:`minimal` 是明确的简单非 GPU 页面配置,`standard` 是默认值,而 `deep` 为复杂渲染和恢复工作保留完整的契约。 | 用户结果 | 工作流 | 实现路径 | |---|---|---| | 研究网站 | 在 `TEARDOWN_PHASE` 之后停止 | 仅限证据 | | 忠实还原结果 | 继续执行 `FAITHFUL_CLONE`,然后审查 | `SOURCE_ADAPT` 或 `CLEAN_REBUILD` | | 创意结果 | 接受忠实基线,然后创建创意简报 | 基线路径,然后是原创实现 | | 恢复源码不可用的自有网站 | 在忠实还原阶段启用恢复 | `PRODUCTION_RECOVERY` 配置 | GCW workflow: public evidence, local reconstruction, verification, and deployment ## 证据编排:GCW 的差异所在 GCW 不仅仅是调用配套技能。它会保留它们的原始证据,将结果转换为一份实现规范,并在证据契约通过之前阻止阶段转换。 ### 配套分析 每次 `TEARDOWN_PHASE`(包括仅用于研究的工作)都会在 `SITE_SPEC.md` 最终确定之前运行 `design-dna`: - [design-dna](https://github.com/zanwei/design-dna) 对于排版、间距、调色板、布局、响应式规则、动效和视觉语言是必需的。 - 当存在 Canvas、WebGL、WebGPU 或 shader 时,必须使用 [web-shader-extractor](https://github.com/lixiaolin94/skills/tree/main/web-shader-extractor);否则,GPU 分析将被记录为 `N/A` 并附带检测证据。 将两者安装在同一个单一的 `.agent/skills` 根目录中。仅研究工作在解构后停止,但不会绕过其必需的分析。 ### 每层一个权威 | 层级 | 权威 | |---|---| | 配套产出物 | 完整的原始 Design DNA 和 Shader 证据 | | `SITE_SPEC.md` | 唯一的人类可读实现规范 | | `teardown-manifest.json` | 机器可读的完成门控 | | `evidence-index.json` | 产出物路径、所有权和 SHA-256 校验和 | ``` .gcw/ ├─ SITE_SPEC.md ├─ teardown-manifest.json ├─ run-state.json └─ evidence/ ├─ evidence-index.json ├─ site-inventory.json ├─ route-map.json ├─ interaction-states.json ├─ screenshots/{desktop,mobile}/ ├─ network/ ├─ design-dna/design-dna.json └─ web-shader-extractor/ ├─ gpu-decision.json ├─ scout-card.json # GPU targets only └─ replay-manifest.json # GPU targets only ``` 当固定证据为空、缺少 Design DNA、GPU `N/A` 缺乏检测证据,或者检测到的 GPU 目标未达到 `TARGET_LOCKED` 和 `REPLAY_READY` 时,`finalize_teardown.py` 拒绝完成最终确定。GCW 会在 SITE_SPEC 中总结这些产出物,但绝不复制或重写它们的原始 schema。 ## 快速开始 ### 1. 安装 GCW 将此代码库克隆作为规范源: ``` git clone https://github.com/idonafraid-create/GCW.git /path/to/GCW ``` 将其链接到该工作区使用的单一 `.agent/skills` 目录中。 Windows PowerShell: ``` New-Item -ItemType Junction ` -Path "D:\your-workspace\.agent\skills\gcw" ` -Target "D:\path\to\GCW" ``` macOS 或 Linux: ``` ln -s /path/to/GCW /path/to/your-workspace/.agent/skills/gcw ``` ### 2. 验证工具包 ``` cd /path/to/GCW npm install npm run install:browser python -m pip install -r requirements.txt npm run check ``` `npm run check` 会验证运行时依赖和配套技能发现。通过环境检查并不能证明特定的克隆已经完成。 在发布对 GCW 本身的更改之前,请运行完整的发布套件: ``` npm run verify ``` 这将运行语法检查、本地 HTTP/Chromium 工作流测试、URL 和凭证边界测试、图像差异门控、CI 安装程序测试以及环境检查。 ### 3. 提出你想要的结果 ``` Use $gcw to study this site, explain its real implementation, and produce a technical teardown: https://example.com/ ``` ``` Use $gcw to create a faithful local clone of this authorized public site: https://example.com/ ``` ``` Use $gcw to extract the design DNA and rebuild this reference with my own content: https://example.com/ ``` 该技能在选择工具和范围之前会执行简短的预检。 ## GCW 会留下什么 - `.gcw/SITE_SPEC.md` 以及固定的路由、交互、网络和截图证据 - `teardown-manifest.json` 和带有校验和的证据索引 - 原始 Design DNA 和有条件的 Shader Target Lock/Replay Ready 产出物 - 路由和资源清单 - 可运行的本地项目和生产构建命令 - `CLONE_REPORT.md`,包含源码与本地差异以及已知差距 - `REPLACE_GUIDE.md`,用于文本、媒体、颜色、字体、模型和数据更改 - 匹配的桌面/移动端截图、数值差异和视觉报告 - 可选的 GitHub Actions 截图回归测试 恢复来源和重放文档仅在确认所有权/授权且缺乏可维护源码时适用。 ## 工具包 | 脚本 | 用途 | |---|---| | `init_reconstruction.py` | 创建非破坏性的 `.gcw/` 项目记录 | | `finalize_teardown.py` | 验证配套产出物并最终确定 SITE_SPEC | | `site_inventory.mjs` | 清点路由并输出站点、路由映射和网络证据 | | `capture_compare.mjs` | 捕获匹配的源状态和候选状态 | | `batch_image_diff.py` | 生成指标、差异图像和 Markdown/JSON 报告 | | `route_smoke.py` | 检查预览路由和代表性文本 | | `install_ci.py` | 安装 GCW 视觉回归运行程序和工作流 | | `advance_workflow.py` | 记录有效的阶段和审查门控转换 | | `download_assets.py` | 可复现地下载授权的清单资产 | | `check_runtime_independence.py` | 拦截源站点请求和嵌入在最终构建中的 URL | | `blender_replace_text.py` | 用于烘焙到 GLTF/GLB 几何体中的文本的可选剧本 | 阅读 [SKILL.md](./SKILL.md) 了解 agent 工作流。[references](./references/) 目录定义了阶段、SITE_SPEC、来源、运行时独立性、恢复、QA、工具和特殊情况。 ## 视觉验证 定义源和候选场景,然后捕获并比较匹配的状态: ``` node scripts/capture_compare.mjs \ --config /project/.gcw/capture-scenarios.json \ --output /project/.gcw/results python scripts/batch_image_diff.py \ /project/.gcw/results \ --diff-dir /project/.gcw/results/diff ``` GCW 可以对齐随机种子、JavaScript 时间、视口、DPR、路由、指针、滚动和就绪状态。GPU 驱动程序、视频、跨域 iframe、worker 和合成器时间仍然会引入噪点;请记录这些区域,而不是削弱所有阈值。 ## 要求 - Python 3.10+ - Node.js 20+ - Pillow - Playwright 和 Chromium - Blender 4.x 仅用于可选的烘焙 3D 文本剧本 ## 安全和重用 仅当目标由用户拥有、已获得预期重用的许可或被明确授权时,才使用 GCW。 - 请勿绕过身份验证、密码、付费墙或其他访问控制。 - 使用最终的标准 URL;包含凭证的 URL 和跨域文档重定向会在浏览器捕获之前被拒绝。 - 在发布克隆或改编版本之前,请单独检查代码和资产许可证。 - 从创意重建中删除跟踪代码和原始品牌残留物。 - 请勿提交在公共捆绑包或配置中发现的凭证。 - 在 SITE_SPEC 第 9 部分中呈现每个对实现至关重要的结论,并将其标记为 `SOURCE`、`PARTIAL` 或 `GUESS`;如果子系统真实度/保真度行无效,解构将无法最终确定。 ## 致谢 GCW 的首个重建基准和生产恢复案例使用 [haoqi.design](https://haoqi.design/) 作为其公开参考。感谢其创建者 Haoqi Wen,他的网站为路由恢复、WebGL 取证、确定性视觉比较和烘焙 3D 文本工作流提供了真实的测试床。GCW 是一个独立项目;此致谢旨在表彰被引用的参考作品,而非本代码库的作者身份。 GCW 协调独立维护的 `web-shader-extractor` 和 `design-dna` 工作流;它并不将其源码打包在内。有关当前的许可证和更新,请参阅上游代码库。 ## 许可证 GCW 在 [MIT License](./LICENSE) 下提供。
标签:MITM代理, WebGL, 特征检测, 网页克隆, 自动化构建, 逆向分析, 逆向工具