Loading...

文章背景图

Craft Anything 保姆级部署教程:让 AI 看懂任何软件、网站或游戏,再帮你重建一个自己的版本

2026-11-05
0
- 字
- 分钟
|

Craft Anything 保姆级部署教程:让 AI 看懂任何软件、网站或游戏,再帮你重建一个自己的版本

适用读者:想搞清楚某个网页/App/游戏到底是怎么做出来的开发者、想做前端复刻练习的设计师、需要「先看懂再动手」的重建类项目作者,以及想把「检查一个目标」这件事交给 Agent 自动跑的工程师。本文按官方 README 逐项展开:它是什么、怎么装、两种模式怎么选、CLI 与 MCP 怎么用、踩坑怎么排。所有命令、版本号、端口与目录结构均来自官方仓库,可对照核验。

Craft Anything 项目页:检查项列出相似度、构建进度与待批准命令

一、Craft Anything 是什么

Craft Anything 是 ArtCraft 团队开源的一套纯 Rust 逆向与重建引擎,官方一句话定位是:See how any website, app or game works, then have AI build your own version(看明白任何网站、应用或游戏是怎么运作的,再让 AI 给你造一个自己的版本)。

它的工作方式不是「丢一个链接给大模型让它猜」,而是把过程拆成有证据的闭环:你指定一个目标、说清你想要什么,它先用真实的检查工具去研究原件的页面、代码、文件与运行方式,再让一个编码 Agent 在你指定的语言/框架/引擎里新建一个项目,然后把新项目与原件逐项比对、列出还不一致的地方,反复打磨到接近为止。

这一点决定了它和「一句话生成 UI」类工具的差别:它先取证,再动手;结果是比对出来的,不是猜出来的。

1.1 核心信息一览

项目 信息
名称 Craft Anything
出品方 ArtCraft Team(社区型创作工具团队)
开源仓库 https://github.com/storytold/craft-anything
官网 https://getartcraft.com/
项目页 https://getartcraft.com/apps/craft-anything
许可证 MIT 或 Apache-2.0(双许可,任选其一)
实现语言 100% Rust(桌面端基于 egui)
工具规模 320 个工具(其中 300 个在引擎内,其余来自 AI 与 setup 层)
支持平台 macOS、Windows、Linux、FreeBSD,另有 WebAssembly 浏览器端
项目状态 early alpha(早期测试版,官方明确标注)
运行前提 本机需装有并已登录的编码 Agent(首选 Claude Code)
构建前提 Rust 1.97 或更新版本
社区 Discord: https://discord.gg/artcraft

1.2 适用场景

  • 网站复刻与前端练手:把它对准一个站点,让它按访问者能看到的信息(截图、可见文本、量出来的布局、配色、字体、间距、展开的菜单)重建一套页面,并在三种屏宽下比对差异。
  • 桌面/手机应用的结构理解:Deep 模式下用内置引擎(装了 Ghidra 就用 Ghidra)读程序的代码与文件,输出带置信度、覆盖度与局限说明的证据记录。
  • 游戏玩法重建:官方给出的是 Unity、Unreal、Godot 三条路径,可以用「把这个游戏的玩法用 Rust 重写」这类请求启动。
  • 固件、抓包、数据库、游戏资源文件的分析:引擎自带解码器、反汇编器与反编译器,不依赖外部程序。
  • 把「检查」接进自动化:每个工具同时是一条 CLI 子命令和一个 MCP 工具,任何 Agent 都能驱动同一套引擎。

1.3 能力边界(官方口径)

  • Clean room 是一条「它提供什么、拒绝什么」的规则,不是操作系统沙箱。官方特别说明:它不隔离你的电脑;你运行的编码 Agent 仍以你的身份行事,能读什么、写什么、跑什么取决于那个 Agent 自己的权限。
  • 不是所有 Agent 的私有工具都能被拦下:Craft Anything 能拒绝哪些工具随 Agent 而异;Claude Code 在对话与提问中的工具清单,官方另给了 docs/claude-code.md。
  • 明确不做:不绕过 DRM、不绕过登录、不绕过反作弊。重建只依据证据复原布局、风格与行为;官方要求 Agent 不得复制 logo、照片与文案,除非你确认自己拥有或已获授权。
  • 当前为 early alpha:官方把「今天能用 / 部分可用 / 已发布 / 下一步」四档写进了 docs/STATUS.md,组件级的核对清单在 docs/tool-status.md,路线图在 docs/ROADMAP.md。请不要按「稳定生产工具」的预期去用。

