umputun/agterm
Terminal for agentic flow
解决的问题
agterm 是一款专为同时使用多个 AI 编程代理的开发者设计的原生 macOS 终端。传统的标签页终端往往难以跟踪大量长期运行的代理会话,导致难以区分哪些代理正在运行、哪些被阻塞、哪些需要用户干预。agterm 通过将会话组织到命名的工作区并提供代理状态的视觉提示来解决这一问题。
工作原理
它嵌入了 Ghostty 引擎 (libghostty) 用于核心终端渲染和 Shell I/O,同时在顶部添加了自定义管理层。它将 Shell 组织成 Windows > Workspaces > Sessions > Panes 的命名层级结构。
核心机制包括:
- Control API and CLI: 一个名为
agtermctl的工具,允许外部脚本或 AI 代理通过本地套接字以编程方式创建会话、调整窗口大小、运行叠加层并发送通知。 - Agent Integration: 它提供可安装的“技能 (skills)”和“状态钩子 (status hooks)”,允许代理(如 Claude Code 或 Codex)直接在会话的侧边栏行中报告其状态(active, blocked, completed)并管理其自身的布局。
- Dashboard: 一个网格视图,允许用户同时监控多个会话的实时输出。
- Overlays: 能够在不干扰底层 Shell 的情况下,在会话上方的浮动窗口中运行临时程序(如 diff 查看器)的能力。
适用人群
在 macOS (Apple Silicon, macOS 14+) 上使用 AI 编程代理进行多个项目开发,并需要高度组织化、可脚本化的终端环境来管理并发代理工作流的开发者和高级用户。
亮点
- 工作区组织: 将会话分组到命名的上下文(例如“work”、“personal”)中,防止标签页混乱。
- 代理状态跟踪: 侧边栏和仪表板中的视觉指示器(颜色和脉动符号)显示哪些代理处于活动或阻塞状态。
- 可编程接口: 几乎所有内容都可以通过
agtermctlCLI 进行脚本化。 - 高级布局: 支持拆分窗格、临时终端 (scratch terminals) 和浮动叠加层。
- 高效导航: 包括用于会话和操作的模糊匹配面板,以及用于在上下文之间快速跳转的 MRU (最近使用) 切换器。