VSCode 로 여러 프로젝트를 동시에 다루려면 창을 여러 개 띄워야 합니다. NexusCode 는 하나의 창 안에 여러 워크스페이스를 담습니다. 각 워크스페이스는 자기만의 파일 트리 · 에디터 그룹 · 터미널을 가지며, 단축키 하나로 즉시 전환됩니다. 로컬 폴더든 SSH 원격 호스트든 같은 방식으로 다룹니다.
VSCode 가 주는 IDE 경험은 그대로, 멀티 워크스페이스는 VSCode 가 못 주는 방식으로.
- 멀티 워크스페이스 — 한 창에서 여러 워크스페이스를 두고
⌘⌃↑·⌘⌃↓로 전환. 각자 독립된 파일 트리 · 탭 · 터미널. - 분할 그룹 — 에디터를 좌우(
⌘\) · 상하(⌘⇧\)로 분할하고 그룹 간 포커스 이동. - Monaco 에디터 + 통합 터미널 — VSCode 와 동일한 Monaco 에디터, xterm 기반 터미널을 한 화면에.
- SSH 원격 워크스페이스 — 원격 호스트(Linux · macOS)의 폴더를 로컬처럼 편집. 워크스페이스 추가 화면의 SSH로 연결… 에서
user@host나~/.ssh/config별칭으로 연결합니다. - 작업 (git 워크트리) — 타이틀바의 워크스페이스 이름을 눌러 새 작업… 을 고르면, 저장소에 새 브랜치와 워크트리를 만들고 그 안에서 작업을 엽니다. 작업은 Claude 탭이나 Codex 탭을 열고 첫 프롬프트를 첫 메시지로 보내므로, 에이전트 여러 개를 브랜치별로 나란히 돌릴 수 있습니다. 에이전트는 새 작업 창에서 작업마다 고르고(에이전트 없이 셸만 여는 "터미널만"도 됩니다), 기본값은 설정 › 에이전트에서 바꿉니다. 워크트리는
~/.nexus-code/worktrees에 생깁니다(SSH 워크스페이스는 원격 홈의 같은 경로). - 에이전트 — 새 탭 메뉴(
+)나 타이틀바 작업 메뉴의 에이전트 보기 로 엽니다. 워크스페이스와 그 작업들에서 도는 Claude Code · Codex 대화를 한곳에 모읍니다. 상태별 보기는 응답 필요 / 작업 중 / 새 결과 / 대기 / 종료로 묶어 응답이 필요한 대화를 맨 위에 두고, 권한 요청은 목록에서 바로 허용하거나 거부합니다. 작업별 보기는 워크스페이스와 작업(워크트리)마다 대화를 묶고, 어느 대화가 그 작업을 만들었는지(nexus worktree new)와 어느 터미널이 다른 대화가 끝나기를 기다리는지(nexus terminal wait·chat wait) 보여 줍니다. 두 보기 모두 아직 도는 서브에이전트(와 고른 서브에이전트)를 그 대화 아래에 들여 써서 어느 대화에 속하는지 보여 줍니다. 서브에이전트를 고르면 대화의 한 턴처럼 요청 · 중간 응답 · 도구 · 답을 순서대로 보여 줍니다. 대화를 고르면 모델 · 컨텍스트 · 비용, 마지막 요청과 답, 최근 도구 호출 · 서브에이전트(대화가 명령으로 띄운claude -p·codex exec실행도 포함해 그 도구와 중간 응답까지 보여 주고, 다른 API 로 돌린 실행은 그 주소도 보여 줍니다) · 할 일을 보고, 질문과 권한 요청에 답하거나 이어서 보낼 수 있습니다. 작업을 고르면 커밋하지 않은 변경과 그 안의 대화를 보고, 터미널이나 새 대화를 열거나 작업을 삭제합니다. 보기는 워크스페이스마다 기억하고, 처음 여는 보기는 설정 › 에이전트에서 정합니다. Codex 상태는 터미널 출력으로 짐작한 것이라 "(추정)" 으로 표시됩니다. - 에이전트 뷰 — 타이틀바의 워크스페이스 | 에이전트 전환(
⌘⇧A, 보기 메뉴의 에이전트 뷰 전환)으로 창을 에이전트 중심으로 바꿉니다. 왼쪽에는 모든 워크스페이스의 Claude · Codex 대화와 에이전트가 도는 터미널이 워크스페이스별로(작업은 그 아래 워크트리로) 모이고, 오른쪽에는 다른 워크스페이스의 에이전트도 함께 둘 수 있는 패널이 놓입니다. 목록에서 누르거나 패널로 끌어 놓으면 그 패널에 열리고, 패널 가장자리에 놓으면 그쪽으로 분할합니다. 패널은 워크스페이스의 그룹처럼 자유롭게 나누고 크기를 바꾸며, 한 패널에 여러 에이전트를 탭으로 둡니다. 패널에 보이는 것은 워크스페이스의 그 탭 자체여서 대화가 다시 시작되지 않고 사이드 패널도 그대로 열립니다. 목록의 눈 아이콘은 패널에 보이는 에이전트(파랑)와 다른 탭 뒤에 있는 에이전트(회색)를 표시하고, 목록에 마우스를 올리면 그 에이전트의 패널이 점선으로 강조됩니다. 패널 탭의 × 는 패널에서만 빼고 세션은 계속 둡니다. 이 뷰에서⌘W· 분할 · 그룹 단축키는 패널에 작용하고, 워크스페이스의 다른 단축키는 동작하지 않습니다. 패널 배치는 다시 켜도 그대로입니다. - 에이전트 매니저 — 설정 › 에이전트 매니저에서 켜면 앱과 함께 Claude Code 나 Codex 세션 하나가 떠서, 모든 워크스페이스의 세션을 보고 일을 나눠 맡깁니다. 제목 표시줄의 매니저 버튼으로 오른쪽 도크를 열어 지시하고, 맡긴 세션이 끝나거나 막히면 매니저가 정리해 알려 줍니다. 자세한 내용은 docs/CLI.md 에 있습니다.
- 언어 서버 — 설정 › 언어 서버에서 켭니다. TypeScript · Python · YAML · Bash · Dockerfile 서버는 앱에 들어 있어 Node 없이 동작하고, SSH 워크스페이스에서는 원격 호스트에서 돕니다. Go(gopls) · Rust(rust-analyzer) 는 직접 설치한 서버를 씁니다. 상태 표시줄의 언어 이름을 누르면 서버 상태와 메모리를 보고, 다시 시작하거나 로그를 볼 수 있습니다.
- VSCode 호환 단축키 — 익숙한 키 매핑 그대로.
- macOS — macOS 14 (Sonoma) 이상, Apple Silicon (M1 / M2 / M3 / M4)
- Windows — Windows 11 이상, x64 (ARM PC 는 x64 에뮬레이션으로 실행). 소스 제어에는 Git for Windows 가 필요합니다.
- Linux — x64 또는 arm64. Ubuntu 24.04 에서 확인했습니다.
macOS 는 Apple Silicon (arm64) 빌드만 제공합니다. Intel (x64) Mac 은 소스 빌드로 사용 가능 — docs/INSTALL.md#self-build 참고.
Releases 페이지에서 최신 .dmg 를 내려받습니다.
| Mac | 파일 |
|---|---|
| Apple Silicon | NexusCode-X.Y.Z-arm64.dmg |
.dmg 를 마운트하고 NexusCode 를 /Applications 로 드래그한 뒤, 첫 실행 전에 아래 보안 해제를 거칩니다.
NexusCode 는 Apple Developer ID / 공증(notarization) 없이, 자체 서명 인증서로 서명해 배포됩니다. 첫 실행 시 macOS 가 앱을 차단하거나 "손상된 앱" 으로 표시하는 것은 정상입니다. 터미널에서 quarantine 속성을 제거하면 이후 더블클릭으로 바로 열립니다:
xattr -dr com.apple.quarantine "/Applications/NexusCode.app"보안 해제는 처음 설치할 때 한 번만 하면 됩니다. 이후 버전은 앱 안에서 업데이트하므로(업데이트) 다시 해제할 필요가 없습니다.
터미널 대신 GUI 로 해제하기
macOS 14 (Sonoma)
- Finder 에서
/Applications/NexusCode.app우클릭 (또는 Control+클릭) - 열기 선택
- "이 앱을 열 수 없습니다" 다이얼로그에서 열기 클릭
macOS 15 (Sequoia) 이상
- 앱을 더블클릭 → 차단 알림 확인
- 시스템 설정 → 개인정보 보호 및 보안 으로 이동
- 하단 "NexusCode 차단됨" 항목 옆 그래도 열기 클릭
- 확인 다이얼로그에서 열기
자세한 단계는 docs/INSTALL.md 참고.
Microsoft Store 에서 설치합니다. 업데이트도 Store 가 합니다.
Releases 페이지에서 배포판에 맞는 파일을 내려받습니다.
| 형식 | x64 | arm64 |
|---|---|---|
| deb (Debian · Ubuntu) | NexusCode-X.Y.Z-amd64.deb |
NexusCode-X.Y.Z-arm64.deb |
| AppImage (그 밖의 배포판) | NexusCode-X.Y.Z-x86_64.AppImage |
NexusCode-X.Y.Z-arm64.AppImage |
deb — Debian · Ubuntu 에서 권장합니다. 내려받은 폴더에서:
sudo apt install ./NexusCode-X.Y.Z-*.debAppImage — 실행 권한을 주고 바로 실행합니다. 설치 과정이 없습니다.
chmod +x NexusCode-X.Y.Z-*.AppImage
./NexusCode-X.Y.Z-*.AppImageUbuntu 23.10 이상에서는 AppImage 가
The SUID sandbox helper binary was found, but is not configured correctly를 내고 바로 종료됩니다. 이 버전의 AppArmor 가 앱의 샌드박스를 막기 때문입니다. deb 는 설치할 때 필요한 AppArmor 프로필을 함께 넣으므로 이 문제가 없습니다. AppImage 를 쓰려면 docs/INSTALL.md 의 프로필을 한 번 등록합니다.
VSCode 호환 매핑입니다. 자주 쓰는 것만 추렸고, 전체 목록은 docs/SHORTCUTS.md 에 있습니다.
| 동작 | 단축키 |
|---|---|
| 저장 | ⌘S |
| 새 터미널 | ⌘T |
| 우측 / 아래로 분할 | ⌘\ · ⌘⇧\ |
| 이전 / 다음 워크스페이스 | ⌘⌃↑ · ⌘⌃↓ |
| 워크스페이스 추가 | ⌘⇧N |
| 심볼 검색 | ⌘⇧O |
| Files 패널 토글 | ⌘B |
| 워크스페이스 / 에이전트 뷰 전환 | ⌘⇧A |
| 설정 | ⌘, |
Windows · Linux 에서는 표의 ⌘ 를 Ctrl 로 읽으면 됩니다. 다만 ⌘⌃ 는 Win+Ctrl(Linux 는 Super+Ctrl)이어서, 이전 / 다음 워크스페이스는 Win+Ctrl+↑ · Win+Ctrl+↓ 입니다.
macOS 에서는
⌘단독 단축키만 앱이 가로채며,⌃단독은 터미널로 그대로 전달됩니다 —Ctrl+R(reverse-i-search),Ctrl+W(delete-word) 같은 셸 단축키가 정상 동작합니다. Windows · Linux 에서는 터미널에 포커스가 있으면 셸과 겹치는Ctrl단축키를 앱이 받지 않고 터미널로 보냅니다. 새 터미널(Ctrl+Shift+T)과 탭 닫기(Ctrl+F4)는 터미널에서도 동작합니다.
앱 안 터미널의 nexus 명령으로 Claude Code · Codex 같은 에이전트가 앱을 다룹니다. 다른 워크스페이스의 세션을 보고, 거기에 입력하고 끝나기를 기다리고, 파일 · diff · 브라우저를 사용자 앞에 열고, 브라우저를 클릭 · 입력 · 스크린샷으로 조작합니다. 다른 워크스페이스를 바꾸는 일은 설정 → 에이전트 에서 허용 여부를 정합니다. 자세한 내용은 docs/CLI.md 에 있습니다.
앱은 켤 때와, 켜져 있는 동안 4시간마다 새 버전을 확인합니다. 새 버전이 나오면 알림이 한 번 뜨고, 타이틀바 오른쪽에 업데이트 버튼이 생깁니다. 버튼을 누르고 업데이트 를 고르면 앱이 새 버전을 내려받고, 준비되면 버튼이 다시 시작하여 업데이트 로 바뀝니다. 지금 다시 시작 으로 설치합니다 (그냥 두면 다음 종료 때 설치). 이 버전 건너뛰기 를 고르면 다음 버전이 나올 때까지 버튼이 뜨지 않습니다. 내려받는 진행률은 버튼과 설정 → 정보 에서 볼 수 있고, 업데이트 확인과 자동 확인 끄기도 거기서 합니다. 앱이 직접 받은 업데이트에는 quarantine 속성이 붙지 않아 보안 해제가 다시 필요 없습니다.
Linux 에서도 AppImage 와 deb 모두 같은 방식으로 앱 안에서 업데이트됩니다. deb 는 지금 다시 시작 을 누르면 관리자 암호를 물은 뒤 설치하며, 그냥 종료할 때는 설치하지 않습니다.
최근 릴리스 노트는 앱 안에서 언제든 볼 수 있습니다. 설정 → 정보 나 업데이트 버튼의 릴리스 노트, 또는 메뉴의 릴리스 노트 (macOS 는 앱 메뉴, Windows · Linux 는 파일 메뉴)로 엽니다. 업데이트한 뒤에는 타이틀바에 새 소식 이 떠서 새 버전에서 바뀐 점을 바로 볼 수 있습니다.
0.10.0 이전 버전은 앱 안 업데이트를 지원하지 않습니다. 그 버전에서는 마지막으로 한 번
.dmg로 설치하고 보안 해제를 거치면 됩니다.
Windows 는 Microsoft Store 가 업데이트합니다. 설정 → 정보 의 Microsoft Store 열기 로 Store 의 앱 페이지를 열 수 있습니다.
빌드 요구사항, 명령 시퀀스, 산출물 위치는 docs/INSTALL.md#self-build 에 정리되어 있습니다.
MIT © moreih29

