> ## 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

# Visão geral do desktop

Um shell webview Tauri à volta da mesma app web — presença, não um segundo produto.

## Passo a passo para iniciantes

Pré-requisitos: Leia os dois guias para iniciantes abaixo e conclua a configuração local do Desktop, incluindo Rust e pré-requisitos do sistema operacional. O bloco de código inicia o aplicativo da web e Tauri no monorepo; em uma finalização de compra somente para desktop, use seu comando filtrado somente após iniciar um back-end da web acessível separadamente. Tauri carrega esse backend.

Termos rápidos: um espaço de trabalho consiste em usuários, dados e configurações separados de uma equipe. O servidor é o back-end confiável; mantenha as chaves do provedor fora do navegador e do código do telefone. Uma migração é uma alteração de versão do banco de dados que cria ou atualiza tabelas. Um modelo de IA é o mecanismo que responde; o catálogo de modelos é a lista do servidor de IDs e preços de modelos disponíveis. Um provedor é um serviço externo, como IA, e-mail ou serviço de cobrança. Um direito é uma concessão que permite que um espaço de trabalho use um recurso. Um webhook é uma mensagem que um serviço envia para o URL de outro serviço.

1. Siga a configuração local do Desktop, abra o aplicativo na janela Tauri e faça login na mesma conta da web que você usa em um navegador.

2. Visite uma página da área de trabalho, oculte/mostre a janela da bandeja e tente o atalho de convocação.

3. A tela deve corresponder ao aplicativo da web porque Tauri carrega o backend configurado. Se estiver em branco, confirme se `SUPASTACK_APP_URL` aponta para um aplicativo da web em execução acessível.

Para código personalizado, comece com o `prompts/README.md` fornecido e copie o prompt mais próximo: `prompts/new-app-screen.md` para uma tela de aplicativo ou `prompts/new-landing-page.md` para uma página pública. Para trabalho de servidor, banco de dados ou provedor, dê ao seu agente de codificação a tarefa deste guia e peça-lhe para ler `AGENTS.md`, `.ai/PROJECT_CONTEXT.md` e espelhos `.ai/` correspondentes; inspecione os arquivos de origem exatos nomeados aqui; listar arquivos e verificações antes de editar; preservar a propriedade do espaço de trabalho e os segredos apenas do servidor; e mostrar a diferença. Informe o comportamento desejado, campos de entrada e saída, funções permitidas, sucessos e erros esperados e a conta de teste, provedor ou dispositivo. Use valores de amostra; nunca cole um segredo real.

[Antes de começar](https://supastack.dev/pt/docs/web/before-you-start.md)

[Noções básicas sobre terminais](https://supastack.dev/pt/docs/web/terminal-basics.md)

[Configuração local do desktop](https://supastack.dev/pt/docs/desktop/ship-in-5-minutes.md)

[Avisos do agente e memória do projeto](https://supastack.dev/pt/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
```


## Uma UI de produto, um shell nativo

`apps/desktop` é uma visualização da web Tauri em seu aplicativo da web. Ele compartilha UI do produto, autenticação e chat com a web; o comportamento nativo da janela/bandeja reside em `src-tauri/src/lib.rs`. Ele precisa de um back-end da web acessível e não inclui uma interface de produto independente.


## Use os recursos nativos do shell

O shell vem com um menu de bandeja, próximo à bandeja, foco de instância única, tecla de atalho de convocação global, menus de navegação/visualização nativos, links externos no navegador do sistema, convocação de link direto `supastack://`, estado de janela lembrado e uma sobreposição de nova tentativa offline.

`SUPASTACK_APP_URL` escolhe o backend: valor válido em tempo de execução, depois valor de compilação e por fim localhost. `SUPASTACK_DESKTOP_HOTKEY` substitui `CmdOrCtrl+Shift+Space`. As compilações de lançamento assinadas injetam `SUPASTACK_UPDATER_ENDPOINT` e `SUPASTACK_UPDATER_PUBKEY`; quando o caminho do endpoint contém `{{channel}}`, o menu do aplicativo habilita **Beta Updates** (`stable` vs `beta`, substituível em tempo de execução com `SUPASTACK_UPDATE_CHANNEL`).


## Escolha o caminho da sua área de trabalho

Execute a Web e o desktop juntos para trabalho local e, em seguida, crie e verifique o destino nativo com seus pré-requisitos de plataforma. A assinatura da loja, os instaladores e o comportamento da área de trabalho física exigem aceitação separada.

[Configure a área de trabalho Tauri em 5 minutos](https://supastack.dev/pt/docs/desktop/ship-in-5-minutes.md)

[Comportamento da janela, bandeja e teclas de atalho](https://supastack.dev/pt/docs/desktop/run.md)

[Construções e distribuição para desktops](https://supastack.dev/pt/docs/desktop/release.md)


## Um shell webview, não uma segunda app

apps/desktop é um shell Tauri 2.x. O núcleo Rust em src-tauri detém a janela, a bandeja do sistema e o atalho global, enquanto uma webview carrega a aplicação web. Interface, autenticação, faturação e AI vêm do mesmo código Next.js — a superfície desktop acrescenta presença, não um produto paralelo.

O shell inclui uma página provisória em apps/desktop/ui mostrada enquanto a app web carrega, para que um arranque a frio nunca mostre uma janela vazia.


## Aponta o shell para um deployment

O destino da janela resolve-se por ordem: SUPASTACK_APP_URL em runtime, depois SUPASTACK_APP_URL em compile-time, depois http://localhost:3000. Só URLs http e https são aceites — valores vazios ou não-web caem no candidato seguinte.

Para desenvolvimento, isso significa que o shell é anexado a qualquer corepack pnpm dev que serve. Para produção, defina a variável no momento da construção para incorporar seu aplicativo Web implantado.


## Os segredos ficam no servidor

O shell não transporta credenciais de fornecedores. A webview fala com a mesma superfície de API autenticada que um browser usa — chaves de fornecedor, segredos de sessão e configuração de faturação ficam no servidor.

O identificador de bundle com.supastack.desktop e o conjunto de capabilities por defeito (core:default) mantêm a webview em sandbox; alarga permissões em src-tauri/capabilities só quando uma funcionalidade nativa o exigir.


Para continuar a configuração, leia [Execute e configure o shell](https://supastack.dev/pt/docs/desktop/run.md).


## Seguinte

[Inicie o app desktop em 5 minutos](https://supastack.dev/pt/docs/desktop/ship-in-5-minutes.md)
