Rune:一个用 Go 写的 GPU 加速终端 IDE,把编辑器、tmux 和 AI 编程智能体塞进同一个屏幕
The development environment for pros. —— 项目自带的口号短得像是挑衅,但 9 月 10 日建仓、六天涨到 600+ star 的速度说明,想试试的人不少。
在终端里写代码的人,大概都经历过这样的拼装:编辑器一个窗口、tmux 里开一堆 pane、再挂几个智能体的对话窗口,最后靠肌肉记忆在它们之间来回跳。Rune 想做的事情很直接——把这些东西合并成一个原生应用,而不是靠配置文件和插件缝起来。
项目主页一句话概括:Rune is a fast, GPU-accelerated, full-featured IDE and terminal multiplexer, suitable both for automatic and manual programming.(一个快速、GPU 加速、功能完整的 IDE 与终端复用器,自动编程和手动编程都适用。)
目前它在 GitHub 上的坐标是 unstablebuild/rune,用 Go 写,GPLv3 授权,官网在 rune.build。
它不是「又一个 TUI 编辑器」
终端编辑器这个赛道已经很挤了。Rune 的差异点在于它同时占住了几个位置:
- GPU 加速的原生渲染:Linux 上用 OpenGL,macOS 上用 Metal,明确不走 Electron。官方把这条单独拎出来讲,显然是被”现代编辑器等于大型 Web 应用”这件事烦到了。
- 屏幕复用模型:UI 本身就是一个 screen multiplexer,给你九个 workspace 槽位,终端、标签页、窗口数量不设上限,可以自由排布。
- 内置编程智能体:不是外挂插件,而是和编辑器共享同一套代码导航能力的内置 agent;同时也支持接入你自己的 IDE 级 skill。
- 自带语言智能:官方宣称”开箱即用的生产级 language intelligence”。
一句话:它想当的是 tmux + 编辑器的合体,而且从第一天就为 AI 编程留好了位置。
从任何地方接着写:点对点加密的实例网络
Rune 最特别的设计,是所有你安装的 Rune 实例会组成一张端到端加密的点对点网络,底层由 headscale 驱动。
这意味着开发者可以从笔记本连回工作站,也可以从工作站连回笔记本——不需要自己折腾端口转发、内网穿透或者反向代理。对于”主力机在工位、笔记本随身带”的人来说,这种「随时接管另一台机器上的工作区」的体验,是传统 SSH + tmux 方案里要花不少时间才能配出来的。
语言支持:分层的工程化做法
Rune 没有含糊地宣称”支持很多语言”,而是把支持拆成了三个层级:
| 层级 | 能力 |
| Tier 1 | 在 Tier 2 基础上增加 LSP 与完整生态工作流 |
| Tier 2 | 在 Tier 3 基础上增加符号索引器(symbol indexer) |
| Tier 3 | 语法高亮与结构化查询 |
Tier 1 目前的状态是:Go 和 Python 为 Supported,Rust 和 Zig 为 Beta(Beta 的含义是”足够日常使用并且默认随包发布,但命令与默认值仍可能在版本间变动”),TypeScript 在 Roadmap 上。
真正的规模在 Tier 3:通过可下载的语言包,Rune 为超过 300 种语言提供语法支持。每个语言包捆绑一份 Tree-sitter 语法和一组查询文件,让编辑器拿到的是真正的解析树而不是纯文本——这才是结构化搜索、代码折叠和缩进能真正好用的前提。语言包清单里既有 C++、Java、Rust 这些常见面孔,也有 CMake、Terraform、Nix、Proto、Starlark,甚至 Markdown、Git commit message 这类文本格式。
跨语言的代码智能走同一条 lsp 命令路径:跳转定义、查找引用、诊断、悬停提示、重命名、格式化,在 Tier 1 语言里行为一致。
插件用 Git 地址直接装
扩展机制没有搞私有市场那一套。社区包可以直接从 Git 仓库安装:
pkg install github.com/unstablebuild/rune-extension-themebuilder
官方包则在 rune.build/packages 上列着。这种「仓库地址即包名」的做法对开发者友好,也让插件分发少了一层审核依赖,代价是信任模型更接近开放式生态。
上手:从一行脚本或源码都行
安装方式很干脆,官方提供了一行脚本,从 rune.build 拉取并执行:把 install 脚本下载下来检查一遍再跑,是更稳妥的习惯。具体地址见官网 rune.build 的安装说明。
想从源码跑通开发环境也不复杂:
git clone git@github.com:unstablebuild/rune.git
go run ./cmd/rune
macOS 上还可以用 make rune-dmg 打出应用包。仓库的 Makefile 提供了完整的目标集合:make test 带 race detector 跑测试,make test-e2e 额外跑需要 docker 的端到端套件,make lint 走 golangci-lint,make coverage 出覆盖率报告。开发前置依赖见官方 quick start。
工程上的两个细节,能看出团队的取向
翻它的 AGENTS.md(这个仓库给编程智能体写的项目说明)时,有两处规定挺有意思。
第一,所有 goroutine 必须包在统一的 panic 捕获里。 要求是:
go debug.CapturePanicReport(func() {
// goroutine body
})
并且明确禁止用临时 recover() 顶替——理由是 panic 捕获和崩溃报告要保留单一事实来源。对一个长时间跑着终端、编辑器和智能体的常驻进程来说,一个后台 goroutine 静默崩掉却没人知道,是最难查的那类问题。这条规定说明团队已经被咬过。
第二,Agent 的代码组织是完整的子系统,不是附属功能。 仓库里 cmd/rune-agent/ 下分出了 dialogue(会话编排与持久化)、llm(provider 抽象与模型注册表)、agent(循环、工具、技能、提示词、任务)、memory(记忆检索与持久化编译)、streamiterator(gRPC 流迭代)等模块。它还”重度依赖语义代码导航工具与结构化搜索”——也就是说,智能体和编辑器共用同一套代码理解能力,而不是靠把整个文件塞进上下文。
许可与现状
Rune 由 Unstable Build, LLC 开发,是自筹资金的组织,靠 GitHub Sponsors 接受支持。授权是 GNU GPL v3 或任何更新版本。项目从 2026 年 9 月 10 日建仓,到今天(9 月 16 日)一周不到,stars 已经来到 600 多,fork 35 个,代码库体积约 145 MB。
几个需要留意的地方:
- 平台:目前主要面向 Linux 与 macOS。GPU 渲染路径分别是 OpenGL 和 Metal,Windows 没有官方支持。
- 成熟度:一周大的项目。官方自己把组织名取作 “unstablebuild”,
make里还有一批只在他们内部发布流水线里能用的目标(dist、release、notarize等),明确说明在外部环境不保证可用。 - 语言支持现状:TypeScript 还在 Roadmap 上,Rust/Zig 是 Beta,意味着日常项目如果重度依赖 TS,现在还不是主力替换的时机。
- 网络功能依赖 headscale:想用跨设备接管的能力,就要接受这套自建网络的前提。
值不值得试
如果你本来就在 tmux + nvim/VSCode + 智能体窗口之间来回切,Rune 是目前少见的”把这整套体验重新设计一遍”的尝试,而不是又一个插件组合。GPU 渲染、多设备点对点网络、内置 agent 这三件事放在一起,指向的是同一个判断:下一代开发环境的形态可能不是 Web 应用加插件市场,而是一个原生、有主见、把 AI 当一等公民的终端程序。
反过来说,一周大的项目、GPLv3、Linux/macOS 限定、TypeScript 未支持——这些也意味着它现在更适合当成一个值得盯着的方向,而不是马上把工作流迁过去。
















暂无评论内容