📌 项目地址:ghostty-org/ghostty | ⭐ 63,183 颗星 | 🔧 Zig | 📜 未标注
它解决一个真实的选择题
大多数终端模拟器都让你做取舍:要速度,就得接受功能精简;要功能全,往往得忍受非原生的界面。Ghostty 的主张很简单:三个都要。它快、功能全、界面用平台原生技术做。
这不是空话。README 明确说项目已经稳定,每天有数百万用户和机器在使用。63,183 个 star 也说明社区的认可度。主体用 Zig 写。
两个形态:应用和库
Ghostty 交付两样东西。
第一是完整的终端模拟器应用,日常用的那种 GUI 终端,支持多窗口、标签页、分屏。
第二是 libghostty,一个跨平台、零依赖的 C 和 Zig 库。你可以用它从头造一个终端模拟器,也可以只借用其中的终端能力,比如样式解析,嵌进自己的应用里。
想上手 libghostty,有两个入口:
- Ghostling:最小但完整的项目示例
- 仓库的 examples 目录:更小的 C 和 Zig 示例
我觉得“库 + 应用”这个双形态设计是 Ghostty 和多数终端项目拉开差距的地方。别的项目给你一个成品,它把底层能力也开放出来。
兼容性是逐条验出来的
路线图第一步是“标准兼容的终端模拟”,已经完成。Ghostty 实现了所有常用控制序列,主流终端程序都能正常跑。
做法值得单独说:团队做了一次全面的 xterm 审计,把 Ghostty 的行为和 xterm 逐条对照,并建立了一组符合性测试用例。很多项目嘴上说“兼容”,Ghostty 是拿测试用例证出来的。对遗留序列的处理也包含在内。
路线图:六步走完五步
| 步骤 | 状态 |
|---|---|
| 标准兼容的终端模拟 | ✅ |
| 有竞争力的性能 | ✅ |
| 多窗口、标签页、分屏 | ✅ |
| 原生平台体验 | ✅ |
| 跨平台 libghostty 可嵌入终端 | ✅ |
| Ghostty 专属控制序列 | ❌ |
前五步全部完成,剩最后一步“专属终端控制序列”还没做。如果你依赖非标准的扩展序列,得等。
怎么装、怎么参与
README 没有给安装命令。下载去官网的下载页面,文档在官网 docs。
想贡献代码,仓库里有两份文档:CONTRIBUTING.md 讲贡献流程,HACKING.md 讲开发的技术细节。主语言是 Zig,比较小众,深度参与之前先过一遍 HACKING.md 是合理的起点。
我的判断
终端模拟器这个赛道很挤,但 Ghostty 的位置清晰:它是少数同时做到了性能、完整功能和原生界面的项目,libghostty 又给了它应用之外的第二条路。如果你在 macOS 或 Linux 上挑终端,值得去下载页面装一个试试;想在产品里嵌终端,直接看 examples 目录。