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

# Air-Gapped Devin Desktop installieren

> Laden Sie das air-gapped Devin Desktop-Paket aus dem Portal herunter, prüfen Sie dessen SHA-256-Prüfsumme, installieren Sie es unter macOS, Linux oder Windows und führen Sie eine Integritätsprüfung durch.

> [!NOTE]
>
> Diese Dokumentation gilt für föderale Deployments von Devin. [Zurück zur Devin-Dokumentation](/de/get-started/devin-intro)

Diese Seite führt Sie durch die Erstinstallation des air-gapped Devin Desktop-Pakets, das auch die air-gapped Devin CLI enthält. Führen Sie die Installation zunächst auf einer einzelnen Workstation durch und wiederholen Sie sie anschließend über Ihren genehmigten Medienprozess auf allen weiteren Geräten.

## Bevor Sie beginnen

* Sie sind im Portal als **genehmigtes Mitglied eines Teams mit einer aktiven On-Prem-Berechtigung** angemeldet. Ohne diese Berechtigung zeigt die Downloadseite für air-gapped Umgebungen an, dass Sie nicht berechtigt sind. Wenden Sie sich in diesem Fall an Ihr Kundenbetreuungsteam.
* Sie haben die beiden Dateien, die jeder Host vor dem ersten Start benötigt, bereits vorbereitet oder können sie jetzt vorbereiten:
  * eine **Lizenzdatei**, die im Portal ausgestellt wird (siehe [Lizenz](/de/federal/air-gapped/license));
  * eine **Modelldatei**, die Ihre Modell-Endpunkte beschreibt (siehe [Modelldatei](/de/federal/air-gapped/models-file)).
* Auf dem Zielhost läuft eine unterstützte Plattform: macOS (Apple Silicon oder Intel), Linux (x86\_64 oder aarch64) oder Windows (x64 oder arm64).

## Schritt 1: Paket aus dem Portal herunterladen

