herdr
무엇인가
herdr는 코딩 에이전트를 실행하는 터미널 자체를 관리하는 런타임이다. 에이전트를 새로 만들거나 감싸는 도구가 아니라, 에이전트가 살아 있는 pane을 소유하고 유지하는 계층이다. 터미널 멀티플렉서와 에이전트 오케스트레이션 사이에 위치한다.
어떻게 동작하나
구조는 클라이언트-서버다. 백그라운드 서버가 터미널 프로세스를 붙잡고, 클라이언트는 접속과 분리만 담당한다. 클라이언트를 닫거나 SSH 연결이 끊겨도 서버의 터미널은 계속 돌고, `ctrl+b q`로 분리한 뒤 `herdr`로 다시 붙는다. 서버나 머신이 재시작되면 저장된 레이아웃을 복원하고 지원되는 에이전트 세션은 재개하지만, 원래 프로세스는 살아남지 않는다. 각 pane은 working, blocked, idle로 표시되고, 에이전트는 CLI와 소켓 API로 herdr을 조작해 pane을 만들고 서로 프롬프트를 보내며 다른 에이전트가 실제로 blocked 상태가 될 때까지 기다린다. 배포 형태는 Electron 없는 Rust 단일 바이너리다.
무엇과 다른가
순수 터미널 멀티플렉서와의 차이는 pane 상태를 에이전트 관점에서 분류하고 소켓 API를 외부에 노출한다는 점이다. Claude Code, Codex, Cursor, OpenCode, Grok 같은 기존 에이전트를 대체하거나 래핑하지 않고 그 터미널만 소유한다. 로컬 작업과 저장된 SSH 머신을 한 창에 함께 두고 에이전트 목록을 통합해 보여주며, 각 머신의 재연결은 서로 독립적으로 일어난다.
어떻게 쓰나
설치는 `brew install herdr`, `mise use -g herdr`, Windows용 PowerShell 스크립트 중 하나로 한다. 작업이 있는 디렉터리에서 herdr을 실행하고 에이전트를 띄운 뒤 pane을 분할한다. tmux식 prefix 키와 마우스 클릭·드래그·분할을 모두 지원하며, 플러그인으로 pane과 워크플로를 확장한다. 설정과 개념 설명은 herdr.dev/docs에 있다.
전제와 한계
재시작 후 복원되는 것은 레이아웃과 지원되는 에이전트 세션이며 실행 중이던 프로세스는 복원되지 않는다. 에이전트 세션 재개는 지원되는 에이전트로 한정된다. Windows는 별도 설치 스크립트를 쓰고, 라이선스는 Apache License 2.0이다.
유사 도구
- warp터미널에서 출발한 에이전트 개발 환경으로, 내장 코딩 에이전트와 Claude Code·Codex·Gemini CLI 등 외부 CLI 에이전트를 같은 창에서 실행한다.
- codexOpenAI 코딩 에이전트를 터미널에서 로컬로 실행하는 Rust CLI다. ChatGPT 로그인 또는 API 키로 인증한다.
- terax-aiTauri 2와 Rust로 만든 7MB대 터미널 우선 AI 개발 환경이다. 네이티브 PTY와 WebGL 터미널, CodeMirror 6 편집기, BYOK·로컬 모델 에이전트 패널을 한 창에 묶는다.
- destructive_command_guardAI 코딩 에이전트가 실행하려는 git·셸 명령을 실행 전에 가로채 파괴적 명령을 차단하는 Rust 훅 바이너리다. 여러 에이전트의 훅 설정에 등록돼 동작한다.
- rtk명령 출력을 LLM 컨텍스트에 넣기 전에 필터·압축해 토큰을 줄이는 Rust 단일 바이너리 CLI 프록시다. Bash 훅으로 명령을 가로채 필터를 적용한다.