Craft Anything 軟體重建工作流程

文件類型
使用手冊
更新日期
閱讀時間
7 分

整理 Craft Anything 的 Rust 安裝、Claude Code 與 MCP 整合、Clean room/Deep 模式、網站與遊戲重建流程,說明驗證分數、Agent 權限、費用與 alpha 階段限制。

來源
文件資訊
storytold/craft-anything
授權
MIT OR Apache-2.0

從可追溯的觀察建立新專案,再以比較結果安排修正;先確認分析模式與建置 Agent 的權限範圍。

工作階段
4Study、Build、Check、Ready
宣告 Rust 需求
1.97+依此版 Cargo.toml
預設比較寬度
31440、768、390 CSS px

01輸入、產出與使用範圍

系統定位

Craft Anything 是以 Rust 實作的軟體分析與重建工具。使用者提供目標及需求,由分析引擎蒐集證據,編碼 Agent 建立新專案,再以檢查結果安排修正;目前屬於 early alpha。

項目內容
目標網站 URL、應用程式或遊戲路徑;也可不提供原始目標
操作介面egui 桌面工作臺、CLI、MCP server
分析產出證據紀錄、涵蓋範圍、限制與尚未解答的問題
建置產出新專案、比較報告與後續需求紀錄
適用範圍自有或獲準分析的軟體、介面重建及實驗性原型
重建與檢查流程
  1. Study

    • 目標與需求
    • Clean room 或 Deep
    • 證據與未知項目
  2. Build

    • 本機編碼 Agent
    • 指定技術棧
    • 新專案檔案
  3. Check → Ready

    • 建置與畫面比較
    • 差異回饋與修正
    • 預覽與人工驗收

Ready 可能仍有未通過的比較項目;交付前檢查最後一輪的所有結果與未知項目。

獨立分析可不使用 AI。建立新軟體需要編碼 Agent;瀏覽器 WebAssembly 版本主要提供檔案檢視,不能據此推定具有完整桌面重建能力。

02原始碼建置與必要元件

安裝與診斷

  • 未完成:

    原始碼宣告需要 Rust 1.97 或更新版本。

  • 未完成:

    已安裝 Git,並依所選技術棧準備建置工具。

  • 未完成:

    建置工作已準備可執行且已登入的編碼 Agent。

  • 未完成:

    網站擷取所需的瀏覽器已準備;先閱讀 doctor 的相關診斷。

以下是官方原始碼安裝路徑。本報告僅查閱文件與程式碼,未編譯或執行 Craft Anything,也未執行任何 AI 重建。

bash
git clone https://github.com/storytold/craft-anything
cd craft-anything
cargo install --path apps/craft-anything-cli
craft-anything-cli doctor

啟動桌面介面:

bash
cargo run --release -p craft-anything

Debian/Ubuntu 的桌面版本另需官方列出的系統套件:

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

需要預編譯版本時,先查看 GitHub Releases 的實際附件與校驗資訊。原始碼的版本欄位不能證明同版本安裝檔已發布。

03Clean room 與 Deep 的資料範圍

分析模式

模式可用資料與行為需要確認的界線
Clean room預設模式;使用訪客可見的畫面、文字與量測,以及使用者提供的截圖與描述引擎以工具白名單限制讀取原始目標內部資料;外部 Agent 的讀取規則仍依 adapter 而異
Deep開放內部檔案與程式碼分析;網站可讀取 JavaScript,並在可用時使用 Ghidra只對有權分析的目標啟用;需另行檢查檔案、素材與服務條款

使用 --clean-room 或 --deep 可指定單次 CLI 執行模式,兩者不能同時使用。這類命令列覆寫不會改寫永久模式設定。

Clean room 的資料存取策略不提供作業系統層級隔離。白名單包含部分可能改動環境的工具,例如手機應用程式安裝;執行前仍須檢查工具權限與 Agent 行為。

Deep 模式即使未安裝 Ghidra,仍可使用內建分析引擎。Ghidra 屬於延伸分析路徑,啟用 Deep 不代表所有檔案格式與函式都能完整還原。

04桌面、CLI 與 MCP 的共用引擎

