OpenCode mit PrivatAI

OpenCode ist ein Coding-Agent für das Terminal: quelloffen, anbieterunabhängig, läuft in Ihrem Projektverzeichnis. Er liest Dateien, schreibt Patches, führt Kommandos aus und arbeitet Aufgaben eigenständig ab.

Damit wird Datenschutz sehr konkret. Ein Coding-Agent sieht nicht ein paar Prompts, sondern Ihre Codebasis — Konfigurationen, Kundennamen in Testdaten, Kommentare zu bekannten Schwachstellen, interne Schnittstellen. Bei einem US-Anbieter verlässt das die EU. Nicht gelegentlich, sondern bei jeder Anfrage, den ganzen Arbeitstag.

OpenCode schreibt Ihnen keinen Anbieter vor. Jeder OpenAI-kompatible Endpunkt lässt sich eintragen. PrivatAI ist einer.

flowchart LR
    A[OpenCode<br/>Ihr Terminal] -->|Standard| B[US-Anbieter]
    A -->|mit PrivatAI| C[PrivatAI<br/>DE/FR]

Der Punkt, an dem die meisten Endpunkte scheitern

Ein Coding-Agent braucht Tool-Calling. Ohne das kann er keine Datei öffnen und kein Kommando ausführen — er kann nur reden. Viele Endpunkte nennen sich „OpenAI-kompatibel", verwerfen aber still das Feld tools. Der Agent startet dann, wirkt normal und tut nichts.

PrivatAI reicht tools und tool_choice an das Modell durch und gibt tool_calls zurück — im Streaming genauso wie ohne. OpenCode läuft damit vollständig, nicht als besserer Chat.

Voraussetzungen

  • Ein PrivatAI-Konto mit aktivem Plan (hier registrieren)
  • Ein API-Schlüssel aus Ihrem Dashboard (beginnt mit privat_)
  • Ein Terminal — auf dem Mac die App „Terminal", unter Linux jede Shell, unter Windows WSL (siehe Schritt 1)

Schritt 1: OpenCode installieren

macOS

brew install opencode

Kein Homebrew? Der Linux-Befehl unten funktioniert auch auf dem Mac.

Linux

curl -fsSL https://opencode.ai/install | bash

Windows

OpenCode empfiehlt unter Windows WSL, eine in Windows eingebaute Linux-Umgebung. In PowerShell:

wsl --install

Öffnen Sie nach dem Neustart „Ubuntu" aus dem Startmenü und führen Sie dort den Linux-Befehl aus. Alle weiteren Schritte erledigen Sie ebenfalls in diesem Ubuntu-Fenster.

Schritt 2: API-Schlüssel hinterlegen

Erstellen Sie im Dashboard einen API-Schlüssel und kopieren Sie ihn — er wird nur einmal angezeigt. Ersetzen Sie privat_ihr_schlüssel durch Ihren Schlüssel und führen Sie aus:

macOS

echo 'export PRIVATAI_API_KEY="privat_ihr_schlüssel"' >> ~/.zshrc

Linux und Windows (Ubuntu-Fenster)

echo 'export PRIVATAI_API_KEY="privat_ihr_schlüssel"' >> ~/.bashrc

Öffnen Sie danach ein neues Terminalfenster. Bereits offene Fenster kennen den Schlüssel noch nicht, und OpenCode beantwortet dort jede Anfrage mit Unauthorized.

Schritt 3: PrivatAI in OpenCode eintragen

Kopieren Sie den ganzen Block unten ins Terminal und drücken Sie Enter, um die PrivatAI-Modelle einzurichten:

mkdir -p ~/.config/opencode
if [ -e ~/.config/opencode/opencode.json ]; then
  echo "Abbruch: ~/.config/opencode/opencode.json existiert bereits und wurde nicht verändert."
else
  cat > ~/.config/opencode/opencode.json <<'EOF'
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "privatai": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "PrivatAI (EU)",
      "options": {
        "baseURL": "https://privatai.com/api/v1",
        "apiKey": "{env:PRIVATAI_API_KEY}"
      },
      "models": {
        "gpt-oss-120b": {
          "name": "gpt-oss-120b",
          "limit": { "context": 128000, "output": 8192 }
        },
        "glm-5.2": {
          "name": "GLM-5.2",
          "limit": { "context": 128000, "output": 16384 }
        }
      }
    }
  },
  "model": "privatai/gpt-oss-120b"
}
EOF
  echo "Fertig: PrivatAI-Modelle in OpenCode eingetragen."
fi

Schritt 4: Modell wählen

gpt-oss-120b ist voreingestellt. Zum Wechseln tippen Sie in OpenCode /models, oder Sie wählen das Modell beim Start:

opencode --model privatai/glm-5.2

gpt-oss-120b ist in jedem Plan enthalten, glm-5.2 erfordert Professional.

Schritt 5: Prüfen

Zuerst der Schlüssel, direkt gegen die API:

curl -X POST https://privatai.com/api/v1/chat/completions \
  -H "Authorization: Bearer $PRIVATAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-oss-120b", "messages": [{"role": "user", "content": "Sag Hallo"}]}'

Dann OpenCode, in einem Ihrer Projekte:

cd ihr-projekt
opencode run "Welche Sprache und welches Framework nutzt dieses Projekt?"

Beschreibt die Antwort Ihr Projekt, statt allgemein zu bleiben, hat der Agent Ihre Dateien gelesen — Tool-Calling funktioniert.

Einmal /init ausführen

Starten Sie opencode im Projekt und geben Sie /init ein. OpenCode analysiert das Repository und legt eine AGENTS.md an: Aufbau, Konventionen, Build-Kommandos. Diese Datei gehört ins Repository. Sie spart bei jeder späteren Aufgabe Rückfragen — und Token.

Kosten im Blick behalten

Ein Agent verbraucht mehr als ein Chat — er liest, probiert, korrigiert. Was Ihre Sitzungen verbraucht haben, zeigt:

opencode stats

Das war's

Drei Blöcke, ins Terminal kopiert. OpenCode bleibt, was es ist: Ihr Agent, Ihr Terminal, Ihr Code auf Ihrer Platte. Was sich ändert, ist der Weg der Anfragen — nach Frankreich statt nach Virginia. Und was Ihr Agent dabei liest, wird kein Trainingsmaterial.


Fragen oder Feedback? Schreiben Sie uns an info@privatai.com.