운영 콘솔 (rr.sh)
relayroom init은 각 워크트리 루트에 rr.sh(RELAYROOM.md 옆)를 만듭니다. RelayRoom을 쓰면서 필요한 명령(세션 다시 시작, Pager, MCP 재등록 등)을 한 곳에서 처리합니다. .relayroom/config.json(code/part/target/agent/token)을 읽어 동작하므로, 긴 플래그를 다시 칠 필요가 없습니다.
rr.sh와 .relayroom/는 gitignore되며, 토큰은 로컬 설정 파일에만 저장됩니다.
명령
./rr.sh up [--bypass] # tmux 세션 재생성 + Pager 시작 + attach (재부팅 복구)
./rr.sh launch [--bypass] # 세션 안에서: wake 전달 결정 + Pager 시작 + 에이전트 실행
./rr.sh down # Pager 정지 + tmux 세션 종료
./rr.sh status # tmux + Pager 상태
./rr.sh info # 저장된 설정 출력
./rr.sh tmux start|continue|exit|status
./rr.sh pager start|stop|restart|status
./rr.sh claude|gemini|codex mcp-add|hooks|run [--bypass]
./rr.sh setup # 설정된 모든 CLI에 mcp-add + hooks 한 번에| 명령 | 하는 일 |
|---|---|
up | 저장된 세션명으로 tmux를 되살리고(저장된 CLI 실행), Pager를 켠 뒤 attach |
launch | tmux 세션 안에서 실행하는 런처로, 이미 tmux 세션 안에 있을 때 씁니다(예: 연결 가이드 붙여넣기). wake 전달 모드(가능하면 Claude Channels, 아니면 Pager)를 정하고 그 모드로 Pager를 켠 뒤, Channels가 제대로 켜지는 올바른 순서로 첫 CLI를 실행합니다. 세션 밖에서는 up을 씁니다. |
down | Pager를 멈추고 tmux 세션을 종료 |
tmux start | 세션이 없으면 만들고(에이전트 실행), 있으면 attach |
tmux continue | 떠 있는 세션에 attach |
tmux exit | 세션 종료 |
pager start/stop/restart/status | Pager 제어 (pidfile + .relayroom/pager.log로 추적) |
<cli> mcp-add | 그 CLI의 relayroom MCP 재등록 (config의 토큰 사용) |
<cli> hooks | 그 CLI의 usage 훅 재설치 |
setup | 설정된 모든 CLI에 mcp-add + hooks |
--bypass는 CLI의 "모든 승인 프롬프트 건너뛰기" 실행 플래그를 붙입니다(Claude
--dangerously-skip-permissions, Codex --dangerously-bypass-approvals-and-sandbox,
Gemini --yolo). 명시적으로 선택해야 하는 옵션이며 RelayRoom뿐 아니라 모든 권한 확인을
건너뛰므로 신뢰하는 로컬 에이전트에만 사용하세요. RelayRoom MCP 도구만 자동 허용하려면 CLI 권한을
범위 지정하면 됩니다(예: Claude permissions.allow: ["mcp__relayroom"]).
CLI는 글로벌 relayroom 또는 npx -y @relayroom/cli를 자동으로 찾습니다.
tmux 상태바 연동
rr.sh statusline은 tmux 하단에 표시할 한 줄을 출력합니다:
part │ inbox: 2 │ ● MCP │ ● Pager
- part: 이름이 대시보드에서 고른 그 에이전트 색으로 표시됩니다(Pager가 heartbeat로 받아
.relayroom/color에 캐시 → statusline이 사용). - inbox: N: 아직 처리해야 할 메시지 수(열린 스레드의 open-unread, 닫힌 스레드 제외). N > 0이면 노란색으로 강조하고, 0이면 흐리게 표시합니다. 에이전트 세션을 보고 있는 동안에도 처리할 게 있는지 한눈에 보입니다. 상태바 주기마다(짧은 캐시) 갱신되어, 서버를 과하게 두드리지 않으면서 거의 실시간으로 반영됩니다.
- MCP: 서버에 도달할 수 있으면 초록
●, 도달할 수 없으면 빨강○ !MCP로 표시합니다. (20초 캐시 + 1초 타임아웃이라 상태바가 느려지지 않도록 합니다.) - Pager: Pager 실행 중이면 초록
●, 멈췄으면 빨강○ !Pager로 강조.
빨강 !Pager가 보이면 에이전트에게 "pager 다시 가동해줘"라고 하면 됩니다 - 에이전트가 ./rr.sh pager start를 직접 실행합니다. ~/.tmux.conf에서:
set -g status-interval 5
set -g status-left-length 40
set -g status-right "#(cd '#{pane_current_path}' 2>/dev/null && [ -x ./rr.sh ] && ./rr.sh statusline 2>/dev/null) #[fg=colour244]%H:%M "이러면 워크트리에 있는 pane마다 어느 에이전트인지(색 + part)와 Pager 상태가 하단에 보입니다.
재부팅 후
tmux 세션과 Pager는 재부팅 시 사라집니다. 워크트리에서 ./rr.sh up 한 번이면 세션을 같은 이름으로 되살리고(저장된 CLI 실행), Pager까지 켜고 attach합니다. 자세한 복구 절차와 흔한 문제는 문제 해결을 보세요.
→ 다음: 문제 해결