프로젝트 소개

cmux는 Swift와 AppKit으로 제작된 네이티브 macOS 터미널 애플리케이션이며, GPU 가속 렌더링을 위해 libghostty를 활용합니다. 여러 AI 코딩 에이전트(Claude Code, Codex, OpenCode 등)를 병렬로 실행하는 개발자를 위해 설계되었으며, 각 워크스페이스의 git 브랜치, 연결된 PR 상태, 작업 디렉터리, 수신 대기 포트, 최신 알림 텍스트를 표시하는 수직 탭이 있는 사이드바를 제공합니다. 주요 기능은 다음과 같습니다: - **알림 링과 패널**: 에이전트가 주의를 필요로 할 때 패널에 파란색 링이 표시되고 탭이 켜집니다. 알림은 표준 터미널 이스케이프 시퀀스(OSC 9/99/777) 또는 `cmux notify` CLI를 통해 트리거되며, 에이전트 훅과 통합할 수 있습니다. - **인앱 브라우저**: 터미널 옆에 분할할 수 있는 스크립트 가능한 브라우저 패널(agent-browser에서 포팅된 API)로, 에이전트가 접근성 트리를 스냅샷하고, 클릭하고, 양식을 채우고, JavaScript를 평가할 수 있습니다. - **수직 및 수평 탭**: 사이드바에 워크스페이스 메타데이터를 표시하며, 수직 및 수평 분할 패널을 지원합니다. - **SSH 지원**: `cmux ssh user@remote`는 원격 머신용 워크스페이스를 생성하며, 브라우저 패널은 원격 네트워크를 통해 라우팅되고 scp를 통한 이미지 드래그 앤 드롭 업로드를 지원합니다. - **Claude Code Teams**: `cmux claude-teams`는 Claude Code의 팀원 모드를 실행하여 tmux 없이도 팀원을 네이티브 분할로 생성하고 사이드바 메타데이터와 알림을 제공합니다. - **프로그래밍 가능성**: 워크스페이스 생성, 패널 분할, 키 입력 전송, 화면 내용 읽기, 스크린샷 찍기, 브라우저 구동을 위한 완전한 CLI 및 Unix 소켓 API를 제공합니다. - **Ghostty 호환성**: 테마, 글꼴, 색상을 위해 기존 `~/.config/ghostty/config`를 읽습니다. - **세션 복원**: 창/워크스페이스/패널 레이아웃, 작업 디렉터리, 터미널 스크롤백, 브라우저 기록을 저장하고 복원합니다. 훅을 통해 에이전트 세션(Claude Code, Codex, Grok, OpenCode 등) 재개를 지원합니다. 실시간 분리/재연결을 위해 `cmux local-tmux`와 원격 tmux 옵션을 제공합니다. - **사용자 정의 명령**: `cmux.json`에 정의된 프로젝트별 작업을 명령 팔레트에서 실행합니다. - **브라우저 가져오기**: Chrome, Firefox, Arc 및 20개 이상의 브라우저에서 쿠키, 기록, 세션을 가져옵니다. - **키보드 단축키**: 워크스페이스, 서피스, 분할 패널, 브라우저, 알림, 찾기, 터미널, 창 관리를 위한 광범위한 사용자 정의 단축키를 제공합니다. - **나이틀리 빌드**: 자체 번들 ID를 가진 별도 앱으로, Sparkle을 통해 자동 업데이트됩니다. - **iOS 앱(베타)**: iPhone을 Mac과 페어링하여 터미널에 연결하고 선택적으로 알림을 전달합니다. cmux는 GPL-3.0-or-later에 따라 무료 오픈 소스입니다. macOS 전용입니다. 설치는 DMG 또는 Homebrew(`brew tap manaflow-ai/cmux` 및 `brew install --cask cmux`)를 통해 이루어집니다. 이 프로젝트는 독단적인 워크플로 대신 조합 가능한 기본 요소를 제공하는 철학을 강조하여, 개발자가 자신만의 에이전트 오케스트레이션 설정을 구축할 수 있도록 합니다.