GitHub

mvschwarz/openrig — Multi-agent harness that runs Claude Code and Codex together as one system

Claude Code와 Codex를 한 팀으로 운영하는 멀티 에이전트 하네스, OpenRig

OpenRig는 Claude Code와 Codex 같은 코딩 에이전트를 tmux 기반 팀으로 구성하고, CLI·터미널 UI·MCP 서버로 관리하는 오픈소스 도구입니다. YAML로 역할과 협업 흐름을 정의하고 작업 전달, 상태 확인, 스냅샷 복구를 지원합니다. 설치와 실행 과정에서 신뢰 설정과 훅 등 로컬 파일을 바꾸므로 사전 검토가 필요합니다.

에디터 노트

코딩 에이전트 경쟁이 모델에서 오케스트레이션으로 넘어가는 신호탄입니다. OpenRig는 Claude Code와 Codex를 YAML(RigSpec)로 정의한 '팀'으로 묶고 rig up 한 방에 올립니다. 각 에이전트는 tmux 세션에서 돌아 직접 들여다볼 수 있고, MCP 서버를 통해 에이전트 스스로 팀을 관리하게도 됩니다. 다만 설치 과정이 신뢰 설정과 훅 같은 로컬 파일을 바꾸므로 첫 실행 전 백업이 필수입니다. 그리고 예전 React 웹 UI는 유지보수 모드라 지금은 터미널·TUI 중심입니다. 홈서버에 올려 원격 웹 UI로 보는 그림을 기대했다면 결이 다릅니다.

AI 요약

OpenRig는 코딩 에이전트 자체가 아니라 에이전트들이 이루는 팀을 관리하는 도구입니다. 여러 터미널 세션을 따로 띄우는 대신 역할과 연결 관계를 YAML로 정의하고, 한 명의 리드 에이전트가 구현·검토 담당자에게 일을 나누는 구성을 만들 수 있습니다. 각 에이전트는 tmux 세션에서 실행되므로 사용자가 직접 접속해 확인할 수 있습니다.

구성과 작업 흐름

팀 구성은 RigSpec이라는 YAML 명세로 작성합니다. 명세에는 에이전트를 묶는 Pod, 좌석 사이의 연결, 연속성 정책 등이 들어갑니다. Seat는 dev-owner@first-project처럼 팀 안에서 역할을 가리키는 주소입니다. 대화가 바뀌어도 좌석의 정체성과 기록된 작업 맥락은 유지됩니다. AgentSpec은 기술·지침·훅·프로필을 묶어 재사용하는 에이전트 설계도입니다.

rig up은 명세에 맞춰 tmux 세션과 실행 환경을 준비합니다. rig tui에서는 팀 구조를 표나 그래프로 보고, 좌석·프로젝트·명세·피드·시스템 상태를 살핍니다. CLI에는 팀 생성과 상태 확인, 에이전트 간 메시지 전달, 작업 관리 명령이 있습니다. MCP 서버도 제공해 에이전트가 rig_up, rig_ps, rig_send 같은 도구를 호출하며 팀 구성을 관리하게 합니다. 실행 중인 Claude Code와 Codex 세션을 검색해 관리 대상으로 편입하는 rig discover와 rig adopt도 지원합니다.

기본 시작 절차는 저장소에서 rig up first-project --cwd . --plan으로 실행 계획을 먼저 확인한 뒤 실제로 팀을 올리는 방식입니다. 예제는 Codex 좌석 두 개, 작업 담당자와 검토자로 구성됩니다. rig ps --nodes --rig first-project로 준비 상태를 확인하고, rig send dev-owner@first-project로 저장소에서 수행할 범위가 분명한 작업을 전달합니다. 메시지를 보낸다고 작업 항목이 자동 생성되지는 않습니다. 담당 에이전트가 작업을 큐에 기록해야 하므로 이후 rig queue list에서 항목을 확인합니다. 마지막으로 결과물과 검토자가 같은 변경 후보를 확인했는지 살핀 뒤 다음 작업을 맡깁니다.

