想弄清一个网站是怎么做的,通常只有两条路:读它的源码,或者对着截图一寸寸猜。压缩过的代码读不动,猜出来的结果也没法验证。

Craft Anything 走第三条:先用工具以访客身份把原件研究一遍、把证据记下来,再让编码 agent 按证据建一个新项目,最后把两边逐页比对,差在哪儿直接说。

10 月 31 日开源,四天 9,388 星、1,550 个 fork,纯 Rust。

一、它到底是什么

一句话:一个纯 Rust 写的复刻引擎,外面套了三层壳——桌面应用、命令行、MCP 服务器,共用同一个引擎。

项值
语言与规模纯 Rust,13 个 crate,约 25.9 万行
工具数量300 个引擎工具,每个同时是 CLI 子命令与 MCP 工具
测试923 个测试通过(作者 10 月 23 日基线审计)
许可MIT 或 Apache-2.0,二选一
平台Windows / macOS / Linux / FreeBSD,另有 WASM 浏览器查看器
版本公开版 0.2 / 0.3 系列,主分支在 0.4 开发线上
状态早期 alpha(作者自标)

流程固定四步:Study 研究原件 → Build 建新项目 → Check 与原件比对 → Ready 打开试玩。目标分三类:网站、桌面或手机应用、游戏(能识别 12 种游戏引擎)。

适合谁:想复刻一个界面倒推版式的人、想给自己做小工具的人、想验证游戏玩法的人。

不适合谁:想绕授权的人——它不绕 DRM、不碰登录与反作弊;想完全离线零成本跑的人——本地模型目前跑不通。

二、直接用:从安装到第一个复刻

  1. 装桌面版。Windows 有 msi 和便携版,macOS 是签名并公证的 dmg,Linux 有 AppImage、Flatpak、deb、rpm、tar.gz,FreeBSD 给 tar.gz。也可以只用命令行或 MCP,不装界面。
  2. 准备编码 agent。必须是本机已经登录过的 Claude Code,构建全过程由它执行。
  3. 过一遍自检。装完 CLI 后跑 craft-anything-cli doctor,它会告诉你缺什么:编码 agent、引擎、系统依赖。
  4. 建项目。New project,选网站 / 应用 / 游戏,填地址,模式选净室(默认),写一句需求比如"照着这个做",按 Start。
  5. 看结果。项目页给每页的相似度和差异清单,底部输入框继续提要求,它接着改。

三、从源码编一份

需要 Rust 1.97 或更新的版本(工作区用 edition 2024)。

rustup update
git clone <项目仓库地址> && cd craft-anything

# Debian / Ubuntu 跑桌面应用需要这些系统库
sudo apt-get install libxkbcommon-dev libwayland-dev libx11-dev libxrandr-dev \
  libxi-dev libgl1-mesa-dev libgtk-3-dev

# 跑桌面应用
cargo run --release -p craft-anything

# 装 CLI
cargo install --path apps/craft-anything-cli
craft-anything-cli doctor

命令行重建的几个常用形态:

craft-anything-cli rebuild <目标地址> "Recreate this website"
craft-anything-cli rebuild - "A snake game in Rust" --rounds 1
craft-anything-cli rebuild <目标地址> "Make the header blue" --continue-in "<项目文件夹>"
craft-anything-cli rebuild - "Add a contact form" --project-folder "<文件夹>" --existing edit

单次运行想切模式,加 --deep 或 --clean-room,不会保存到设置里。

四、把它的工具接进你自己的流程

每个工具都是双份身份,所以不进界面也能用:

craft-anything-cli commands   # 按 toolset 列出全部工具
craft-anything-cli mcp        # 作为 MCP 服务器供任何客户端调用
craft-anything-cli setup      # 接到编码 agent 应用上

项目产物是明面上的文件夹,不含数据库:craft.json 记请求、目标、状态与历史,capture/ 是从目标录到的内容,app/ 是生成的项目,checks/ 是每一轮比对,investigation.cany/ 是证据,inbox/ 是待你回答的问题。

结果不是一句结论,是带置信度、覆盖范围与局限性的证据记录。大结果先给摘要,再用 core_evidence_browse 分页取,还能按字段值筛选、只取指定列。

在这里插入图片描述
许可层面:MIT 或 Apache-2.0 任选,再分发保留 NOTICE 即可。但 docs/brand/ 里的名称和标志是商标,不在开源许可内,分叉版必须移除。

五、CLI 参数怎么选,报错怎么定位

四个参数的区别,选错了会白跑一轮:

参数用途
--rounds N限制自动收敛轮数。先跑一轮看方向对不对,再放开
--continue-in <文件夹>在已有项目上追加要求,接着改
--project-folder <文件夹> --existing edit文件夹里已经有文件,就地改,不另建 app/
--resume上次被中断(关窗口、断网)的构建接着跑,不从头来

几个常见卡点,都是能自己解决的:

Rust 版本不够。 工作区要求 1.97 以上且用 edition 2024,版本低了编译直接失败,先 rustup update 再用。

Linux 上桌面应用编不过,报找不到 xkbcommon、wayland、gtk 的头文件。 缺的是系统库,不是 Rust 依赖,按第三节那条 apt 命令补一遍。

命令行说找不到 claude。 doctor 会区分三种情况:没装、不在 PATH 上、路径存在但文件没了(比如被更新移走了)。另外,装了 Claude 桌面版不等于装了 Claude Code,这是两个东西,构建只认后者。

净室模式下大批工具报"被拒绝"。 这是设计如此,不是坏了。要读源码、反汇编、看 JS,加 --deep 或到设置里切深度模式。

本地模型跑到第三轮被判不合格。 这是作者的已知结论,不是配置问题:模型能把项目编译起来,但入口文件还是模板,截图检查过不去。

六、容易卡住的几处

  1. agent 必须是已登录的 Claude Code。 它跑你本机那份未改动的 claude,用你自己的登录,程序本身不碰账号。软件免费,账单归你的订阅。
  2. Codex 适配器没验证过。 代码在,但作者明确说没在真实安装上跑通。
  3. 本地模型暂时不行。 11 月 4 日实测:Ollama 跑 14B 编码模型,到第三轮项目能编译,但入口文件还是新建项目自带的 Hello world,截图检查在轮次上限判失败。
  4. 净室会拒绝一切"往里看"的工具。 想读源码、反汇编、看 JS,必须切深度模式,否则工具直接报错并提示你怎么开。
  5. 生成图片和 3D 默认关。 开启要绑一个付费素材服务的密钥,按项目设预算(默认 5 美元),约 0.65 美元一个 3D 模型、0.15 美元一张图。
  6. 原件保护不全自动。 净室配 Claude Code 时有审批规则把 agent 挡在原件文件夹与站点之外;换其他 ACP agent(Gemini CLI、Qwen Code、opencode、goose 等)时作者承认还没做到同等约束。
  7. 实测集中在 Windows 和 Linux。 macOS 有签名公证的安装包,但没有等量的公开实测记录。

七、小结

只想用:下 0.3 系列安装包,确认本机 Claude Code 已登录,doctor 过一遍,从复刻一个静态页面开始,别一上来就挑复杂站点。

想接进流水线:craft-anything-cli mcp 挂到你的 agent,把 rebuild 当成一个可选步骤,产物目录用 checks/ 里的差异清单做验收。

想读源码:crates/ 下 13 个模块,engine 是核心,ai 是复刻流程,ui-egui 是桌面外壳,mcp 是协议层。

Logo

更多推荐