二、功能特性

  1. Study(研究):用真实检查工具摸清原件的构建方式与实际行为,每个结论都带证据;网站按三种屏宽取样,游戏用自带的 self-test,应用按运行记录比对。
  2. Build(构建):用自然语言说需求(如「Recreate this website」「把这个游戏的玩法用 Rust 重写」),编码 Agent 在你指定的语言、框架或引擎里新建项目;不指定就给合理默认。
  3. Check(检查):新构建与原件逐项比对,直接列出「哪里还不一致」,而不是只给一句「已完成」。
  4. Ready(就绪):可以直接打开、试玩或预览成品;不满意就在底部输入框继续提修改,它接着改。
  5. Simple 模式(默认):三步走——选网站/应用/游戏、填地址、说要求、点 Start。项目页用白话展示四个步骤、Agent 正在做什么、需要你拍板的问题卡与批准卡、当前相似度,以及「打开成品/打开文件夹」按钮。Deep 模式下还可以只选「Just look inside」,只看不建。
  6. Advanced 模式:完整工作台——全部工具(快捷键 Ctrl/Cmd+K)、函数列表、字符串、伪 C 代码、反汇编、十六进制、调用图、证据账本、未知项、任务、日志与 Agent 控制台。两种模式驱动的是同一个引擎。
  7. Clean room(默认):完全不读原件内部——不读代码、不读文件、不读页面源码,只依据「你能看到的东西」工作;会去看内部的工具会被拒绝,并提示你如何切到 Deep 模式。
  8. Deep 模式:全部工具放开,供你私人使用;程序代码与文件用内置引擎读取(装了 Ghidra 则一并使用),网站会读 JavaScript 并观察其起始页。
  9. Agent-ready:craft-anything-cli commands 可按工具集列出全部工具,craft-anything-cli mcp 可把它们作为 MCP 服务暴露给任何 MCP 客户端;结果是有置信度、覆盖度与局限说明的证据记录,体量大的先回摘要,再用 core_evidence_browse 分页翻。
  10. 可选扩展:生成图片与 3D 模型(需自备 fal.ai key,需主动开启);插件体系支持 MCP 服务器,以及在开启 wasm-plugins 选项时加载 WASM 组件。

三、官方界面预览

Make 界面:选择要复刻的是网站、桌面应用还是游戏,填写地址与要求后开始

图注:Make 界面是重建的起点——先选要复刻的是网站、桌面应用还是游戏,填地址,选择 Clean room 或 Deep,说明你想要什么,点 Start 开始。

Advanced 工作台:函数列表、伪 C 代码、Agent 问答与证据账本

图注:Advanced 工作台把「证据」摊开给你看——函数列表、选中函数的伪 C 代码、Agent 带工具调用地在回答提问,以及每一条答案背后的证据账本。截图中的项目是官方为演示专门做的小样例(example.com、一个贪吃蛇游戏和一个小计算器程序)。

四、官方跳转链接汇总

用途 链接
源码仓库 https://github.com/storytold/craft-anything
最新发布(全平台安装包) https://github.com/storytold/craft-anything/releases/latest
全部历史版本与更新说明 https://github.com/storytold/craft-anything/releases
官网 https://getartcraft.com/
项目主页 https://getartcraft.com/apps/craft-anything
工具全清单 docs/tools.md(仓库内)
状态与核对方式 docs/STATUS.md、docs/tool-status.md
路线图 docs/ROADMAP.md
Claude Code 集成说明 docs/claude-code.md
社区(Discord) https://discord.gg/artcraft

五、前置要求

5.1 软件前提

项目 要求 说明
Rust 1.97 或更新 官方注明是某个依赖的要求,升级方式 rustup update
编码 Agent 本机需装好并已登录 构建环节必须有 Agent;doctor 会告诉你缺什么
Claude Code(首选) 已登录的 claude Craft Anything 直接运行你自己那套未修改的 claude,使用你自己的登录态,它本身从不接触你的账号
GitHub Copilot(可选) 已安装的 Copilot CLI 通过 ACP 接入,需单独执行 copilot login 登录
其他 ACP Agent(可选) 支持 ACP 的 Agent Gemini CLI、Qwen Code、opencode、goose、Hermes、Maki 可按后端切换;官方明确目前只有 Maki 做过真机验证
Ghidra(可选) 已安装 仅 Deep 模式会用,不装也能用内置引擎
fal.ai key(可选) 自备 只有要生成图片/3D 模型时才需要

5.2 Debian / Ubuntu 额外系统库(桌面端)

官方给出的原文命令,桌面应用在 Debian 系发行版上需要先装这些开发库:

