ArtCraft:Rust + Tauri AI 图像生成桌面应用源码构建完整指南,10 分钟从 clone 到出图
【免费下载链接】artcraftArtCraft is an intentional crafting engine for artists, designers, and filmmakers项目地址: https://gitcode.com/GitHub_Trending/ar/artcraft
在 Prompt 框敲下一段场景描述,点下生成,第一张图落到桌面窗口里——这就是 ArtCraft 干的事:一款 Rust + Tauri 构建的 AI 图像生成桌面应用。它把图像、视频、音频、3D 模型与世界生成共 62+ 主流模型收进同一界面,装完得到的不只是一个文生图输入框,而是把一句提示词变成精确、可重复画面的可视化工具集。
先站队:下载还是源码
只想用,走路线 A,官网有 Windows 和 macOS 的正式安装包,两分钟出图。想改代码、参与开发,或者你是 Linux 用户(没有官方安装包),直接走路线 B 源码构建。下面两节各管一条路,只读你选中的那一节。
路线 A:安装包三步走
官网按你的系统下载对应安装包,走三步:
- 下载安装包(Windows 或 macOS)。
- 装完打开,注册并登录。
- 开始创作。Linux 没有官方包,转路线 B。
路线 B:从 clone 到窗口弹出
环境只装三样,完整清单在 dev_setup.md:
- Rust 最新稳定版:用
rustup安装,版本与工具链切换都归它管。 - Node.js ≥ 20:装官方包或用 nvm,仓库验证可用的是 v24.13.0。
- Tauri CLI 2.x(Tauri 是把 Web 前端装进原生桌面窗口的框架),仓库验证 2.10.0 可用,安装命令:
cargo install tauri-cli --version "^2" --locked💡 前端用的 Nx、Vite 不用全局装,启动脚本会在工程内本地补齐。
先克隆仓库:
git clone https://gitcode.com/GitHub_Trending/ar/artcraft cd artcraft再敲启动命令,前端热更新和 Rust 编译一起拉起来:
./script/artcraft/unix_dev.sh脚本背后替你办了四件事:
- 先查本地有没有装好 Vite,缺了就自动执行
npm install,前端依赖无需手动处理。 - Vite 绑定
127.0.0.1,从 5193 端口起逐个探测可用的回环端口,占用的端口它不会动;拿到确切的devUrl后才启动 Tauri。想换个起点,把起始端口前置即可:
ARTCRAFT_DEV_PORT=6200 ./script/artcraft/unix_dev.sh- 前端与 Rust 之间走原生 IPC(Inter-Process Communication,Web 层与 Rust 层直接对话的通道),不必再开第二个 HTTP 端口。
- 按 Ctrl+C 一次,前端、Rust 编译器、桌面应用全部退出;脚本只停自己拉起的进程,不会按名字或端口误杀别的程序。Windows 则在两个终端分别运行
windows_frontend_dev.ps1和windows_rust_dev.ps1。
需要分发版本时再跑这一条:
./script/artcraft/unix_build.sh它替你设置VITE_ENVIRONMENT_TYPE=production与SQLX_OFFLINE=true(数据库离线模式,不连真实数据库服务器),随后执行全量cargo tauri build,📦 产物落在crates/desktop/artcraft/target/release/。
跑起来之后:改代码,看它怎么回
保存文件,看应用对每类改动怎么反应,一张表看完:
| 你改了什么 | 应用怎么反应 |
|---|---|
| JS / TS / React / CSS | Vite 热重载,React 组件走 Fast Refresh,窗口即时更新,不重启 |
| Rust 代码 | cargo tauri dev自动重编译并重启应用,依赖的 workspace crate 一并处理 |
| SQLx 元数据 / SQLite 迁移 | 文件被监听,变化即自动重新加载 |
⚠️ Rust 侧重载属于进程重启,未保存的内存状态会丢。要动端口、登录或认证逻辑,先过一遍 desktop-session-regression.md 里的回归检查项。
十分钟代码巡游
根目录的Cargo.toml把 39 个成员 crate 收进同一个 Cargo workspace(多个 Rust 包共享依赖与配置的集合),全读没必要,按顺序逛这六个站点就行:
- 从
crates/desktop/artcraft/出发,这是 Tauri 主壳:应用配置、图标、能力声明都在这,窗口行为要变,先看这里。 - 接着进
crates/api_clients/,fal、Grok、Sora、Midjourney、World Labs 每个 AI 提供商一个 Rust 客户端,想加模型或改调用逻辑就在这动手。 frontend/apps/artcraft/是 React + Vite 前端主应用,你在窗口里看到的一切界面都出自这里。frontend/libs/是共享组件库,promptbox、moodboard、video-editor 这些大件都住在这,主应用要复用控件先翻这里。script/artcraft/收着开发、构建、预览的全部脚本,本文出现过的命令都从这里发出。- 最后看一眼
_database/sql/,SQLite 任务数据库的迁移文件,表结构要变才需要动它。
翻车急救包
| 现象 | 一招处理 |
|---|---|
| 端口 5193 被占用 | 脚本自动探测下一个端口,也可设 ARTCRAFT_DEV_PORT |
| 前端依赖没装 | 启动脚本自动执行 npm install |
| Rust 首次编译慢 | 正常现象,之后增量编译快很多 |
| Linux WebKit 兼容问题 | 脚本已内置兼容补丁,不用管 |
| 不连库只想查 Rust | SQLX_OFFLINE=true cargo check -p artcraft |
跑起来之后,接一个 10 分钟内可完成的双连击:先在 Prompt 框生成你的第一张图,再顺手改掉一处前端文案,保存,看桌面窗口即时刷新。两关都过,这套 Tauri 桌面应用开发环境就算真正落袋了;更深的开发细节在 docs/ 目录里继续翻。
【免费下载链接】artcraftArtCraft is an intentional crafting engine for artists, designers, and filmmakers项目地址: https://gitcode.com/GitHub_Trending/ar/artcraft
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考