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

Installation, Konfiguration und Verwendung von OpenCode

Inhaltsverzeichnis

OpenCode ist ein Open-Source-AI-Coding-Agent, den Sie im Terminal (TUI + CLI) mit optionalen Desktop- und IDE-Oberflächen ausführen können. Dies ist der OpenCode Quickstart: Installation, Verifikation, Verbindung eines Modells/Anbieters und Ausführung realer Workflows (CLI + API).

Versionshinweis: OpenCode wird schnell veröffentlicht. Die hier aufgeführten „aktuellen“ Befehle sind stabil, aber Ausgaben und Standardwerte können sich ändern – überprüfen Sie stets die offiziellen CLI-Dokumente und das Changelog ( unten verlinkt).

Dieser Artikel ist Teil von AI Developer Tools: Der komplette Guide zu KI-gestützter Entwicklung.

Was OpenCode ist (und wo es passt)

OpenCode wurde für terminal-first, agentic Coding entwickelt, bleibt dabei jedoch flexibel bezüglich Anbieter/Modell. In der Praxis ist es eine Workflow-Schicht, die folgendes leisten kann:

  • Startet eine Terminal-UI, wenn Sie opencode ausführen
  • Führt nicht-interaktive „One-Shot“-Prompts via opencode run aus (Skripte/Automatisierung)
  • Bietet einen headless HTTP-Server via opencode serve (und eine Web-UI via opencode web) an
  • Kann programmatisch via dem offiziellen JS/TS SDK @opencode-ai/sdk gesteuert werden

Wenn Sie es mit einem anderen Open-Source-Agent-Assistenten vergleichen möchten, der Mehrschritt-Pläne in einer sandgeboxten Umgebung ausführen kann, sehen Sie sich den OpenHands Coding Assistant QuickStart an.

Für Anthrops terminal-first-Agent mit demselben Ansatz „lokales Modell via HTTP“ (Ollama oder llama.cpp, Berechtigungen, Preise) sehen Sie sich Claude Code Installation und Konfiguration für Ollama, llama.cpp, Preise an.

opencode with self-hosted qwen3.5 27b LLM

Voraussetzungen

Sie benötigen:

  • Einen modernen Terminal-Emulator (wichtig für das TUI-Erlebnis).
  • Zugriff auf mindestens ein Modell/einen Anbieter (API-Schlüssel oder Abonnement-Authentifizierung, je nach Anbieter). Lokale Optionen wie Ollama oder llama.cpp funktionieren ohne API-Schlüssel, wenn Sie einen kompatiblen Server lokal ausführen.

OpenCode installieren (Copy-Paste)

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

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

Paketmanager-Optionen (offizielle Beispiele):

# Node.js globale Installation
npm install -g opencode-ai

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

# Arch Linux (stable)
sudo pacman -S opencode

# Arch Linux (latest from AUR)
paru -S opencode-bin