sudo apt-get install libxkbcommon-dev libwayland-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libgtk-3-dev

5.3 磁盘与目录

  • 新建项目默认落在 Documents/Craft Anything,可在 Settings → General 改。
  • 也可以让项目直接建在你指定的文件夹里(Start 下的「Choose a folder…」,或命令行 --project-folder)。
  • 若目标文件夹里已有文件,它会问你这些文件是什么:应用本体(构建器就地修改)还是起始素材(应用另建在 app/ 旁边)。这个答案可以在 Settings → General 里记住。

六、安装部署

6.1 方式一:源码构建(推荐给要先改代码的人)

git clone https://github.com/storytold/craft-anything && cd craft-anything
cargo run --release -p craft-anything                # 启动桌面应用
cargo install --path apps/craft-anything-cli         # 安装 CLI,命令名为 craft-anything-cli
craft-anything-cli doctor                            # 自检:安装、编码 Agent、各引擎

doctor 是第一次装完必跑的一步:它会分别检查安装完整性、你本机的编码 Agent 是否可用、以及各分析引擎的状态,缺什么直接说。

6.2 方式二:预编译安装包(推荐给只想用的人)

官方在 Releases 页给出了全平台安装包,文件名里的 <ver> 是版本号,SHA256SUMS.txt 列出每个文件的校验和:

平台 可下载形态
Windows craft-anything-<ver>-windows-x64.msi / -arm64.msi / -x86.msi,以及对应的 -portable.zip
macOS craft-anything-<ver>-macos-universal.dmg(arm 与 Intel 通用,已签名并公证);CLI 另有 craft-anything-cli-<ver>-macos-universal.zip
Linux AppImage / Flatpak / .deb / .rpm / .tar.gz,均分 x86_64 与 aarch64;RISC-V 只有 tar.gz
FreeBSD craft-anything-<ver>-freebsd-x86_64.tar.gz
Web(WASM) craft-anything-web-<ver>.zip,浏览器端只做文件识别,文件不出本机

几个官方明确写下的注意点:

  • 0.2.0 之后的版本,CLI 已经打包进 App,只有「不装 App、单用命令行」时才需要额外下那个 CLI 压缩包。
  • Linux 的 AppImage 自带 CLI:用 <AppImage> --cli <命令> 调用(例如 <AppImage> --cli mcp 给 MCP 客户端用),也可以建一个名为 craft-anything-cli 的软链指向 AppImage。
  • Flatpak 是沙箱形态,安装用 flatpak install --user <file>。
  • macOS 用浏览器下载 CLI 压缩包可能被拦,提示「Apple could not verify craft-anything-cli」——因为单个裸程序没法自带公证票据,macOS 需要联网查。官方建议改用终端下载安装:
ver=0.2.0   # 换成你要的版本
curl -fLO "https://github.com/storytold/craft-anything/releases/download/v$ver/craft-anything-cli-$ver-macos-universal.zip"
ditto -x -k "craft-anything-cli-$ver-macos-universal.zip" .
mkdir -p ~/.local/bin
mv "craft-anything-cli-$ver-macos-universal/craft-anything-cli" ~/.local/bin/
~/.local/bin/craft-anything-cli --version

要把命令简化成 craft-anything-cli,把 ~/.local/bin 加进 PATH。如果已经被拦过一次,官方给的处理是:点 Done(不要点 Move to Bin),然后执行 xattr -d com.apple.quarantine <craft-anything-cli 的路径>,或到「系统设置 → 隐私与安全性 → 仍要打开」。

  • 想自己验证 macOS 包是否已签名公证,官方给了完整命令:磁盘镜像用 spctl --assess --type open --context context:primary-signature -v 与 xcrun stapler validate;App 用 codesign --verify --deep --strict --verbose=2 与 spctl --assess --type execute --verbose;CLI 用 codesign --verify --strict 并 codesign -dv --verbose=4 | grep Authority。Authority 一行应出现「Developer ID Application」证书,任一项不通过就不要运行该文件。

七、配置项说明

7.1 模式:Clean room 与 Deep

项 默认 切换方式
工作模式 Clean room 标题栏或设置里切换;或 settings_set deep_mode true;单次 CLI 运行可用 --deep / --clean-room
  • Clean room 下,会被拒绝的工具同时会告诉你「怎么开 Deep」,不会静默失败。
  • Deep 仅供你私人使用,是全部工具放开的状态,因此也意味着更高的合规责任(见第十一节)。

7.2 AI 与 Agent 接入

