一体化 JavaScript/TypeScript 工具链,集运行时、打包器、测试运行器和包管理器于一个可执行文件。
- Star
- 12,939
- Fork
- 374
- 未关闭 Issue
- 146
- 最近提交
- 前天
这是什么?
Electrobun 是一个用于构建、更新和分发跨平台桌面应用的框架。应用主进程使用基于 Bun 的 TypeScript 编写,界面则运行在相互隔离的 webview 中,两者之间通过类型化的 RPC 通信,主进程与前端代码可以放在同一个代码库里统一维护。
项目重视应用体积和更新效率。自解压安装包使用 Zstandard 压缩,更新优先下发二进制差分补丁(BSDIFF),无法使用时再回退到压缩的完整包下载。可选的 bundleCEF 会打包固定版本的 Chromium,以更大的体积换取渲染一致性;bundleWGPU 则允许直接用 TypeScript 驱动原生 GPU 画面,无需 webview。
项目配套 Hutch 命令行工具,负责构建和管理工作区、SDK 与工具链。可通过 `hutch electrobun init`、`bunx electrobun init` 或 `npx electrobun init` 从模板快速创建项目。官方支持 macOS 14 及以上、Windows 11 x64 和 Ubuntu 24.04 及以上。
核心功能
- 01主进程与 webview 均可用 TypeScript 编写,并通过类型化 RPC 通信
- 02自解压安装包采用 Zstandard 压缩
- 03更新优先使用二进制差分补丁,必要时回退为完整下载
- 04可选择打包 Chromium(CEF)或使用 WebGPU 原生绘图表面
- 05主进程也支持 Zig、Rust、Go 和 Odin
适用场景
- 发布需要频繁小流量更新的 TypeScript 桌面工具
- 为现有 Bun 或 Web 应用构建桌面端
- 在网页界面旁嵌入原生 GPU 渲染内容
快速上手
- 1
使用官方脚本安装 Hutch CLI(macOS 或 Linux)
- 2
也可以通过 npm 直接开始,跳过 Hutch 安装
npx electrobun init - 3
选择模板,然后按照快速入门指南运行应用
使用前须知
- Linux 终端用户系统需要预先安装 GTK 3、WebKitGTK 4.1、Ayatana AppIndicator 和 librsvg 运行时包。
- 替代运行时 Cottontail 基于 JSC,目前处于实验阶段。
标签
常见问题
- electrobun 是什么?
- 使用 TypeScript 等语言构建小巧快速的跨平台桌面应用框架,内置更新与打包流程。 Electrobun 是一个用于构建、更新和分发跨平台桌面应用的框架。应用主进程使用基于 Bun 的 TypeScript 编写,界面则运行在相互隔离的 webview 中,两者之间通过类型化的 RPC 通信,主进程与前端代码可以放在同一个代码库里统一维护。
- electrobun 可以免费使用吗?用的什么许可证?
- electrobun 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- electrobun 还在维护吗?
- 活跃维护中。electrobun 最近一次提交是在 2026年10月18日。
- electrobun 适合用来做什么?
- 发布需要频繁小流量更新的 TypeScript 桌面工具 为现有 Bun 或 Web 应用构建桌面端 在网页界面旁嵌入原生 GPU 渲染内容
- electrobun 怎么安装和运行?
- 使用官方脚本安装 Hutch CLI(macOS 或 Linux) 也可以通过 npm 直接开始,跳过 Hutch 安装: npx electrobun init 选择模板,然后按照快速入门指南运行应用
- 在哪里获取 electrobun?
- 源代码和安装说明在 GitHub 上:https://github.com/blackboardsh/electrobun
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
面向 Neovim、AI 智能体及 Rust、Node、Bun、Python、C 应用的快速文件与内容搜索工具包,支持容错搜索。
将 VS Code 工作台移植到 Tauri,用系统自带 webview 替代 Electron,内存占用更低。目前为早期版本。
轻量级桌面 Kafka 客户端,无需 Docker 或 JVM,即可浏览 Topic、实时查看消息并管理消费组。
开源跨平台 AI 聊天客户端,支持 Web、桌面和移动端,可接入 OpenAI、Claude、Gemini、DeepSeek 等模型。
开源工作流引擎,用 YAML 定义流程,结合 AI 智能体、脚本与人工审批来完成编码等任务。