> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# 데스크톱 개요

같은 웹 앱을 감싸는 Tauri webview 셸 — 두 번째 제품이 아니라 존재감을 더합니다.

## 초보자 연습

전제 조건: 아래 두 개의 초보자 가이드를 읽고 Rust 및 운영 체제 전제 조건을 포함한 데스크톱 로컬 설정을 완료하세요. 코드 블록은 모노레포에서 웹앱과 Tauri를 모두 시작합니다. 데스크톱 전용 결제에서는 별도로 연결할 수 있는 웹 백엔드를 시작한 후에만 필터링된 명령을 사용하세요. Tauri는 해당 백엔드를 로드합니다.

빠른 용어: 작업 영역은 한 팀의 별도 사용자, 데이터 및 설정입니다. 서버는 신뢰할 수 있는 백엔드입니다. 제공업체 키를 브라우저 및 전화 코드에 보관하세요. 마이그레이션은 테이블을 생성하거나 업데이트하는 버전이 지정된 데이터베이스 변경입니다. AI 모델은 응답하는 엔진입니다. 모델 카탈로그는 서버의 사용 가능한 모델 ID 및 가격 목록입니다. 공급자는 AI, 이메일, 청구 서비스와 같은 외부 서비스입니다. 자격은 작업 영역에서 기능을 사용할 수 있도록 하는 부여입니다. 웹훅은 한 서비스가 다른 서비스의 URL에 보내는 메시지입니다.

1. 데스크톱 로컬 설정을 따른 다음 Tauri 창에서 앱을 열고 브라우저에서 사용하는 것과 동일한 웹 계정에 로그인합니다.

2. 워크스페이스 페이지를 방문하여 트레이에서 창을 숨기거나 표시하고 소환 단축키를 사용해 보세요.

3. Tauri가 구성된 백엔드를 로드하므로 화면이 웹 앱과 일치해야 합니다. 비어 있는 경우 `SUPASTACK_APP_URL`가 연결 가능한 실행 중인 웹 앱을 가리키는지 확인하세요.

사용자 정의 코드의 경우 제공된 `prompts/README.md`로 시작하고 가장 가까운 프롬프트(앱 화면의 경우 `prompts/new-app-screen.md`, 공개 페이지의 경우 `prompts/new-landing-page.md`)를 복사합니다. 서버, 데이터베이스 또는 공급자 작업의 경우 코딩 에이전트에게 이 가이드의 작업을 제공하고 `AGENTS.md`, `.ai/PROJECT_CONTEXT.md` 및 일치하는 `.ai/` 미러를 읽도록 요청하세요. 여기에 이름이 지정된 정확한 소스 파일을 검사하십시오. 편집하기 전에 파일을 나열하고 확인합니다. 작업 공간 소유권과 서버 전용 비밀을 보존합니다. 차이점을 보여주세요. 원하는 동작, 입력 및 출력 필드, 허용된 역할, 예상되는 성공 및 오류, 테스트 계정, 공급자 또는 장치를 알려주십시오. 샘플 값을 사용하십시오. 절대 진짜 비밀을 붙여넣지 마세요.