配置位置 用途
Settings → AI 接入 Anthropic、OpenAI、OpenRouter,以及本地 OpenAI 兼容服务用于提问与分析
Settings → General 项目默认目录、记住「已有文件夹算什么」的答案、从更多文件夹里列出项目
Settings → General(项目列表) 把一个项目从列表里移除,只是移出列表,不会删文件

官方对 Agent 的现状说明要照原样理解:Claude Code 是首个支持对象,跑的是你本机那套原版 claude,用你自己的登录,适用你自己的 Anthropic 协议;Codex 适配器已有代码但尚未在真实安装上验证;别的 ACP Agent 可按后端切换,其中只有 Maki 做过真机验证。

7.3 项目目录结构(很重要,排查问题全看这里)

每个项目文件夹里固定是这几样:

文件/目录 内容
craft.json 这次请求、目标、状态与历史记录
capture/ 从目标身上采集下来的东西
app/ 生成出来的项目本体
checks/ 每一次与原件的比对结果
investigation.cany/ 证据记录(答案背后的依据)
inbox/ 待你回答的问题

八、使用流程

8.1 图形界面:四步闭环

  1. Make:选「网站 / 应用 / 游戏」,填地址(网站填 URL,应用与游戏按界面提示),选 Clean room 或 Deep,写清你想要什么,点 Start。
  2. Study:Agent 用检查工具研究原件;需要你拍板的决定会以白话问题卡弹出,越权操作会以批准卡先问你。
  3. Build:Agent 在你指定的技术栈里新建项目,进度与它正在做的事都会用白话写出来。
  4. Check → Ready:查看相似度与「还不一致」清单;点按钮打开成品或所在文件夹;不满意就在底部输入框继续提修改。

只想看看里面是什么、不打算建东西时,Deep 模式下用 Just look inside。

8.2 命令行:不装 App 也能跑完整重建

craft-anything-cli commands                                   # 按工具集列出全部工具
craft-anything-cli mcp                                        # 作为 MCP 服务提供给任意 MCP 客户端
craft-anything-cli rebuild https://example.com "Recreate this website"
craft-anything-cli rebuild - "A snake game in Rust" --rounds 1
craft-anything-cli rebuild https://example.com "Make the header blue" --continue-in "<项目文件夹>"
craft-anything-cli rebuild - "Add a contact form" --project-folder "<你的文件夹>" --existing edit
  • rebuild 过程中需要你决定的事,会直接在终端里问。
  • --rounds 控制打磨轮数(上面的 --rounds 1 即只跑一轮)。
  • --continue-in 沿用已有项目继续改;--project-folder + --existing edit 表示「就地编辑这个已有应用」。
  • craft-anything-cli setup 用来把 Craft Anything 接到各类编码 Agent 应用上。

九、常用运维命令

目的 命令
自检安装与 Agent craft-anything-cli doctor
查全部工具(按工具集分组) craft-anything-cli commands
起 MCP 服务 craft-anything-cli mcp
接编码 Agent 应用 craft-anything-cli setup
看版本 craft-anything-cli --version
升级源码构建的版本 git pull && cargo build --release
升级 Rust 工具链 rustup update
AppImage 自更新 随包提供 .zsync 文件,配合 AppImageUpdate
卸载 CLI(cargo 安装的) cargo uninstall craft-anything-cli

查项目现场时优先看项目文件夹里的 craft.json 与 checks/:前者记着这次任务的状态与历史,后者是每一轮比对的实际结果,比看日志直观。

十、常见故障排查

1. cargo run 报依赖要求更高的 Rust 版本 官方写明需要 1.97 以上。执行 rustup update 后 rustc --version 复核,再重跑构建。

2. 桌面端在 Debian/Ubuntu 上编译失败,提示缺少 xkbcommon / wayland / gtk 相关头文件 按 5.2 的 apt-get install 原文命令补齐开发库再编译。注意这些是 -dev 包,只装运行时不解决编译问题。

3. 点 Start 之后一直不进入 Build 先跑 craft-anything-cli doctor:八成是本机编码 Agent 没装或没登录。Craft Anything 不代管你的账号,它只调用你已登录的 claude;若用 Copilot CLI,需先 copilot login。

4. 用 API key 或非 Claude Code 的 Agent 构建,卡住或失败 官方在状态说明里把「用 API key 和其他编码 Agent 构建」列为已实现但尚未真机跑通。这不是你的配置问题,是项目当前进度;请先用 Claude Code 路径。

