hrdx Terminal Multiplexer
hrdx는 AI 에이전트를 위해 최적화된 터미널 멀티플렉서입니다
hrdx는 개발자가 여러 AI 코딩 에이전트(Claude Code, Codex CLI, pi, zot 등)와 표준 셸을 나란히 실행할 수 있도록 하는 Go 언어로 작성된 실험적이고 미니멀한 터미널 멀티플렉서입니다. 프로젝트를 사이드바의 워크스페이스로 구성하여, 다양한 디렉터리에 있는 여러 에이전트들을 모니터링하고 상호작용할 수 있는 중앙 집중식 환경을 제공합니다.
핵심 아키텍처: 실제 터미널 및 지속성
터미널 래퍼와 달리, hrdx는 모든 창(pane)에 대해 전체 터미널 에뮬레이터를 갖춘 실제 PTY(pseudoterminal) 세션을 활용합니다. 이를 통해 에이전트 TUI(Text User Interfaces)가 스트리밍, 슬래시 명령, 마우스 지원을 포함한 모든 기능을 유지할 수 있습니다. 도구들은 HRDX=1 환경 변수를 통해 hrdx 내부에서 실행 중임을 감지할 수 있습니다.
세션 지속성
hrdx는 TUI가 종료된 후에도 창 프로세스를 계속 유지하는 경량 세션 홀더 프로세스를 사용합니다. 다시 실행할 때, hrdx는 이러한 세션에 다시 연결하여 실행 중인 명령, 스크롤백, 화면 레이아웃(워크스페이스, 탭, 분할 비율 포함)의 정확한 상태를 복구합니다.
워크스페이스 및 에이전트 관리
시각적 구성
인터페이스는 워크스페이스, Git 브랜치, 창의 계층 구조를 표시하는 사이드바를 특징으로 합니다. 혼잡을 최소화하기 위해, 탭 행은 워크스페이스에 여러 탭이 포함된 경우에만 추가됩니다.
에이전트 상태 추적
모든 창에는 에이전트 활동을 추적하기 위한 상태 표시기가 포함되어 있습니다:
- Working: 에이전트는 애니메이션 점자 스피너(braille spinners)를 표시합니다.
- Finished (Unfocused): 포커스가 해제된 에이전트는 작업을 완료했을 때 주황색으로 변합니다.
- Acknowledged: 창에 포커스를 맞추면 표시기가 다시 초록색으로 복구됩니다.
사용자 정의 에이전트 통합
사용자는 harness.json 파일을 통해 어떤 에이전트 CLI도 사용자 정의 하네스(harness)로 등록할 수 있습니다. 이를 통해 Aider나 Goose와 같은 제3자 에이전트들을 hrdx 생태계에 통합할 수 있으며, 이들이 피커(picker)와 사이드바에 나타나도록 하고 상태 스피너를 구동하기 위한 사용자 정의 작업 중(busy-detection) 문자열을 설정할 수 있습니다.
확장성 및 제어
자동화를 위한 소켓 API
hrdx는 외부 스크립트, 에디터 또는 다른 AI 에이전트가 세션을 제어할 수 있도록 하는 JSON 소켓 API(Unix 소켓을 통해)를 제공합니다. 지원되는 메서드는 다음과 같습니다:
workspace.create: 디렉터리를 워크스페이스로 엽니다.pane.create: 특정 워크스페이스에 창을 추가합니다.pane.send_text: 창에 텍스트를 입력합니다.pane.read: 가시적인 화면을 텍스트로 가져옵니다.pane.wait: 에이전트가 유휴 상태이거나 작업 중일 때까지 대기합니다.
원격 및 컨테이너화된 워크플로우
모든 창이 실제 PTY인 만큼, hrdx는 원격 호스트, Docker 컨테이너, Kubernetes 워크로드들을 지원합니다. 사용자는 ssh -tt user@host 'cd /path/to/project && exec codex'와 같은 명령어를 사용하여 원격 대상에서 에이전트를 직접 실행할 수 있습니다. 이러한 작업들은 네이티브 hrdx 피커에 나타나도록 사용자 정의 하네스로 등록될 수 있습니다.
설정 및 사용자 정의
- Keybindings: 프리픽스 키(기본값
ctrl+b)는keys.json을 통해 재설정할 수 있습니다. - Themes: 시각적 스타일은 ANSI 256 색상 또는 헥스 코드를 재정의하는 JSON 테마 파일을 사용하여 사용자 정의할 수 있습니다.
- Notifications: 사용자는 에이전트가 한 턴을 마치면 알림을 받도록 시스템 알림이나 사용자 정의 오디오 파일을 설정할 수 있습니다.
커뮤니티 관점
일부 사용자들은 이 도구의 응답성과 터미널 기반 개발 워크플로우로 복귀하게 해주는 잠재력에 대해 찬사를 보냈지만, 다른 사용자들은 tmux와 같은 기존 도구와 비교했을 때의 유용성에 대해 의문을 제기했습니다. 한 사용자는 다음과 같이 언급했습니다:
"I hate to be that guy, but why would I use this over tmux? All of the features and qualities noted in the readme do not feel novel or unique."
하지만 hrdx는 에이전트 상태 모니터링을 위한 특화된 UI와 에이전트 주도 자동화를 위해 특별히 설계된 프로그래밍 가능한 소켓 API를 제공함으로써 tmux와 차별화됩니다.
Sources
관련
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트