Repolode
1bye

1bye/rake

基于 GPUI 的 Rust 框架,用一套代码构建桌面与浏览器应用,并支持运行时检查与 AI 代理控制。

Star
124
Fork
3
未关闭 Issue
1
最近提交
4小时前

这是什么?

Rake 是基于 GPUI(Zed 编辑器的 UI 框架)构建的 Rust 框架,可以用同一份代码同时生成原生桌面应用和运行在浏览器中的 WebAssembly 应用。框架提供类型化路由、相互独立的标签页与历史记录、多窗口支持,以及在导航和退出时执行保存、放弃或取消的守卫机制。

框架还内置 HTTP、存储、文件、剪贴板和偏好设置等共享服务,并提供与视图或标签页绑定的异步加载器。`view!` 宏让开发者以类似标记的语法编写 GPUI 元素。打包支持 DMG、NSIS、AppImage 等格式,并可选配签名的更新控制器。

应用可以暴露带 JSON Schema 的命令,通过 JSON CLI 查看界面树,也可以借助 Chrome DevTools Protocol 由 AI 代理操作。项目目前处于 alpha 阶段,API 在版本间可能变化。

核心功能

  • 01用同一份 Rust 代码生成原生桌面应用和浏览器 WebAssembly 应用。
  • 02类型化路由,支持相互独立的标签页、历史记录和多窗口。
  • 03在导航、关闭和退出时执行保存、放弃或取消的守卫。
  • 04提供 HTTP、存储、文件、剪贴板和偏好设置等共享服务。
  • 05命令附带 JSON Schema,并可通过 JSON CLI 检查运行中的应用。
  • 06支持打包为 DMG、NSIS、AppImage,并可选配签名更新。

适用场景

  • 用 GPUI 开发跨平台 Rust 桌面应用,并同时发布到浏览器。
  • 让 AI 代理通过命令或 CDP 操作和测试运行中的 GPUI 界面。
  • 在 Rust 项目中打包并发布带自动更新的签名桌面应用。

快速上手

  1. 1

    从仓库安装 Rake CLI

    cargo install --git https://github.com/1bye/rake --locked rake-cli
  2. 2

    创建名为 hello-rake 的新应用

    rake new hello-rake
  3. 3

    进入应用目录

    cd hello-rake
  4. 4

    以开发模式运行应用

    rake dev

使用前须知

  • Rake 处于 alpha 阶段,不同版本之间 API 可能变化。
  • 需要 Rust 1.98.0、原生开发工具和 Python 3.11+。
  • 浏览器目标需要支持 WebGPU 的浏览器和对应的 wasm-bindgen-cli;GPUI Kit 仅限原生平台,AppKit 控件仅限 macOS。

收录于专题

标签

常见问题

rake 是什么?
基于 GPUI 的 Rust 框架,用一套代码构建桌面与浏览器应用,并支持运行时检查与 AI 代理控制。 Rake 是基于 GPUI(Zed 编辑器的 UI 框架)构建的 Rust 框架,可以用同一份代码同时生成原生桌面应用和运行在浏览器中的 WebAssembly 应用。框架提供类型化路由、相互独立的标签页与历史记录、多窗口支持,以及在导航和退出时执行保存、放弃或取消的守卫机制。
rake 可以免费使用吗?用的什么许可证?
rake 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
rake 还在维护吗?
活跃维护中。rake 最近一次提交是在 2026年11月7日。
rake 适合用来做什么?
用 GPUI 开发跨平台 Rust 桌面应用,并同时发布到浏览器。 让 AI 代理通过命令或 CDP 操作和测试运行中的 GPUI 界面。 在 Rust 项目中打包并发布带自动更新的签名桌面应用。
rake 怎么安装和运行?
从仓库安装 Rake CLI: cargo install --git https://github.com/1bye/rake --locked rake-cli 创建名为 hello-rake 的新应用: rake new hello-rake 进入应用目录: cd hello-rake 以开发模式运行应用: rake dev
在哪里获取 rake?
源代码和安装说明在 GitHub 上:https://github.com/1bye/rake

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目