在十月底,新出了一款开源软件 Craft Anything 也开始爆火,它和之前提到了逆向工程 REA 有想通之处,不过侧重点还是不一样。REA 主要是"看懂"一切,结果是生成一份带证据的分析报告;而 Craft Anything 则更侧重"看懂之后,还能参考并构造一个类似的出来",结果会是一个能跑的新项目。

仓库地址:https://github.com/storytold/craft-anything
软件说明:看清任意网站、应用或游戏是怎么做的,再让 AI 造一个自己的版本;一个纯 Rust 写的开源净室引擎。把目标指给它,说清想要什么,它就用真实的检查工具研究原作, 让编码 agent 建一个新项目,把结果与原件比对,再反复收敛。
简单点来说就是:
把一个网址、一个游戏、一个软件的截图丢给它,说一句"照这个给我做一个"
它会自己去研究原版长什么样、怎么动的,然后让 AI 写一个出来
最后还拿新做的和原版对着比,告诉差在哪
一、它和"下载别人的源码"不一样
初学者最容易误会的一点:它并不是帮用户去找别人的源代码,而是走的是另一条路,叫净室(clean room) ------不读原版的任何内部东西,不看代码、不看文件、不看网页的 HTML 源码,只看"普通用户能看见的东西"。比如:
- 屏幕上的样子(截图)
- 看得见的文字
- 量出来的布局、颜色、字体、间距
- 把菜单展开之后的样子
然后会根据这些"普通用户看得见"的信息,重新做一个新的出来。当然它也可以看内部代码,不过得手动开 Deep 模式,而且官方写明了"仅供私人使用",有版权使用风险。
二、它的四步工作方式
不管用界面还是命令行运行 Craft Anything,底层都是这四步:
| 步骤 | 它干什么 | 用户干什么 |
|---|---|---|
| Study(研究) | 把目标摸一遍:各种宽度下的页面、代码、文件、运行方式 | 等着,偶尔回答它的问题 |
| Build(构建) | 让本机的 coding agent(AI 编程助手)按用户指定的语言/框架生成项目 | 在审批卡上点同意 |
| Check(检查) | 拿新做的和原版比:网页在三种屏宽下比,游戏跑自测 | 看差距 |
| Ready(就绪) | 打开、试玩、预览,或者继续提要求让它改 | 验收,不满意就说 |
Check 这一步是它和别的工具最大的区别。 很多 AI 生成工具给一个"看着差不多"的东西就结束了,它会明确列出"还没对上"的地方,然后用户一句话,它会接着改。
三、使用之前先确认三件事
1、电脑上得有一个 AI 编程助手,而且已经登录
这是初学者使用 Craft Anything 卡住的头号原因。 Craft Anything 自己不会写代码,它是个"总指挥",真正敲代码的是电脑上的编程助手 coding agent。
官方首选 Claude Code ------它会直接调用用户本机已登录的 claude 程序。当然也可以用其它框架,如:
| Agent | 状态 |
|---|---|
| Claude Code | 首选支持,验证最充分 |
| Codex | 有适配器,但官方说"尚未在真实安装上验证" |
| GitHub Copilot | 走 ACP,需要先 copilot login |
| Grok Build | 走 ACP,需要先 grok login |
| Gemini CLI / Qwen Code / opencode / goose / Hermes / Maki | 可切换,其中只有 Maki 实际跑过 |
Craft Anything 本身开源免费,但 AI 干活要花钱。 要么有 Claude Code 的订阅,要么配 API key 按量付费。这点官方没藏着,只是很多人装完才发现。
2、想清楚要做的目标,是不是碰的
合法的范围是:自己的软件、有权检查的软件、公开可参考的界面样式。不确定的先别急着上手,容易触碰版权风险。
3、留点磁盘,连上网络
Build 阶段它会装项目依赖(npm、cargo 那些),是要下载依赖环境的,首次跑会慢一些。
四、安装
官方给了现成的安装包,能下安装包就别编译,初学者一律走这条路,编译是给要改代码的人准备的。
Windows
去 Releases 页面 下:
| 电脑 | 下哪个 |
|---|---|
| 普通 64 位(Intel/AMD) | craft-anything-<版本>-windows-x64.msi |
| ARM 电脑(骁龙那些) | ...-windows-arm64.msi |
| 32 位老机器 | ...-windows-x86.msi |
不想安装的话,也有 -portable.zip 便携版,解压即用。便携版有个好处:设置就存在程序旁边,不往系统里写东西,删了就是删了,适合先试试水的。
安装包和程序都做了代码签名,Windows 一般不会拦。
macOS
下 craft-anything-<版本>-macos-universal.dmg,通用包,Apple 芯片和 Intel 都能用,已签名并公证,正常双击就能开。
0.2.0 之后的版本,命令行工具已经内置在 app 里了,不用再单独下 zip。只有你打算完全不用界面、纯敲命令行,才需要单独下那个 CLI 包。
Linux
| 格式 | 说明 |
|---|---|
| AppImage | 最省事,给个执行权限就跑,还能用 AppImageUpdate 自更新 |
.deb / .rpm |
Debian 系 / Fedora 系,走包管理器 |
| Flatpak | 沙箱化的,起不了浏览器,研究网站会直接失败 |
| tar.gz | 解压到任意位置 |
这里有个坑必须提前说:想研究网页,别用 Flatpak 版。 它跑在沙箱里,打不开浏览器,而打开浏览器恰恰是它观察网页的手段,用 AppImage 或 deb。
自己想要通过源码编译
bash
# 需要 Rust 1.97 或更新,先 rustup update
git clone https://github.com/storytold/craft-anything && cd craft-anything
cargo run --release -p craft-anything # 桌面应用
cargo install --path apps/craft-anything-cli # 命令行工具
Debian/Ubuntu 还要先补一堆图形库:
bash
sudo apt-get install libxkbcommon-dev libwayland-dev libx11-dev \
libxrandr-dev libxi-dev libgl1-mesa-dev libgtk-3-dev
装完先体检
bash
craft-anything-cli doctor
这条命令会告诉你:装没装好、有没有找到 coding agent、引擎能不能用。卡住了先跑它,比瞎猜快得多。
Win11-x64安装v0.5.0版本后的截图
下面是我在 Win11 上安装软件后的引导界面截图,供参考,这里我安装的是当前最新版本:craft-anything-0.5.0-windows-x64.msi。
安装完成后,打开软件的第一个引导页,选我是新手。

