모든 AI 코딩 에이전트를 위한 가장 빠른 개발자 워크플로우.
Claude Code, Codex, OpenCode, Grok, Gemini CLI, Antigravity CLI, Pi, Command Code, Hermes Agent, Muse Code, Oh My Pi 등 다양한 도구들이 나란히 실행됩니다. 각 도구는 자체적인 영속성(persistent) tmux 세션에서 실행됩니다.
agent-manager는 사용자가 이미 가지고 있는 CLI 위에 얇게 덧씌워진 레이어입니다. 각 세션은 설치된 도구를 그 상태 그대로 실행합니다: 로그인 정보, 구독 정보, 설정 파일, MCP 서버 등, 그리고 해당 도구가 제공하는 모든 기능들이 일반 터미널에서 작동하는 방식과 정확하게 유지됩니다.
어떤 에이전트가 완료되었는지 또는 멈췄는지 확인하기 위해 터미널 탭을 뒤질 필요 없이, 모든 세션은 라이브 상태를 보여주는 하나의 목록에 표시되며, 접거나 재정렬할 수 있는 프로젝트 트리로 그룹화되어 있습니다. 연결(attach)하지 않고도 이들 중 어느 곳이든 응답할 수 있습니다: space
프롬프트를 세션의 패널 안으로 바로 보내거나, 선택된 그룹에 새로운 에이전트를 생성합니다. 죽은 세션은 v를 사용해 자체 대화로 부활시킬 수 있습니다.
그리고 ctrl+r을 누르면, 에이전트가 변경한 내용 전체 파일의 차이(diff)를 구문 강조(syntax-highlighted)된 형태로 열어주며, 라인에 남긴 주석은 C를 누를 때 하나의 검토 프롬프트로 에이전트 패널 안으로 돌아갑니다.
세션에서 f를 누르면 별도의 이름이 지정된 포크(fork)에서 대화를 계속할 수 있습니다.
마우스는 전체 매니저에서 작동합니다. 휠은 커서를 움직이고, 세션을 클릭하면 해당 세션에 초점을 맞추며, 행이나 마우스 뒤로 가기 버튼을 클릭하면 이전 상태로 돌아갑니다. ⠿ 핸들로 행을 드래그하여 재정렬하거나 다른 그룹으로 이동할 수 있으며, 모든 행 끝의 […]를 누르면 해당 액션들이 열립니다. 목록과 미리보기 사이의 구분선은 드래그 가능하며, 메시지가 남아 있는 동안에는 키 전설(key legend)에서 messages를 클릭하면 열립니다. 초점된 패널에서는 드래그하여 텍스트를 선택하고 복사할 수 있으며, 링크를 클릭하면 브라우저에서 열립니다. 설정에는 네이티브 선택 기능을 되찾고 싶은 터미널에 대한 마우스 토글 기능이 있습니다.
에이전트와 함께 사용하는 도구들도 같은 목록에 존재합니다: T
선택된 에이전트 또는 선택된 그룹 아래에 빌드, Git 및 일회성 명령을 위한 셸을 열 수 있습니다. 에이전트는 다른 에이전트를 생성하고(spawn), 메시지를 보내고, 완료될 때까지 기다릴 수 있습니다. 모든 MCP 지원 세션은 실행 시 이러한 도구를 포함합니다.
아직 구현되지 않은 기능: 비용 추적.
바로가기: 설치 · 사용법 · 키 · Diff 검토 · 구성 · 문서 사이트
상태 감지(Status detection)는 Claude Code, OpenCode, Codex, Grok Build, Gemini CLI, Antigravity CLI, Pi, Command Code, Hermes Agent, Muse Code, 그리고 Oh My Pi를 지원합니다. 각 에이전트의 실행(launch), 복구(revive), 포크(fork) 및 상태 규칙은 바이너리에 포함되어 배포됩니다 (Hermes, Antigravity, Oh My Pi는 포크 기능 없음). 따라서 업그레이드 시 이들 모두의 현재 버전이 적용됩니다 (구성 참조). 목록에 없는 CLI는 기능 요청 사항입니다.
macOS 및 Linux에서 실행되며, Windows에서는 WSL2 내에서 실행됩니다.
brew install agent-manager
설치되어 있지 않은 경우 tmux를 함께 설치하며, Homebrew가 git 위에서 작동하므로 두 의존성 모두 처리됩니다. 이것은 소스에서 빌드되는 homebrew-core 포뮬러입니다. 미리 빌드된 바이너리의 경우, brew install --cask yoanwai/tap/agent-manager
.
curl -fsSL https://raw.githubusercontent.com/YoanWai/agent-manager/main/install.sh | sh
플랫폼에 맞는 최신 릴리스를 다운로드하고, 게시된 체크섬과 비교하여 검증한 후, ~/.local/bin에 설치합니다.
.
그런 다음 tmux 3.1+ 및 git을 확인하고, 찾은 패키지 관리자(Homebrew, apt, dnf, pacman, zypper 또는 apk)를 통해 누락된 것을 설치할지 여부를 제안하며, 거부할 경우 정확한 명령어를 출력합니다. 다른 디렉터리를 위해 AGENT_MANAGER_INSTALL_DIR을 설정하고, 버전을 고정하기 위해 AGENT_MANAGER_VERSION을 사용하며, 의존성 프롬프트에 미리 답변하려면 AGENT_MANAGER_INSTALL_DEPS=1을 사용합니다 (=0은 건너뜁니다).
Arch Linux, mise, go install, 미리 빌드된 바이너리, Windows (WSL2), 의존성 및 업데이트: docs/install.md.
agent-manager
세션은 tmux 내부에서 실행됩니다 (am_*
네임스페이스를 가지므로 매니저가 퇴사해도 살아남습니다. 세션 내에서 Ctrl+Q는 터미널과 tmux가 이를 사용할 수 있게 남겨두면 다시 매니저로 분리됩니다. **Ctrl+**는 동일한 규칙에 따른 대안입니다. Ctrl+R은 세션의 diff 검토를 열고 F3는 해당 디렉토리를 에디터에서 엽니다. 설정(Settings)의 keybindings 행(s)에서는 이들 중 어느 것을 이동시키거나, 에이전트에게 하나를 돌려주거나, 매니저 자체 목록의 어떤 동작을 이동하거나 비활성화할 수 있으며, esc와 ctrl+c는 그대로 유지됩니다(Key bindings 참조). 전체 화면 연결 시, 세션 푸터에는 구성된 경우 내부 tmux 접두사 뒤에 d가 표시됩니다. 다른 tmux 내부에 중첩된 경우에는, 푸터에 표시되는 내부 접두사를 보내고 d를 누릅니다. 두 tmux 서버가 동일한 접두사를 사용하는 경우, 외부 tmux의 send-prefix 바인딩을 호출합니다. 만약 외부 tmux가 내부 접두사를 가로채는 경우, 이를 포워딩하도록 구성하십시오. agent-manager --version은 버전을 출력합니다.
에이전트 세션은 agentmgr이라는 사설 tmux 서버에서 실행되므로, 사용자가 직접 실행하는 tmux와 섞이지 않으며, 자신의 소켓에 대한 kill-server는 이를 건드리지 않습니다. 일반 셸에서 접근하려면 해당 서버 이름을 지정합니다: tmux -L agentmgr ls, 그리고 tmux -L agentmgr attach -t am_<id>를 사용합니다.
전체 참고 자료(모든 키, 빠른 프롬프트 모드, 종료 및 복구, diff 검토, 그룹, 상태 감지, 통계, 테마)는 docs/usage.md에 있습니다. Agent Manager에서 어떤 내용을 검토하고 싶은지 에이전트에게 알려주면, 해당 내용이 검토 패널에 표시되도록 설정해 줍니다. 또한 에이전트에게 Agent Manager에서 세션과 터미널을 관리하도록 지시할 수도 있습니다. 요약하자면:
| Key | Action |
|---|
n | 새 세션 생성 (이름, 도구, 모델, 노력 및 도구가 보고하는 프로필, 디렉터리, 선택적 시작 프롬프트, 그룹) |
space | 빠른 프롬프트 모드: 선택된 세션에 답변하거나 선택된 그룹에 에이전트 스폰 |
enter | 인플레이스(in place)에서 세션에 초점 맞추기; 목록은 유지되고 키는 에이전트로 전달됨 |
| click / double click | 세션에 초점 맞추기 / 그룹 접거나 펼치기. 전체 화면 레이아웃에서는 클릭 시 선택하고 더블 클릭 시 초점을 맞춤 |
drag ⠿ | 행 재정렬, 다른 그룹으로 드롭 또는 에이전트 아래에 터미널 중첩 |
[…] / right click | 행의 동작: 첨부(attach), 프롬프트(prompt), 검토(review), 포크(fork), 이름 변경(rename), 이동(move), 보관(archive), 종료(kill), 삭제 등 |
| click its row / mouse back | 초점 상태에서 목록으로 돌아가기. 다른 행을 클릭하면 해당 행에 초점이 맞춰짐 |
→ / ← | 단계별 진입 및 퇴장: →는 세션에 초점을 맞추거나 그룹을 열고, ←는 그룹을 닫으며, 초점된 에이전트의 프롬프트 시작 시 목록으로 돌아옴. 베타 버전이며 설정에서 이 쌍을 끌 수 있음 |
ctrl+r | 세션 변경 사항을 전체 파일 diff로 검토; c는 한 줄 주석 처리, C는 번호가 매겨진 검토 라운드를 전송하며, 전송된 주석은 열림 또는 처리됨으로 표시되어 유지됨 |
x / v | 세션 종료하여 RAM 확보 / 자체 대화에서 부활시키기 |
R | 빈 컨텍스트에서 세션 재시작: 동일한 이름, 그룹, 디렉터리 및 도구, 새로운 대화 |
s | 설정 (기본 도구, 테마 또는 OS 라이트/다크 모드 따르기, 목록 밀도, 마우스, 검토 레이아웃, 데스크톱 알림, 편집기, 키 바인딩) |
? | 현재 화면의 키 맵; 검토는 검토 바인딩만 표시함 |
세션은 자체 git worktree (<repo>-worktrees/<name>, 브랜치 am/<name>)로 스폰될 수 있으며, 이는 n 폼에서 토글하거나, 빠른 프롬프트 모드에서는 ctrl+t를 사용하거나, 기본적으로 설정에서 가능합니다.
세션은 자체 모델, 추론 노력 및 프로필을 가지고 시작할 수 있으며, 이는 n 폼에서 ctrl+l, 빠른 프롬프트 모드에서는 ctrl+x와 ctrl+y를 사용하거나, spawn --model --effort --profile로 가능합니다.
. 목록은 각 CLI에서 런타임에 가져오므로, 새로운 모델은 해당 CLI가 출시되는 날 나타나고, restart, revive 및 fork는 선택지를 유지합니다 (Model, effort 및 profile 참조).
설정(Configuration) (Settings, 에디터 o 열기, 그리고 키 테이블)은 docs/configuration.md에 있습니다.
go run .
env -u TMUX TMUX_TMPDIR=/tmp/amtest go test ./... # end-to-end 테스트는 실제 tmux 서버를 구동합니다
CI가 실행하는 검사(checks)는 CONTRIBUTING.md를, 코딩 에이전트를 이 리포지토리에 연결할 경우 AGENTS.md를 참조하세요.
버그 보고서, 기능 아이디어 및 풀 리퀘스트를 환영합니다. 설정 방법과 CI가 실행하는 검사는 CONTRIBUTING.md를 참고하세요. 공유할 만한 질문이나 설정은 Discussions에 작성해 주세요. 보안 보고서는 비공개 자문 채널을 통해 접수하며, SECURITY.md를 참조하세요.