当前位置: 首页 > news >正文

AI时代终端窗口堆成山?这款工具让我爱不释手

现在写代码,终端窗口比以前多很多。

一个项目开一个 Terminal,一个 worktree 开一个 Terminal,跑服务再开一个,SSH 上机器再开一个。再加上 Claude Code、Codex、Gemini CLI 这类 Agent,桌面上很快就堆出一排窗口和标签页。

命令行的麻烦

纯命令行方式最大的问题,是项目上下文和终端布局没有绑在一起。

比如一个 Android 仓库里同时开三个 worktree:mainfeature/loginbugfix/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 assembleDebugadb logcat、Agent review、SSH 构建机。布局能跟着仓库保留下来,重复操作会少很多。

适合谁

如果你每天只开一个仓库,一个终端窗口,Liney 带来的变化不会很大。普通 Terminal、iTerm2、Warp、Ghostty 都够用。

它更适合这几类场景。

第一,多仓库和多 worktree。比如 Android 主仓库、组件仓库、脚本仓库、服务端 mock 仓库同时打开,还要在多个分支之间切换。

第二,固定分屏布局。每次打开项目都要重新摆窗口的人,可以把构建、日志、Agent、SSH 放成固定布局。

第三,AI Agent 常驻。Agent 跑一会儿经常要你确认命令、选择方案、看失败输出。liney notifyliney status能把等待状态从终端滚动输出里提出来。

第四,远程机器和本地项目混用。SSH pane 和本地 pane 都在同一个 workspace 里,文件树跟随焦点 pane,远程目录不会像普通终端那样完全藏在 shell 输出里。

最后

Liney 解决的是终端工作区管理问题。仓库、worktree、分屏布局、SSH、Agent 通知都放进同一个 macOS 原生应用里。

如果你现在经常在多个 Terminal 窗口里找项目、找分支、找正在等待输入的 Agent,可以试一下 Liney。先从一个常用仓库加进去,再把构建、日志、Agent 拆成固定 pane,效果会比较明显。

[#macOS](javascript:😉 [#Terminal](javascript:😉 [#AI编程](javascript:😉 [#开发工具](javascript:😉

http://www.jsqmd.com/news/1084181/

相关文章:

  • IMX6ULL Qt 项目(控制led灯和蜂鸣器)全流程
  • HTML 的 <bdo> 元素
  • HTML 的 <blockquote> 元素
  • 科技局如何精准识别辖区企业的真实创新需求?
  • RAD与XRAY联动:实现无感漏洞扫描的实战配置与优化策略
  • Python操作PDF附件添加查看与管理指南
  • 040、CCA 上下文坐标注意力的 YOLOv11 实现:扩大坐标信息感受野的改进
  • Three.js 赛博朋克风格 UI:3D 渲染管线与着色器艺术的工程实战
  • OpenAI 联合博通推出 Jalapeño 芯片,2026 年底前投入使用或减少对英伟达依赖
  • 8大网盘下载限速终结者:本地化直链获取工具深度解析
  • pytorch17->一张实际图片的识别实战
  • 为什么AI只引用2-7个网站?内容结构优化才是GEO的隐藏密码!
  • volatile 这个坑,很多 STM32 新手都踩过
  • 03_Agent智能体与LangGraph
  • 出版商联盟指控 OpenAI 与微软:未经授权用作品训练 AI,版权诉讼再升级!
  • DESIGN.md:为编码代理提供设计系统持久结构化理解,支持多格式转换
  • AI 辅助智能合约安全审计:从静态分析到 LLM 漏洞检测的工程实战
  • 抖音音频下载终极指南:5分钟学会免费提取抖音热门背景音乐
  • 如何校准LED显示屏色彩均匀性以消除视觉马赛克
  • 华强北内存降价,资本市场却疯涨!内存缺货真相究竟几何?
  • Navicat Mac版无限试用期终极指南:3种方法实现永久免费使用
  • 【2026】超详细GraphPad Prism 10安装保姆级教程,永久免费使用,科研绘图和数据分析指南,看完这一篇就够了
  • 3分钟轻松搞定!为Royal TSX添加完美中文汉化包,告别英文界面困扰
  • 高通近 40 亿美元收购 Modular,拓展业务进军 AI 与数据中心市场
  • 科技企业如何通过智能化工具快速识别行业技术趋势并优化研发方向?
  • AWVS实战:构建自动化扫描与手动验证的Web漏洞评估闭环
  • +1毛也是首选!申通这家五星网点的底气
  • JMeter性能测试从入门到实战:核心组件、脚本编写与结果分析
  • Anuttacon研究模拟多智能体社会系统Agentopia:让AI更有人味儿,但仍面临挑战
  • Kill-Doc:浏览器脚本实现一站式文档下载解决方案