5. 想查代码/文件,却一直被拒绝,提示要开 Deep 这是 Clean room 的预期行为,不是 bug。按提示切 Deep(标题栏/设置、settings_set deep_mode true,或单次 --deep)。同时记住:Clean room 不是系统沙箱,切模式只是放开工具,不改变你本机的隔离水平。

6. Deep 模式下 Ghidra 相关能力没生效 先确认本机装了 Ghidra 且能被找到;没装时引擎会退回内置解码器、反汇编器与反编译器,功能范围会窄一些。

7. macOS 上 CLI 打不开,提示无法验证 这是裸程序无法携带公证票据导致的。用 6.2 的终端下载方式重装,或对已有文件执行 xattr -d com.apple.quarantine,再或到「隐私与安全性」里放行。

8. AppImage 提示缺 FUSE AppImage 需要 FUSE 才能直接运行;发行版没装 FUSE 时,要么装 FUSE,要么改用 .deb / .rpm / .tar.gz 形态。

9. 结果「看着像但细节不对」 这是这类重建的正常起点:去看 checks/ 里具体不一致的条目,针对性地在底部输入框提要求(如「把页头改成蓝色」),或用 --continue-in / --rounds 指定继续打磨,而不是整轮重来。

10. 浏览器端(WASM)能做什么 官方口径很克制:它只做文件识别,而且文件不会离开浏览器;把它当成本地分析器,不要期待网页端跑完整重建。网页端需要你自己把 packaging/web/ 目录托管到任意静态 Web 服务器上。

十一、风险与责任使用声明

这一节不是免责套话,是这个项目本身要求你先读的部分。

1. 只在你拥有或获授权检查的软件上使用。 官方原文:Use Craft Anything on software you own or are allowed to examine。它从不绕过 DRM、登录或反作弊;用它去分析别人的付费软件、绕过授权校验或对抗反作弊,既违反项目本意,也可能直接违法。

2. 重建不等于可以照抄。 官方写明:重建只依据证据复原布局、风格与行为,并且要求 Agent 不得复制 logo、照片或文案,除非你确认自己拥有或已获授权。第三方站点的图片、字体、商标、文案都可能另有权利人;把复刻结果公开上线前,请自行完成版权与商标核查。

3. Clean room 不是安全沙箱。 它约束的是「Craft Anything 自己提供哪些工具、拒绝哪些工具」,并不隔离你的电脑。你运行的编码 Agent 以你的身份行事,能读能写能跑的范围由那个 Agent 的权限决定;不同 Agent 的私有工具能否被拦下也不一样。

4. 装依赖就是在跑别人的代码。 官方专门提示:构建器安装项目依赖时,那些命令在你的电脑上执行,而包在安装期间就能运行代码——npm 默认执行每个包的 install 脚本,Rust 的 build script 与 Python 源码包也会跑自己的 setup 代码。Craft Anything 会对本项目里没见过的命令类型(npm、cargo 等)先征求同意;一旦你对 npm 选了「always allow」,之后所有 npm 命令都不再询问,所以只对你信任其依赖的项目这么选。要跳过 npm 包的安装脚本,用 npm install --ignore-scripts。

5. 早期版本的预期管理。 项目自标 early alpha,官方把「部分可用」的组件也写在明面上。涉及生产用途时,请以 docs/STATUS.md 与 docs/tool-status.md 的实际核对状态为准,并保留你抓到的问题到 Issues 或 Discord 反馈。

6. 许可证边界。 代码为 MIT 或 Apache-2.0 双许可,可任选其一;但 ArtCraft 名称、字标与 docs/brand/ 下的 logo 是商标,不在代码许可范围内,只能原样、且仅作为本仓库与 Craft Anything 的一部分使用;fork 与修改版必须移除这些品牌素材。打包的字体、图标、图片等第三方素材各有自己的开源许可,清单见 ATTRIBUTION.md。

7. 账号与隐私。 Craft Anything 不接触也不处理你的 Anthropic 账号,它只是调用你本机已登录的 claude,你对它的使用受你自己的 Anthropic 协议约束;若接第三方 API key(Anthropic/OpenAI/OpenRouter/fal.ai),请求会发往对应服务方,请自行评估数据外发的范围。


一句话总结:Craft Anything 把「看懂一个软件」和「重建一个软件」拆成了带证据的四个步骤,并且把每个能力都同时做成 CLI 与 MCP 工具——它更适合当一个可被 Agent 驱动、可被逐条核对的逆向与重建工作台,而不是一个「一键出成品」的魔法按钮。先用 Clean room 在你自己拥有或获授权的目标上跑一遍完整流程,再决定要不要开 Deep。

评论交流

文章目录