
前几天在Twitter上看到了@onevcat的一条推文,展示了一个能快速搭建的终端画布界面。这让我思考:如果开发一个终端应用真的这么简单,为什么不为自己量身打造一个呢?毕竟在当前以Vibe Coding为主流的开发模式下,一个高效的终端就是效率的核心。一个深度集成个人工作流的专属终端,或许能带来显著的效率提升。

经过初步调查,我发现这类终端应用的开发门槛确实已经大大降低。核心原因在于Ghostty终端应用的作者Mitchell Hashimoto将其底层的 libghostty framework 开源了。
关于libghostty的详细介绍可以阅读作者的博客:https://mitchellh.com/writing/libghostty-is-coming。Ghostty及其底层库的代码仓库是:https://github.com/ghostty-org/ghostty。开源之后,GitHub上已经涌现了许多基于此框架构建的终端应用,具体列表可以参考这个Awesome仓库:https://github.com/Uzaaft/awesome-libghostty。
作为长期进行高强度Vibe Coding的开发者,我的终端使用历程大致是:从Warp切换回iTerm2,再到最近尝试大火的Ghostty。虽然这些工具本身没有问题,但日常开发中确实存在大量重复、机械的操作,例如:
- 频繁创建Git工作树(Worktree)以进行并行开发。
- 反复运行特定的AI编程代理命令(如Codex)。
- 在不同项目窗口间不断切换。
- 频繁查看代码差异(Diff)。
- 需要在终端和代码编辑器之间快速跳转。
受那条推特的启发,我决定动手开发一个自己的终端,这样任何能想到的、能提升效率的功能都可以随时添加。经过几天的集中开发,这个名为Liney的终端应用终于成型。
项目主页:https://liney.dev/
开源代码:https://github.com/everettjf/liney
Liney基于AppKit、SwiftUI以及核心的libghostty框架开发。对于热衷于探索前沿技术和工具实践的开发者来说,这正是一个很好的开源实战案例。下面简单介绍它的核心功能:
1. 基础终端与项目管理
作为终端,最基本的功能是管理多个项目会话。Liney支持添加多个项目工作区,每个工作区会自动分配一个随机图标,你也可以通过右键菜单自定义图标,增添一点个性化色彩。

2. 一键式Git工作树(Worktree)管理
对于需要并行处理多个功能分支的Vibe Coding来说,Worktree是刚需。Liney内建了便捷的Worktree创建功能,可以轻松地从当前分支派生出新的工作目录,实现真正的并行开发,而无需复杂的Git命令。


3. 全局概览(Overview)面板
Overview面板提供了所有项目的全局视图,你可以一眼看清每个项目终端的当前状态、Git仓库的改动情况以及活跃的会话,方便快速掌握开发进度。

4. 实时画布(Canvas)视图
Canvas功能可以实时显示所有终端窗口的缩略视图,你甚至可以直接在Canvas上向任意窗口输入命令。这个功能的灵感直接来源于Twitter上的分享,目前处于初期阶段,可能存在一些Bug,但概念非常有趣。

5. macOS防休眠工具
这是一个实用小工具,源于我之前分享过的一个需求。它可以防止Mac在一段时间内进入睡眠状态,对于需要长时间运行编译或脚本的任务非常有用。
使用方法很简单:
- 点击状态栏图标。
- 选择需要防止休眠的时长(如1小时、3小时等)。

点击后,终端会提示macOS sleep prevention is active for 1 hour.,确保Mac在该时段内保持唤醒。

6. 快速启动外部编辑器/IDE
当你需要快速用图形化编辑器查看代码时,可以直接通过右键菜单或快捷键,一键在Cursor、Zed、VS Code或Sublime Text中打开当前工作区。

7. 快速命令面板
你可以自定义一组常用命令,并通过快速命令面板一键执行。例如,我每天都需要输入--dangerously-bypass-approvals-and-sandbox这类长命令,现在只需点一下即可。

8. 内置Diff查看器
Liney集成了基础的代码差异对比功能,可以直接在终端侧边栏或独立窗口中查看文件的变更内容,方便代码审查。

9. 命令速查窗口(Cmd+P)
通过Cmd+P可以调出命令速查窗口,快速搜索并执行软件内的各种命令或导航到不同工作区。

10. 基础分屏与多标签
支持使用Cmd+D(垂直分屏)和Cmd+Shift+D(水平分屏)进行分屏操作。Cmd+T可以创建新标签页,满足多任务处理的需求。


除了上述功能,在AI辅助开发的过程中,我还实现了SSH远程连接管理和AI Agent快捷入口等功能模块,但由于尚未经过充分测试,目前暂时隐藏。后续会逐步完善并开放。
安装与使用
Liney提供两种安装方式:
-
通过Homebrew安装(推荐):
brew update && brew install --cask everettjf/tap/liney
-
手动下载DMG安装包:
前往GitHub Releases页面下载最新版本的DMG文件:https://github.com/everettjf/liney/releases
应用内部已集成Sparkle框架,支持自动更新。
关于名字“Liney”,它由AI(Codex)建议,由“Line”加“y”构成,发音类似“辣埃尼”,寓意简单的一条线(Y轴),当时恰好相关域名也可注册。
结语
Liney未来的发展方向仍将聚焦于提升Vibe Coding和并行开发效率。我会持续将自己常用的功能集成进去。如果你有好的想法或需求,欢迎在Git仓库提交Issue:https://github.com/everettjf/liney/issues。
在开发者广场里,我们经常讨论各种提升开发体验的新工具,Liney也正是这种极客精神的产物。当然,一个好用的终端提示符(Prompt)也至关重要,我配合使用的是Starship(https://starship.rs/),配置简单且功能强大,之后可以另开一文详细介绍。
希望Liney能为你带来更流畅、更专注的开发体验。