실행 환경과 복구

필수 조건은 Node.js 20·22·24 중 하나와 tmux입니다. 제공된 첫 프로젝트 예제를 실행하려면 Codex 인증도 필요합니다. Claude Code와 다른 터미널 제공자는 선택 사항입니다. Herdr나 cmux를 연결하면 여러 에이전트의 터미널을 함께 볼 수 있고, 기반 세션은 계속 tmux에서 접근합니다. rig down --snapshot은 팀 상태를 저장하며 rig up <name>은 최신 스냅샷을 복원합니다. 복원 결과는 노드별로 재개·새 실행·실패 상태를 보고합니다.

프로젝트에는 작은 2좌석 예제 외에도 Claude Code와 Codex를 섞은 4좌석 conveyor, 구현·QA·디자인·검토자를 포함한 product-team 등이 있습니다. 연구팀, 적대적 검토팀, 비밀 관리팀을 위한 명세도 제공하며, HashiCorp Vault를 에이전트가 운영하는 예제는 Docker가 필요합니다.

로컬 파일 변경과 데이터 흐름

설치와 실행은 로컬 설정을 변경합니다. rig setup --dry-run은 설정 단계에서 적용할 계획을 보여주지만, 이후 데몬 시작과 에이전트 실행이 만드는 모든 변경까지 미리 보여주지는 않습니다. 설정 과정은 ~/.tmux.conf에 OpenRig 블록을 추가할 수 있고, macOS에서는 cmux 설치와 자동화 소켓 설정을 시도합니다. 데몬은 보통 ~/.openrig에 데이터베이스와 관리 리소스를 만들며, Claude Code와 에이전트 도구용 스킬을 사용자 디렉터리에 배치할 수 있습니다.

Claude Code 설정에는 워크스페이스 신뢰 정보와 온보딩 상태가 기록됩니다. 워크스페이스에는 문맥 수집기와 활동 훅 설정이 들어갈 수 있습니다. Codex는 보통 ~/.codex/config.toml에 훅 설정과 신뢰 기록을 씁니다. 관리 실행은 Claude Code에 acceptEdits, Codex에 기본 workspace-write 샌드박스를 사용합니다. YOLO 모드는 기본값이 아니며, 환경 변수나 좌석 정책으로 명시해야 전체 권한 모드가 선택됩니다. 설정 작성기가 기존 훅 일부는 유지하지만 신뢰 정보나 선택된 리소스 설정을 바꿀 수 있고, 일부 작성기는 읽을 수 없는 설정을 빈 객체로 복구합니다. 따라서 첫 실행 전에 관련 파일을 백업해야 합니다.

활동 릴레이는 이벤트 종류와 하위 유형, 좌석·실행 환경 식별자, 시각, 세션 식별자를 데몬으로 보냅니다. 해당 페이로드에는 프롬프트 본문과 도구 인자가 포함되지 않습니다. Claude 문맥 수집기는 토큰 사용량, 세션·대화 기록 경로 정보와 이용 가능한 사용량 제한 정보를 인스턴스 상태에 기록합니다. 제공자나 선택한 MCP 연결은 별도의 데이터 흐름을 만들 수 있습니다.

이전 버전 데이터 이전

문서에는 0.5.9 이전 인스턴스의 텔레메트리와 문맥 라이브러리 이전 절차도 포함됩니다. 이 절차는 기존 디렉터리를 한 번에 옮기는 방식이 아닙니다. 먼저 읽기 전용 계획을 확인하고, 상태 데이터 준비와 검증을 거친 다음 별도 명령으로 라이브러리를 마무리합니다. 검증은 같은 좌석에서 새 상태 경로에 짝을 이룬 최신 샘플이 기록됐는지 확인합니다. 단계별 결과가 불완전하거나 문제가 있으면 다음 단계로 진행하지 말라고 안내합니다. 롤백 명령도 있지만, 데몬·데이터베이스·좌석·플러그인 수명주기까지 모두 되돌리는 절차는 아닙니다.

원문: GitHub / 번역·요약: Trawling