核心能力

工具探索

craft-anything-cli commands

列出目前可用工具

依工具集查看命令;文件中的工具總數存在差異,實際介面以安裝版本列出的內容為準。

環境診斷

craft-anything-cli doctor

檢查依賴與 Agent

確認工具是否可用;必須分別檢查 backend 設定與 builder 登入,不以退出碼推定已準備完成。

完整重建

craft-anything-cli rebuild

執行觀察與修正流程

接收目標與需求,建立專案並執行檢查;--rounds 是初次建置之後的修正輪數。

Agent 整合

craft-anything-cli mcp

提供 MCP 工具

讓 MCP client 使用共用引擎;啟動 server 與將設定寫入 Agent 是不同操作。

設定安裝

craft-anything-cli setup

連接編碼 Agent 應用程式

首次註冊需明確選擇 client;套用前先檢查 dry-run 所列的設定修改。

證據回讀

core_evidence_browse

分頁檢視證據

工具回傳大型結果摘要後,可縮小欄位或分頁讀取,保留來源與涵蓋範圍。

桌面介面操作方式
Simple預設介面,以專案階段與核准卡操作
Advanced提供函式、反組譯及證據面板

可用工具受分析模式與依賴限制。

05登入、核准與外部服務

Agent 與權限設定

路徑此版已知狀態操作原則
Claude Code執行使用者本機的 claude;官方已有實際 builder 執行紀錄先確認登入,檢查專案核准與 Auto mode 設定
Codex有 adapter;官方標為尚未在真實安裝環境驗證,且不支援續接 session先以可丟棄專案驗證,不將存在 adapter 視為完整支援
ACP Agent多種 adapter 可設定;官方只記錄 Maki 的實際 ACP 執行逐一確認讀取、寫入與命令核准是否受到相同限制
API backend提供分析與自有建置迴圈;官方未記錄實際 API 重建檢查 provider、傳送資料、用量與錯誤紀錄
生成素材需使用者開啟並提供 fal.ai key;有專案預算未規劃素材生成時維持關閉;編碼模型費用另計

Claude Code 的 builder 透過 MCP 工具處理核准,並先檢查登入與 CLI 是否能啟動。專案中的 session 與對話可包含目標內容;分享專案資料夾前先檢查內容。

首次連接 Claude Code client 時,先預覽設定,再決定是否套用:

bash
craft-anything-cli setup --client claude_code --dry-run

確認預覽內容後,套用並檢查 client 註冊:

bash
craft-anything-cli setup --client claude_code --yes
craft-anything-cli doctor --client claude_code

依 setup 結果重新啟動 client。這會修改整合設定;本次報告查核未執行此操作。

這是 client 註冊流程,不取代 builder 登入。單獨執行 setup 主要重新整理既有註冊;首次安裝應明確選擇 client。

Auto mode 預設開啟,可讓多數 builder 動作自動繼續;特定敏感操作不會自動執行,Auto 模式下可能直接拒絕。CLI 的 --unattended 會選擇問題的第一個選項並拒絕核准,不能把它當成「所有權限都開啟」。

06修正輪數、證據與既有專案

操作原則

指定技術棧

在需求中寫出語言、框架或遊戲引擎;支援 --build-with 的新專案也可明確指定。既有專案續作保留原有技術棧。

控制比較範圍

預設網站寬度為 1440、768、390 CSS px,並額外研究最多 4 個頁面。動態區塊與巢狀選單仍需人工驗收。

保留證據與未知項目

閱讀 checks/ 與尚未比較的項目;視覺分數不能證明資料寫入、付款或登入流程正確。

區分修改與素材資料夾

--existing edit 會把既有檔案當成應用程式直接修改;start-from 則把檔案當作起始素材,另在 app/ 建置。先備份並確認路徑。

桌面預設最多進行 6 輪修正,CLI --rounds 預設為 2 輪,均不包含初次建置。增加輪數會增加 Agent 使用量,仍可能在未通過檢查時停止。

07需求、執行與可觀察產出

網站重建範例

以下是依原始碼介面編寫的操作範例,未實際執行。以 example.com 練習畫面重建,需求明確指定新專案使用的技術棧與原創內容。