这一步配置 code agent,可以选择已有"提供商",也可以自定义提供商。


这一步也是配置 code agent,可以选择已有"代理",也可以自定义代理。

这一步问使用软件的目的,随便选一个吧。

到此,环境安装和配置就完成了,准备就绪开始吧。

五、第一次运行
打开软件,默认是简单模式(Simple),界面就一句问话:你想制作什么?

三步配置,以上图例我以构建我的博客页面为诉求:
- 选类型:网站 / 应用 / 游戏 / 不使用任何文件,从头开始
- 写需求:针对重建的对象,描写自己的需求
- 开始:点一下开始按钮即可开始
启动后会看到四个步骤依次亮起来,中间它会用大白话告诉当前在干什么,需要拍板的时候会弹卡片进行确认。




描述怎么写,决定了结果好坏
使用时别直接来一句"帮我分析这个网站",要写清楚做成什么样、用什么技术,我这里测试就随意写了一句,可以看到最后实现的效果并不好,相似度仅仅只有 2%。
差的写法:
照这个做一个
好一点的写法:
Recreate this website: 首页、文章列表、右侧工具栏、文章详情页等页面,
用 React 加 Tailwind,深色主题。
如果描述太过笼统说"全都要",它就真会去研究全站,然后 Build 半天还没接触。
中途会弹审批卡
它跑命令、装依赖、写文件之前会问你。卡片上一般两个按钮:
- Allow once:这次允许
- Always for this project:这个项目以后都允许
**初学者建议一律点 Allow once(允许一次),我这里为了测试省事,就选了此项目中允许。

六、看懂它生成的项目文件夹
这点很多人忽略了。每个项目默认放在 Documents/Craft Anything 下面(设置 → General 可以改),里面内容如下:

| 名字 | 里面是什么 | 什么时候用 |
|---|---|---|
craft.json |
用户的请求、目标、状态、历史 | 想知道"我当初是怎么描述它的" |
capture/ |
从原版录下来的东西 | 怀疑它看错了目标时,翻这个 |
app/ |
生成出来的项目,能直接跑 | 用户要的成品就在这 |
checks/ |
每次和原版比的记录 | 想看"到底差在哪",这里最诚实 |
investigation.cany/ |
证据 | 它每个结论的依据 |
inbox/ |
还没回答的问题 | 它卡住等用户回话的地方 |
这个结构最大的好处是:成品是一堆普通文件,不是一个黑盒子。 如果不喜欢它选的框架,直接拿 app/ 去 VS Code 里改,改完接着用,不用被它绑架。
七、Clean room 和 Deep
Clean room 不是沙箱。
官方特意写了一句话提醒,翻译过来:它只是"决定给 AI 哪些工具"的一条规矩,不隔离电脑。AI agent 还是用户的身份、电脑权限在跑,它能读什么、写什么、运行什么,取决于它自己。
所以不能以为开了 Clean room 就安全了,这是两码事:Clean room 管的是"别抄人家的东西",不管"别弄坏用户的电脑"。
两种模式的实际差别
| Clean room(默认) | Deep | |
|---|---|---|
| 能看原版内部吗 | 不能。只看截图、可见文字、量出来的样式 | 能。读代码、读文件、读 JS、监控启动页 |
| 用什么引擎 | 内置引擎 | 内置引擎 +(装了的话)Ghidra |
| 适合什么 | 正常重建,法律上最干净 | 私人研究、真要弄明白内部逻辑 |
| 官方态度 | 默认,推荐 | 仅供私人使用 |
怎么切换 Deep 模式
三个地方都行:
- 标题栏上有个开关
- 设置里
- 命令行:
settings_set deep_mode true
单次运行想指定,就加参数:--deep(开深)或 --clean-room(强制净室)。
切换之后会发现工具变多了------Clean room 下很多工具是被拒掉的。

