AI时代终端窗口堆成山?这款工具让我爱不释手
现在写代码,终端窗口比以前多很多。
一个项目开一个 Terminal,一个 worktree 开一个 Terminal,跑服务再开一个,SSH 上机器再开一个。再加上 Claude Code、Codex、Gemini CLI 这类 Agent,桌面上很快就堆出一排窗口和标签页。
命令行的麻烦
纯命令行方式最大的问题,是项目上下文和终端布局没有绑在一起。
比如一个 Android 仓库里同时开三个 worktree:main、feature/login、bugfix/crash。每个 worktree 里都要跑./gradlew、开日志、跑 Agent。Terminal 只知道当前目录,不知道这些目录属于同一个工作区,也不知道你上次在这个 worktree 里开了几个 pane。
切换任务时,常见动作大概是这样:
cd~/work/app-feature-logingitbranch --show-currentpwd./gradlew assembleDebug这些命令都不复杂,但它们会反复出现。窗口多了以后,真正耗时间的是确认“我现在在哪个项目、哪个分支、哪个任务”。如果再配合tmux,可以保留 pane 布局,但布局通常跟 session 走,不太像一个面向仓库和 worktree 的工作台。
最近用了同事推荐的一个工具——Liney,现在根本停不下来。
Liney 是什么
Liney 是一个原生 macOS 终端工作区应用,面向需要频繁在多个仓库、worktree、分支和分屏之间切换的开发者。
它的入口从仓库和 worktree 开始。先把它们放进侧边栏,选中某个仓库后,再在里面开 terminal tab、拆 pane、跑本地 shell、SSH 或 Agent。
它支持 macOS 14.6 及以上,Apple Silicon 和 Intel Mac 都能用。最新 release 是v1.0.76,可以通过 Homebrew 安装:
brew update brewinstall--caskeverettjf/tap/liney也可以从 GitHub Releases 下载签名的.dmg。如果要用liney notify这类命令,可以把 App 里的可执行文件挂到$PATH:
sudoln-sf/Applications/Liney.app/Contents/MacOS/Liney /usr/local/bin/liney仓库和 worktree
Liney 的侧边栏可以放多个本地仓库和 worktree。这个设计对现在的 Git 工作流比较友好。
Android 项目里经常会同时处理几个分支:一个线上 bug,一个需求分支,一个主干验证。如果只靠 Terminal,最后往往是多个窗口加一堆cd。Liney 里可以直接从侧边栏切 worktree,不需要每次重新组织窗口。
更关键的是 pane layout 可以留下来。你回到某个仓库时,之前的分屏布局还在,不用重新拆成“左边跑构建、右边看日志、下面跑 Agent”。
这种能力适合长期工作的项目。比如每天都要打开同一个 Android 主仓库,固定跑./gradlew assembleDebug、adb logcat、Agent review、SSH 构建机。布局能跟着仓库保留下来,重复操作会少很多。
适合谁
如果你每天只开一个仓库,一个终端窗口,Liney 带来的变化不会很大。普通 Terminal、iTerm2、Warp、Ghostty 都够用。
它更适合这几类场景。
第一,多仓库和多 worktree。比如 Android 主仓库、组件仓库、脚本仓库、服务端 mock 仓库同时打开,还要在多个分支之间切换。
第二,固定分屏布局。每次打开项目都要重新摆窗口的人,可以把构建、日志、Agent、SSH 放成固定布局。
第三,AI Agent 常驻。Agent 跑一会儿经常要你确认命令、选择方案、看失败输出。liney notify和liney status能把等待状态从终端滚动输出里提出来。
第四,远程机器和本地项目混用。SSH pane 和本地 pane 都在同一个 workspace 里,文件树跟随焦点 pane,远程目录不会像普通终端那样完全藏在 shell 输出里。
最后
Liney 解决的是终端工作区管理问题。仓库、worktree、分屏布局、SSH、Agent 通知都放进同一个 macOS 原生应用里。
如果你现在经常在多个 Terminal 窗口里找项目、找分支、找正在等待输入的 Agent,可以试一下 Liney。先从一个常用仓库加进去,再把构建、日志、Agent 拆成固定 pane,效果会比较明显。
[#macOS](javascript:😉 [#Terminal](javascript:😉 [#AI编程](javascript:😉 [#开发工具](javascript:😉
