OpenCode Quickstart: Installieren, Konfigurieren und Verwenden des Terminal AI-Coding-Agenten

Wie Sie OpenCode installieren, konfigurieren und verwenden können

Inhaltsverzeichnis

OpenCode ist ein quelloffenes KI-Code-Agent, den Sie im Terminal (TUI + CLI) ausführen können, mit optionalen Desktop- und IDE-Oberflächen. Dies ist der OpenCode Quickstart: installieren, überprüfen, einen Modell/Anbieter verbinden und echte Workflows ausführen (CLI + API).

Versionshinweis: OpenCode wird schnell weiterentwickelt. Die hier genannten „latest“-Befehle sind stabil, aber Ausgaben und Standardwerte können sich ändern – prüfen Sie immer die offiziellen CLI-Dokumentationen und den Changelog (siehe unten).

Dieser Artikel ist Teil von AI Developer Tools: The Complete Guide to AI-Powered Development.

Was OpenCode ist (und wo es passt)

OpenCode ist für terminalerste, agentenbasierte Codierung konzipiert, während es flexibel zwischen Anbietern/Modellen bleibt. In der Praxis ist es eine Workflow-Schicht, die folgendes ermöglichen kann:

  • ein Terminal-UI starten, wenn Sie opencode ausführen
  • nicht-interaktive „One-Shot“-Prompts über opencode run ausführen (Skripte/Automatisierung)
  • einen headless HTTP-Server über opencode serve ausführen (und eine Web-Oberfläche über opencode web)
  • programmatisch über das offizielle JS/TS SDK @opencode-ai/sdk gesteuert werden

opencode mit selbstgehostetem qwen3.5 27b LLM

Wenn Sie ein /ai-devtools/-Cluster erstellen, ist OpenCode ein starker Kandidat für einen Untercluster, da es natürlicherweise in folgende Bereiche expandiert:

  • CLI-Deep-Dive
  • Modell/Anbieter-Verhalten und Kosten (LLM-Vergleich innerhalb von OpenCode)
  • Konfiguration & Agenten
  • Integrationen (GitHub/GitLab/Copilot)
  • Cheatsheet

Voraussetzungen

Sie benötigen:

  • einen modernen Terminal-Emulator (wichtig für die TUI-Erfahrung).
  • Zugriff auf mindestens ein Modell/Anbieter (API-Schlüssel oder Abonnements, je nach Anbieter).

OpenCode installieren (Kopieren und Einfügen)

Offizieller Installations-Skript (Linux/macOS/WSL):

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

Optionen für Paket-Manager (offizielle Beispiele):

# Global install via Node.js
npm install -g opencode-ai

# Homebrew (empfohlen von OpenCode für die aktuellsten Releases)
brew install anomalyco/tap/opencode

# Arch Linux (stabile Version)
sudo pacman -S opencode

# Arch Linux (neueste Version aus AUR)
paru -S opencode-bin

Windows-Hinweise (offizielle Empfehlung ist in der Regel WSL für die beste Kompatibilität). Alternativen sind Scoop/Chocolatey oder npm.

# Chocolatey (Windows)
choco install opencode

# Scoop (Windows)
scoop install opencode

Docker (nützlich für einen schnellen Test):

docker run -it --rm ghcr.io/anomalyco/opencode

Installation überprüfen

opencode --version
opencode --help

Erwartete Ausgabe (variiert je nach Version):

# Beispiel:
# <gibt eine Versionsnummer aus, z. B. vX.Y.Z>
# <gibt Hilfe mit verfügbaren Befehlen/Unterbefehlen aus>

Anbieter verbinden (zwei praktische Wege)

Weg A: TUI /connect (interaktiv)

Starten Sie OpenCode:

opencode

Dann führen Sie aus:

/connect

Folgen Sie den Schritten im UI, um einen Anbieter auszuwählen und sich anzumelden (einige Flows öffnen einen Browser/Device-Login).