[시작하기 전에](https://supastack.dev/ko/docs/web/before-you-start.md)

[단말기 기본사항](https://supastack.dev/ko/docs/web/terminal-basics.md)

[데스크탑 로컬 설정](https://supastack.dev/ko/docs/desktop/ship-in-5-minutes.md)

[에이전트 프롬프트 및 프로젝트 메모리](https://supastack.dev/ko/docs/web/agents.md)

```
# Monorepo: start the web app and desktop shell together
corepack pnpm dev:desktop

# Desktop-only checkout: start Tauri after a web backend is already reachable
corepack pnpm --filter @supastack/desktop dev
```


## 하나의 제품 UI, 기본 셸

`apps/desktop`는 웹 앱에 대한 Tauri 웹뷰입니다. 제품 UI, 인증, 웹과의 채팅을 공유합니다. 기본 창/트레이 동작은 `src-tauri/src/lib.rs`에 있습니다. 연결 가능한 웹 백엔드가 필요하며 독립적인 제품 인터페이스를 번들로 제공하지 않습니다.


## 기본 셸 기능 사용

셸은 트레이 메뉴, 트레이에 가까운, 단일 인스턴스 포커스, 전역 소환 단축키, 기본 탐색/보기 메뉴, 시스템 브라우저의 외부 링크, `supastack://` 딥 링크 소환, 기억된 창 상태 및 오프라인 재시도 오버레이를 제공합니다.

`SUPASTACK_APP_URL`은 백엔드를 선택합니다(유효한 런타임 값, 빌드 시점 값, localhost 순). `SUPASTACK_DESKTOP_HOTKEY`는 `CmdOrCtrl+Shift+Space`를 재정의합니다. 서명된 릴리스 빌드는 `SUPASTACK_UPDATER_ENDPOINT`와 `SUPASTACK_UPDATER_PUBKEY`를 주입하며, 엔드포인트 경로에 `{{channel}}`이 포함되면 앱 메뉴에서 **Beta Updates**(`stable` 대 `beta`, 런타임에 `SUPASTACK_UPDATE_CHANNEL`로 재정의 가능)가 활성화됩니다.


## 데스크탑 경로를 선택하세요

로컬 작업을 위해 웹과 데스크톱을 함께 실행한 다음 플랫폼 전제 조건으로 기본 대상을 구축하고 확인합니다. 매장 서명, 설치 프로그램 및 물리적 데스크탑 동작에는 별도의 동의가 필요합니다.

[5분 안에 Tauri 데스크톱 설정](https://supastack.dev/ko/docs/desktop/ship-in-5-minutes.md)

[창, 트레이 및 단축키 동작](https://supastack.dev/ko/docs/desktop/run.md)

[데스크톱 빌드 및 배포](https://supastack.dev/ko/docs/desktop/release.md)


## 두 번째 앱이 아닌 webview 셸

apps/desktop은 Tauri 2.x 셸입니다. src-tauri의 Rust 코어가 창, 시스템 트레이, 전역 단축키를 담당하고 webview가 웹 앱을 로드합니다. UI, 인증, 결제, AI는 모두 같은 Next.js 코드베이스에서 나옵니다 — 데스크톱 표면은 별도 제품이 아니라 존재감을 더합니다.

셸에는 apps/desktop/ui의 플레이스홀더 페이지가 포함되어 웹 앱 로딩 중에 표시되므로, 콜드 스타트에서도 빈 창이 나타나지 않습니다.


## 셸을 배포로 향하게 하기

창 대상은 순서대로 결정됩니다: 런타임 SUPASTACK_APP_URL, 다음 컴파일 타임 SUPASTACK_APP_URL, 마지막으로 http://localhost:3000. http와 https URL만 허용되며 빈 값이나 웹이 아닌 값은 다음 후보로 넘어갑니다.

개발을 위해 이는 쉘이 corepack pnpm dev가 제공하는 모든 것에 연결된다는 것을 의미합니다. 프로덕션의 경우 빌드 시 배포된 웹앱에서 베이킹할 변수를 설정합니다.


## 시크릿은 서버에

셸은 프로바이더 자격 증명을 갖고 있지 않습니다. webview는 브라우저와 동일한 인증된 API 표면과 통신하므로 프로바이더 키, 세션 시크릿, 결제 설정은 서버에 남습니다.

번들 식별자 com.supastack.desktop과 기본 capability 세트(core:default)가 webview를 샌드박스로 유지합니다. src-tauri/capabilities의 권한은 네이티브 기능이 필요할 때만 넓히세요.


설정을 계속하려면 [shell 실행 및 구성](https://supastack.dev/ko/docs/desktop/run.md) 가이드를 읽어보세요.


## 다음

[데스크톱 앱 5분 시작](https://supastack.dev/ko/docs/desktop/ship-in-5-minutes.md)
