agent-of-empires
무엇인가
AoE는 AI 코딩 에이전트를 장시간 살아 있는 세션으로 유지하는 관리 계층이다. 에이전트 자체를 구현하지 않고, 이미 설치된 CLI 에이전트를 감싸 실행·감시·격리하는 자리에 놓인다. Claude Code, OpenCode, Mistral Vibe, Codex CLI, Gemini CLI, Pi.dev, Copilot CLI, Factory Droid Coding을 대상으로 한다.
어떻게 동작하나
각 에이전트는 자기 전용 tmux 세션에서 실행된다. TUI를 닫거나 SSH가 끊기거나 터미널이 죽어도 세션은 백그라운드에 남고, `aoe`를 다시 열면 이전 상태 그대로다. 상태 감지가 running, waiting, idle, error를 구분하고 알림을 보낸다. Git worktree와 멀티 레포 워크스페이스를 만들 수 있고, Docker·Podman·Apple Containers로 샌드박싱한다. 노출되는 표면은 TUI, 웹 대시보드, CLI, HTTP API 네 가지이며, 웹은 데스크톱에서 전체 대시보드·터미널·diff를, 모바일에서 구조화 뷰를 보여준다.
무엇과 다른가
tmux는 세션 지속성만 제공한다. AoE는 그 위에 에이전트 인식 상태 감지, worktree 관리, 컨테이너 샌드박싱, 웹 대시보드, 원격 폰 접근, diff 뷰어를 얹는다. 기존 tmux 워크플로를 대체하지 않으며, `tmux attach`로 어떤 AoE 세션에도 직접 붙을 수 있다. Go와 Bubble Tea로 만든 agent-deck에서 영감을 받았다.
어떻게 쓰나
tmux를 설치한 뒤 `aoe`를 실행하면 TUI가 뜬다. `?`로 도움말을 열고, 하단 정보 바가 상황에 맞는 키바인딩을 표시한다. `aoe agents`는 현재 지원 에이전트 목록과 로컬 가용성을 출력한다. `Ctrl+b d`로 세션에서 분리해 TUI로 돌아온다. 프로필, 레포 훅, 사용자 정의 에이전트 명령을 설정할 수 있고 HTTP API로 외부에서 제어할 수 있다.
전제와 한계
Linux와 macOS에서 동작한다. Windows는 WSL2를 통해서만 지원되며, tmux와 POSIX 프로세스 처리에 의존하므로 네이티브 Windows는 지원하지 않는다. tmux는 필수, Docker는 샌드박싱을 쓸 때만 필요하다. 세션은 명시적으로 삭제할 때만 제거된다. MIT 라이선스이고, `src/tui/hyperlink.rs` 한 파일은 Apache 2.0의 herdr 코드에서 파생됐다.
유사 도구
- supersetCLI 코딩 에이전트를 작업별 git worktree에 격리해 병렬 실행하고, 터미널·diff 뷰어·원격 접속으로 관리하는 데스크톱 IDE다.
- emdash여러 AI 코딩 에이전트를 Git worktree마다 격리해 병렬 실행하고, diff 검토와 PR 생성·CI 확인·머지를 한 화면에서 처리하는 데스크톱 앱이다.
- OpenHands여러 코딩 에이전트를 로컬·원격·클라우드 백엔드에 연결해 한 화면에서 실행하고 자동화하는 셀프호스팅 제어 센터다.
- Codewhale터미널에서 프로젝트를 읽고 파일을 고치고 명령을 실행하는 Rust 기반 코딩 에이전트다. 호스티드·로컬 모델을 골라 붙인다.
- nanoclaw메신저 채널별 에이전트를 컨테이너로 격리해 붙이고, /add-* 슬래시 명령으로 필요한 채널·프로바이더 모듈만 포크에 복사하도록 규율하는 Claude Code 스킬 묶음이다.
- oh-my-pi터미널에서 도는 코딩 에이전트로, LSP와 DAP를 에이전트 루프에 직접 연결해 이름 변경과 디버깅까지 IDE 수준으로 처리한다. Rust 코어 단일 바이너리다.