Weg B: CLI opencode auth login (Anbieter-Schlüssel)

OpenCode unterstützt die Konfiguration von Anbietern über:

opencode auth login

Hinweise:

  • Die Anmeldeinformationen werden unter ~/.local/share/opencode/auth.json gespeichert.
  • OpenCode kann auch Schlüssel aus Umgebungsvariablen oder einer .env-Datei in Ihrem Projekt laden.

Projekt korrekt starten (empfohlener erster Lauf)

Von Ihrem Repository aus:

cd /path/to/your/repo
opencode

Dann initialisieren Sie:

/init

Dies analysiert Ihr Projekt und erstellt eine AGENTS.md-Datei in der Projektwurzel. Es ist in der Regel sinnvoll, diese Datei zu committen, damit OpenCode (und Teamkollegen) konsistenten Projektkontext teilen.

Kern-CLI-Workflows (Beispiele zum Kopieren und Einfügen)

OpenCode unterstützt nicht-interaktive Ausführungen:

opencode run "Erklären Sie, wie Closures in JavaScript funktionieren"

Workflow: Code generieren (CLI)

Ziel: Erstellen Sie eine kleine, testbare Funktion mit minimaler Kontext.

opencode run "Schreiben Sie eine Go-Funktion ParsePort(envVar string, defaultPort int) (int, error). Sie sollte die Umgebungsvariable lesen, eine ganze Zahl parsen, 1-65535 validieren und defaultPort zurückgeben, wenn leer. Fügen Sie 3 tabellengetriebene Tests hinzu."

Erwartete Ausgabe:

  • Eine Erklärung plus Codeblöcke (Funktion + Tests). Der genaue Code variiert je nach Modell/Anbieter und Prompt.

Workflow: Datei sicher umschreiben (CLI + Plan-Agent)

Ziel: Umschreiben ohne versehentliche Änderungen durch die Verwendung eines eingeschränkten Agenten.

opencode run --agent plan --file ./src/auth.ts \
  "Umschreiben Sie diese Datei, um die Komplexität zu reduzieren. Ausgabe: (1) ein kurzer Plan, (2) ein vereinigter Diff-Patch, (3) Risiken/Edge-Cases, die getestet werden sollten. Führen Sie keine Befehle aus."

Erwartete Ausgabe:

  • Ein Planabschnitt + ein diff --git ...-Patchblock + eine Test-Checkliste.
  • Inhalt variiert. Wenn kein Diff erzeugt wird, erneut prompten: „Geben Sie nur einen vereinigten Diff“ oder „Verwenden Sie diff --git-Format.“

Workflow: Fragen zu einem Repository stellen (CLI)

Ziel: Schnell Implementierungsdetails lokalisieren.

opencode run --agent explore \
  "In diesem Repository, wo wird die Authentifizierung für API-Anfragen validiert? Listen Sie wahrscheinliche Dateien auf und erklären Sie den Ablauf. Wenn Sie sich unsicher sind, sagen Sie, was Sie geprüft haben."

Erwartete Ausgabe:

  • Ein kurzer Kartenplan von Dateipfaden + Beschreibung des Ablaufs.
  • Die Ausgabe hängt von der Repositorygröße und den Kontext-Tools des Modells/Anbieters ab.

Workflow: Wiederholte CLI-Aufrufe beschleunigen mit einem persistenten Server

Wenn Sie Skripte oder mehrere opencode run-Aufrufe durchführen, können Sie einen headless Server einmalig starten:

Terminal 1:

opencode serve --port 4096 --hostname 127.0.0.1

Terminal 2:

opencode run --attach http://localhost:4096 "Zusammenfassen Sie die Repositorystruktur und die Haupteintrittspunkte."
opencode run --attach http://localhost:4096 "Stellen Sie nun 3 hochimpactige Refaktorisierungen vor und erklären Sie, warum."

Erwartete Ausgabe:

  • Dieselbe wie bei opencode run, aber in der Regel mit weniger Wiederholungsaufwand beim Start.

