umputun/agterm

Terminal for agentic flow

解決的問題

agterm 是一款專為同時使用多個 AI 編程代理的開發者設計的原生 macOS 終端。傳統的分頁式終端往往難以追蹤大量長期運行的代理會話,導致難以區分哪些代理正在執行、哪些被阻塞、哪些需要使用者介入。agterm@term 透過將會話組織到命名的工作區並提供代理狀態的視覺提示來解決此問題。

工作原理

它嵌入了 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」)中,防止分頁混亂。
  • 代理狀態追蹤: 側邊欄與儀表板中的視覺指示器(顏色與脈動符號)顯示哪些代理處於活動或阻塞狀態。
  • 可程式化介面: 幾乎所有內容都可以透過 agtermctl CLI 進行腳本化。
  • 進階佈局: 支援拆分窗格、臨時終端 (scratch terminals) 與浮動疊加層。
  • 高效導航: 包括用於會話與操作的模糊匹配面板,以及用於在上下文之間快速跳轉的 MRU (最近使用) 切換器。