八、会敲键盘的玩法:命令行
界面确实好用,但命令行更可控、更容易写进脚本。三个命令记熟就够:
bash
craft-anything-cli commands # 列出全部 320 个工具,按工具集分组
craft-anything-cli mcp # 把自己变成一个 MCP 服务,任何 MCP 客户端都能接
craft-anything-cli rebuild ... # 直接跑一次完整重建
rebuild 的四种用法
bash
# 1. 照着一个网址重建
craft-anything-cli rebuild https://example.com "Recreate this website"
# 2. 不指定目标,只描述要什么(减号表示"没有目标")
craft-anything-cli rebuild - "A snake game in Rust" --rounds 1
# 3. 在已有项目上继续改
craft-anything-cli rebuild https://example.com "Make the header blue" \
--continue-in "<项目文件夹>"
# 4. 在我自己的文件夹里改
craft-anything-cli rebuild - "Add a contact form" \
--project-folder "<用户的文件夹>" --existing edit
--rounds 1 是限制只跑一轮研究-构建-检查,想快速看看效果时很有用,省时间也省钱。
接到别的 AI 客户端里
bash
craft-anything-cli mcp
这条一跑,它就是个 MCP 服务了。任何支持 MCP 的客户端都能调用它的 320 个工具------每个工具既是 CLI 命令,也是 MCP 工具,这是它设计上比较聪明的一点:不用为界面和命令行学两套东西。
顺便说个冷知识:检查(Study)这一步不需要 AI。 官方的说法是"检查不需要 AI",所以想批量看一堆文件是什么、里面有什么,纯用 CLI 也能干活,不烧 token。
九、六个必踩的坑
1、卡在 Build 不动
八成是没登录 coding agent,跑 craft-anything-cli doctor,它会直接告诉当前环境缺什么。
2、用 Flatpak 版研究网页,一直失败
沙箱起不了浏览器,换 AppImage 或 deb,别再试了。
3、macOS 说"无法验证 craft-anything-cli"
从浏览器下的 zip 会被 Gatekeeper 拦,要么按提示去"系统设置-》隐私与安全性-》仍要打开",要么干脆用终端下:
bash
xattr -d com.apple.quarantine <craft-anything-cli 的路径>
(0.2.0 以后 CLI 内置在 app 里了,多数人不会遇到这个。)
4、以为 Clean room 是安全沙箱
不能以为开了 Clean room 就安全了,Clean room 管的是"别抄人家的东西",不管"别弄坏用户的电脑"。
5、对"Always for this project"上瘾
这个选项一旦点了,以后这个项目里同类命令就不再问用户了。问题是------装依赖的时候,npm 包是可以执行代码的。 npm 默认就会跑每个包的安装脚本,Rust 的 build script、Python 的源码包也都一样。
官方原话的意思是:Craft Anything 遇到没见过的命令会先问用户,但要是给了"永远允许",之后所有 npm 命令就都直接跑了。所以:只对自己信得过的项目用"永远允许";想保险一点,装包时用:
bash
npm install --ignore-scripts
6、把它当"一键抄站神器"
官方把边界写得很清楚:它只基于证据重建布局、样式和行为,并且明确要求 agent 不要复制 logo、照片、文字,除非确认自己拥有或有权使用 。它也从不绕过 DRM、登录验证、反作弊。
换句话说,它能给用户一个"长得像、动得像"的壳,但这个壳能不能拿去用、能不能商用,得好好权衡。
另外当前它还是 early alpha 版本。官方自己列了"部分完成"的清单:用 API key 和其他 agent 构建(写了,没真跑过)、应用和游戏的行为检查、少数引擎工具只在替代品上测过。别拿它上生产,先用它练手。
十、最后建议
这里只是入门教程说明,如果真要上手使用,还是建议:先拿它做自己想做但一直没动手的小东西,比如一个贪吃蛇、一个落地页、一个计算器。用它跑通一遍四步流程,就知道它哪儿强、哪儿还有待改进了。
赶紧动手试试,你学废了么 ^ ^ Good Luck~