Agentic Research
首頁/工具/ArtCraft 深度教學:AI 生成 App(macOS)與它的工具鏈定位

ArtCraft 深度教學:AI 生成 App(macOS)與它的工具鏈定位

2026/10/1018 分鐘Bryan Chan最後更新 2026/10/10
這篇屬於工具主題ArtCraftAI 生成macOS工具鏈

ArtCraft(實測版本 v0.41.0)是一套 macOS 桌面應用,掌管「AI 生成」——圖像與多模態素材;同一個家族裡的 DesignCraft 則管排版與出版。本文只主張已驗證的事實,拆解它的資料模型、成本,以及它在 agent 工作流裡的正確位置。

定位:桌面 App,不是 CLI

ArtCraft 是桌面 App,不是 CLI。這跟同門的 DesignCraft 相反:DesignCraft 官方已釋出 designcraft-cli(支援 run、script、app、mcp、perf 等頂層子命令),而 ArtCraft 本身實測未見獨立 CLI。

因此自動化的穩定介面是檔案交接:ArtCraft 產出素材、落進資料目錄,再由 CLI 或 agent 接手。誠實邊界很重要——與其把未證實的命令面寫進文章,不如把「用檔案交接」講清楚。

實測資料:App、資料目錄與任務庫

以下全部為實機查證:

項目值
App 路徑/Applications/ArtCraft.app
內部 binaryContents/MacOS/artcraft
版本0.41.0(build 2026-09-26;git c3844ac)
App 資料目錄~/Artcraft/(assets / credentials / downloads / settings / state / temp)
任務庫~/Artcraft/state/tasks_v7.sqlite(加 -wal / -shm 旁檔)
對外 APIhttps://api.storyteller.ai/v1/omni_gen/…(例如 cost/image)
家族成員DesignCraft(排版出版,附 designcraft-cli)

資料模型與查詢

ArtCraft 把每個生成任務寫進 tasks_v7.sqlite;產物落 downloads 與 assets。你可以用唯讀方式查任務狀態,避免鎖住 App。

3.1 唯讀查任務庫

用 immutable=1 開 SQLite,讀取時不寫任何 WAL:

sqlite3 -readonly ~/Artcraft/state/tasks_v7.sqlite \
  "SELECT name FROM sqlite_master WHERE type='table';"

App 也會寫執行日誌 ~/Artcraft/artcraft_debug.log(版本、session、API 往返、狀態同步),是排障的第一站。

3.2 啟動與版本查詢

想查版本又不阻 GUI,用子 shell 起一下就收:

( "/Applications/ArtCraft.app/Contents/MacOS/artcraft" --version & p=$!; sleep 3; kill $p 2>/dev/null )

成本與帳號

生成走 api.storyteller.ai,是計費動作;有 omni_gen/cost/image 端點可以先問價再生成。幾條底線:

  • 憑證存 ~/Artcraft/credentials/ —— 敏感,勿外傳、勿貼上網、勿截圖;
  • session token 會出現在 log,同樣不要抄去任何地方;
  • 大量生成前先查 cost,把成本控制在前端而不是事後帳單。

工具鏈定位:它與誰配

官方家族已為排版一方釋出正式 CLI(designcraft-cli),支援 app(連 App --control)、script、mcp、perf 等。至於 ArtCraft 本身,重點仍是 GUI,自動化接口屬未知,故以檔案交接為穩定介面:

角色工具交接方式
AI 生成ArtCraft(GUI)產出素材
檔案中轉~/Artcraft/downloads素材落地
排版出版DesignCraft(designcraft-cli)讀取素材成稿
Office 檔OfficeCLI文件自動化

建議工作流:人機協作

一個最乾淨的四人接力:

  1. 生成:用 ArtCraft GUI 出素材(先查 cost);
  2. 落地:素材進 ~/Artcraft/downloads;
  3. 排版:交 designcraft-cli 或 officecli 成稿;
  4. 出版:出 PDF/圖,交付。

步驟 2 到 3 的交接示例如下:

cp ~/Artcraft/downloads/*.png ~/Projects/design-work/assets/ 2>/dev/null
designcraft-cli run --sample --cmd file.new='{"preset":"A4"}' --all-pages ./out

下一步