Programmatische Verwendung (offizielles JS/TS SDK)

OpenCode stellt einen HTTP-Server (OpenAPI) bereit und bietet einen typsicheren JS/TS-Client.

Installieren Sie:

npm install @opencode-ai/sdk

Beispiel: Server + Client starten und dann prompten

Erstellen Sie scripts/opencode-sdk-demo.mjs:

import { createOpencode } from "@opencode-ai/sdk";

const opencode = await createOpencode({
  hostname: "127.0.0.1",
  port: 4096,
  config: {
    // Modell-String-Format ist Anbieter/Modell (Beispiel nur)
    // model: "anthropic/claude-3-5-sonnet-20241022",
  },
});

console.log(`Server läuft unter: ${opencode.server.url}`);

// Grundlegende Gesundheits-/Versionsprüfung
const health = await opencode.client.global.health();
console.log("Gesund:", health.data.healthy, "Version:", health.data.version);

// Sitzung erstellen und prompten
const session = await opencode.client.session.create({ body: { title: "SDK quickstart demo" } });

const result = await opencode.client.session.prompt({
  path: { id: session.data.id },
  body: {
    parts: [{ type: "text", text: "Generieren Sie einen kleinen README-Abschnitt, der dieses Repository beschreibt." }],
  },
});

console.log(result.data);

// Server schließen, wenn fertig
opencode.server.close();

Ausführen:

node scripts/opencode-sdk-demo.mjs

Erwartete Ausgabeform:

  • „Server läuft unter …“
  • Eine Gesundheitsantwort, die eine Versionszeichenfolge enthält
  • Ein Sitzungs-Prompt-Antwortobjekt (genaue Struktur hängt von responseStyle und SDK-Version ab)

Minimaler OpenCode-Config, den Sie kopieren können

OpenCode unterstützt JSON und JSONC-Konfiguration. Dies ist ein vernünftiger Ausgangspunkt für eine projektlokale Konfiguration.

Erstellen Sie opencode.jsonc in der Wurzel Ihres Repositorys:

{
  "$schema": "https://opencode.ai/config.json",

  // Wählen Sie ein Standardmodell (Anbieter/Modell). Halten Sie dies mit dem, was `opencode models` anzeigt, synchron.
  "model": "provider/model",

  // Optional: ein günstigerer „kleiner Modell“ für leichte Aufgaben (Titel usw.)
  "small_model": "provider/small-model",

  // Optional: OpenCode-Server-Standardwerte (werden von serve/web verwendet)
  "server": {
    "port": 4096,
    "hostname": "127.0.0.1"
  },

  // Optionaler Sicherheit: Bestätigung vor Änderungen/Befehlen erforderlich
  "permission": {
    "edit": "ask",
    "bash": "ask"
  }
}

Kurzes Cheatsheet (schneller Referenz)

Befehle, die Sie täglich verwenden werden

opencode                       # TUI starten
opencode run "..."             # nicht-interaktive Ausführung (Automatisierung)
opencode run --file path "..." # Dateien zum Prompt anhängen
opencode models --refresh      # Modellliste aktualisieren
opencode auth login            # Anbieter-Anmeldeinformationen konfigurieren
opencode serve                 # headless HTTP-Server (OpenAPI)
opencode web                   # headless Server + Web-Oberfläche
opencode session list          # Sitzungen auflisten
opencode stats                 # Token/Kosten-Statistiken

TUI-Befehle, die Sie sich merken sollten

/connect   # Anbieter verbinden
/init      # Repository analysieren, AGENTS.md generieren
/share     # Sitzung teilen (wenn aktiviert)
/undo      # Änderung rückgängig machen
/redo      # Änderung wiederholen
/help      # Hilfe/Shortcuts

Standardkonzept des „Leader-Keys“ (TUI)

OpenCode verwendet einen konfigurierbaren „Leader“-Schlüssel (häufig ctrl+x), um Terminal-Konflikte zu vermeiden. Viele Tastenkombinationen sind „Leader + Schlüssel“.

