
openwong2kim/wmux
요약
wmux는 Windows 환경에서 AI 코딩 에이전트를 효율적으로 관리하기 위해 설계된 네이티브 터미널 멀티플렉서입니다. WSL 없이도 Claude Code, Codex CLI, Gemini CLI를 분할 창에서 동시에 실행하며, MCP 브릿지와 브라우저 자동화 기능을 제공합니다.
핵심 포인트
- Windows 전용 네이티브 터미널 멀티플렉서 제공
- Claude Code, Codex, Gemini CLI 동시 실행 최적화
- MCP 브릿지 및 브라우저 자동화 기능 탑재
- WSL 설치 없이 Windows 환경에서 즉시 사용 가능
wmux는 터미널을 위한 LSP (Language Server Protocol)입니다. 즉, 외부 도구들이 어떤 터미널 세션 위에서도 워크플로 지능 (workflow intelligence)을 구축할 수 있게 해주는 중립적인 기질 (neutral substrate)입니다. 분할 창 (split panes), MCP 브릿지 (MCP bridge), 브라우저 자동화 (browser automation) 기능을 갖춘 네이티브 Windows 터미널 멀티플렉서 (terminal multiplexer)로, Claude Code, Codex CLI, Gemini CLI를 나란히 실행하기 위해 특수 제작되었습니다. WSL (Windows Subsystem for Linux)이 필요하지 않습니다.
키워드: Windows tmux, tmux for Windows, terminal multiplexer Windows, AI agent terminal, Claude Code Windows, Codex CLI, Gemini CLI, MCP server, Chrome DevTools Protocol, split terminal, multi-agent terminal, browser automation, ConPTY, xterm.js, Electron terminal.