Hinweise für Windows (offizielle Empfehlungen favorisieren meist WSL für 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 verifizieren

opencode --version
opencode --help

Erwartete Ausgabe (variiert je nach Version):

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

Einen Anbieter verbinden (zwei praktische Wege)

Weg A: TUI /connect (interaktiv)

Starten Sie OpenCode:

opencode

Dann ausführen:

/connect

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

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

OpenCode unterstützt die Konfiguration von Anbietern via:

opencode auth login

Hinweise:

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

Lokale LLM-Hosting (Ollama, llama.cpp)

OpenCode funktioniert mit jeder OpenAI-kompatiblen API. Für die lokale Entwicklung führen viele Benutzer Ollama aus und verweisen OpenCode darauf. Ich hatte kürzlich sehr gute Erfahrungen mit der Konfiguration und dem Ausführen von OpenCode mit llama.cpp statt Ollama – llama-server bietet OpenAI-kompatible Endpunkte an, sodass Sie GGUF-Modelle mit demselben Workflow verwenden können. Wenn Sie eine feinere Kontrolle über Speicher und Laufzeit wünschen oder einen leichteren Stack ohne Python bevorzugen (Übrigens: Ollama ist in Go implementiert), ist llama.cpp einen Versuch wert. Ich habe die Möglichkeit, offgeladene Layer zu konfigurieren, die Benutzerfreundlichkeit der Modelle im GGUF-Format und die deutlich bessere/schnellere Implementierung der Kompatibilität mit neuen Modellen wie Qwen3.5 sehr geschätzt. Wenn Sie wissen möchten, welche Modelle in OpenCode tatsächlich gute Ergebnisse liefern – bei Coding-Aufgaben und Genauigkeit strukturierter Outputs – sehen Sie sich meinen hands-on LLM-Vergleich für OpenCode an.

Starten Sie ein Projekt korrekt (empfohlener erster Lauf)

Von Ihrem Repo aus:

cd /path/to/your/repo
opencode

Dann initialisieren:

/init

Dies analysiert Ihr Projekt und erstellt eine AGENTS.md-Datei im Projekt-Root. Es empfiehlt sich in der Regel, diese Datei zu committen, damit OpenCode (und Teammitglieder) einen konsistenten Projekt-Kontext teilen.

Kern-CLI-Workflows (Copy-Paste-Beispiele)

OpenCode unterstützt nicht-interaktive Ausführungen:

opencode run "Erkläre, wie Closures in JavaScript funktionieren"

Workflow: Code generieren (CLI)

Ziel: Generiere eine kleine, testbare Funktion mit minimalem Kontext.

opencode run "Schreibe eine Go-Funktion ParsePort(envVar string, defaultPort int) (int, error). Sie soll die Umgebungsvariable lesen, eine int parsen, 1-65535 validieren und defaultPort zurückgeben, wenn leer. Inkludiere 3 table-driven Tests."

Erwartete Ausgabe:

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

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

Ziel: Refaktorisieren ohne versehentliche Änderungen durch Verwendung eines restriktiveren Agents.

opencode run --agent plan --file ./src/auth.ts \
  "Refaktorisiere diese Datei, um die Komplexität zu reduzieren. Ausgabe: (1) einen kurzen Plan, (2) ein unified diff Patch, (3) Risiken/Edge-Cases zum Testen. Führe keine Befehle aus."

Erwartete Ausgabe:

  • Ein Plan-Abschnitt + ein diff --git ... Patch-Block + eine Test-Checkliste.
  • Inhalt variiert. Falls kein diff erzeugt wird, prompten Sie erneut: „Gib nur einen unified diff zurück“ oder „Verwende diff --git Format.“

Workflow: Repo-Fragen stellen (CLI)

Ziel: Implementierungsdetails schnell finden.

opencode run --agent explore \
  "In diesem Repository: Wo wird die Authentifizierung für API-Anfragen validiert? Liste wahrscheinliche Dateien auf und erkläre den Flow. Wenn unsicher, sage, was du überprüft hast."

Erwartete Ausgabe:

  • Eine kurze Karte der Dateipfade + Flow-Beschreibung.
  • Ausgabe hängt von Repo-Größe und Modell/Anbieter-Kontext-Tools ab.

Workflow: Wiederholte CLI-Läufe mit einem persistenten Server beschleunigen

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

Terminal 1:

opencode serve --port 4096 --hostname 127.0.0.1

Terminal 2:

opencode run --attach http://localhost:4096 "Fasse die Repo-Struktur und Haupteintritte zusammen."
opencode run --attach http://localhost:4096 "Schlage jetzt 3 Refaktorisierungen mit hoher Wirkung vor und erkläre warum."

Erwartete Ausgabe:

  • Gleich wie opencode run, aber meist mit weniger wiederholtem Start-Overhead.

Programmatische Nutzung (offizielles JS/TS SDK)

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

Installieren:

npm install @opencode-ai/sdk

Beispiel: Server + Client starten, 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 provider/model (nur Beispiel)
    // model: "anthropic/claude-3-5-sonnet-20241022",
  },
});

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

// Grundlegender Health/Version-Check
const health = await opencode.client.global.health();
console.log("Healthy:", health.data.healthy, "Version:", health.data.version);

// Session 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: "Generiere einen kleinen README-Abschnitt, der dieses Repo beschreibt." }],
  },
});

console.log(result.data);

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

Ausführen:

node scripts/opencode-sdk-demo.mjs