FAQ

Was ist OpenCode?

OpenCode ist ein quelloffenes KI-Code-Agent, der für die Arbeit in Ihrem Terminal (TUI + CLI) mit zusätzlichen Desktop/IDE-Oberflächen konzipiert ist.

Ist OpenCode kostenlos?

Das Tool ist quelloffen. Die Nutzungskosten hängen vom angeschlossenen Modell/Anbieter ab. Einige Anbieter können ein Abonnement oder kostenlose Tiers anbieten.

Wie kann ich OpenCode ohne TUI ausführen?

Verwenden Sie opencode run "..." für den nicht-interaktiven Modus (nützlich für Skripte/Automatisierung).

Wo speichert OpenCode Anbieter-Anmeldeinformationen?

opencode auth login speichert Anmeldeinformationen unter ~/.local/share/opencode/auth.json.

Hat OpenCode eine API / SDK?

Ja. OpenCode kann einen headless HTTP-Server (opencode serve) mit einer OpenAPI-Spezifikation unter /doc starten und bietet ein offizielles JS/TS-SDK: @opencode-ai/sdk.

Kann ich GitHub Copilot mit OpenCode verwenden?

GitHub hat angekündigt, dass Copilot eine Authentifizierung mit OpenCode über eine formelle Integration unterstützt. Die genaue Verfügbarkeit hängt von Ihrem Copilot-Plan und dem aktuellen Anbieter-Authentifizierungsfluss ab.

Einseitiges druckfähiges OpenCode-Cheatsheet-Tabellenblatt

Diese Version ist bewusst dicht und „druckfreundlich“. (Sie können sie später in eine dedizierte /ai-devtools/opencode/cheatsheet/-Seite einfügen.)

Aufgabe Befehl / Tastenkombination Hinweise
TUI starten opencode Standardverhalten ist das Starten der Terminal-Oberfläche
Ein Prompt ausführen opencode run "..." Nicht-interaktiver Modus für Skripte/Automatisierung
Datei(en) an Prompt anhängen opencode run --file path/to/file "..." Verwenden Sie mehrere --file-Flags für mehrere Dateien
Modell für eine Ausführung wählen opencode run --model provider/model "..." Modell-Strings sind provider/model
Agent wählen opencode run --agent plan "..." Plan ist für sicherere „keine Änderungen“-Arbeit (berechtigungsbeschränkt)
Modelle auflisten opencode models [provider] Verwenden Sie --refresh, um die zwischengespeicherte Liste zu aktualisieren
Anbieter-Anmeldeinformationen konfigurieren opencode auth login Speichert Anmeldeinformationen unter ~/.local/share/opencode/auth.json
Authentifizierte Anbieter auflisten opencode auth list / opencode auth ls Bestätigt, was OpenCode sieht
Headless-Server starten opencode serve --port 4096 --hostname 127.0.0.1 OpenAPI-Spezifikation unter http://host:port/doc
Ausführungen an Server anhängen opencode run --attach http://localhost:4096 "..." Nützlich, um wiederholte kalte Starts zu vermeiden
Grundlegende Authentifizierung aktivieren OPENCODE_SERVER_PASSWORD=... opencode serve Standardnutzername ist opencode, es sei denn, er wird überschrieben
Web-Oberflächenmodus opencode web Startet Server + öffnet Browser
Sitzung exportieren opencode export [sessionID] Nützlich für Archivierung oder Kontextfreigabe
Sitzung importieren opencode import session.json Kann auch aus einem Share-URL importiert werden
Globale CLI-Flaggen ansehen opencode --help / opencode --version --print-logs + --log-level für Debugging
TUI-Leader-Key-Konzept Standard-Leader-Key häufig ctrl+x In tui.json anpassbar

Quellen (offiziell zuerst)

Offiziell:

Autoritative Integrationsreferenz:

Reputierte Vergleiche/Tutorials: