2026年11月2日 · 阅读 —
tty7:折腾了那么多 AI 终端,想要的其实就这么简单
tty7:折腾了那么多 AI 终端,想要的其实就这么简单
这两年,ADE、AI 终端、Coding Agent 工具层出不穷。
从传统的 iTerm2、Warp、Ghostty,到后来各种带 AI 能力的终端工作台,再到 ORCA、cmux,工具换了一轮又一轮。
用得多了,发现真正想要的其实没那么复杂。
无非就是一个顺手的工作空间,能把几个核心功能放在一起:
- 工作空间:多个项目、多个会话,切换起来方便。
- 终端 CLI:Codex、Claude Code、Pi、OpenCode,想用哪个就用哪个。
- 文件树:能够直接浏览项目目录,不需要频繁打开 Finder 或 VS Code。
- Git:分支、修改、Diff,随手就能看。
最好还能支持终端分屏、会话恢复,有点日志和任务状态管理能力。
就这么几个需求。
偏偏用了这么多工具,总觉得差点意思。
有些终端足够轻巧,但缺少文件树和 Git 信息;有些工作台功能很丰富,却逐渐变成了另一套 IDE;还有些集成了大量 AI 功能,账号、模型、插件、运行时一层套一层。
本来只是想找个地方运行几个 CLI,最后却要花不少时间研究工具本身。
虽然一直在用 ORCA,但还是想继续找找,有没有更轻量、更纯粹一些的选择。
最近看到一个开源项目:tty7。
GitHub:https://github.com/l0ng-ai/tty7
它的定位很明确:一个支持持久会话、远程开发和 Coding Agent 的终端工作台。
从目前项目公开的功能来看,tty7 算是比较接近这套需求的一个选择。
01. tty7 是什么?
tty7 并不是另一个 Coding Agent,也不是给 Claude Code 或 Codex 套上一层新界面。
它本质上还是一个终端,只是在传统终端的基础上,把工作空间、文件管理、Git 和 Agent 状态管理整合了进来。
整个项目使用 Rust 开发,图形渲染基于 Zed 使用的 GPUI,终端 VT 内核来自 Alacritty。
官方支持 macOS、Windows 和 Linux。
tty7 有个设计挺有意思:
终端会话不属于窗口,而是交给后台常驻的 Server 管理。
这意味着关闭图形界面,并不等于终止里面运行的 Shell。
重新打开应用,原来的终端会话还可以继续使用;重启机器后,也能恢复布局、屏幕内容以及受支持 Agent 的历史对话。
它想解决的并不是如何让 AI 写出更好的代码,而是让你同时管理多个项目、多个终端和多个 Agent 时,少一点来回切换。
02. 文件树、Git、终端,终于可以待在一起
这是 tty7 比较吸引人的部分。
平时在终端里运行 Codex 或 Pi,经常会遇到一个情况:
Agent 正在修改文件,你想看看项目目录,或者确认改了哪些内容。
于是切到 VS Code,看一眼文件;再切回来,继续跟 Agent 对话。
如果同时开着几个项目,这个过程就更频繁了。
tty7 把这些能力集中到了同一个窗口。
文件树
侧边面板支持直接浏览项目文件和目录,还提供文件内搜索。
不用为了确认某个配置文件放在哪里,就专门打开另一个编辑器。
Git 状态与 Diff
支持查看仓库分支、文件修改和 Diff,也支持 Git worktree 相关的工作空间管理。
当多个 Agent 分别修改不同仓库时,可以在终端工作台里直接查看代码变化,而不必反复执行 git status、git diff。
进程和端口
侧边面板还能查看进程树以及监听端口。
对经常启动 Python 服务、接口测试环境、前端开发服务的人来说,这个能力挺实用。
例如一个项目里同时跑着 FastAPI、pytest 和几个后台进程,就能更方便地了解当前环境。
分屏与多标签页
tty7 支持标签页和分屏,并且可以按照仓库对工作区进行分组。
一个窗口里同时运行多个 CLI,不需要额外搭建一套终端管理方案。
这些功能单独看都不新鲜。
但把它们放到一套相对统一的终端工作流里,就比较符合日常使用习惯了。
03. 不接管 Agent,是一个很重要的设计
现在很多 AI 开发工具,都会尝试把 Agent、模型配置、对话界面和工作空间全部包进自己的系统。
功能确实多,但相应地也带来了迁移和适配成本。
tty7 采用了不同的方式。
根据 README,它目前能够识别 28 种 CLI Agent,包括:
| Agent | 识别及状态支持 |
|---|---|
| Claude Code | 支持 |
| Codex | 支持 |
| OpenCode | 支持 |
| Oh My Pi | 支持 |
| Pi | 支持 |
| Gemini CLI | 支持 |
| Qwen Code | 支持 |
| GitHub Copilot CLI | 支持 |
| Kimi Code | 支持 |
这里有个细节:
tty7 不包装,也不代理这些 Agent。
你原来怎么启动 Codex,现在还是怎么启动;Pi 原来的交互界面也不会被 tty7 替换。
所有 Agent 依旧运行在普通的 PTY 中。
tty7 主要负责识别它们、管理会话、显示状态和提供通知。
这一点比较符合轻量化工作台的思路。
终端只负责把环境组织好,至于底层使用什么 Agent、什么模型、怎么配置,仍然交给工具自己。
而且 tty7 的 Agent 识别不需要额外配置。想要启用更完整的状态提醒、等待和恢复能力,则需要为对应 Agent 安装 Hook。
也就是说,基础功能可以先用,不必一开始就配置所有集成。
04. Agent 跑任务,终端可以关掉
这是 tty7 另一个比较有特点的能力。
传统终端应用退出后,其中的进程通常也会结束。
为了让长时间运行的任务保持在线,常见做法是使用 tmux、screen,或者把任务放到后台。
tty7 则把会话持久化直接做进了工作台。
它的后台 Server 会持有 Shell 和 Pane。
退出图形界面后,Shell 仍然可以继续运行。
重新打开 tty7,再接回原来的工作空间。
例如同时运行几个任务:
- Codex 正在修改接口自动化测试框架。
- Pi 正在分析业务规则文档。
- pytest 正在执行回归测试。
- 另一个终端运行着本地 API 服务。
按照 tty7 的设计,关闭 GUI 不必终止这些 Shell 任务。
它还提供了 Agent 状态检测与通知机制,当任务完成或者需要输入时,可以给出提醒。
对经常让 Agent 执行长任务的开发者来说,这比单纯的终端分屏更有实际意义。
不过需要区分一点:Shell 持续运行与 Agent 会话恢复不是完全相同的能力。 后者依赖具体 Agent 的支持及 Hook 集成,重启系统也不代表先前运行的进程会从中断位置自动继续执行。
05. 还给 Agent 提供了一套控制终端的 CLI
tty7 不只是一个用鼠标和键盘操作的 GUI 工具。
安装包里还自带 tty7 命令行工具,并提供配套的 Agent Skill。
官方列出的命令包括:
| 命令 | 用途 |
|---|---|
tty7 run | 执行命令、转发输出并返回退出码 |
tty7 split | 创建分屏 |
tty7 send | 向终端发送输入 |
tty7 wait --until free | 等待 Agent 空闲 |
tty7 capture | 捕获终端输出 |
这意味着 Agent 不只是运行在 tty7 里面,还能够通过 CLI 操作 tty7。
比如主 Agent 可以打开一个新 Pane,启动另一个 Agent,交给它执行某项任务,然后等待执行完成,再读取输出结果。
甚至不要求 GUI 一直保持打开。
这已经不只是传统意义上的终端窗口管理,而是给 Agent 之间的协作提供了一个可调用的终端执行环境。
对于平时使用多个 Coding Agent,或者自己开发 Agent 工具链的人来说,这部分还有不少可探索的空间。
06. 性能怎么样?
tty7 使用 Rust 开发,基于 GPUI 进行 GPU 渲染。
官方提供了一组对比测试。
测试环境为 Apple M1 Pro,终端网格 155×40,每项运行五次取平均值。
| 指标 | tty7 | Alacritty | Ghostty | Kitty |
|---|---|---|---|---|
| 11 MB 文本输出耗时 | 95 ms | 239 ms | 179 ms | 185 ms |
| DOOM-fire 帧率 | 888 | 485 | 552 | 617 |
| 冷启动内存 | 116 MB | 105 MB | 128 MB | 130 MB |
从这组数据看,tty7 的文本吞吐和图形帧率表现不错。
但这些是项目官方在特定环境下的基准测试,不代表在所有机器和工作负载上都有同样的优势。
另外,116 MB 的冷启动内存包含 GUI 和后台 Server,并不是同类产品里最低的。
因此,tty7 的轻量化优势更多体现在功能组织和工具集成方式上,而不只是内存占用。
日常同时开启多个大型仓库、多个 Agent、长日志和文件面板后的实际资源消耗,还需要进一步验证。
07. 安装使用
tty7 提供了三个主流桌面平台的原生安装包。
GitHub Releases:
https://github.com/l0ng-ai/tty7/releases
macOS 分别提供 Apple Silicon 和 Intel 版本的 DMG,Windows 提供安装程序与免安装 ZIP,Linux 则提供 AppImage。
下载安装到本地后,就可以作为普通终端使用。
几个常用快捷键:
| 快捷键 | 功能 |
|---|---|
⌘ J | 打开侧边面板 |
⌘ P | 全局搜索 |
⌘ F | 搜索终端回滚内容 |
Ctrl R | 模糊搜索命令历史 |
如果需要让 Coding Agent 主动操作 tty7,还可以安装官方 Skill:
npx skills add l0ng-ai/tty7
后续更新:
npx skills update tty7
不需要 Agent 协作能力的话,可以先不安装 Skill,直接当终端工作台使用。
08. 最后聊聊
现在的 AI 开发工具越来越多,功能也越来越复杂。
很多产品恨不得把编辑器、终端、Agent、模型管理、浏览器和自动化工作流全部集成到一起。
但并不是所有开发者都需要一套完整的新 IDE。
特别是习惯直接使用 Codex、Pi、Claude Code 这些原生 CLI 的人,其实更需要一个稳定、顺手的运行环境。
能管理多个工作空间,有文件树,有 Git Diff,能分屏,能看 Agent 状态。
不强制接管模型,不改变原有 CLI 的使用方式,也不要求围绕某个产品重新组织开发流程。
tty7 在这个方向上做得比较有特点。
当然,它也并非完全没有集成和依赖。后台 Server、Agent Hook、远程 SSH 组件以及相应的工作台能力,本身都存在一定的配置与维护成本。
项目公开的功能目前看比较符合需求,真正的长期稳定性、内存表现和日常细节,还需要在实际使用中持续观察。
尤其是文件树、Git Diff、多项目工作空间,以及同时运行多个 Agent 时的交互体验,这些才是影响能否长期留下来的关键。
工具不需要替代所有工具。把每天都要用的那几个功能做好,就已经很难得了。
这可能也是折腾了一圈 ADE 和 AI 终端之后,重新关注 tty7 这类项目的原因。
项目地址:https://github.com/l0ng-ai/tty7
项目协议:Apache-2.0
#tty7 #AI终端 #CodingAgent #开发工具 #开源项目