데스크톱 앱
Multica Desktop이 무엇인지, 웹 앱과 어떻게 다른지, 언제 쓸 만한지 알아봅니다.
Multica Desktop은 macOS, Windows, Linux용 네이티브 데스크톱 앱입니다. 구성된 환경에 대해 웹 앱과 동일한 백엔드에 연결되며 동일한 데이터를 보여줍니다. 기본적으로 Desktop은 Multica Cloud를 사용하며, 자체 호스팅 인스턴스는 로컬 런타임 설정 파일로 구성할 수 있습니다. Desktop은 브라우저가 할 수 없는 몇 가지 기능도 추가로 제공합니다: 워크스페이스별 독립적인 탭 그룹, 데몬 자동 시작, 원클릭 업그레이드입니다.
Desktop 또는 웹 — 무엇을 선택할까
| 웹 | Desktop | |
|---|---|---|
| 접근 방식 | 브라우저에서 URL 열기 | 네이티브 앱 설치 |
| 다중 탭 | 브라우저 자체 탭 (워크스페이스 구분 없음) | 워크스페이스별 독립 탭 그룹 한 개 |
| 데몬 | multica daemon start를 직접 실행 | 실행 시 자동으로 시작 |
| 업그레이드 | 새로고침하면 최신 버전 | 앱이 백그라운드에서 확인하고 다음 실행 시 설치 |
| 로그인 후 데이터 | 동일 | 동일 |
웹을 선택: 일회성으로 사용하거나, 다른 사람의 기기에서 작업하거나, 아무것도 설치하고 싶지 않을 때. Desktop을 선택: 매일 사용하거나, 여러 워크스페이스를 동시에 다루거나, 데몬을 수동으로 관리하고 싶지 않을 때.
다중 탭: 워크스페이스를 전환하면 어떻게 되나
Desktop은 참여한 모든 워크스페이스마다 독립적인 탭 그룹을 유지합니다. 워크스페이스를 전환하면 현재 워크스페이스의 탭이 하나의 단위로 숨겨지고, 이전 워크스페이스의 탭은 떠났던 그대로 복원됩니다 — VSCode의 멀티 워크스페이스 동작이나 Slack에서 워크스페이스를 전환하는 것과 비슷합니다.
예시: 워크스페이스 A에서 이슈 탭 3개를 열어 둔 상태로 워크스페이스 B로 전환합니다. A의 탭 3개는 사라지고, B에는 B에서 마지막으로 열어 두었던 것이 표시됩니다. 다시 A로 전환하면 그 3개의 탭이 정확히 이전 상태 그대로 돌아옵니다. 탭은 워크스페이스 간에 절대 새어 나가지 않습니다.
로그아웃하면 모든 워크스페이스의 탭 상태가 지워지므로, 여러 사용자가 기기를 공유하더라도 데이터가 새어 나가지 않습니다.
Desktop의 자동 업데이트 방식
실행 시 Desktop은 GitHub Releases에서 더 최신 버전이 있는지 확인합니다. 새 버전이 발견되면:
- 백그라운드에서 새 버전을 조용히 다운로드합니다.
- "준비 완료 — 다음 실행 시 설치됩니다"라고 알려 줍니다.
- 종료(또는 다음 재시작) 시, 앱이 닫히기 전에 업데이트를 설치합니다.
- 다음 실행 시 새 버전이 실행됩니다.
이 전체 과정은 작업 중인 내용을 방해하지 않습니다.
Windows에서는 ARM64와 x64가 별도의 업데이트 채널입니다 — 잘못된 아키텍처를 설치하면 업데이트가 감지되지 않습니다. 다운로드할 때 기기에 맞는 .exe를 선택하세요 (ARM 빌드에는 arm64 접미사가 붙어 있습니다).
macOS 빌드는 서명 및 공증되어 있으므로, 첫 실행 시 "확인되지 않은 개발자" 경고가 표시되지 않습니다. Linux 빌드는 .AppImage입니다 — 자동 업데이트는 electron-updater에 의존하는데, 일부 배포판에서는 불안정할 수 있습니다. 자동 업데이트가 작동하지 않으면, 새 버전을 수동으로 다운로드하여 기존 파일을 교체하세요.
별도의 CLI와 데몬이 여전히 필요한가요?
아닙니다. Desktop에는 동일한 multica CLI 바이너리가 내장되어 있으며, 시작 시 자체 데몬 프로필을 실행합니다 (터미널에서 수동으로 실행 중인 데몬과는 격리됩니다).
이미 CLI를 설치하고 multica daemon start를 직접 실행했더라도, Desktop은 그 데몬을 가로채지 않습니다 — 별도의 프로필로 자체 데몬을 시작합니다. 둘은 서로 다른 런타임으로 등록되며, UI에서 두 개의 독립된 런타임을 볼 수 있습니다.
터미널에서 CLI 명령을 실행하고 싶다면, Desktop이 특별한 경로를 제공하지는 않습니다 — 별도로 설치한 CLI를 사용하거나, 앱의 리소스 디렉터리 안 resources/bin/multica에 있는 번들 사본을 실행하세요.
다운로드 및 설치
Multica 다운로드 페이지에서 사용하는 플랫폼의 설치 프로그램을 받으세요:
| 플랫폼 | 파일 |
|---|---|
| macOS (Intel 또는 Apple Silicon) | .dmg |
| Windows x64 | .exe (표준) |
| Windows ARM64 | .exe (arm64 접미사 포함) |
| Linux | .AppImage |
첫 실행 시 로그인이 필요합니다 — 웹 앱과 동일한 이메일 + 인증 코드 흐름입니다. 로그인하면 Desktop이 워크스페이스 목록을 자동으로 동기화합니다.
Desktop은 기본적으로 Multica Cloud를 사용하지만, 로컬 설정 파일로 자체 호스팅 인스턴스를 가리키도록 할 수 있습니다. 앱 안에는 여전히 "자체 호스팅에 연결" 선택기가 없습니다. Desktop은 렌더러가 시작되기 전에 ~/.multica/desktop.json을 읽습니다. 파일이 없으면 Cloud 기본값을 사용합니다.
최소 자체 호스팅 설정:
{
"schemaVersion": 1,
"apiUrl": "https://api.your-domain"
}apiUrl은 필수이며 http 또는 https를 사용해야 합니다. Desktop은 동일 오리진에서 wsUrl을 /ws로 유도하고(https이면 wss, http이면 ws), API 오리진에서 appUrl을 유도합니다. 배포 환경이 서로 다른 오리진을 사용한다면 명시적으로 설정하세요:
{
"schemaVersion": 1,
"apiUrl": "https://api.your-domain",
"wsUrl": "wss://api.your-domain/ws",
"appUrl": "https://your-domain"
}desktop.json이 존재하지만 유효하지 않으면, Desktop은 안전하게 동작을 차단하여 Cloud로 조용히 되돌아가는 대신 차단형 설정 오류를 표시합니다. 개발 빌드의 경우, electron-vite dev 중에는 여전히 VITE_API_URL / VITE_WS_URL / VITE_APP_URL이 우선합니다. 런타임 Desktop 자체 호스팅 구성은 issue #1371에서 구현되었습니다.
다음 단계
- Cloud Quickstart — Desktop을 위한 Cloud 온보딩 흐름
- Self-Host Quickstart — 자체 백엔드를 실행하고 CLI 또는 Desktop 런타임 설정으로 연결하기
- 데몬 및 런타임 — 데몬의 작동 방식 (Desktop이 대신 시작해 주지만 동작은 동일합니다)