☰
ArtCraft:Rust + Tauri AI 图像生成桌面应用源码构建完整指南,10 分钟从 clone 到出图
2026/10/19 1:56:22 网站建设 项目流程

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:安装包三步走

官网按你的系统下载对应安装包,走三步:

  1. 下载安装包(Windows 或 macOS)。
  2. 装完打开,注册并登录。
  3. 开始创作。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 / CSSVite 热重载,React 组件走 Fast Refresh,窗口即时更新,不重启
Rust 代码cargo tauri dev自动重编译并重启应用,依赖的 workspace crate 一并处理
SQLx 元数据 / SQLite 迁移文件被监听,变化即自动重新加载

⚠️ Rust 侧重载属于进程重启,未保存的内存状态会丢。要动端口、登录或认证逻辑,先过一遍 desktop-session-regression.md 里的回归检查项。

十分钟代码巡游

根目录的Cargo.toml把 39 个成员 crate 收进同一个 Cargo workspace(多个 Rust 包共享依赖与配置的集合),全读没必要,按顺序逛这六个站点就行:

  1. 从crates/desktop/artcraft/出发,这是 Tauri 主壳:应用配置、图标、能力声明都在这,窗口行为要变,先看这里。
  2. 接着进crates/api_clients/,fal、Grok、Sora、Midjourney、World Labs 每个 AI 提供商一个 Rust 客户端,想加模型或改调用逻辑就在这动手。
  3. frontend/apps/artcraft/是 React + Vite 前端主应用,你在窗口里看到的一切界面都出自这里。
  4. frontend/libs/是共享组件库,promptbox、moodboard、video-editor 这些大件都住在这,主应用要复用控件先翻这里。
  5. script/artcraft/收着开发、构建、预览的全部脚本,本文出现过的命令都从这里发出。
  6. 最后看一眼_database/sql/,SQLite 任务数据库的迁移文件,表结构要变才需要动它。

翻车急救包

现象一招处理
端口 5193 被占用脚本自动探测下一个端口,也可设 ARTCRAFT_DEV_PORT
前端依赖没装启动脚本自动执行 npm install
Rust 首次编译慢正常现象,之后增量编译快很多
Linux WebKit 兼容问题脚本已内置兼容补丁,不用管
不连库只想查 RustSQLX_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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询