Erwartete Ausgabe-Struktur:

  • „Server läuft unter …“
  • Eine Health-Antwort einschließlich einer Versionszeichenkette
  • Eine Session-Prompt-Antwort-Objekt (genaue Struktur hängt von responseStyle und SDK-Version ab)

Minimale OpenCode-Konfiguration zum Kopieren

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

Erstellen Sie opencode.jsonc im Repo-Root:

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

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

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

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

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

Kurzes Cheat Sheet (Schnellreferenz)

Befehle, die Sie täglich verwenden werden

opencode                       # TUI starten
opencode run "..."             # Nicht-interaktiver Lauf (Automatisierung)
opencode run --file path "..." # Dateien an 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-UI
opencode session list          # Sessions auflisten
opencode stats                 # Token/Kosten-Statistiken

TUI-Befehle, die sich auszahlt zu merken

/connect   # Anbieter verbinden
/init      # Repo analysieren, AGENTS.md generieren
/share     # Session teilen (falls aktiviert)
/undo      # Änderung rückgängig machen
/redo      # Änderung wiederherstellen
/help      # Hilfe/Tastenkombinationen

Konzept der Standard-„Leader Key“ (TUI)

OpenCode verwendet eine konfigurierbare „Leader“-Taste (häufig ctrl+x), um Terminal-Konflikte zu vermeiden. Viele Tastenkombinationen sind „Leader + Taste“.

Einseitige, druckbare OpenCode Cheat Sheet-Tabelle

Diese Version ist absichtlich 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-UI
One-Shot-Prompt ausführen opencode run "..." Nicht-interaktiver Modus für Skripting/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 einen Lauf wählen opencode run --model provider/model "..." Modell-Strings sind provider/model
Agent wählen opencode run --agent plan "..." Plan ist für sichereres „keine Änderungen“-Arbeiten konzipiert (berechtigungsbegrenzt)
Modelle auflisten opencode models [provider] Verwenden Sie --refresh, um die zwischengespeicherte Liste zu aktualisieren
Anbieter-Anmeldeinformationen konfigurieren opencode auth login Speichert Anmeldeinformationen in ~/.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
Läufe an Server anhängen opencode run --attach http://localhost:4096 "..." Hilfreich, um wiederholte Cold-Boots zu vermeiden
Basic Auth aktivieren OPENCODE_SERVER_PASSWORD=... opencode serve Benutzername standardmäßig opencode, es sei denn, überschrieben
Web-UI-Modus opencode web Startet Server + öffnet Browser
Session exportieren opencode export [sessionID] Nützlich zum Archivieren oder Teilen von Kontext
Session importieren opencode import session.json Kann auch von einer Share-URL importieren
Globale CLI-Flags anzeigen opencode --help / opencode --version --print-logs + --log-level für Debugging
TUI Leader-Key-Konzept Standard-Leader-Key oft ctrl+x In tui.json konfigurierbar

Oh My Opencode — OpenCode mit Multi-Agent-Orchestrierung weiterführen

Sobald OpenCode läuft, ist der natürliche nächste Schritt Oh My Opencode – ein Community-Plugin, das OpenCode in einen Multi-Agent-Harnisch packt. Die Hauptidee: Tippen Sie ultrawork (oder ulw) in einer Session, und ein Orchestrierer (Sisyphus) übernimmt, delegiert Unteraufgaben an spezialisierte Agents, die parallel laufen, jeweils auf die Modellfamilie abgestimmt, für die ihre Prompts optimiert sind.

Drei Artikel behandeln dies im Detail:


OpenCode war eines der ersten Tools, die von Anthrops Politik betroffen waren, den Zugang von Drittanbietern zum Claude-Abonnement zu blockieren – eine Maßnahme, die im Januar 2026 ergriffen wurde, einen Monat bevor die gleiche Einschränkung OpenClaw traf. Die OpenClaw Aufstieg und Fall Timeline dokumentiert beide Ereignisse und das breitere Muster, das sie für Agent-Tools darstellen, die auf Abonnement-Compute aufbauen.


Quellen (offiziell zuerst)

Offiziell:

Autoritative Integrationsreferenz:

Reputable Vergleiche/Tutorials:

Abonnieren

Neue Beiträge zu Systemen, Infrastruktur und KI-Engineering.