> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Instalar o Devin Desktop air-gapped

> Baixe o pacote air-gapped do Devin Desktop no portal, verifique o checksum SHA-256, instale-o no macOS, Linux ou Windows e execute uma verificação de integridade.

> [!NOTE]
>
> Esta documentação é destinada às implantações federais do Devin. [Voltar para a Documentação do Devin](/pt-BR/get-started/devin-intro)

Esta página orienta você na primeira instalação do pacote air-gapped do Devin Desktop, que inclui o Devin CLI air-gapped. Faça a instalação primeiro em uma única estação de trabalho e depois repita o procedimento no restante das máquinas, seguindo o processo de mídia aprovado pela sua organização.

## Antes de começar

* Você está conectado ao portal como **membro aprovado de uma equipe com um direito de uso on-prem ativo**. Sem esse direito de uso, a página de downloads air-gapped informa que você não está qualificado; nesse caso, entre em contato com sua equipe de contas.
* Você já preparou, ou está pronto para preparar, os dois arquivos de que todo host precisa antes de ser iniciado pela primeira vez:
  * um **arquivo de licença**, emitido pelo portal (consulte [Licença](/pt-BR/federal/air-gapped/license));
  * um **arquivo de modelos** que descreve seus endpoints de modelo (consulte [Arquivo de modelos](/pt-BR/federal/air-gapped/models-file)).
* O host de destino executa uma plataforma compatível: macOS (Apple silicon ou Intel), Linux (x86\_64 ou aarch64) ou Windows (x64 ou arm64).

## Etapa 1: baixar o pacote no portal

