# OpenCode-Integration

> Den Terminal-Agenten OpenCode mit Platte verbinden und mit Platte-Modellen programmieren — automatisch oder manuell konfiguriert.

![Der Dialog OpenCode verbinden auf dem Tab Automatische Konfiguration: Schritt 1 OpenCode installieren mit der Plattform-Tabelle samt Homebrew-Befehl, Schritt 2 Autoconfig-Befehl im Terminal mit den Reitern macOS / Linux und Windows](https://docs.platte.ai/screenshots/opencode-verbinden.webp)

OpenCode ist ein terminalbasierter Coding-Agent. Angemeldet wird er mit einem **persönlichen Zugriffstoken** — wie du ihn erstellst und verwaltest, steht auf [API-Keys](./api-keys). Im Browser findest du die Einrichtung im Bereich **Code** unter **Einrichten und losprogrammieren** als Karte **Open-Code-Integration**; in der App trägt dieselbe Karte auf der Seite **Integrationen** unter **Entwickler-Werkzeuge** den Titel **OpenCode**. Sie öffnet einen Dialog mit zwei Wegen: **Automatische Konfiguration** und **Manuelle Konfiguration**.

Beim Öffnen legt Platte einen Zugriffstoken namens **Opencode** an, falls noch keiner existiert, und setzt ihn direkt in die Konfiguration ein. Ein bereits vorhandener wird wiederverwendet, ohne dass ein neuer entsteht. Dieser Token taucht auch in deiner Liste unter **Deine Token** auf; widerrufst du ihn, kann sich OpenCode nicht mehr anmelden.

In einer Demo-Instanz führt die Karte **Open-Code-Integration** zu einem Gesprächsangebot statt zum Einrichtungsdialog.

## Automatisch konfigurieren

1. **OpenCode installieren** — lade die Desktop-App für dein System, oder installiere sie unter macOS über Homebrew mit `brew install opencode-desktop`. Im Dialog stehen die Downloads für macOS (Apple Silicon und Intel), Windows sowie Linux als `.deb` und `.rpm` bereit.

2. **Autoconfig-Befehl im Terminal ausführen** — der Dialog zeigt den Befehl für **macOS / Linux** oder **Windows**. Unter macOS und Linux lautet er:

   ```
   export ACCESS_TOKEN=<dein-zugriffstoken>; curl -fsS https://<name>.on.platte.ai/api/install-opencode-provider.sh | bash
   ```

   Unter Windows:

   ```
   set ACCESS_TOKEN=<dein-zugriffstoken> && curl -fsSL https://<name>.on.platte.ai/api/install-opencode-provider.bat -o install-opencode.bat && install-opencode.bat
   ```

   Der Befehl schreibt die Konfiguration nach `~/.config/opencode/opencode.jsonc` — unter Windows nach `%USERPROFILE%\.config\opencode\opencode.jsonc`. Eine bereits vorhandene Konfiguration wird vorher gesichert, als `opencode.jsonc.bak`.

3. **Sitzung starten** — öffne OpenCode und wähle dort ein Platte-Modell.

## Manuell konfigurieren

1. **OpenCode installieren** — wie oben.

2. **Platte als Anbieter hinzufügen** — erstelle oder bearbeite die Datei `~/.config/opencode/opencode.jsonc` mit folgendem Inhalt. Über **opencode.jsonc herunterladen** bekommst du die Datei fertig zum Ablegen, über die Kopier-Karte ihren Inhalt:

   ```
   {
     "$schema": "https://opencode.ai/config.json",
     "disabled_providers": ["opencode"],
     "model": "platte/<modell-id>",
     "provider": {
       "platte": {
         "npm": "@ai-sdk/openai-compatible",
         "name": "Platte",
         "options": {
           "apiKey": "<dein-zugriffstoken>",
           "baseURL": "https://<name>.on.platte.ai/api/v1"
         },
         "models": {
           "<modell-id>": { "name": "<Modellname>" }
         }
       }
     }
   }
   ```

   Die `model`-Zeile setzt das empfohlene Standardmodell; ohne sie bleibt die Auswahl offen. In `models` trägt Platte die über Tokens freigegebenen Modelle mit ihren Anzeigenamen ein; bildfähige Modelle sind zusätzlich für Bildanhänge angemeldet.

3. **Sitzung starten** — öffne OpenCode und wähle ein Platte-Modell.

## Die Sitzung starten

Wähle in OpenCode das Modell über die Modellauswahl — unter macOS Cmd+P, unter Windows und Linux Strg+P — oder starte direkt mit `opencode --model platte`. Jede Anfrage authentifiziert sich mit deinem persönlichen Zugriffstoken und wird über Platte geleitet. Erscheinen die Platte-Modelle nicht auf Anhieb, starte OpenCode neu.

**Nächster Schritt** → [Daten & Hosting](./datenschutz)