1. Öffnen Sie im Portal **Install → Air-gapped downloads** ([`windsurf.fedstart.com/install/airgap`](https://windsurf.fedstart.com/install/airgap)).

2. Wählen Sie das **Devin Desktop**-Installationsprogramm für die Zielplattform aus. Die Seite listet ein Paket pro Plattform und Format auf:

   | Plattform | Formate |
   | - | - |
   | macOS, Apple silicon | `.dmg` |
   | macOS, Intel | `.dmg` |
   | Linux x64 | `.deb`, `.rpm`, `.tar.gz` |
   | Linux arm64 | `.deb`, `.rpm`, `.tar.gz` |
   | Windows x64 | `.exe` (systemweites Installationsprogramm), `.zip` |
   | Windows arm64 | `.exe` (systemweites Installationsprogramm), `.zip` |

   Die Windows-Dateien heißen `DevinSetup-<arch>-<version>.exe` und `Devin-win32-<arch>-<version>.zip`, wobei `<arch>` für `x64` oder `arm64` steht. Das Installationsprogramm installiert Devin Desktop für alle Nutzer; ein Installationsprogramm pro Nutzer gibt es nicht.

3. Notieren Sie die **SHA-256**-Prüfsumme, die neben der Datei angezeigt wird (über **Show checksum**). Nach der Übertragung gleichen Sie die Datei damit ab.

4. Übertragen Sie die Datei über Ihr freigegebenes Medienverfahren in die physisch isolierte Umgebung.

Auf derselben Seite stehen zwei weitere Downloads mit jeweils eigener SHA-256-Prüfsumme zur Verfügung:

| Download | Datei | Zweck |
| - | - | - |
| **Desktop tunnel CLI** | `Devin-cli-linux-x64-<version>.tar.gz`, `Devin-cli-linux-arm64-<version>.tar.gz` | Der eigenständige Befehlszeilen-Tunnel `devin-desktop-airgap`, mit dem sich Desktop über SSH mit einem Remote-Host verbinden lässt. Installieren Sie ihn auf der Remote-Maschine, nicht auf der Workstation. |
| **Remote extension host** | `devin-reh-linux-<arch>-<version>.tar.gz`, `devin-reh-darwin-<arch>-<version>.tar.gz` | Die Server-Komponente, die Desktop auf SSH-Zielen installiert. Stellen Sie sie für Hosts bereit, die sie nicht selbst abrufen können. |

Die Devin-*Agent*-CLI (`devin`) gehört nicht zu diesen Downloads: Sie ist in jedem Desktop-Paket bereits enthalten (siehe [Schritt 5](#step-5-locate-the-bundled-cli)).

## Schritt 2: Prüfsumme prüfen

Berechnen Sie auf dem Zielhost (oder bevor Sie die Datei über den Air Gap übertragen) den SHA-256-Wert der heruntergeladenen Datei und vergleichen Sie ihn mit dem im Portal angezeigten Wert.

**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
```

Der Wert `Hash` muss mit der Prüfsumme auf der Portalseite übereinstimmen. Da `Get-FileHash` ihn in Großbuchstaben ausgibt, ignorieren Sie beim Vergleich die Groß-/Kleinschreibung.

Die erste Spalte muss exakt mit der Prüfsumme auf der Portalseite übereinstimmen. Ist das nicht der Fall, verwerfen Sie die Datei und laden Sie sie erneut herunter.

## Schritt 3: Installieren

**macOS**

1. Öffnen Sie die `.dmg`-Datei und ziehen Sie **Devin - Airgap** nach `/Applications`.
2. Prüfen Sie vor dem ersten Start die Codesignatur und die Notarisierung:

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

   `spctl` gibt `accepted` aus; `codesign --verify` gibt nichts aus und endet mit dem Exit-Code `0`, wenn die Signatur intakt ist. Eine Ausgabe wie `rejected` oder `code object is not signed at all` bedeutet, dass das Paket bei der Übertragung verändert wurde: Verwerfen Sie es und beginnen Sie erneut mit Schritt 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
```

Für air-gapped Builds gibt es kein apt- oder yum-Repository; Installation und Upgrades erfolgen direkt über die Paketdateien.

**Linux (.tar.gz)**

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

Das Startprogramm befindet sich unter `/opt/Devin-linux-x64/bin/devin-airgap`.

**Windows (Installationsprogramm)**

1. Prüfen Sie vor dem Ausführen die Authenticode-Signatur des Installationsprogramms:

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

   `Status` muss `Valid` sein, und das Signaturzertifikat muss auf `Exafunction, Inc.` ausgestellt sein. Ist das Windows SDK installiert, führt `signtool verify /pa .\DevinSetup-x64-<version>.exe` dieselbe Prüfung durch. Jeder andere Status bedeutet, dass die Datei bei der Übertragung verändert wurde: Verwerfen Sie sie und beginnen Sie erneut mit Schritt 1.
2. Führen Sie `DevinSetup-x64-<version>.exe` als Administrator aus. Das Installationsprogramm läuft mit erhöhten Rechten und installiert **Devin - Airgap** für alle Nutzer unter `C:\Program Files\Devin Airgap\`.

Das Installationsprogramm legt den Konfigurationsordner weder an noch sichert es ihn ab; das erledigen Sie in [Schritt 4](#windows-lock-down-the-configuration-folder). Der Windows-Deinstallationseintrag heißt **Devin Airgap**.

**Windows (.zip)**

Entpacken Sie `Devin-win32-x64-<version>.zip` in einen Ordner Ihrer Wahl und starten Sie Desktop von dort aus; darüber hinaus wird nichts installiert. Prüfen Sie die Authenticode-Signatur der entpackten ausführbaren Dateien wie beim Installationsprogramm mit `Get-AuthenticodeSignature`: `Status` muss `Valid` sein und der Signaturgeber `Exafunction, Inc.`

Die Absicherung des Ordners in [Schritt 4](#windows-lock-down-the-configuration-folder) gilt auch für eine ZIP-Installation.

Unter Linux dient der SHA-256-Vergleich in Schritt 2 als Prüfschritt; den Paketen liegt keine separate Signaturdatei bei.

## Schritt 4: Lizenz- und Modelldatei ablegen

Sowohl die eigenständige CLI als auch der in Desktop enthaltene Agent lesen dieselben beiden Dateien. Legen Sie sie unter den Standardpfaden ab, dann sind keine Umgebungsvariablen erforderlich:

| Datei | Standardpfad | Überschreibung |
| - | - | - |
| Lizenz | `/etc/devin/license.devin-onprem-license` | `DEVIN_LICENSE_FILE` |
| Modelldatei | `/etc/devin/models.json` | `DEVIN_MODELS_FILE` |

Unter Windows lautet das Standardverzeichnis `C:\ProgramData\Devin\`; die Überschreibungen bleiben dieselben:

| Datei | Standardpfad (Windows) | Überschreibung |
| - | - | - |
| Lizenz | `C:\ProgramData\Devin\license.devin-onprem-license` | `DEVIN_LICENSE_FILE` |
| Modelldatei | `C:\ProgramData\Devin\models.json` | `DEVIN_MODELS_FILE` |

### Windows: Konfigurationsordner absichern

Dieser Schritt ist unter Windows sowohl für das Installationsprogramm als auch für das ZIP-Archiv erforderlich – das Installationsprogramm erledigt ihn nicht für Sie. Standardmäßig können Standardnutzer in einem neuen Ordner unter `C:\ProgramData` Dateien erstellen. Ohne diese Absicherung könnte ein Nutzer also `models.json` (oder die Lizenz- bzw. Authentifizierungsdatei) vor Ihnen anlegen und die Kontrolle darüber behalten.

**Bevor Sie Dateien ablegen**, erstellen Sie in einer PowerShell-Sitzung mit erhöhten Rechten den Ordner und schränken Sie die Berechtigungen so ein, dass SYSTEM und Administratoren Vollzugriff haben und Standardnutzer nur Lesezugriff:

```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)"
```

Falls `C:\ProgramData\Devin\` bereits vorhanden war, reichen die obigen Befehle nicht aus: Alles, was ein Standardnutzer zuvor darin erstellt hat, bleibt im Besitz dieses Nutzers, und Berechtigungen, die für den Ordner explizit einem anderen Nutzer oder einer anderen Gruppe erteilt wurden, bleiben bestehen. Führen Sie nach den obigen Befehlen zusätzlich die folgenden Befehle in genau dieser Reihenfolge aus. Sie übertragen den Besitz des Ordners und seines Inhalts an die Administratoren, entfernen alle expliziten Berechtigungen vom Ordner, wenden die Sperrung erneut an und setzen die Berechtigungen für den Inhalt zurück, sodass dieser die Berechtigungen des Ordners erbt:

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

Überprüfen Sie das Ergebnis. Keiner der obigen Befehle darf für eine Datei oder einen Ordner eine Fehlermeldung ausgegeben haben: Durch `/C` fährt `icacls` mit dem nächsten Element fort, wenn ein Element nicht geändert werden konnte. Eine Fehlermeldung bedeutet daher, dass dieses Element seinen bisherigen Besitzer bzw. seine bisherigen Berechtigungen behalten hat. Lassen Sie anschließend die Berechtigungen für den Ordner und seinen gesamten Inhalt auflisten:

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

Der Ordner selbst, `C:\ProgramData\Devin`, muss genau drei Einträge aufweisen: `NT AUTHORITY\SYSTEM:(OI)(CI)(F)`, `BUILTIN\Administrators:(OI)(CI)(F)` und `BUILTIN\Users:(OI)(CI)(RX)`, von denen keiner mit `(I)` gekennzeichnet ist. Jede Datei und jeder Unterordner darin muss genau dieselben drei Nutzer und Gruppen aufweisen, jeweils mit `(I)` gekennzeichnet, da sie vom Ordner vererbt sind; bei einer Datei sind das `NT AUTHORITY\SYSTEM:(I)(F)`, `BUILTIN\Administrators:(I)(F)` und `BUILTIN\Users:(I)(RX)`. Ist irgendwo ein anderer Nutzer oder eine andere Gruppe aufgeführt, ist ein Eintrag am Ordner mit `(I)` gekennzeichnet oder fehlt bei einem Eintrag an einer Datei bzw. einem Unterordner die Kennzeichnung `(I)`, ist die Sperrung nicht wirksam. Führen Sie in diesem Fall die Befehle für einen vorhandenen Ordner erneut aus.

Kopieren Sie anschließend die Lizenz- und die Modelldatei aus derselben Sitzung mit erhöhten Rechten in den Ordner.

Jeder Modelleintrag benennt eine Umgebungsvariable, die den zugehörigen API-Schlüssel enthält (`api_key.env`). Diese Variable muss in der Umgebung des Prozesses gesetzt sein, der den Agent ausführt. Unter [Modelldatei → Umgebungsvariablen für API-Schlüssel](/de/federal/air-gapped/models-file#api-key-environment-variables) erfahren Sie, wie Sie sie für Desktop bereitstellen. Der mitgelieferte Agent von Desktop erbt die Umgebung der **Desktop-App** und nicht die Ihrer Shell.

## Schritt 5: Gebündelte CLI finden

Die CLI des Devin-Agenten ist in jedem Desktop-Paket enthalten und wird aus demselben Release-Commit wie Desktop gebaut, sodass die Versionen beider Komponenten nicht voneinander abweichen können.

| Plattform | Pfad innerhalb des Pakets |
| - | - |
| 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`, wobei `<install root>` bei Verwendung des Installationsprogramms `C:\Program Files\Devin Airgap` ist, andernfalls der Ordner, in den Sie die ZIP-Datei entpackt haben |

Verwenden Sie diese Binary für die `devin …`-Befehle in dieser Anleitung, oder fügen Sie sie zu `PATH` hinzu. Überprüfen Sie die Version:

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

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

## Schritt 6: Integritätsprüfung ausführen

Führen Sie in einer Shell mit derselben Umgebung, in der auch der Agent ausgeführt wird (insbesondere mit den in Ihrer Modelldatei angegebenen API-Schlüssel-Variablen), folgenden Befehl aus:

```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)
```

Der Befehl endet nur dann mit dem Exit-Code `0`, wenn keine Prüfung fehlschlägt. Jede `FAIL`-Zeile enthält einen Fehlercode wie `CFG002` oder `NET003`. Schlagen Sie diesen unter [Fehlercodes](/de/federal/air-gapped/error-codes) nach und folgen Sie dem runbook unter [Fehlerbehebung](/de/federal/air-gapped/troubleshooting).

## Schritt 7: Erster Start

**macOS**

Starten Sie die installierte App über ihren expliziten Pfad:

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

Verwenden Sie nicht `open -a "Devin - Airgap"`: Dieser Befehl löst den Namen über LaunchServices auf und wählt möglicherweise eine andere Kopie (eine eingebundene `.dmg` oder eine ältere Installation) als die, die Sie verifiziert haben.

**Linux**

Starten Sie das vom Paket installierte Startprogramm oder führen Sie bei einer Tarball-Installation `/opt/Devin-linux-x64/bin/devin-airgap` aus.

**Windows**

Starten Sie die installierte App **Devin - Airgap** oder führen Sie bei einer Zip-Installation die Anwendung aus dem entpackten Ordner aus.

Wenn die Lizenz fehlt oder ungültig ist, öffnet sich Desktop zwar, der mitgelieferte Agent schlägt jedoch fehl: Im Chat-Bereich wird der ACP-Fehler `-32019 license_invalid` angezeigt. Öffnen Sie **View → Output → Devin ACP**, suchen Sie nach der Zeile `LIC00X` und lesen Sie anschließend den Abschnitt [Lizenz](/de/federal/air-gapped/license#error-codes).

## Nächste Schritte

* Konfigurieren Sie SSO (Single Sign-On), falls Ihre Bereitstellung eine Nutzeranmeldung erfordert: [SSO](/de/federal/air-gapped/sso).
* Fügen Sie eine private CA hinzu, falls Ihre Endpunkte interne Zertifikate verwenden: [Netzwerk und Zertifikate](/de/federal/air-gapped/network-and-certificates).
* Erfahren Sie, wo das Produkt seinen Zustand speichert und wie Sie das Audit-Protokoll einlesen: [Formate auf dem Datenträger](/de/federal/air-gapped/on-disk-formats).


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