OpenCode Schnellstart: Installieren, konfigurieren und verwenden Sie den Terminal AI-Coding-Agenten
Wie Sie OpenCode installieren, konfigurieren und verwenden können
OpenCode ist ein quelloffener AI-Codierung-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 (CLI + API) ausführen.
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, bleibt aber flexibel in Bezug auf Anbieter/Modelle. In der Praxis ist es eine Workflow-Schicht, die folgendes ermöglichen kann:
- ein Terminal-UI starten, wenn Sie
opencodeausführen - nichtinteraktive „One-Shot“-Prompts über
opencode runausführen (Skripte/Automatisierung) - einen headless HTTP-Server über
opencode serveausführen (und eine Web-Oberfläche überopencode web) - programmatisch über das offizielle JS/TS-SDK
@opencode-ai/sdkgesteuert werden

Wenn Sie einen /ai-devtools/-Cluster erstellen, ist OpenCode ein starker Kandidat für einen Untercluster, da es sich natürlicherweise in folgende Bereiche ausdehnt:
- CLI-Vertiefung
- Verhalten und Kosten von Modellen/Anbietern (LLM-Vergleich innerhalb von OpenCode)
- Konfiguration & Agenten
- Integrationen (GitHub/GitLab/Copilot)
- Cheat-Sheet
Voraussetzungen
Sie benötigen:
- Ein modernes Terminal-Emulator (wichtig für die TUI-Erfahrung).
- Zugriff auf mindestens ein Modell/Anbieter (API-Schlüssel oder Abonnement-Autorisierung, 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 (Kopieren und Einfügen)
Offizieller Installations-Skript (Linux/macOS/WSL):
curl -fsSL https://opencode.ai/install | bash
Optionen für Paketmanager (offizielle Beispiele):
# Node.js globale Installation
npm install -g opencode-ai
# Homebrew (von OpenCode empfohlen für die aktuellsten Releases)
brew install anomalyco/tap/opencode
# Arch Linux (stabil)
sudo pacman -S opencode
# Arch Linux (neueste aus AUR)
paru -S opencode-bin
Windows Hinweise (die 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 Ausgabestruktur (variiert je nach Version):
# Beispiel:
# <druckt eine Versionsnummer, z. B. vX.Y.Z>
# <druckt Hilfe mit verfügbaren Befehlen/Unterbefehlen>
Einen Anbieter verbinden (zwei praktische Wege)
Weg A: TUI /connect (interaktiv)
Starten Sie OpenCode:
opencode
Dann führen Sie aus:
/connect
Folgen Sie den UI-Schritten, 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 an
~/.local/share/opencode/auth.jsongespeichert. - OpenCode kann auch Schlüssel 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 lokale Entwicklung verwenden viele Nutzer Ollama und richten OpenCode darauf ein. Ich hatte kürzlich sehr gute Erfahrungen mit der Konfiguration und dem Laufen von OpenCode mit llama.cpp – llama-server stellt OpenAI-kompatible Endpunkte bereit, sodass Sie GGUF-Modelle mit demselben Workflow verwenden können. Wenn Sie eine feine Kontrolle über Speicher und Laufzeit bevorzugen oder eine leichtere Stack ohne Python (Hinweis: Ollama ist in Go implementiert), ist llama.cpp wertvoll zu testen. Ich habe wirklich genossen die Möglichkeit, abgeladene Schichten zu konfigurieren, die Benutzerfreundlichkeit der Modelle im GGUF-Format und die deutlich besser und schneller implementierte Kompatibilität mit neuen Modellen wie Qwen3.5.
Ein Projekt richtig starten (empfohlener erster Lauf)
Von Ihrem Repository aus:
cd /pfad/zu/ihrem/repo
opencode
Dann initialisieren Sie:
/init
Dies analysiert Ihr Projekt und erstellt eine Datei AGENTS.md in der Projektwurzel. Es ist in der Regel sinnvoll, diese Datei zu committen, damit OpenCode (und Kollegen) konsistenten Projektkontext teilen.
Kern CLI-Workflows (Beispiele zum Kopieren und Einfügen)
OpenCode unterstützt nichtinteraktive Ausführungen:
opencode run "Erklären Sie, wie Closures in JavaScript funktionieren"
Workflow: Code generieren (CLI)
Ziel: eine kleine, testbare Funktion mit minimaler Kontext erstellen.
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 tabellenbasierte Tests hinzu."
Erwartete Ausgabe:
- Eine Erklärung plus Codeblöcke (Funktion + Tests). Der genaue Code variiert je nach Modell/Anbieter und Prompt.
Workflow: eine Datei sicher umschreiben (CLI + Plan-Agent)
Ziel: durch die Verwendung eines restriktiveren Agenten vermeiden, versehentlich Änderungen vorzunehmen.
opencode run --agent plan --file ./src/auth.ts \
"Refaktorieren Sie diese Datei, um die Komplexität zu reduzieren. Ausgabe: (1) ein kurzer Plan, (2) ein einheitlicher 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. Falls kein Diff generiert wird, erneut fragen: „Nur einen einheitlichen Diff zurückgeben“ oder „Verwenden Sie
diff --git-Format.“
Workflow: Fragen zum Repository stellen (CLI)
Ziel: Implementierungsdetails schnell 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:
- Eine kurze Karte der Dateipfade + Beschreibung des Ablaufs.
- Die Ausgabe hängt von der Größe des Repositorys und den Kontextwerkzeugen des Modells/Anbieters ab.
Workflow: wiederholte CLI-Ausführungen beschleunigen mit einem persistenten Server
Wenn Sie Skripte erstellen 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 Struktur des Repositorys und die Haupteintrittspunkte."
opencode run --attach http://localhost:4096 "Vorschlagen Sie nun 3 hochimpactvolle Refaktorisierungen und warum."
Erwartete Ausgabe:
- Dieselbe wie bei
opencode run, aber normalerweise mit weniger Wiederholungsaufwand beim Start.
Programmatische Nutzung (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 einen Prompt ausgeben
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: {
// Das Modellformat 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 Prompt ausgeben
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: "Erstellen 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 Ausgabestruktur:
- „Server läuft unter …“
- Eine Gesundheitsantwort, die eine Versionsnummer enthält
- Ein Objekt mit der Antwort der Sitzungsprompt (genaue Struktur hängt von
responseStyleund 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 (wird von serve/web verwendet)
"server": {
"port": 4096,
"hostname": "127.0.0.1"
},
// Optionaler Sicherheitsschutz: Bestätigung vor Änderungen/Befehlen erfordern
"permission": {
"edit": "ask",
"bash": "ask"
}
}
Kurzes Cheat-Sheet (Schnellreferenz)
Befehle, die Sie täglich verwenden werden
opencode # TUI starten
opencode run "..." # nichtinteraktive Ausführung (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-Oberfläche
opencode session list # Sitzungen auflisten
opencode stats # Token/Kosten-Statistiken
TUI-Befehle, die sich lohnen, zu merken
/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/Verknüpfungen
Konzept des Standard-„Leader“-Tastens (TUI)
OpenCode verwendet einen konfigurierbaren „Leader“-Taste (häufig ctrl+x) um Terminal-Konflikte zu vermeiden. Viele Tastenkombinationen sind „Leader + Taste“.
Einseitiges druckfähiges OpenCode-Cheat-Sheet-Tabellenblatt
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-Oberfläche |
| Einmaligen Prompt ausführen | opencode run "..." |
Nichtinteraktiver Modus für Skripte/Automatisierung |
| Dateien 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 "..." |
Modellstrings sind provider/model |
| Agent wählen | opencode run --agent plan "..." |
Plan ist für sicherere „keine Änderungen“-Arbeit (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 |
| Ausführungen an Server anhängen | opencode run --attach http://localhost:4096 "..." |
Nützlich, um wiederholte kalte Starts zu vermeiden |
| Basic Auth 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 von einer Freigabe-URL importieren |
| Globale CLI-Flags ansehen | opencode --help / opencode --version |
--print-logs + --log-level für Debugging |
| TUI-„Leader“-Tastenkonzept | Standard-„Leader“-Taste oft ctrl+x |
In tui.json anpassbar |
Quellen (offiziell zuerst)
Offiziell:
- OpenCode-Dokumentation (Einführung, CLI, Konfiguration, Server, SDK): https://opencode.ai/docs/
- OpenCode-Changelog: https://opencode.ai/changelog
- Offizieller GitHub-Repo: https://github.com/anomalyco/opencode
- Releases: https://github.com/anomalyco/opencode/releases
Autoritäre Integration Referenz:
- GitHub Changelog (Copilot unterstützt OpenCode): https://github.blog/changelog/2026-01-16-github-copilot-now-supports-opencode/
Anerkannte Vergleiche/Tutorials:
- DataCamp: OpenCode vs Claude Code (2026): https://www.datacamp.com/blog/opencode-vs-claude-code
- Builder.io: OpenCode vs Claude Code (2026): https://www.builder.io/blog/opencode-vs-claude-code
- freeCodeCamp: Integrieren Sie AI in Ihr Terminal mit OpenCode: https://www.freecodecamp.org/news/integrate-ai-into-your-terminal-using-opencode