
字节笔记本
2026年10月4日 · 约 4 分钟读完
Zed 的界面引擎,被长桥做成了全家桶
想在 Rust 里写一个不卡顿的跨平台桌面应用,选择一直不多:要么 Electron 套壳吃内存,要么原生控件写起来痛苦。Zed 编辑器自研的 GPUI 框架证明了第三条路可行,但它长期只有 Zed 自己在用。现在长桥团队(Longbridge)把它做成了全家桶:gpui-kit,16k stars,Apache 2.0 协议,75 个以上带文档的组件与原语,而且已经在自家的长桥 Pro 桌面交易终端里跑过了生产验证。

项目简介
gpui-kit 在 Zed Industries 的 GPUI 之上分了三层。gpui-component 是带样式的完整 UI 体系,直接拿来建应用;gpui-base 提供无样式行为、状态与基础设施,适合自建设计体系;gpui-shell 是 Rust 宿主的 JavaScript 运行时,为插件生态留口。单个 gpui-kit crate 锁定 GPUI 版本并重导出全部能力,应用依赖列表里只写一行。视觉设计参考 shadcn/ui 与 Reui,图标用 Lucide,起步审美就在线。
核心功能

- 性能口径:120 FPS GPU 加速渲染;数据表格虚拟滚动扛数十万行;内置代码编辑器在 20 万行规模下保持稳定,Tree-sitter 高亮加 LSP 补全。
- 桌面级基建:可停靠布局(面板可调、标签可拖、状态可序列化),Markdown 与 HTML 渲染,图表组件。
- 边界意识:WebAssembly 支持与 AccessKit 无障碍都在,插件运行时不缺位。
- agent 入口:npx skills add longbridge/gpui-kit 一条命令给 coding agent 装上本框架的开发技能。
快速上手
[dependencies]
gpui-kit = "0.7"use gpui_kit::component::button::*;
use gpui_kit::component::*;
use gpui_kit::*;
fn main() {
gpui_kit::application().run(move |cx| {
gpui_kit::init(cx);
gpui_kit::open_window(WindowOptions::default(), cx, |_, cx| {
cx.new(|_| HelloWorld)
})
.expect("Failed to open window");
});
}仓库自带故事画廊(cargo run 直接起)与 dock、editor、markdown、system_monitor 等一排示例,抄起来就能跑。文档站 gpui-kit.com 的文字与插图按 CC BY 4.0 发布,注明出处可自由使用。
适合谁用
要做高性能桌面工具(行情终端、编辑器、本地数据面板)的 Rust 团队是第一受众,生产案例就在眼前。对站内读者更值得留意的连接是:此前聊过的 GPUI 原生 agent 工作台 diri,与这套组件库同根同源,GPUI 生态从「Zed 自用」走向「公共基建」的速度比预期快,Rust 桌面 + agent 工具这个组合的想象空间正在打开。