Windows에는 네이티브 tmux가 없습니다. WSL 없이는 여러 AI 코딩 에이전트 (AI coding agents)를 나란히 실행할 수 있는 깔끔한 방법이 없었습니다.
wmux가 이를 해결합니다. Claude Code, Codex CLI, Gemini CLI와 같은 AI 코딩 에이전트를 위해 특수 제작된 네이티브 Windows 터미널 멀티플렉서 + 브라우저 자동화 + MCP 서버입니다. 사용자의 AI 에이전트가 터미널을 읽고, 브라우저를 제어하며, 자율적으로 작업합니다 — 이 모든 것이 하나의 창에서 이루어집니다.
왼쪽에서 Claude Code가 백엔드를 작성하고
오른쪽에서 Codex가 프론트엔드를 구축하며
하단에서 Gemini CLI가 테스트를 실행합니다
...
Winget (권장 — 보안 경고 없음):
winget install openwong2kim.wmux
Chocolatey:
choco install wmux
설치 프로그램 (Installer): wmux Setup.exe 다운로드
"Windows가 PC를 보호했습니다"라는 경고가 보이나요? 설치 프로그램이 아직 Authenticode 서명이 되어 있지 않기 때문에 (SignPath를 통한 무료 코드 서명 설정 중 — 아래 코드 서명 섹션 참조), Windows SmartScreen이 이를 알 수 없는 게시자의 것으로 표시합니다. 계속 진행해도 안전합니다 — '추가 정보(More info)' → '실행(Run anyway)'을 클릭하세요. 위의 winget 또는 Chocolatey를 통해 설치하면 해당 패키지 관리자들이 신뢰할 수 있는 컨텍스트에서 실행되므로 이 프롬프트가 완전히 나타나지 않습니다.
한 줄 명령어 (PowerShell): 최신 릴리스에서 빌드된 Setup.exe를 다운로드하고 실행하기 전에 SHA-256을 검증합니다 (Node/Python/빌드 도구가 필요하지 않음).
irm https://raw.githubusercontent.com/openwong2kim/wmux/main/install.ps1 | iex
대신 소스 코드로부터 빌드(build from source)하고 싶으신가요 (Node 18+, Python 3, 그리고 VS C++ Build Tools가 필요하며, 자동으로 설치됩니다)?
$env:WMUX_FROM_SOURCE=1; irm https://raw.githubusercontent.com/openwong2kim/wmux/main/install.ps1 | iex
코드 서명 (Code signing) — Windows 빌드용 무료 Authenticode 코드 서명은 SignPath.io에서 제공하며, 인증서는 SignPath Foundation에서 제공합니다.
Claude Code에게 "이것을 위해 Google에서 검색해줘"라고 말하면 실제로 검색을 수행합니다. wmux의 내장 브라우저는 Chrome DevTools Protocol (CDP)을 통해 연결됩니다. 클릭, 타이핑, 스크린샷, JS 실행 — 이 모든 것을 AI가 직접 수행합니다. React로 제어되는 입력창(controlled inputs) 및 CJK 텍스트(한국어, 일본어, 중국어)와도 완벽하게 작동합니다.
사용자: "Google에서 wmux를 검색해줘"
Claude: browser_open → browser_snapshot → browser_fill(ref=13, "wmux") → browser_press_key("Enter")
→ 실제로 Google을 검색합니다. 완료.
Ctrl+D는 화면 분할(split), Ctrl+N은 새 워크스페이스(new workspace)를 위한 단축키입니다. 각 워크스페이스에 여러 개의 터미널과 브라우저를 배치할 수 있습니다. Ctrl+click은 멀티뷰(multiview)를 위한 것으로, 여러 워크스페이스를 동시에 볼 수 있습니다.
ConPTY 기반의 네이티브 Windows 의사 터미널(pseudo-terminal)입니다. xterm.js + WebGL 하드웨어 가속 렌더링을 사용합니다. 999K 라인의 스크롤백(scrollback)을 지원합니다. 터미널 콘텐츠는 앱을 재시작한 후에도 유지됩니다.
Tmux 스타일의 접두사 모드 (Tmux-style prefix mode) — Ctrl+B를 누른 후 단일 동작 키(분할, 포커스, 새 워크스페이스 등)를 사용하여 근육 기억(muscle-memory)을 활용한 터미널 탐색이 가능합니다. 13가지 동작을 지원하며, 완전히 다시 바인딩(rebindable)할 수 있습니다.
플로팅 창 (Floating pane) — `Ctrl+``를 사용하여 메인 레이아웃 외부에 존재하는 Quake 스타일의 드롭다운 터미널을 호출합니다. 토글(toggle) 시에도 상태가 유지됩니다.
스크롤 북마크 (Scroll bookmarks) — Ctrl+M은 현재 스크롤 위치를 표시합니다. 마커가 거터(gutter)에 렌더링되어 이전에 어디에 있었는지 확인할 수 있습니다.
스마트 우클릭 (Smart right-click) — Windows Terminal 스타일입니다. 선택 영역 → 즉시 복사. 빈 영역 → 즉시 붙여넣기. 링크 → 작은 열기 / 링크 복사 메뉴. 모달(modal) 간섭이 전혀 없습니다.
wmux는 AI 에이전트가 작업을 마쳤을 때 알려줍니다.
- 작업 완료 → 데스크톱 알림 + 작업 표시줄 깜빡임
- 비정상 종료 → 즉각적인 경고
git push --force,rm -rf,DROP TABLE→ 위험한 동작 감지
패턴 매칭 방식이 아닌 — 출력 처리량 기반 탐지 (output throughput-based detection) 방식을 사용합니다. 어떤 에이전트와도 함께 작동합니다.
mux를 실행하면 MCP 서버가 자동으로 등록됩니다. Claude Code는 별도의 설정 없이 바로 작동합니다:
| Claude가 할 수 있는 일 | MCP 도구 (Tool) |
|---|---|
| 브라우저 열기 | browser_open |
| ... | |
멀티 에이전트 (Multi-agent): 모든 브라우저 도구는 surfaceId를 수용합니다. |
— 각 Claude Code 세션은 자신만의 브라우저를 독립적으로 제어합니다. A2A (agent-to-agent) 도구는 동일한 wmux 인스턴스 내의 형제 에이전트 간에 메시지를 라우팅합니다.
프로그래밍 방식의 오케스트레이션 (Programmatic orchestration): 자체 스크립트나 에이전트에서 여러 wmux 창(pane)을 제어하려면, MCP 도구(terminal_send, terminal_read, pane_list, wmux_events_poll) 또는 wmux CLI(wmux send / read-screen / list-panes, --json을 통해 스크립트 작성 가능)를 직접 호출하십시오. 이 기저 구조(substrate)는 오케스트레이션 표면 역할을 합니다. 원자적 창 점유(atomic pane claim)는 expectedVersion 가드(pane_set_metadata 사용, 서버에서 강제되는 낙관적 동시성 제어)를 통해 이루어집니다.
wmux는 창을 닫더라도 작업 내용을 절대 종료하지 않습니다. tmux 서버와 마찬가지로, 백그라운드 데몬(daemon)이 모든 PTY를 소유하고 실행 상태를 유지하며, UI는 단순히 연결(attach) 및 해제(detach)만 수행합니다. wmux를 종료하고 다시 열어도 — 세션은 단순히 스크롤백 텍스트가 아니라, 프로세스를 포함하여 여전히 실행 중입니다 (진행 중인 빌드, vim 버퍼, ssh 셸 등).
종료 / 앱 재시작: wmux를 닫으면 데몬으로부터 분리(detach)되지만, 데몬은 모든 PTY 프로세스를 살아있는 상태로 유지합니다. 다음 실행 시 각 창은 라이브 세션에 즉시 다시 연결(reattach)됩니다. 충돌 (Crash): 동일한 경로를 따릅니다. 데몬이 UI보다 오래 생존하므로, 렌더러(renderer)나 메인 프로세스가 충돌하더라도 터미널이 함께 종료되지 않습니다. 재부팅 (Reboot): PTY는 전원 사이클을 견딜 수 없으므로, 세션은 저장된 스크롤백과 작업 디렉토리로부터 복구됩니다. wmux는 로그인 시 자동으로 시작됩니다. 완전 종료 (Full teardown): 모든 것을 실제로 중단하고 싶을 때는 트레이의 **"Shut down wmux (close all sessions)"**를 사용하십시오. 모든 창을 닫으면 데몬도 몇 분 후 자동으로 유휴 상태 종료(idle-shut-down)됩니다. 자동 업데이트 (Auto-update): GitHub Releases를 통해 업데이트를 확인합니다. 설정(Settings)에서 켜거나 끌 수 있습니다.
-
모든 IPC 파이프에 대한 토큰 인증 (Token authentication)
-
SSRF 보호 — 사설 IP 및
file://,javascript:스킴 (schemes) 차단 -
PTY 입력 정화 (sanitization) — 커맨드 인젝션 (command injection) 방지
-
무작위 CDP 포트 — 고정된 디버그 포트 미사용
-
메모리 압박 와치독 (Memory pressure watchdog) — 750MB에서 데드 세션 (dead sessions) 회수, 1GB에서 신규 세션 차단
-
Electron Fuses — 쿠키 암호화 활성화; Node CLI inspect 인자 및
NODE_OPTIONS환경 변수 비활성화; 앱은 asar에서만 로드됨. (RunAsNode는 활성화 상태 유지 — 백그라운드 데몬은ELECTRON_RUN_AS_NODE=1을 통해wmux.exe로부터 분리된 Node 프로세스로 생성됨.) -
xterm.js + WebGL GPU 가속 렌더링
-
ConPTY 네이티브 Windows 의사 터미널 (pseudo-terminal)
-
Unicode 11 너비 테이블 — 커서 위치 지정 TUI (Claude Code, vim 등)를 위한 정확한 CJK / 이모지 렌더링
-
분할 창 (Split panes) —
Ctrl+D가로 분할,Ctrl+Shift+D세로 분할 -
탭 (Tabs) — 창당 여러 서피스 (surfaces)
-
플로팅 창 (Floating pane) — Quake 스타일의 드롭다운 터미널, 전용 PTY,
Ctrl+ -
스마트 우클릭 (Smart right-click) — 선택 영역 → 즉시 복사, 빈 영역 → 즉시 붙여넣기, 링크 → 링크 열기 / 복사 메뉴
-
스크롤 북마크 (Scroll bookmarks) —
Ctrl+M마크, 거터 (gutter) 인디케이터 -
Vi 복사 모드 (Vi copy mode) —
Ctrl+Shift+X -
정규식 토글 검색 —
Ctrl+F -
디스크 영속성을 지원하는 999K 라인 스크롤백 (scrollback)
셸 통합 (Shell integration, OSC 133) —terminal_read_events를 위한 의미론적 프롬프트 / 커맨드 경계. pwsh / bash에 자동 주입됨. 제약된 언어 모드 (Constrained Language Mode)에서 안전함 (v2.7.1).
Tmux 스타일 접두사 모드 (Tmux-style prefix mode) — Ctrl+B 입력 후 액션 키, 13가지 기본 액션 (분할, 포커스, 워크스페이스, 팔레트, 플로팅 창 등)
-
사용자 정의 바인딩 + 설정에서 커스텀 키맵 (keymaps) 지원
-
기본값으로 초기화 가능
-
드래그 앤 드롭 재정렬이 가능한 사이드바
-
Ctrl+1~9빠른 전환 -
멀티뷰 (Multiview) —
Ctrl+click으로 여러 워크스페이스를 나란히 보기
레이아웃 템플릿 (Layout templates) — 현재 창 레이아웃 저장, 커맨드 팔레트 ("recent" 카테고리)를 통해 복구 -
전체 세션 영속성 — 레이아웃, 탭, cwd, 스크롤백 모두 복구
-
설정에서 원클릭 초기화 가능
-
내장 브라우저 패널 —
Ctrl+Shift+L -
내비게이션 바 (Navigation bar), 개발자 도구 (DevTools), 뒤로 가기/앞으로 가기
-
요소 검사기 (Element Inspector) — 호버 시 하이라이트, 클릭 시 LLM 친화적인 컨텍스트 (LLM-friendly context) 복사
-
완전한 CDP 자동화: 클릭, 채우기, 타이핑, 스크린샷, JS 평가 (JS eval), 키 입력
-
출력 처리량 기반 활동 감지
-
작업 표시줄 깜빡임 + Windows 토스트 알림 (toast notifications)
-
프로세스 종료 알림
-
알림 패널 —
Ctrl+I -
Web Audio 사운드 효과
Claude Code, Cursor, Aider, Codex CLI, Gemini CLI, OpenCode, GitHub Copilot CLI
-
에이전트 시작 감지 → 모니터링 활성화
-
중요 작업 경고
-
백그라운드 세션 관리 (앱 재시작 시에도 유지)
-
스크롤백 버퍼 덤프 및 자동 복구
-
Windows 시작 프로그램 등록 (재부팅 시에도 유지)
-
만료된 세션 TTL 정리 (기본 24시간)
-
GitHub Releases를 통한 자동 업데이트 확인
-
설정(Settings) > 일반(General)에서 켜기/끄기 토글 가능
-
설정에서 수동 확인 가능
Catppuccin Mocha, Monochrome, Sandstone
영어, 한국어, 일본어, 중국어
| 단축키 | 동작 |
|---|---|
Ctrl+D | 오른쪽 분할 (Split right) |
Ctrl+Shift+D | 아래쪽 분할 (Split down) |
Ctrl+T | 새 탭 (New tab) |
Ctrl+W | 탭 닫기 (Close tab) |
Ctrl+N | 새 워크스페이스 (New workspace) |
Ctrl+1~9 | 워크스페이스 전환 (Switch workspace) |
Ctrl+click | 멀티뷰에 추가 (Add to multiview) |
Ctrl+Shift+G | 멀티뷰 종료 (Exit multiview) |
Ctrl+Shift+L | 브라우저 열기 (Open browser) |
Ctrl+B 후 <key> | Tmux 스타일 접두사 모드 (13가지 동작) |
Ctrl+Shift+B | 사이드바 토글 (Toggle sidebar) |
| `Ctrl+`` | 플로팅 패널 토글 (Quake 스타일) |
Ctrl+K | 커맨드 팔레트 (Command palette) |
Ctrl+I | 알림 (Notifications) |
Ctrl+, | 설정 (Settings) |
Ctrl+F | 터미널 검색 (정규식 토글 포함) |
Ctrl+M | 스크롤백 북마크 추가 |
Ctrl+Up / Ctrl+Down | 이전 / 다음 북마크로 이동 |
Ctrl+Shift+X | Vi 복사 모드 (Vi copy mode) |
| 마우스 우클릭 | 스마트 복사 (선택 영역) / 붙여넣기 (비어있을 때) / 링크 메뉴 |
F12 | 브라우저 개발자 도구 (Browser DevTools) |
git clone https://github.com/openwong2kim/wmux.git
cd wmux
npm install
...
- Node.js 18+
- Python 3.x (node-gyp 용)
- C++ 워크로드가 포함된 Visual Studio Build Tools
install.ps1 스크립트는 소스에서 빌드할 때만 (-FromSource 옵션 사용 시) Python과 VS Build Tools가 누락된 경우 자동으로 설치합니다.
/ WMUX_FROM_SOURCE=1
). 기본 한 줄 명령(one-liner)은 사전 빌드된 Setup.exe를 다운로드하며, 이 중 어느 것도 필요로 하지 않습니다.
Electron 메인 프로세스 (Main Process)
├── PTYManager (node-pty / ConPTY)
├── PTYBridge (데이터 전달 + ActivityMonitor)
...
wmux는 Windows용 tmux 포팅 버전인가요?
아니요. wmux는 ConPTY와 Electron을 기반으로 구축된 네이티브 Windows 터미널 멀티플렉서 (terminal multiplexer)로, WSL이나 Cygwin을 요구하지 않으면서 tmux 스타일의 분할 창 (split panes), 접두사 키 (prefix keys), 세션 지속성 (session persistence)을 제공합니다.
wmux는 Claude Code, Codex CLI, Gemini CLI와 함께 작동하나요?
네. wmux는 이러한 AI 코딩 에이전트 (AI coding agents)를 자동으로 감지하고 MCP 서버를 등록하여, Claude Code가 내장된 브라우저를 제어하고 터미널 출력을 읽을 수 있도록 합니다.
여러 AI 에이전트를 동시에 실행할 수 있나요?
네. 각 창 (pane)은 독립적인 PTY를 실행합니다. 에이전트들은 멀티 에이전트 워크플로우 (multi-agent workflows)를 위해 A2A (agent-to-agent) MCP 도구를 통해 통신할 수 있습니다.
WSL이 필요한가요?
아니요. wmux는 완전한 네이티브 Windows (ConPTY + Electron)입니다. WSL, Cygwin 또는 MSYS2가 필요하지 않습니다.
설치 프로그램을 실행할 때 왜 Windows에서 "Windows가 PC를 보호했습니다"라는 경고가 표시되나요?
설치 프로그램에 아직 코드 서명 (code-signed)이 되어 있지 않아, Windows SmartScreen이 알 수 없는 게시자가 제공하는 것으로 표시합니다. 계속 진행해도 안전합니다 — **추가 정보(More info) → 실행(Run anyway)**를 클릭하세요. 이 프롬프트를 완전히 피하려면 winget install openwong2kim.wmux 또는 choco install wmux를 통해 설치하세요. 해당 패키지 매니저 (package managers)들은 신뢰할 수 있는 컨텍스트에서 실행되므로 SmartScreen이 나타나지 않습니다.
- xterm.js — 터미널 렌더링 (Terminal rendering)
- node-pty — 가상 터미널 (Pseudo-terminal)
- Electron — 데스크톱 프레임워크 (Desktop framework)
- Playwright — 브라우저 자동화 엔진 (Browser automation engine)
wmux는 상태 표시 목적으로만 AI 코딩 에이전트를 감지합니다. 어떠한 AI API를 호출하거나, 에이전트의 출력을 캡처하거나, 에이전트 상호작용을 자동화하지 않습니다. 사용자는 각 AI 제공업체의 서비스 약관 (Terms of Service)을 준수할 책임이 있습니다.
MIT
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기