bash
craft-anything-cli --clean-room rebuild https://example.com "Recreate the visible layout as a static HTML and CSS page. Use original text and no copied brand assets." --rounds 1

依終端顯示的 Project: 路徑開啟專案,檢查以下資料:

路徑應檢查內容
craft.json需求、目標、狀態與歷程
capture/原始目標的可見擷取資料與頁面範圍
app/新專案及其執行方式
checks/各輪比較報告與畫面差異
investigation.cany/分析證據與未知項目
inbox/尚待處理的問題或核准

後續需求使用實際專案路徑;--continue-in 指向專案根目錄,不是其中的 app/:

bash
craft-anything-cli --clean-room rebuild https://example.com "Make the header blue and keep the phone layout readable." --continue-in "/absolute/path/to/project" --rounds 1

續接被中斷的工作時,加上 --resume;此時需求參數會被忽略。一般後續修改不需要加上 --resume。

08內建分數與官方執行紀錄

驗證結果與成熟度

檢查可確認事項仍需補驗
網站畫面預設多尺寸比較、版面與 SSIM 細節差異;預設 likeness 門檻為 90%真實後端、業務規則及未擷取的頁面與互動
應用程式建置,以及有資料時的畫面與執行比較未被驅動的操作流程與長時間行為
遊戲建置、mechanics 資料與遊戲自己輸出的 --self-test引擎尚未獨立觀察遊玩或量測每個玩法數值
官方實測紀錄有 Claude Code 與個別工具的實際執行紀錄各 adapter、模式與平臺的完整組合

官方 STATUS.md 記錄過單一網站案例達到 96% likeness;這是作者的個案紀錄,不能推定為一般成功率。文件也明列尚無實際 Clean room 建置紀錄,且部分工具只經過合成資料或替身測試。

修正判斷會檢查每項結果是否符合要求;修正輪數用盡後,完成判斷使用最後一筆檢查的 passed。因此 Ready 或 CLI 成功退出,仍可能伴隨低於門檻的網站分數或未通過項目;這是靜態原始碼查核結果,未在本次執行重現。

驗收時逐項閱讀最後一輪的結果,並自行操作產出:

  • similarity:是否達到目前設定的門檻。

  • unknowns:是否還有無法比較的內容。

  • claims:是否有未通過的要求。

需要的條件未通過時,追加明確修正需求或停止交付。

README 與狀態頁的工具數量,和工具目錄中的數量並不完全一致。本報告不以總數作為完整性或成熟度指標;請以 commands 的實際輸出與個別工具狀態評估。

09權限、資料與交付限制

限制與注意事項

限制處理方式
Agent 核准不一致Claude Code、ACP 與直接 CLI adapter 的規則不同;官方列出 Hermes 與 Maki 的讀取或寫入邊界缺口。先核對所選 adapter
本機工具會啟動程序生成專案可能安裝依賴或執行建置;先檢查權限與專案位置
本機工作臺連接外部 AI內容可經所選模型或編碼 Agent 處理;敏感目標需先確認資料傳送範圍
API key 儲存有備援優先使用系統 keychain;失敗時可回退到僅擁有者可存取的明文 ai-keys.toml。分享設定或備份前先檢查
視覺分數有限高 likeness 不能取代功能、可及性與安全驗收
遊戲自我測試有限檢查程式由生成的遊戲回報;人工檢查操作與玩法數值
程式碼與素材授權不同程式碼為 MIT OR Apache-2.0;素材另查 ATTRIBUTION,ArtCraft 品牌另有條款

10最小驗證與官方參考

後續操作

  • 先完成 doctor,以單頁網站驗證目前平臺與 builder。

  • 使用人工驗收結果調整比較範圍,再擴大到應用程式或遊戲。

  • 串接 MCP 前,查閱 commands 與工具目錄,確認模式及必要權限。

  • 遇到失敗時,保存停止原因、專案檢查紀錄與未解項目,再向官方回報。

來源固定於 8638d6b72be3e99dcc73b06f92a8c113932c75f7。官方參考文件:

參考資料