cmux/README.ko.md

7.5 KiB
Raw Blame History

이 번역은 Claude에 의해 생성되었습니다. 개선 사항이 있으면 PR을 제출해 주세요.

English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe

cmux

AI 코딩 에이전트를 위한 세로 탭과 알림 기능을 갖춘 Ghostty 기반 macOS 터미널

macOS용 cmux 다운로드

cmux 스크린샷

기능

  • 세로 탭 — 사이드바에 git 브랜치, 작업 디렉토리, 리스닝 포트, 최신 알림 텍스트 표시
  • 알림 링 — AI 에이전트(Claude Code, OpenCode)가 사용자의 주의를 필요로 할 때 패널에 파란색 링이 표시되고 탭이 강조됨
  • 알림 패널 — 모든 대기 중인 알림을 한 곳에서 확인하고, 가장 최근의 읽지 않은 알림으로 바로 이동
  • 분할 패널 — 수평 및 수직 분할 지원
  • 내장 브라우저agent-browser에서 포팅된 스크립트 가능한 API를 갖춘 브라우저를 터미널 옆에 분할하여 사용
  • 스크립트 가능 — CLI와 socket API로 워크스페이스 생성, 패널 분할, 키 입력 전송, 브라우저 자동화 가능
  • 네이티브 macOS 앱 — Swift와 AppKit으로 구축, Electron이 아닙니다. 빠른 시작, 낮은 메모리 사용량.
  • Ghostty 호환 — 기존 ~/.config/ghostty/config에서 테마, 글꼴, 색상 설정을 읽어옴
  • GPU 가속 — libghostty로 구동되어 부드러운 렌더링 제공

설치

DMG (권장)

macOS용 cmux 다운로드

.dmg 파일을 열고 cmux를 응용 프로그램 폴더로 드래그하세요. cmux는 Sparkle을 통해 자동 업데이트되므로, 한 번만 다운로드하면 됩니다.

Homebrew

brew tap manaflow-ai/cmux
brew install --cask cmux

나중에 업데이트하려면:

brew upgrade --cask cmux

처음 실행 시, macOS가 확인된 개발자의 앱을 여는 것을 확인하도록 요청할 수 있습니다. 열기를 클릭하여 계속 진행하세요.

왜 cmux를 만들었나요?

저는 Claude Code와 Codex 세션을 대량으로 병렬 실행합니다. 이전에는 Ghostty에서 분할 패널을 여러 개 열어놓고, 에이전트가 저를 필요로 할 때 macOS 기본 알림에 의존했습니다. 하지만 Claude Code의 알림 내용은 항상 "Claude is waiting for your input"이라는 맥락 없는 동일한 메시지뿐이었고, 탭이 많아지면 제목조차 읽을 수 없었습니다.

몇 가지 코딩 오케스트레이터를 시도해봤지만, 대부분 Electron/Tauri 앱이어서 성능이 마음에 들지 않았습니다. 또한 GUI 오케스트레이터는 특정 워크플로우에 갇히게 되므로 터미널을 더 선호합니다. 그래서 Swift/AppKit으로 네이티브 macOS 앱인 cmux를 만들었습니다. 터미널 렌더링에 libghostty를 사용하고, 기존 Ghostty 설정에서 테마, 글꼴, 색상을 읽어옵니다.

주요 추가 기능은 사이드바와 알림 시스템입니다. 사이드바에는 각 워크스페이스의 git 브랜치, 작업 디렉토리, 리스닝 포트, 최신 알림 텍스트를 보여주는 세로 탭이 있습니다. 알림 시스템은 터미널 시퀀스(OSC 9/99/777)를 감지하고, Claude Code, OpenCode 등의 에이전트 훅에 연결할 수 있는 CLI(cmux notify)를 제공합니다. 에이전트가 대기 중일 때 해당 패널에 파란색 링이 표시되고 사이드바에서 탭이 강조되어, 여러 분할 패널과 탭에서 어떤 것이 저를 필요로 하는지 한눈에 알 수 있습니다. ⌘⇧U로 가장 최근의 읽지 않은 알림으로 이동합니다.

내장 브라우저는 agent-browser에서 포팅된 스크립트 가능한 API를 갖추고 있습니다. 에이전트가 접근성 트리 스냅샷을 가져오고, 요소 참조를 얻고, 클릭하고, 양식을 작성하고, JS를 실행할 수 있습니다. 터미널 옆에 브라우저 패널을 분할하여 Claude Code가 개발 서버와 직접 상호작용하도록 할 수 있습니다.

모든 것은 CLI와 socket API를 통해 스크립트 가능합니다 — 워크스페이스/탭 생성, 패널 분할, 키 입력 전송, 브라우저에서 URL 열기.

키보드 단축키

워크스페이스

단축키 동작
⌘ N 새 워크스페이스
⌘ 18 워크스페이스 18로 이동
⌘ 9 마지막 워크스페이스로 이동
⌃ ⌘ ] 다음 워크스페이스
⌃ ⌘ [ 이전 워크스페이스
⌘ ⇧ W 워크스페이스 닫기
⌘ B 사이드바 토글

서피스

단축키 동작
⌘ T 새 서피스
⌘ ⇧ ] 다음 서피스
⌘ ⇧ [ 이전 서피스
⌃ Tab 다음 서피스
⌃ ⇧ Tab 이전 서피스
⌃ 18 서피스 18로 이동
⌃ 9 마지막 서피스로 이동
⌘ W 서피스 닫기

분할 패널

단축키 동작
⌘ D 오른쪽으로 분할
⌘ ⇧ D 아래로 분할
⌥ ⌘ ← → ↑ ↓ 방향키로 패널 포커스 이동
⌘ ⇧ H 포커스된 패널 깜빡임

브라우저

단축키 동작
⌘ ⇧ L 분할에서 브라우저 열기
⌘ L 주소창 포커스
⌘ [ 뒤로
⌘ ] 앞으로
⌘ R 페이지 새로고침
⌥ ⌘ I 개발자 도구 열기

알림

단축키 동작
⌘ I 알림 패널 표시
⌘ ⇧ U 최신 읽지 않은 알림으로 이동

찾기

단축키 동작
⌘ F 찾기
⌘ G / ⌘ ⇧ G 다음 찾기 / 이전 찾기
⌘ ⇧ F 찾기 바 숨기기
⌘ E 선택 영역으로 찾기

터미널

단축키 동작
⌘ K 스크롤백 지우기
⌘ C 복사 (선택 시)
⌘ V 붙여넣기
⌘ + / ⌘ - 글꼴 크기 확대 / 축소
⌘ 0 글꼴 크기 초기화

단축키 동작
⌘ ⇧ N 새 창
⌘ , 설정
⌘ ⇧ , 설정 다시 불러오기
⌘ Q 종료

라이선스

이 프로젝트는 GNU Affero 일반 공중 사용 허가서 v3.0 이상(AGPL-3.0-or-later)에 따라 라이선스가 부여됩니다.

전체 라이선스 텍스트는 LICENSE 파일을 참조하세요.