1. No portal, abra **Install → Air-gapped downloads** ([`windsurf.fedstart.com/install/airgap`](https://windsurf.fedstart.com/install/airgap)).

2. Escolha o instalador do **Devin Desktop** para a plataforma de destino. A página lista um pacote por plataforma e formato:

   | Plataforma | Formatos |
   | - | - |
   | macOS, Apple silicon | `.dmg` |
   | macOS, Intel | `.dmg` |
   | Linux x64 | `.deb`, `.rpm`, `.tar.gz` |
   | Linux arm64 | `.deb`, `.rpm`, `.tar.gz` |
   | Windows x64 | `.exe` (instalador de sistema), `.zip` |
   | Windows arm64 | `.exe` (instalador de sistema), `.zip` |

   Os arquivos do Windows se chamam `DevinSetup-<arch>-<version>.exe` e `Devin-win32-<arch>-<version>.zip`, em que `<arch>` é `x64` ou `arm64`. O instalador faz a instalação para todos os usuários; não existe instalador por usuário.

3. Anote o checksum **SHA-256** exibido na página ao lado do arquivo (use **Show checksum**). Você vai usá-lo para comparação após a transferência.

4. Transfira o arquivo para o ambiente isolado da rede usando o processo de mídia aprovado pela sua organização.

A mesma página oferece outros dois downloads, cada um com seu próprio checksum SHA-256:

| Download | Arquivo | Finalidade |
| - | - | - |
| **Desktop tunnel CLI** | `Devin-cli-linux-x64-<version>.tar.gz`, `Devin-cli-linux-arm64-<version>.tar.gz` | O túnel de linha de comando independente `devin-desktop-airgap`, usado para conectar o Desktop a um host remoto via SSH. Instale-o na máquina remota, não na estação de trabalho. |
| **Remote extension host** | `devin-reh-linux-<arch>-<version>.tar.gz`, `devin-reh-darwin-<arch>-<version>.tar.gz` | O componente de servidor que o Desktop instala nos destinos SSH. Disponibilize-o previamente para hosts que não conseguem baixá-lo por conta própria. |

A CLI do *agente* Devin (`devin`) não faz parte desses downloads: ela já vem incluída em todos os pacotes do Desktop (consulte a [Etapa 5](#step-5-locate-the-bundled-cli)).

## Etapa 2: Verifique o checksum

No host de destino (ou antes de transferir o arquivo para o ambiente air-gapped), calcule o SHA-256 do arquivo baixado e compare-o com o valor exibido no portal.

**macOS**

```sh theme={null}
shasum -a 256 Devin-darwin-arm64-<version>.dmg
```

```text theme={null}
3f6c…e21a  Devin-darwin-arm64-<version>.dmg
```

**Linux**

```sh theme={null}
sha256sum Devin-linux-x64-<version>.deb
```

```text theme={null}
3f6c…e21a  Devin-linux-x64-<version>.deb
```

**Windows**

```powershell theme={null}
Get-FileHash -Algorithm SHA256 .\DevinSetup-x64-<version>.exe
```

O valor de `Hash` deve corresponder ao checksum exibido na página do portal. Como o `Get-FileHash` o exibe em letras maiúsculas, compare sem diferenciar maiúsculas de minúsculas.

A primeira coluna deve corresponder exatamente ao checksum exibido na página do portal. Se não corresponder, descarte o arquivo e baixe-o novamente.

## Etapa 3: Instalar

**macOS**

1. Abra o `.dmg` e arraste **Devin - Airgap** para `/Applications`.
2. Verifique a assinatura de código e a notarização antes de iniciar o aplicativo pela primeira vez:

   ```sh theme={null}
   spctl --assess --type execute --verbose "/Applications/Devin - Airgap.app"
   codesign --verify --deep --strict "/Applications/Devin - Airgap.app"
   ```

   ```text theme={null}
   /Applications/Devin - Airgap.app: accepted
   source=Notarized Developer ID
   ```

   O `spctl` exibe `accepted`; o `codesign --verify` não exibe nada e encerra com código `0` quando a assinatura está íntegra. Qualquer saída `rejected` ou `code object is not signed at all` indica que o pacote foi alterado durante a transferência: descarte-o e recomece a partir da Etapa 1.

**Linux (.deb / .rpm)**

```sh theme={null}
sudo dpkg -i Devin-linux-x64-<version>.deb   # Debian/Ubuntu
sudo rpm -i Devin-linux-x64-<version>.rpm    # RHEL/Fedora
```

Não há repositório apt ou yum para builds air-gapped; instale e atualize diretamente a partir dos arquivos de pacote.

**Linux (.tar.gz)**

```sh theme={null}
sudo tar -xzf Devin-linux-x64-<version>.tar.gz -C /opt
```

O executável de inicialização é `/opt/Devin-linux-x64/bin/devin-airgap`.

**Windows (instalador)**

1. Verifique a assinatura Authenticode do instalador antes de executá-lo:

   ```powershell theme={null}
   Get-AuthenticodeSignature .\DevinSetup-x64-<version>.exe | Format-List Status, SignerCertificate
   ```

   O `Status` deve ser `Valid` e o certificado do signatário deve ter sido emitido para `Exafunction, Inc.` Com o Windows SDK instalado, o comando `signtool verify /pa .\DevinSetup-x64-<version>.exe` faz a mesma verificação. Qualquer outro status indica que o arquivo foi alterado durante a transferência: descarte-o e recomece a partir da Etapa 1.
2. Execute `DevinSetup-x64-<version>.exe` como administrador. O instalador é executado com privilégios elevados e instala o **Devin - Airgap** para todos os usuários em `C:\Program Files\Devin Airgap\`.

O instalador não cria nem protege a pasta de configuração; faça isso na [Etapa 4](#windows-lock-down-the-configuration-folder). A entrada de desinstalação no Windows se chama **Devin Airgap**.

**Windows (.zip)**

Descompacte `Devin-win32-x64-<version>.zip` em uma pasta de sua escolha e execute o Desktop a partir dela; nada mais é instalado. Verifique a assinatura Authenticode dos executáveis descompactados com `Get-AuthenticodeSignature`, como descrito para o instalador: o `Status` deve ser `Valid` e o signatário, `Exafunction, Inc.`

A restrição de acesso à pasta descrita na [Etapa 4](#windows-lock-down-the-configuration-folder) também se aplica a instalações via zip.

No Linux, a comparação do SHA-256 na Etapa 2 é a etapa de verificação; os pacotes não vêm acompanhados de um arquivo de assinatura separado.

## Etapa 4: Coloque a licença e o arquivo de modelos

Tanto a CLI autônoma quanto o agente incluído no Desktop leem os mesmos dois arquivos. Coloque-os nos caminhos padrão para dispensar o uso de variáveis de ambiente:

| Arquivo | Caminho padrão | Override |
| - | - | - |
| Licença | `/etc/devin/license.devin-onprem-license` | `DEVIN_LICENSE_FILE` |
| Arquivo de modelos | `/etc/devin/models.json` | `DEVIN_MODELS_FILE` |

No Windows, o diretório padrão é `C:\ProgramData\Devin\`; os overrides são os mesmos:

| Arquivo | Caminho padrão (Windows) | Override |
| - | - | - |
| Licença | `C:\ProgramData\Devin\license.devin-onprem-license` | `DEVIN_LICENSE_FILE` |
| Arquivo de modelos | `C:\ProgramData\Devin\models.json` | `DEVIN_MODELS_FILE` |

### Windows: restrinja o acesso à pasta de configuração

Esta etapa é obrigatória no Windows tanto para o instalador quanto para o zip, e o instalador não a executa por você. Por padrão, usuários padrão podem criar arquivos em uma nova pasta dentro de `C:\ProgramData`. Sem essa restrição, um usuário poderia criar o `models.json` (ou o arquivo de licença ou de autenticação) antes de você e manter o controle sobre ele.

**Antes de colocar qualquer arquivo**, em uma sessão do PowerShell com privilégios elevados, crie a pasta e restrinja o acesso a ela para que SYSTEM e Administradores tenham controle total e usuários padrão tenham apenas permissão de leitura:

```powershell theme={null}
New-Item -ItemType Directory -Force C:\ProgramData\Devin
icacls C:\ProgramData\Devin /inheritance:r /grant:r "*S-1-5-18:(OI)(CI)(F)" "*S-1-5-32-544:(OI)(CI)(F)" "*S-1-5-32-545:(OI)(CI)(RX)"
```

Se `C:\ProgramData\Devin\` já existia, os comandos acima não são suficientes: tudo o que um usuário padrão tiver criado nela anteriormente continua pertencendo a esse usuário, e qualquer permissão concedida explicitamente na pasta a outro usuário ou grupo permanece em vigor. Depois dos comandos acima, execute também os seguintes, nesta ordem. Eles transferem a propriedade da pasta e de seu conteúdo para Administrators, removem todas as permissões explícitas da pasta, aplicam o bloqueio novamente e redefinem as permissões do conteúdo para que ele herde as da pasta:

```powershell theme={null}
icacls C:\ProgramData\Devin /setowner "*S-1-5-32-544" /T /C
icacls C:\ProgramData\Devin /reset
icacls C:\ProgramData\Devin /inheritance:r /grant:r "*S-1-5-18:(OI)(CI)(F)" "*S-1-5-32-544:(OI)(CI)(F)" "*S-1-5-32-545:(OI)(CI)(RX)"
icacls C:\ProgramData\Devin\* /reset /T /C
```

Confirme o resultado. Nenhum dos comandos acima deve ter exibido mensagem de erro para nenhum arquivo ou pasta: `/C` faz o `icacls` seguir adiante quando não consegue alterar um item, então um erro significa que esse item manteve o proprietário ou as permissões anteriores. Em seguida, liste as permissões da pasta e de todo o seu conteúdo:

```powershell theme={null}
icacls C:\ProgramData\Devin /T
```

A própria pasta, `C:\ProgramData\Devin`, deve listar exatamente três entradas: `NT AUTHORITY\SYSTEM:(OI)(CI)(F)`, `BUILTIN\Administrators:(OI)(CI)(F)` e `BUILTIN\Users:(OI)(CI)(RX)`, nenhuma delas marcada com `(I)`. Cada arquivo e subpasta dentro dela deve listar os mesmos três usuários e grupos, e nenhum outro, cada um marcado com `(I)` por ser herdado da pasta; para um arquivo, isso corresponde a `NT AUTHORITY\SYSTEM:(I)(F)`, `BUILTIN\Administrators:(I)(F)` e `BUILTIN\Users:(I)(RX)`. Se qualquer outro usuário ou grupo aparecer em algum lugar, se alguma entrada da pasta estiver marcada com `(I)` ou se alguma entrada de um arquivo ou subpasta não estiver marcada com `(I)`, o bloqueio não está em vigor; execute novamente os comandos para uma pasta existente.

Em seguida, na mesma sessão com privilégios elevados, copie o arquivo de licença e o arquivo de modelos para a pasta.

Cada entrada de modelo indica uma variável de ambiente que contém sua chave de API (`api_key.env`); essa variável deve estar definida no ambiente do processo que executa o agente. Consulte [Arquivo de modelos → Variáveis de ambiente da chave de API](/pt-BR/federal/air-gapped/models-file#api-key-environment-variables) para saber como fornecê-la ao Desktop, cujo agente integrado herda o ambiente do **app Desktop**, e não o do seu shell.

## Etapa 5: Localize a CLI incluída no pacote

A CLI do agente Devin vem embutida em todos os pacotes do Desktop e é compilada a partir do mesmo commit de versão do Desktop, de modo que as duas versões nunca ficam dessincronizadas.

| Plataforma | Caminho dentro do pacote |
| - | - |
| macOS | `/Applications/Devin - Airgap.app/Contents/Resources/app/extensions/windsurf/devin/bin/devin` |
| Linux | `<install root>/resources/app/extensions/windsurf/devin/bin/devin` |
| Windows | `<install root>\resources\app\extensions\windsurf\devin\bin\devin.exe`, onde `<install root>` é `C:\Program Files\Devin Airgap`, se você usou o instalador, ou a pasta em que você descompactou o zip |

Use esse binário para executar os comandos `devin …` deste guia ou adicione-o ao `PATH`. Confirme a versão:

```sh theme={null}
"/Applications/Devin - Airgap.app/Contents/Resources/app/extensions/windsurf/devin/bin/devin" --version
```

```text theme={null}
devin-federal <version>+airgap.<sha>
```

## Etapa 6: Execute a verificação de integridade

Em um shell com o mesmo ambiente em que o agente será executado (em especial, com as variáveis de chave de API indicadas no seu arquivo de modelos), execute:

```sh theme={null}
devin airgap doctor
```

```text theme={null}
pass  license                                seat alice@example.gov (account acme), expires 2027-03-01
pass  models file path                       /etc/devin/models.json
pass  config dir writable                    /home/alice/.config/devin/cli-federal
pass  data dir writable                      /home/alice/.local/share/devin/cli-federal
pass  CA bundle                              not configured (OS trust store only; set DEVIN_CA_BUNDLE to add a private CA)
pass  models file parse                      1 model(s) configured
pass  model 'llama-3.3-70b': API key env var  LOCAL_LLAMA_API_KEY is set
pass  custom subagent profiles               none configured
pass  model 'llama-3.3-70b': endpoint reachability  GET https://models.internal:8000/v1/models -> 200 OK
pass  model 'llama-3.3-70b': inference conformance  POST https://models.internal:8000/v1/chat/completions -> 200 OK (412 ms)

10 check(s): 10 passed, 0 warning(s), 0 failure(s)
```

O comando retorna o código de saída `0` somente quando nenhuma verificação falha. Toda linha `FAIL` inclui um código de erro, como `CFG002` ou `NET003`; consulte-o em [Códigos de erro](/pt-BR/federal/air-gapped/error-codes) e siga o runbook de [Solução de problemas](/pt-BR/federal/air-gapped/troubleshooting).

## Etapa 7: Primeira inicialização

**macOS**

Inicie o app instalado usando o caminho explícito:

```sh theme={null}
open "/Applications/Devin - Airgap.app"
```

Evite `open -a "Devin - Airgap"`: esse comando resolve o nome por meio do LaunchServices e pode selecionar uma cópia diferente daquela que você verificou (um `.dmg` montado ou uma instalação mais antiga).

**Linux**

Inicie o executável de inicialização instalado pelo pacote ou, em uma instalação via tarball, execute `/opt/Devin-linux-x64/bin/devin-airgap`.

**Windows**

Inicie o app **Devin - Airgap** instalado ou, em uma instalação via zip, execute o aplicativo a partir da pasta em que você o descompactou.

Se a licença estiver ausente ou for inválida, o Desktop abre normalmente, mas o agente incluído falha: o painel de chat exibe o erro ACP `-32019 license_invalid`. Abra **View → Output → Devin ACP**, procure a linha `LIC00X` e consulte [Licença](/pt-BR/federal/air-gapped/license#error-codes).

## Próximas etapas

* Configure o SSO se o seu deployment exigir login de usuário: [SSO](/pt-BR/federal/air-gapped/sso).
* Adicione uma CA privada se os seus endpoints usarem certificados internos: [Rede e certificados](/pt-BR/federal/air-gapped/network-and-certificates).
* Saiba onde o produto grava seu estado e como fazer a ingestão do registro de auditoria: [Formatos em disco](/pt-BR/federal/air-gapped/on-disk-formats).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.