diff --git a/web/messages/ko.json b/web/messages/ko.json
index 980433a9b6..a2a70610d8 100644
--- a/web/messages/ko.json
+++ b/web/messages/ko.json
@@ -85,6 +85,8 @@
"community": {
"title": "커뮤니티",
"description": "다른 cmux 사용자 및 개발팀과 소통하세요.",
+ "metaTitle": "커뮤니티 — cmux",
+ "metaDescription": "Discord, Twitter, GitHub 등에서 cmux 커뮤니티에 참여하세요",
"discord": "Discord",
"discordAction": "Discord 참여하기",
"discordDesc": "커뮤니티와 대화하고, 도움을 받고, 피드백을 공유하세요",
@@ -98,9 +100,7 @@
"youtubeDesc": "데모, 튜토리얼, 워크스루",
"linkedin": "LinkedIn",
"linkedinAction": "팔로우하기",
- "linkedinDesc": "회사 소식 및 엔지니어링 업데이트",
- "metaTitle": "커뮤니티 — cmux",
- "metaDescription": "Discord, Twitter, GitHub 등에서 cmux 커뮤니티에 참여하세요"
+ "linkedinDesc": "회사 소식 및 엔지니어링 업데이트"
},
"blog": {
"title": "블로그",
@@ -108,7 +108,67 @@
"metaTitle": "블로그",
"metaDescription": "cmux 팀의 뉴스와 업데이트",
"description": "cmux 팀의 뉴스와 업데이트",
+ "zenOfCmux": {
+ "metaTitle": "cmux의 선",
+ "metaDescription": "cmux는 솔루션이 아닌 프리미티브입니다. 조합 가능한 조각을 제공하며 워크플로는 여러분에게 달려 있습니다."
+ },
+ "cmuxClaudeTeams": {
+ "metaTitle": "Claude Code 팀 에이전트를 네이티브 cmux 패널로",
+ "metaDescription": "Claude Code의 팀 모드는 tmux가 필요합니다. cmux는 이를 에뮬레이션하여 팀 에이전트를 사이드바 메타데이터와 알림이 있는 네이티브 분할 패널로 만듭니다."
+ },
+ "cmuxOmo": {
+ "metaTitle": "oh-my-openagent 서브에이전트를 네이티브 cmux 패널로",
+ "metaDescription": "oh-my-openagent(구 oh-my-opencode)는 Claude, GPT, Gemini 등의 전문 에이전트를 병렬로 오케스트레이션합니다. cmux omo는 tmux 패널을 네이티브 분할 패널로 전환합니다."
+ },
+ "gpl": {
+ "metaTitle": "cmux가 이제 GPL 라이선스로",
+ "metaDescription": "cmux가 AGPL-3.0에서 GPL-3.0으로 라이선스를 변경했습니다."
+ },
+ "cmuxSsh": {
+ "metaTitle": "cmux SSH",
+ "metaDescription": "하나의 명령으로 영구적인 원격 세션, 원격 포트에 접근하는 브라우저 패널, 로컬로 전달되는 에이전트 알림을 제공합니다."
+ },
+ "cmdShiftU": {
+ "metaTitle": "Cmd+Shift+U",
+ "metaDescription": "cmux와의 상호작용을 바꾸는 새로운 키보드 단축키."
+ },
+ "showHnLaunch": {
+ "metaTitle": "Show HN에서 cmux 출시",
+ "metaDescription": "Hacker News에서 cmux를 출시한 이야기."
+ },
+ "introducingCmux": {
+ "metaTitle": "cmux를 소개합니다",
+ "metaDescription": "macOS용 새 터미널 cmux를 만든 이유."
+ },
"posts": {
+ "cmuxClaudeTeams": {
+ "title": "Claude Code 팀 에이전트를 네이티브 cmux 패널로",
+ "summary": "Claude Code의 팀 모드는 tmux가 필요합니다. cmux는 이를 에뮬레이션하여 팀 에이전트를 사이드바 메타데이터와 알림이 있는 네이티브 분할 패널로 만듭니다.",
+ "date": "2026년 3월 30일",
+ "p1": "Claude Code에는 서브에이전트를 병렬로 생성하는 실험적인 팀 모드가 있습니다. tmux와 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 환경 변수 설정이 필요합니다. cmux claude-teams가 이 모든 것을 처리합니다. 환경 변수를 설정하고, 모든 tmux 명령(split-window, send-keys, capture-pane)을 cmux의 네이티브 분할/워크스페이스 API로 변환하는 tmux 심을 PATH에 배치한 뒤 claude --teammate-mode auto로 실행합니다. 명령 하나로 모든 것이 해결됩니다.",
+ "p2": "심은 split-window를 surface.split으로, send-keys를 surface.send_text로, capture-pane을 surface.read_text로 변환합니다. 팀 에이전트는 오른쪽 열에 수직으로 쌓이며, 에이전트가 생성되고 종료될 때 자동으로 균등하게 배치됩니다. 모든 패널이 알림과 함께 사이드바에 표시됩니다. Go 릴레이 데몬을 통해 SSH에서도 동작합니다.",
+ "p3": "동일한 심이 oh-my-openagent(구 oh-my-opencode)를 위한 cmux omo에도 사용됩니다."
+ },
+ "cmuxOmo": {
+ "title": "oh-my-openagent 서브에이전트를 네이티브 cmux 패널로",
+ "summary": "oh-my-openagent(구 oh-my-opencode)는 Claude, GPT, Gemini 등의 전문 에이전트를 병렬로 오케스트레이션합니다. cmux omo는 tmux 패널을 네이티브 분할 패널로 전환합니다.",
+ "date": "2026년 3월 30일",
+ "p1": "cmux omo는 oh-my-openagent(구 oh-my-opencode)와 통합됩니다. oh-my-openagent는 Claude, GPT, Gemini를 전문 에이전트로 병렬 오케스트레이션하는 OpenCode 플러그인으로, 각 에이전트는 자체 tmux 패널에서 실행됩니다. cmux omo는 cmux claude-teams와 동일한 tmux 심을 사용합니다. TMUX 환경 변수를 가짜로 설정하고 모든 tmux 명령을 cmux 분할로 변환합니다. 플러그인을 섀도우 설정에 자동으로 설치하므로 ~/.config/opencode는 변경되지 않습니다.",
+ "p2": "심은 terminal-notifier 호출도 가로채어 cmux notify로 라우팅합니다. Go 릴레이 데몬을 통해 SSH에서도 동작합니다."
+ },
+ "gpl": {
+ "title": "cmux가 이제 GPL 라이선스로",
+ "summary": "cmux가 AGPL-3.0에서 GPL-3.0으로 라이선스를 변경했습니다.",
+ "date": "2026년 3월 30일",
+ "p1": "cmux가 AGPL-3.0에서 GPL-3.0으로 라이선스를 변경했습니다. AGPL의 네트워크 사용 조항은 데스크톱 앱에는 적용되지 않지만, 많은 기업이 AGPL 자체를 금지하고 있습니다. GPL은 해당 조항을 제거하면서도 포크가 오픈 소스를 유지하도록 요구합니다. GPL + 상업 라이선스의 이중 라이선스 체계는 그대로 유지됩니다."
+ },
+ "cmuxSsh": {
+ "title": "cmux SSH",
+ "summary": "하나의 명령으로 영구적인 원격 세션, 원격 포트에 접근하는 브라우저 패널, 로컬로 전달되는 에이전트 알림을 제공합니다.",
+ "date": "2026년 3월 30일",
+ "p1": "cmux ssh user@remote는 원격 머신을 위한 워크스페이스를 생성합니다. 원격 Claude Code 세션에 이미지를 드래그하면 자동으로 업로드됩니다. 브라우저 패널은 원격 네트워크를 통해 트래픽을 라우팅하므로 localhost가 그대로 동작합니다. ~/.ssh/config를 사용하며 연결이 끊겨도 자동으로 재연결됩니다.",
+ "features": "브라우저 패널은 원격 네트워크를 통해 트래픽을 라우팅하므로 -L 플래그 없이 localhost:3000에서 원격 개발 서버에 접근할 수 있습니다. 원격 머신의 코딩 에이전트가 로컬 사이드바로 알림을 전송합니다. cmux claude-teams와 cmux omo가 SSH에서도 동작하여, 연산은 원격에서 실행되면서 팀 에이전트 패널은 로컬에 생성됩니다. 파일을 원격 터미널에 드래그하면 scp로 업로드됩니다. 사이드바에 연결 상태와 감지된 리스닝 포트가 표시됩니다."
+ },
"cmdShiftU": {
"title": "Cmd+Shift+U",
"summary": "cmux에서 Cmd+Shift+U가 워크스페이스 간에 완료된 에이전트를 탐색하는 방법.",
@@ -152,8 +212,6 @@
"whyTitle": "왜 cmux인가?",
"whyP": "현대 개발 워크플로는 여러 에이전트를 동시에 실행하는 경우가 많습니다. Claude Code, Codex 등 각 도구가 자체 터미널에서 실행됩니다. 어떤 에이전트가 주의를 필요로 하는지 추적하고 빠르게 전환하는 것이 cmux가 해결하는 문제입니다.",
"featuresTitle": "주요 기능",
- "getStartedTitle": "시작하기",
- "getStartedP": "Homebrew로 cmux를 설치하거나 시작 가이드에서 DMG를 다운로드하세요.",
"featureVerticalTabsLabel": "세로 탭",
"featureVerticalTabsDesc": "사이드바에서 모든 터미널을 한눈에 확인",
"featureNotificationsLabel": "알림 링",
@@ -163,30 +221,17 @@
"featureSocketApiLabel": "소켓 API",
"featureSocketApiDesc": "탭 생성 및 입력 전송을 위한 프로그래밍 방식 제어",
"featureGpuLabel": "GPU 가속",
- "featureGpuDesc": "libghostty로 부드러운 렌더링"
+ "featureGpuDesc": "libghostty로 부드러운 렌더링",
+ "getStartedTitle": "시작하기",
+ "getStartedP": "Homebrew로 cmux를 설치하거나 시작 가이드에서 DMG를 다운로드하세요."
}
- },
- "zenOfCmux": {
- "metaTitle": "cmux의 선",
- "metaDescription": "cmux는 솔루션이 아닌 프리미티브입니다. 조합 가능한 조각을 제공하며 워크플로는 여러분에게 달려 있습니다."
- },
- "cmdShiftU": {
- "metaTitle": "Cmd+Shift+U",
- "metaDescription": "cmux와의 상호작용을 바꾸는 새로운 키보드 단축키."
- },
- "showHnLaunch": {
- "metaTitle": "Show HN에서 cmux 출시",
- "metaDescription": "Hacker News에서 cmux를 출시한 이야기."
- },
- "introducingCmux": {
- "metaTitle": "cmux를 소개합니다",
- "metaDescription": "macOS용 새 터미널 cmux를 만든 이유."
}
},
"docs": {
"layoutTitle": "cmux docs",
"gettingStarted": {
"title": "시작하기",
+ "metaTitle": "시작하기",
"metaDescription": "AI 코딩 에이전트를 위한 네이티브 macOS 터미널 cmux를 설치하세요. Homebrew, DMG 다운로드, CLI 설정, Sparkle을 통한 자동 업데이트.",
"intro": "cmux는 여러 AI 코딩 에이전트를 관리하기 위해 Ghostty 기반으로 구축된 경량 네이티브 macOS 터미널입니다. 세로 탭, 알림 패널, 소켓 기반 제어 API를 제공합니다.",
"install": "설치",
@@ -214,11 +259,11 @@
"sessionCallout": "cmux는 아직 라이브 프로세스 상태를 복원하지 않습니다. Claude Code, tmux, vim 등의 활성 터미널 앱 세션은 앱 재시작 후 복원되지 않습니다.",
"requirements": "요구 사항",
"reqItem1": "macOS 14.0 이상",
- "reqItem2": "Apple Silicon 또는 Intel Mac",
- "metaTitle": "시작하기"
+ "reqItem2": "Apple Silicon 또는 Intel Mac"
},
"concepts": {
"title": "개념",
+ "metaTitle": "개념",
"metaDescription": "cmux가 터미널을 구성하는 방법: 창, 워크스페이스, 패널, 서피스. 사이드바, 분할, 소켓 API 뒤의 계층 구조.",
"intro": "cmux는 터미널을 4단계 계층 구조로 구성합니다. 이 단계를 이해하면 소켓 API, CLI, 키보드 단축키를 사용할 때 도움이 됩니다.",
"hierarchy": "계층 구조",
@@ -266,11 +311,11 @@
"terminalOrBrowser": "터미널 또는 브라우저",
"automatic": "자동",
"paneIdSocket": "패널 ID (소켓 API)",
- "panelIdInternal": "패널 ID (내부)",
- "metaTitle": "개념"
+ "panelIdInternal": "패널 ID (내부)"
},
"configuration": {
"title": "설정",
+ "metaTitle": "설정",
"metaDescription": "Ghostty 설정 파일을 통해 cmux를 구성합니다. 글꼴, 테마, 색상, 분할 패널 스타일, 스크롤백, 자동화 모드의 앱 설정.",
"intro": "cmux는 Ghostty 설정 파일에서 구성을 읽어오므로, Ghostty에서 이전하는 경우 익숙한 옵션을 사용할 수 있습니다.",
"configLocations": "설정 파일 위치",
@@ -299,8 +344,11 @@
"browserLinkDesc": "설정 > 브라우저에서 cmux는 서로 다른 목적의 두 가지 호스트 목록을 제공합니다:",
"browserHostsEmbed": "내장 브라우저에서 열 호스트: 터미널 출력에서 클릭한 링크에 적용됩니다. 이 목록의 호스트는 cmux에서 열리고, 다른 호스트는 기본 브라우저에서 열립니다. 줄당 하나의 호스트 또는 와일드카드를 지원합니다(예: example.com, *.internal.example).",
"browserHostsHttp": "내장 브라우저에서 허용되는 HTTP 호스트: HTTP(비 HTTPS) URL에만 적용됩니다. 이 목록의 호스트는 경고 프롬프트 없이 cmux에서 열 수 있습니다. 기본값에는 localhost, 127.0.0.1, ::1, 0.0.0.0, *.localtest.me가 포함됩니다.",
- "exampleConfig": "예시 설정",
- "metaTitle": "설정"
+ "settingsFile": "settings.json",
+ "settingsFileDesc": "cmux는 cmux 소유 단축키를 위한 사용자 설정 파일도 읽습니다. 현재 파일은 shortcuts 섹션을 지원합니다.",
+ "settingsFilePrecedence": "settings.json에 정의된 단축키는 인앱 설정 값을 덮어씁니다. 관리되는 단축키는 설정에서 계속 표시되지만 읽기 전용으로 표시됩니다.",
+ "settingsFileChords": "단일 단축키는 문자열로, 2단계 단축키(chord)는 두 항목 배열로 지정합니다. 예: [\"ctrl+b\", \"c\"]는 Ctrl+B를 누른 후 C를 누르는 것을 의미합니다.",
+ "exampleConfig": "예시 설정"
},
"customCommands": {
"title": "사용자 정의 명령어",
@@ -369,12 +417,21 @@
"keyboardShortcuts": {
"title": "키보드 단축키",
"description": "카테고리별로 정리된 cmux의 모든 키보드 단축키.",
+ "metaTitle": "키보드 단축키",
"metaDescription": "워크스페이스, 서피스, 분할 패널, 브라우저, 알림, 검색, 창 관리를 위한 cmux의 모든 macOS 키보드 단축키.",
+ "chordsTitle": "단축키 코드",
+ "chordsIntro": "cmux는 ~/.config/cmux/settings.json에서 두 단계 단축키 코드를 지원합니다. 전체 설정 파일 스키마는 설정 문서를 참조하세요.",
+ "chordsCallout": "설정에서 단축키를 직접 수정할 수 있습니다. 정확한 tmux 스타일 프리픽스 바인딩이 필요하거나 닷파일에서 단축키를 관리하는 경우 settings.json을 사용하세요.",
+ "chordsRuleSingle": "한 단계 단축키는 일반 문자열을 사용합니다.",
+ "chordsRuleArray": "2단계 단축키(chord)는 두 항목 배열을 사용합니다. 첫 번째 항목은 프리픽스 키스트로크, 두 번째는 그 다음에 올 키입니다.",
+ "chordsRuleSyntax": "각 항목은 일반 바인딩과 동일한 문법을 사용합니다. 예: cmd+b, ctrl+b, shift+/, ctrl+1.",
"searchPlaceholder": "단축키 검색...",
"searchLabel": "키보드 단축키 검색",
"noResults": "단축키를 찾을 수 없습니다",
"noResultsHint": "다른 검색어를 사용해 보세요",
"cat": {
+ "app": "앱",
+ "appBlurb": "애플리케이션, 창, 최상위 수준 명령 단축키.",
"workspaces": "워크스페이스",
"workspacesBlurb": "워크스페이스는 사이드바에 있습니다. 각 워크스페이스에는 자체 패널과 서피스가 있습니다.",
"surfaces": "서피스",
@@ -426,11 +483,11 @@
"wn-settings": "설정",
"wn-reload": "설정 새로고침",
"wn-quit": "종료"
- },
- "metaTitle": "키보드 단축키"
+ }
},
"api": {
"title": "API 레퍼런스",
+ "metaTitle": "API 레퍼런스",
"metaDescription": "cmux CLI 및 Unix 소켓 API 레퍼런스. 워크스페이스 관리, 분할 패널, 입력 제어, 알림, 사이드바 메타데이터, 환경 변수, 감지 방법.",
"intro": "cmux는 프로그래밍 방식 제어를 위한 CLI 도구와 Unix 소켓을 모두 제공합니다. 모든 명령은 두 인터페이스를 통해 사용할 수 있습니다.",
"socket": "소켓",
@@ -508,11 +565,11 @@
"examples": "예시",
"pythonClient": "Python 클라이언트",
"shellScript": "셸 스크립트",
- "buildScriptNotification": "알림이 포함된 빌드 스크립트",
- "metaTitle": "API 레퍼런스"
+ "buildScriptNotification": "알림이 포함된 빌드 스크립트"
},
"notifications": {
"title": "알림",
+ "metaTitle": "알림",
"metaDescription": "cmux에서 AI 에이전트와 스크립트의 데스크톱 알림을 전송합니다. CLI, OSC 99/777 이스케이프 시퀀스, Claude Code hooks 통합.",
"intro": "cmux는 데스크톱 알림을 지원하여 AI 에이전트와 스크립트가 주의가 필요할 때 알려줄 수 있습니다.",
"lifecycle": "생명주기",
@@ -541,6 +598,7 @@
"envTitle": "알림 제목 (워크스페이스 이름 또는 앱 이름)",
"envSubtitle": "알림 부제목",
"envBody": "알림 본문 텍스트",
+ "featureHeader": "기능",
"cmpTitleBody": "제목 + 본문",
"cmpSubtitle": "부제목",
"cmpNotificationId": "알림 ID",
@@ -549,7 +607,6 @@
"cmpNo": "아니오",
"cmpHigher": "높음",
"cmpLower": "낮음",
- "featureHeader": "기능",
"comparisonCallout": "간단한 알림에는 OSC 777을 사용하세요. 부제목이나 알림 ID가 필요한 경우 OSC 99를 사용하세요. 가장 쉬운 통합을 위해 CLI(cmux notify)를 사용하세요.",
"claudeCodeHooks": "Claude Code hooks",
"claudeCodeHooksDesc": "cmux는 hooks를 통해 Claude Code와 통합하여 작업이 완료되면 알려줍니다.",
@@ -564,11 +621,11 @@
"python": "Python",
"nodejs": "Node.js",
"tmuxPassthrough": "tmux 패스스루",
- "tmuxDesc": "cmux 내에서 tmux를 사용하는 경우 패스스루를 활성화하세요:",
- "metaTitle": "알림"
+ "tmuxDesc": "cmux 내에서 tmux를 사용하는 경우 패스스루를 활성화하세요:"
},
"browserAutomation": {
"title": "브라우저 자동화",
+ "metaTitle": "브라우저 자동화",
"metaDescription": "내비게이션, DOM 상호작용, 대기, 검사, JavaScript 평가, 탭, 다이얼로그, 프레임, 다운로드, 브라우저 상태를 위한 cmux 브라우저 명령 레퍼런스.",
"intro": "cmux 브라우저 명령 그룹은 cmux 브라우저 서피스에 대한 브라우저 자동화를 제공합니다. 내비게이션, DOM 엘리먼트 상호작용, 페이지 상태 검사, JavaScript 평가, 브라우저 세션 데이터 관리에 사용합니다.",
"commandIndex": "명령 인덱스",
@@ -604,13 +661,201 @@
"patternNavigate": "내비게이션, 대기, 검사",
"patternForm": "폼 작성 및 성공 텍스트 확인",
"patternDebug": "실패 시 디버그 아티팩트 캡처",
- "patternSession": "브라우저 세션 저장 및 복원",
- "metaTitle": "브라우저 자동화"
+ "patternSession": "브라우저 세션 저장 및 복원"
+ },
+ "ssh": {
+ "title": "SSH",
+ "metaTitle": "SSH",
+ "metaDescription": "cmux ssh로 원격 머신에 연결합니다. 브라우저 패널은 원격 네트워크를 통해 라우팅되고, 이미지는 scp로 드래그 앤 드롭되며, 에이전트 알림이 로컬로 전달됩니다.",
+ "intro": "cmux ssh는 원격 머신을 위한 워크스페이스를 생성합니다. 브라우저 패널은 원격 네트워크를 통해 라우팅되고, 파일은 scp로 드래그 앤 드롭되며, 코딩 에이전트가 로컬 사이드바로 알림을 전송하고, 연결이 끊겨도 세션이 재연결됩니다.",
+ "usage": "사용법",
+ "usageDesc": "cmux ssh는 호스트 별칭, ID 파일, 프록시 설정을 위해 ~/.ssh/config를 읽습니다. 모든 플래그는 ssh와 동일합니다.",
+ "flagsTitle": "플래그",
+ "flagName": "플래그",
+ "flagDesc": "설명",
+ "flagNameVal": "워크스페이스 제목 설정",
+ "flagPort": "SSH 포트 (기본값 22)",
+ "flagIdentity": "ID 파일 경로",
+ "flagSshOption": "임의의 SSH 옵션 전달 (예: -o StrictHostKeyChecking=no)",
+ "flagNoFocus": "전환하지 않고 워크스페이스 생성",
+ "browserTitle": "브라우저 패널",
+ "browserDesc": "원격 워크스페이스의 브라우저 패널은 모든 HTTP 및 WebSocket 트래픽을 원격 머신의 네트워크를 통해 라우팅합니다. localhost:3000을 입력하면 원격 머신에서 실행 중인 개발 서버가 표시됩니다. -L 플래그나 수동 포트 포워딩이 필요 없습니다. 각 원격 워크스페이스는 격리된 쿠키 저장소를 갖추어 세션이 연결별로 분리됩니다.",
+ "dragDropTitle": "드래그 앤 드롭",
+ "dragDropDesc": "이미지나 파일을 원격 터미널에 드래그하면 cmux가 기존 SSH 연결을 통해 scp로 업로드합니다. cmux는 TTY로 포그라운드 SSH 프로세스를 감지하고 ControlMaster 멀티플렉싱을 통해 업로드를 라우팅합니다.",
+ "notificationsTitle": "알림",
+ "notificationsDesc": "원격 머신의 프로세스가 로컬 인스턴스에서 실행되는 cmux 명령을 호출할 수 있습니다. 코딩 에이전트가 원격 머신에서 cmux notify를 호출하면 알림이 로컬 사이드바에 표시됩니다. 워크스페이스 탭에 파란 링이 켜지고, Cmd+Shift+U로 바로 이동할 수 있습니다. 불안정한 연결로 인한 알림 스팸은 호스트별 쿨다운으로 억제됩니다.",
+ "agentsTitle": "SSH를 통한 코딩 에이전트",
+ "agentsDesc": "cmux claude-teams와 cmux omo 모두 SSH 세션 내에서 동작합니다. 원격 호스트의 Go 릴레이 데몬이 로컬 Swift CLI와 동일한 tmux 호환 변환을 처리합니다. 팀 에이전트는 연산이 원격 머신에서 실행되는 동안 로컬 cmux 분할 패널로 생성됩니다.",
+ "reconnectTitle": "재연결",
+ "reconnectDesc": "연결이 끊어지면 cmux가 지수 백오프(3초, 6초, 12초, 최대 60초)로 재연결합니다. 원격 세션은 유지되며 재연결 시 cmux가 다시 연결하고 최소 화면 크기 기준으로 크기를 조정합니다. 설정에서 이미 설정하지 않은 경우 기본 킵얼라이브 옵션(ServerAliveInterval=20, ServerAliveCountMax=2)이 자동으로 적용됩니다.",
+ "daemonTitle": "릴레이 데몬",
+ "daemonDesc": "첫 연결 시 cmux가 원격 호스트를 탐색(uname -s, uname -m)하고 버전이 지정된 cmuxd-remote 바이너리를 업로드합니다. 바이너리는 stdio를 통해 JSON-RPC를 사용하며 세 가지 기능을 담당합니다:",
+ "daemonFeature": "기능",
+ "daemonHow": "동작 방식",
+ "daemonProxy": "브라우저 트래픽 프록시",
+ "daemonProxyHow": "데몬의 stdio 채널을 통한 SOCKS5 및 HTTP CONNECT",
+ "daemonRelay": "CLI 릴레이",
+ "daemonRelayHow": "HMAC-SHA256 인증을 사용하는 역방향 TCP 터널로 원격 프로세스가 로컬에서 cmux 명령을 호출할 수 있게 함",
+ "daemonSession": "세션 관리",
+ "daemonSessionHow": "재연결 간 세션 유지, 다중 연결에서 PTY 크기 조정 조율",
+ "daemonPath": "데몬 바이너리는 원격 호스트의 ~/.cmux/bin/cmuxd-remote//-/cmuxd-remote에 저장되며 앱에 내장된 SHA-256 매니페스트로 검증됩니다."
},
"changelog": {
"title": "변경 로그",
- "metaDescription": "cmux 릴리스 노트 및 버전 히스토리. 네이티브 macOS 터미널의 새로운 기능, 버그 수정, 변경 사항.",
- "metaTitle": "변경 내역"
+ "metaTitle": "변경 내역",
+ "metaDescription": "cmux 릴리스 노트 및 버전 히스토리. 네이티브 macOS 터미널의 새로운 기능, 버그 수정, 변경 사항."
+ },
+ "claudeCodeTeams": {
+ "title": "Claude Code Teams",
+ "metaTitle": "Claude Code Teams - cmux",
+ "metaDescription": "cmux 내에서 에이전트 팀과 함께 Claude Code를 실행합니다. 팀 에이전트는 tmux 패널 대신 네이티브 cmux 분할 패널로 생성됩니다.",
+ "nightlyWarning": "나이틀리 빌드에서만 사용 가능합니다.",
+ "intro": "cmux claude-teams는 에이전트 팀이 활성화된 상태로 Claude Code를 실행합니다. Claude가 팀 에이전트를 생성하면 tmux 패널 대신 전체 사이드바 메타데이터와 알림이 있는 네이티브 cmux 분할 패널로 표시됩니다.",
+ "usage": "사용법",
+ "usageDesc": "claude-teams 이후의 모든 인수는 Claude Code로 전달됩니다. 명령은 기본적으로 팀 모드를 auto로 설정하고 Claude가 cmux 분할을 사용하도록 환경을 구성합니다.",
+ "howItWorks": "동작 방식",
+ "howItWorksDesc": "cmux claude-teams는 tmux 심 스크립트를 생성하고 Claude Code가 tmux 내에서 실행되고 있다고 인식하도록 환경을 구성합니다. Claude가 팀 패널을 관리하기 위해 tmux 명령을 실행하면 심이 이를 cmux 소켓 API 호출로 변환합니다.",
+ "shimStep1": "cmux __tmux-compat으로 리다이렉트하는 tmux 심을 ~/.cmuxterm/claude-teams-bin/tmux에 생성합니다",
+ "shimStep2": "tmux 세션을 시뮬레이션하기 위해 TMUX 및 TMUX_PANE 환경 변수를 설정합니다",
+ "shimStep3": "Claude가 실제 tmux보다 먼저 심을 찾도록 심 디렉토리를 PATH 앞에 추가합니다",
+ "shimStep4": "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1을 활성화하고 팀 모드를 auto로 설정합니다",
+ "envVars": "환경 변수",
+ "envVarName": "변수",
+ "envVarPurpose": "용도",
+ "envTmux": "현재 cmux 워크스페이스와 패널을 인코딩하는 가짜 tmux 소켓 경로",
+ "envTmuxPane": "현재 cmux 패널에 매핑된 가짜 tmux 패널 식별자",
+ "envTeams": "Claude Code 에이전트 팀 기능 활성화",
+ "envSocket": "심이 연결할 cmux 제어 소켓 경로",
+ "directories": "디렉토리",
+ "dirPath": "경로",
+ "dirPurpose": "용도",
+ "dirShim": "tmux 명령을 cmux API 호출로 변환하는 tmux 심 스크립트가 있는 디렉토리",
+ "dirStore": "tmux 호환 버퍼 및 훅을 위한 영구 저장소",
+ "tmuxCommands": "지원되는 tmux 명령",
+ "tmuxCommandsDesc": "심이 다음 tmux 명령을 cmux 작업으로 변환합니다:",
+ "mapWorkspace": "새 cmux 워크스페이스를 생성합니다",
+ "mapSplit": "현재 cmux 패널을 분할합니다",
+ "mapSendText": "cmux 서피스로 텍스트를 전송합니다",
+ "mapReadText": "cmux 서피스에서 터미널 텍스트를 읽습니다",
+ "mapFocus": "cmux 패널 또는 워크스페이스에 포커스를 맞춥니다",
+ "mapClose": "cmux 서피스 또는 워크스페이스를 닫습니다",
+ "mapList": "cmux 패널 또는 워크스페이스를 나열합니다"
+ },
+ "ohMyOpenCode": {
+ "title": "oh-my-opencode",
+ "metaTitle": "oh-my-opencode - cmux",
+ "metaDescription": "cmux 내에서 oh-my-openagent를 사용하여 OpenCode를 실행합니다. 네이티브 cmux 분할 패널을 통한 멀티모델 에이전트 오케스트레이션.",
+ "nightlyWarning": "나이틀리 빌드에서만 사용 가능합니다.",
+ "intro": "cmux omo는 cmux 환경에서 oh-my-openagent 플러그인과 함께 OpenCode를 실행합니다. oh-my-openagent는 Claude, GPT, Gemini, Grok 등 여러 AI 모델을 전문 에이전트로 병렬 오케스트레이션합니다. 에이전트 패널이 생성되면 네이티브 cmux 분할 패널이 됩니다.",
+ "usage": "사용법",
+ "usageDesc": "omo 이후의 모든 인수는 OpenCode로 전달됩니다.",
+ "whatYouGet": "제공되는 기능",
+ "whatYouGetDesc": "oh-my-openagent의 TmuxSessionManager는 각 백그라운드 에이전트를 자체 패널에 생성합니다. cmux omo를 사용하면 해당 패널이 tmux 패널 대신 네이티브 cmux 분할 패널이 됩니다:",
+ "whatYouGet1": "각 서브에이전트(Hephaestus, Atlas, Oracle 등)가 워크스페이스에 표시되는 자체 cmux 분할을 갖습니다",
+ "whatYouGet2": "자동 레이아웃 관리: 에이전트가 추가되거나 제거됨에 따라 그리드(기본값: main-vertical)로 배열되고 크기가 조정됩니다",
+ "whatYouGet3": "3회 연속 유휴 폴링 후 새 메시지가 없는 유휴 에이전트는 자동으로 정리됩니다",
+ "whatYouGet4": "새 에이전트 패널을 위한 공간이 부족하면 대기열에 추가되어 2초마다 공간이 생길 때까지 재시도합니다",
+ "whatYouGet5": "메인 세션은 기본 패널에 유지되고 에이전트가 옆에서 작업합니다",
+ "firstRun": "첫 실행",
+ "firstRunDesc": "첫 실행 시 cmux omo가 모든 것을 자동으로 설정합니다:",
+ "firstRunStep1": "플러그인 배열에 oh-my-opencode가 등록된 섀도우 설정을 ~/.cmuxterm/omo-config/에 생성합니다",
+ "firstRunStep2": "oh-my-opencode npm 패키지가 없으면 bun 또는 npm을 사용하여 설치합니다",
+ "firstRunStep3": "원본 ~/.config/opencode/ 디렉토리에서 node_modules, package.json, 플러그인 설정을 심볼릭 링크로 연결합니다",
+ "firstRunStep4": "oh-my-opencode 설정에서 tmux 모드를 활성화합니다(tmux.enabled 기본값은 false이며 cmux omo가 이를 켭니다)",
+ "firstRunSafe": "원본 ~/.config/opencode/ 설정은 절대 수정되지 않습니다. 일반 opencode 실행은 이전과 동일하게 작동합니다.",
+ "howItWorks": "동작 방식",
+ "howItWorksDesc": "cmux claude-teams와 동일한 방식입니다. tmux 심이 oh-my-openagent의 TmuxSessionManager에서 나오는 tmux 명령을 가로채어 cmux API 호출로 변환합니다.",
+ "shimStep1": "cmux __tmux-compat으로 리다이렉트하는 tmux 심을 ~/.cmuxterm/omo-bin/tmux에 생성합니다",
+ "shimStep2": "tmux 세션을 시뮬레이션하기 위해 TMUX 및 TMUX_PANE을 설정합니다",
+ "shimStep3": "oh-my-opencode 설정에서 tmux.enabled를 활성화합니다(시각적 패널 생성에 필요)",
+ "shimStep4": "OPENCODE_CONFIG_DIR을 섀도우 설정 디렉토리로 지정합니다",
+ "shimStep5": "심 디렉토리를 PATH 앞에 추가하고 opencode를 실행합니다",
+ "directories": "디렉토리",
+ "dirPath": "경로",
+ "dirPurpose": "용도",
+ "dirShim": "tmux 심 스크립트가 있는 디렉토리",
+ "dirShadow": "oh-my-opencode 플러그인이 등록되고 tmux가 활성화된 섀도우 OpenCode 설정(원본 설정에 심볼릭 링크)",
+ "dirStore": "tmux 호환 버퍼 및 훅을 위한 영구 저장소",
+ "shadowConfig": "섀도우 설정",
+ "shadowConfigDesc": "cmux omo는 섀도우 설정 디렉토리를 사용하므로 원본 OpenCode 설정에 영향을 주지 않습니다:",
+ "shadowStep1": "플러그인 배열에 oh-my-opencode가 추가된 ~/.config/opencode/opencode.json 사본을 생성합니다",
+ "shadowStep2": "원본 디렉토리에서 node_modules, package.json, bun.lock을 심볼릭 링크로 연결합니다",
+ "shadowStep3": "tmux.enabled가 true로 설정된 oh-my-opencode.json을 작성합니다",
+ "shadowStep4": "opencode를 실행하기 전에 OPENCODE_CONFIG_DIR을 섀도우 디렉토리로 설정합니다",
+ "envVars": "환경 변수",
+ "envVarName": "변수",
+ "envVarPurpose": "용도",
+ "envTmux": "현재 cmux 워크스페이스와 패널을 인코딩하는 가짜 tmux 소켓 경로",
+ "envTmuxPane": "현재 cmux 패널에 매핑된 가짜 tmux 패널 식별자",
+ "envConfigDir": "oh-my-opencode가 활성화된 섀도우 설정 디렉토리를 가리킵니다",
+ "envSocket": "심이 연결할 cmux 제어 소켓 경로"
+ },
+ "ohMyCodex": {
+ "title": "oh-my-codex",
+ "metaTitle": "oh-my-codex - cmux",
+ "metaDescription": "팀 모드와 에이전트 오케스트레이션을 위한 네이티브 분할 패널 통합과 함께 cmux 내에서 Oh My Codex(OMX)를 실행합니다.",
+ "intro": "cmux omx는 cmux 환경에서 Oh My Codex(OMX)를 실행합니다. OMX는 30개 이상의 전문 에이전트 역할, 워크플로 스킬, tmux 기반 병렬 팀 실행을 갖춘 OpenAI Codex CLI용 멀티에이전트 오케스트레이션 레이어입니다. OMX가 팀 패널이나 HUD 디스플레이를 생성하면 네이티브 cmux 분할 패널이 됩니다.",
+ "usage": "사용법",
+ "usageDesc": "omx 이후의 모든 인수는 omx CLI로 전달됩니다.",
+ "whatYouGet": "제공되는 기능",
+ "whatYouGetDesc": "OMX의 팀 모드와 HUD는 패널 관리에 tmux를 사용합니다. cmux omx를 사용하면 해당 패널이 네이티브 cmux 분할 패널이 됩니다:",
+ "whatYouGet1": "팀 워커 패널(Codex/Claude 세션)이 워크스페이스의 cmux 분할로 표시됩니다",
+ "whatYouGet2": "HUD 상태 표시에 분할 패널에서 모델, 브랜치, 컨텍스트, 토큰 사용량이 표시됩니다",
+ "whatYouGet3": "자동 레이아웃 관리로 에이전트 패널이 main-vertical 그리드에 배열됩니다",
+ "whatYouGet4": "메인 세션은 기본 패널에 유지되고 워커가 옆에서 작업합니다",
+ "prerequisites": "사전 요구 사항",
+ "prerequisitesDesc": "OMX는 OpenAI Codex CLI와 Codex 인증 설정이 필요합니다. omx doctor로 설치 상태를 확인하세요.",
+ "howItWorks": "동작 방식",
+ "howItWorksDesc": "다른 cmux 에이전트 통합과 동일한 방식입니다. tmux 심이 OMX의 tmux 명령을 가로채어 cmux API 호출로 변환합니다.",
+ "shimStep1": "cmux __tmux-compat으로 리다이렉트하는 tmux 심을 ~/.cmuxterm/omx-bin/tmux에 생성합니다",
+ "shimStep2": "tmux 세션을 시뮬레이션하기 위해 TMUX 및 TMUX_PANE을 설정합니다",
+ "shimStep3": "심 디렉토리를 PATH 앞에 추가합니다",
+ "shimStep4": "나머지 모든 인수를 전달하면서 omx를 실행합니다",
+ "directories": "디렉토리",
+ "dirPath": "경로",
+ "dirPurpose": "용도",
+ "dirShim": "tmux 심 스크립트가 있는 디렉토리",
+ "dirStore": "tmux 호환 버퍼 및 훅을 위한 영구 저장소",
+ "envVars": "환경 변수",
+ "envVarName": "변수",
+ "envVarPurpose": "용도",
+ "envTmux": "현재 cmux 워크스페이스와 패널을 인코딩하는 가짜 tmux 소켓 경로",
+ "envTmuxPane": "현재 cmux 패널에 매핑된 가짜 tmux 패널 식별자",
+ "envSocket": "심이 연결할 cmux 제어 소켓 경로"
+ },
+ "ohMyClaudeCode": {
+ "title": "oh-my-claudecode",
+ "metaTitle": "oh-my-claudecode - cmux",
+ "metaDescription": "멀티에이전트 오케스트레이션을 위한 네이티브 분할 패널 통합과 함께 cmux 내에서 Oh My Claude Code(OMC)를 실행합니다.",
+ "intro": "cmux omc는 cmux 환경에서 Oh My Claude Code(OMC)를 실행합니다. OMC는 19개의 전문 에이전트, 스마트 모델 라우팅, tmux 기반 팀 파이프라인을 갖춘 Claude Code용 멀티에이전트 오케스트레이션 시스템입니다. OMC가 팀 패널을 생성하면 네이티브 cmux 분할 패널이 됩니다.",
+ "usage": "사용법",
+ "usageDesc": "omc 이후의 모든 인수는 omc CLI로 전달됩니다.",
+ "whatYouGet": "제공되는 기능",
+ "whatYouGetDesc": "OMC의 팀 모드는 패널 관리에 tmux를 사용합니다. cmux omc를 사용하면 해당 패널이 네이티브 cmux 분할 패널이 됩니다:",
+ "whatYouGet1": "팀 워커 패널(Claude/Codex/Gemini 세션)이 워크스페이스의 cmux 분할로 표시됩니다",
+ "whatYouGet2": "HUD 모니터링 디스플레이에 분할 패널에서 실시간 상태가 표시됩니다",
+ "whatYouGet3": "자동 레이아웃 관리로 에이전트 패널이 main-vertical 그리드에 배열됩니다",
+ "whatYouGet4": "메인 세션은 기본 패널에 유지되고 에이전트가 옆에서 작업합니다",
+ "prerequisites": "사전 요구 사항",
+ "prerequisitesDesc": "OMC는 Claude Code CLI가 설치되어 있고 인증되어 있어야 합니다.",
+ "howItWorks": "동작 방식",
+ "howItWorksDesc": "cmux claude-teams와 동일한 방식입니다. tmux 심이 OMC의 tmux 명령을 가로채어 cmux API 호출로 변환합니다.",
+ "shimStep1": "cmux __tmux-compat으로 리다이렉트하는 tmux 심을 ~/.cmuxterm/omc-bin/tmux에 생성합니다",
+ "shimStep2": "tmux 세션을 시뮬레이션하기 위해 TMUX 및 TMUX_PANE을 설정합니다",
+ "shimStep3": "심 디렉토리를 PATH 앞에 추가합니다",
+ "shimStep4": "Claude Code 호환성을 위한 NODE_OPTIONS 복원 모듈을 주입합니다",
+ "shimStep5": "나머지 모든 인수를 전달하면서 omc를 실행합니다",
+ "directories": "디렉토리",
+ "dirPath": "경로",
+ "dirPurpose": "용도",
+ "dirShim": "tmux 심 스크립트가 있는 디렉토리",
+ "dirStore": "tmux 호환 버퍼 및 훅을 위한 영구 저장소",
+ "envVars": "환경 변수",
+ "envVarName": "변수",
+ "envVarPurpose": "용도",
+ "envTmux": "현재 cmux 워크스페이스와 패널을 인코딩하는 가짜 tmux 소켓 경로",
+ "envTmuxPane": "현재 cmux 패널에 매핑된 가짜 tmux 패널 식별자",
+ "envSocket": "심이 연결할 cmux 제어 소켓 경로"
},
"navItems": {
"gettingStarted": "시작하기",
@@ -621,12 +866,13 @@
"apiReference": "API 레퍼런스",
"browserAutomation": "브라우저 자동화",
"notifications": "알림",
- "agentIntegrations": "Agent Integrations",
+ "ssh": "SSH",
+ "agentIntegrations": "에이전트 통합",
"claudeCodeTeams": "Claude Code Teams",
"ohMyOpenCode": "oh-my-opencode",
- "changelog": "변경 로그",
"ohMyCodex": "oh-my-codex",
- "ohMyClaudeCode": "oh-my-claudecode"
+ "ohMyClaudeCode": "oh-my-claudecode",
+ "changelog": "변경 로그"
}
},
"legal": {
@@ -636,7 +882,9 @@
},
"wallOfLove": {
"title": "사랑의 벽",
- "description": "사람들이 cmux에 대해 말하는 것."
+ "description": "사람들이 cmux에 대해 말하는 것.",
+ "metaTitle": "사랑의 벽 — cmux",
+ "metaDescription": "멀티태스킹을 위한 터미널 cmux에 대해 사람들이 하는 이야기."
},
"testimonials": {
"mitchellh": "또 하나의 libghostty 기반 프로젝트. 이번엔 세로 탭이 있는 macOS 터미널로, 터미널 기반 AI 에이전트 워크플로를 많이 쓰는 사람을 위해 정리/알림 기능과 내장 스크립팅 가능한 브라우저를 탑재.",