资讯动态

ArtCraft 桌面应用完整上手指南:Rust + Tauri 环境搭建与源码构建全流程

发布时间:2026/10/14 3:33:55 来源:尧图企业网站定制
ArtCraft 桌面应用完整上手指南Rust Tauri 环境搭建与源码构建全流程【免费下载链接】artcraftArtCraft is an intentional crafting engine for artists, designers, and filmmakers项目地址: https://gitcode.com/GitHub_Trending/ar/artcraftArtCraft 是一款用 Rust 和 Tauri 编写的 AI 创作桌面应用把文生图、图生视频、3D 场景编排这些原本分散在各个网页里的能力收进了一个本地窗口。这篇指南会带你走完从装依赖、克隆仓库到本地开发服务跑通、再打出生产安装包的全过程中途遇到的端口占用、Rust 首次编译慢这类问题也一并交代清楚。先搞清楚它能干什么一张 62 个模型的工具箱官方给 ArtCraft 的定位是 The IDE for artists——不是聊天框式的生成器而是把 prompt 当作可反复调校的创作参数。它把模型选择、画面控制、场景搭建都做成显式的工具同一段提示词可以稳定复现。按能力拆开看大致是这么几块图像文生图与提示词改图覆盖 Nano Banana 系列、GPT Image 系列、FLUX 1.1 pro、Seedream 5 等 16 个图像模型。视频25 个图生视频模型包括 Kling 2.6 Pro、Veo 3.1、Seedance 2.0、Vidu Q3还有 Sora 2 系列。音频Suno Music / Remix / Sounds 加上 Seed Audio 1.0。3D 网格Hunyuan 3D 全系、Tripo3D H3.1、Meshy 6、Rodin 2.5 Fast共 11 个模型支持把图片直接转成可摆位的网格。世界生成World Labs 的 Marble 系列加 Gaussian splat 方案5 个模型。生成之外还有它真正的差异点3D 图像合成、角色摆姿Character Posing、场景 blockingKitbashing、背景抠图、Image to Location让虚拟演员站在同一间屋子里拍多个镜头。也就是说它鼓励你先生成、后合成、再精修而不是一次性赌运气。类别模型数代表模型图像16Nano Banana Pro、GPT Image 2.5、FLUX 1.1 pro ultra视频25Kling 2.6 Pro、Veo 3.1、Seedance 2.03D 网格 / 世界16Hunyuan 3D 3.1 Pro、Marble 1.1 Plus不想碰代码直接拿安装包如果你只是先体验功能官方站点 getartcraft.com 提供 Windows 和 macOS 的安装包装好、注册登录就能用。两个平台差异值得留意Windows / macOS直接下安装包即可登录、模型目录、计费都在应用内完成。Linux没有正式的分发渠道实际路径是走下面的源码构建。项目本身是 Rust TauriLinux 上编译链路完整只是需要装 Tauri 的平台依赖WebKit 相关包启动脚本里已经内置了对应的兼容处理。仓库地图动手之前先知道代码都放哪ArtCraft 的仓库是一个 Rust 工作区加一个 Node 前端 monorepo 的混合结构根目录的 Cargo.toml 声明了 37 个成员 crate。几个关键位置crates/desktop/artcraft/Tauri 主应用。窗口配置在tauri.conf.json能力声明在capabilities/图标在icons/。前端产物最终打进这里。crates/api_clients/各家 AI 提供商的 Rust 客户端一家一个子目录——fal_client、grok_api_client、openai_sora_client、midjourney_client、worldlabs_api_client 等。想加或改某个模型供应商的请求逻辑从这里的对应目录入手。frontend/apps/artcraft/React Vite 主应用app/src下 180 个文件是页面和状态主体。frontend/libs/共享前端组件库。promptbox、moodboard、video-editor、model-selector 都是独立 package带自己的 package.json 和 vite.config.ts通过 Nx 路径别名互相引用。script/artcraft/所有开发、构建、预览脚本的所在地unix_dev.sh、unix_build.sh、Windows 的 PowerShell 脚本都在这一层。_database/sql/artcraft_migrations/桌面端任务数据库SQLite的迁移文件SQLx 查询缓存在根目录.sqlx/。开发环境三件套怎么准备完整依赖说明在 _docs/dev_setup.md核心就三样组件版本要求说明Rust最新稳定版通过rustup安装即可Node.js≥ 20文档验证过的版本是 24.13.0用 nvm 或官网安装包Tauri CLI2.xcargo install tauri-cli --version ^2 --lockedNode 的门槛是 20 不是建议值因为前端用了 Nx 21 和 Vite 6启动脚本会显式检查主版本号低了直接拒绝启动。Tauri CLI 用--locked是为了锁住 CLI 自身的依赖树避免不同版本 CLI 行为漂移。前端用的 Nx 和 Vite 都是 npm 本地安装不需要全局装 Nx。另外注意前端只用 npm——历史上短暂试过 pnpm 又回退了如果frontend/下残留 pnpm 的 lock 文件或node_modules/.pnpm目录npm install 会报 ENOTEMPTY脚本的预检也会直接拦下来需要手动清掉那些残留再装。一条命令起本地开发服务克隆仓库git clone https://gitcode.com/GitHub_Trending/ar/artcraft cd artcraftmacOS / Linux 上启动开发环境只需要一条命令./script/artcraft/unix_dev.sh指定起始端口的话ARTCRAFT_DEV_PORT6200 ./script/artcraft/unix_dev.shWindows 没有合并启动器需要两个终端分别跑 script/artcraft/ 下的windows_frontend_dev.ps1和windows_rust_dev.ps1。这个脚本背后在做什么unix_dev.sh做的事比同时跑两个进程多一点预检确认 node、npm 在 PATH 上且 Node 主版本 ≥ 20检查 pnpm 残留。依赖补装只检查frontend/node_modules/vite/package.json是否存在缺失才执行npm install。这样二次启动不会反复跑依赖安装。找端口Vite 绑定 127.0.0.1从 5193 开始逐个往上试直到占用一个空闲端口。之所以自动顺延而不是固定端口是因为 5193 很可能被别的开发服务占着脚本宁可多试几个也不去动已有的监听进程。HTTP 和 HMR websocket 共享这一个端口。传 URL 给 Tauri拿到真实绑定端口后把精确的 devUrl 交给cargo tauri dev。Rust 端和前端之间走 Tauri 原生 IPC不需要第二个 HTTP 端口。配置覆盖是在内存里传的不改仓库里 check-in 的 tauri.conf.json。退出传播CtrlC 会停掉本次启动的前端、Rust watcher 和桌面窗口如果 Rust watcher 自己挂了脚本会关掉 Vite 并透传退出码。它只管理自己启动的进程不会按名字或端口去杀别的进程。热更新行为哪些改动会重启进程改动落点不同刷新粒度完全不同改 Rust 前最好先有心理预期JS / TS / React / CSSVite 热重载React 组件级别的编辑走 Fast Refresh页面不刷新无法热替换的改动才会整页 reload。Rustcargo tauri dev自动重编译并重启整个应用进程依赖它的 workspace crate 一并重编。之所以是进程重启而不是像前端那样打补丁是因为 Rust 代码运行在 native 进程里Tauri 对源码变化的标准反应就是重建二进制再拉起——进程一死内存里没落盘的状态比如没保存的编辑中间态自然跟着丢。SQLx 元数据 / SQLite 迁移也在监听范围内变化会触发重新加载。第一次启动别急Rust 冷编译量大等是正常现象后续增量编译就快了。生产构建与产物位置发布产物用另一条脚本它会自动设置VITE_ENVIRONMENT_TYPEproduction和SQLX_OFFLINEtrue然后跑cargo tauri build./script/artcraft/unix_build.sh构建完成后可执行文件在crates/desktop/artcraft/target/release/下。脚本还会打印完成时间戳方便记录批次。卡住了怎么办5193 被占不用手动清端口脚本自动顺延想固定就从ARTCRAFT_DEV_PORT指定起点。改过端口、启动器或登录逻辑后建议对照 docs/desktop-session-regression.md 的回归检查项跑一遍因为端口变化会影响原生 HTTP 桥对回环来源的归一化。npm install 失败多为 node_modules 损坏中断的安装或 pnpm 混装。删掉frontend/下的 node_modules 重装预检脚本对 pnpm 残留会直接报错并给出清理命令。只想验证 Rust 能不能过编译SQLX_OFFLINEtrue cargo check -p artcraft不需要数据库服务走的是.sqlx/里的查询缓存。Linux 上 WebKit 异常启动脚本已内置兼容补丁一般不用额外处理若手动绕过脚本跑cargo tauri dev则需要自己补 WebKit 环境。Rust 改动后状态没了这是进程重启的副作用不是 bug。重要数据先落盘再触发 Rust 侧改动。第一次动手改什么比较好跑通之后建议从两个方向挑一个切进去想改界面打开 frontend/libs/ 里的promptbox/这是输入框所在改动会走 Vite 热重载保存即生效反馈最快想理解生成链路去 crates/api_clients/ 挑一家自己熟悉的供应商比如 openai_sora_client看它的请求结构和轮询逻辑再对照artcraft_router/里对应的路由——桌面端所有供应商调用最终都汇聚到那里。两条线都不大半天之内能摸清各自的边界。【免费下载链接】artcraftArtCraft is an intentional crafting engine for artists, designers, and filmmakers项目地址: https://gitcode.com/GitHub_Trending/ar/artcraft创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