Wie man OpenCode installiert und verwendet: Ein vollständiger Leitfaden
Wie man OpenCode installiert und verwendet: Ein vollständiger Leitfaden
OpenCode ist ein Open-Source AI-Coding-Agent, der die Kraft der künstlichen Intelligenz direkt in Ihr Terminal bringt. Im Gegensatz zu herkömmlichen AI-Coding-Tools, die in Editoren oder Browsern laufen, bietet OpenCode eine terminalbasierte Benutzeroberfläche, eine Desktop-App und eine IDE-Erweiterung – alles darauf ausgelegt, Ihre Produktivität als Entwickler zu steigern. Dieser umfassende Leitfaden führt Sie durch alles, was Sie wissen müssen, um OpenCode effektiv zu installieren, zu konfigurieren und zu verwenden.
Was ist OpenCode?
OpenCode ist ein KI-gestützter Coding-Assistent, der Ihnen hilft:
- Code schneller zu schreiben durch intelligente Code-Generierung und Autovervollständigung
- Effizient zu debuggen, indem Fehler analysiert und Lösungen vorgeschlagen werden
- Codebasen zu verstehen durch natürliche Sprachabfragen
- Funktionen hinzuzufügen mit automatischer Planung und Umsetzung
- Code zu überprüfen mit KI-gestützter Analyse und Vorschlägen
- Workflows zu automatisieren mithilfe von KI-Agenten und benutzerdefinierten Tools
Es unterstützt mehrere LLM-Anbieter, darunter Anthropic, OpenAI, Google und andere, und gibt Ihnen die Flexibilität, die Modelle auszuwählen, die am besten zu Ihren Anforderungen passen.
Systemanforderungen
Voraussetzungen
Vor der Installation von OpenCode stellen Sie sicher, dass Sie Folgendes haben:
Moderner Terminal-Emulator (für die Nutzung der TUI):
Node.js (für npm/bun/pnpm/yarn Installation):
- Node.js Version 18 oder höher empfohlen
API-Schlüssel für LLM-Anbieter:
- Anthropic API-Schlüssel (für Claude-Modelle)
- OpenAI API-Schlüssel (für GPT-Modelle)
- Oder Schlüssel von anderen unterstützten Anbietern
Installationsmethoden
Methode 1: Installationsskript (empfohlen)
Der schnellste Weg, OpenCode zu installieren, ist die Verwendung des offiziellen Installationsskripts:
curl -fsSL https://opencode.ai/install | bashDiese Methode funktioniert auf macOS, Linux und Windows (mit Git Bash oder WSL).
Methode 2: Nutzung von Node.js Paketmanagern
Mit npm:
npm install -g opencode-aiMit Bun:
bun install -g opencode-aiMit pnpm:
pnpm install -g opencode-aiMit Yarn:
yarn global add opencode-aiMethode 3: Nutzung von Homebrew (macOS & Linux)
brew install opencodeMethode 4: Nutzung von Paru (Arch Linux)
paru -S opencode-binMethode 5: Windows-spezifische Installationen
Mit Chocolatey:
choco install opencodeMit Scoop:
scoop bucket add extras
scoop install extras/opencodeMit Mise:
mise use -g github:sst/opencodeMethode 6: Docker
Für Container-basierte Nutzung:
docker run -it --rm ghcr.io/sst/opencodeMethode 7: Binärdatei herunterladen
Sie können die vorkompilierte Binärdatei direkt von der GitHub Releases Seite herunterladen.
Installation überprüfen
Nach der Installation prüfen Sie, ob alles funktioniert:
opencode --versionEs sollte die Versionsnummer angezeigt werden.
Erste Konfiguration
Verbindung zu OpenCode Zen (empfohlen für Einsteiger)
OpenCode Zen ist eine kuratierte Liste von Modellen, die vom OpenCode-Team getestet und verifiziert wurden. Es ist die einfachste Möglichkeit, zu starten.
- OpenCode starten:
cd /pfad/zu/ihrem/projekt
opencode- Führen Sie im TUI den connect-Befehl aus:
/connectWählen Sie "opencode" aus der Anbieterliste aus
Besuchen Sie die Authentifizierungs-URL: opencode.ai/auth
Melden Sie sich an und fügen Sie Zahlungsdetails hinzu (oder nutzen Sie verfügbare Gratis-Kontingente)
Kopieren Sie Ihren API-Schlüssel und fügen Sie ihn bei der Eingabeaufforderung im Terminal ein
Verbindung zu anderen Anbietern
Sie können OpenCode auch mit anderen LLM-Anbietern verbinden:
Mit dem /connect-Befehl:
/connectWählen Sie Ihren bevorzugten Anbieter (Anthropic, OpenAI, Google usw.) und folgen Sie dem Authentifizierungsprozess.
CLI-Authentifizierung verwenden:
opencode auth loginDies führt Sie durch die Konfiguration von API-Schlüsseln für jeden Anbieter, der auf Models.dev verfügbar ist.
Konfigurierte Anbieter auflisten:
opencode auth listoder kurz:
opencode auth lsVon einem Anbieter abmelden:
opencode auth logoutProjektkontext einrichten
Nach der Konfiguration eines Anbieters initialisieren Sie OpenCode für Ihr Projekt:
- Wechseln Sie in Ihr Projektverzeichnis:
cd /pfad/zu/ihrem/projekt- Starten Sie OpenCode:
opencode- Führen Sie den init-Befehl aus:
/initDies analysiert Ihre Projektstruktur und erstellt eine AGENTS.md-Datei im Projektstammverzeichnis. Diese Datei hilft OpenCode, Ihre Programmiermuster, Frameworks und Projektarchitektur zu verstehen.
Tipp: Fügen Sie die AGENTS.md-Datei in Ihr Git-Repository ein. Das unterstützt die Konsistenz im Team und verbessert OpenCodes Verständnis Ihres Projekts im Laufe der Zeit.
Nutzung der Terminal User Interface (TUI)
OpenCodes TUI bietet ein interaktives Erlebnis in Ihrem Terminal.
TUI starten
Einfach ausführen:
opencodeOder mit optionalen Flags:
# Letzte Sitzung fortsetzen
opencode --continue
# Spezifische Sitzung fortsetzen
opencode --session <session-id>
# Mit Eingabeaufforderung starten
opencode --prompt "Erkläre diese Codebasis"
# Spezielles Modell verwenden
opencode --model anthropic/claude-sonnet-4-5
# Speziellen Agent verwenden
opencode --agent planGrundlegende TUI-Navigation
- Scrollen: Maus-Rad oder Pfeiltasten verwenden
- Modi wechseln:
Tabdrücken, um zwischen Plan- und Build-Modus zu wechseln - Befehle ausführen:
/tippen, um die Befehlsübersicht zu öffnen - Dateien suchen:
@verwenden, um Dateien im Projekt fuzzy zu durchsuchen - Beenden:
Ctrl+Cdrücken oder/exitausführen
Fragen stellen
Sie können OpenCode Fragen zu Ihrem Code stellen:
Wie wird die Authentifizierung in @packages/functions/src/api/index.ts gehandhabt?Nutzen Sie das @-Symbol, um bestimmte Dateien zu referenzieren. OpenCode analysiert diese Dateien und liefert detaillierte Erklärungen.
Funktionen hinzufügen
OpenCode ist besonders gut darin, neue Funktionen über seinen Zweimodus-Workflow hinzuzufügen:
Schritt 1: Plan-Modus
- Wechseln Sie mit
Tabzum Plan-Modus - Beschreiben Sie, was Sie wollen:
Wenn ein Benutzer eine Notiz löscht, soll sie in der Datenbank als gelöscht markiert werden.
Dann soll ein Bildschirm erstellt werden, der alle kürzlich gelöschten Notizen anzeigt.
Von diesem Bildschirm aus kann der Benutzer eine Notiz wiederherstellen oder dauerhaft löschen.- Überprüfen Sie den vorgeschlagenen Plan
- Geben Sie Feedback:
Wir möchten diesen neuen Bildschirm basierend auf einem bereits verwendeten Design gestalten.
[Bild #1] Schau dir dieses Bild an und nutze es als Referenz.Tipp: Sie können Bilder per Drag & Drop ins Terminal ziehen. OpenCode scannt und analysiert sie.
Schritt 2: Build-Modus
- Wechseln Sie mit
Taberneut zum Build-Modus - Genehmigen Sie die Umsetzung:
Klingt gut! Mach die Änderungen.OpenCode implementiert dann die Funktion, erstellt und ändert die Dateien nach Bedarf.
Direkte Änderungen vornehmen
Für einfache Änderungen können Sie die Plan-Phase überspringen:
Wir müssen Authentifizierung in der /settings-Route hinzufügen.
Schau dir an, wie das in der /notes-Route in @packages/functions/src/notes.ts gehandhabt wird
und implementiere dieselbe Logik in @packages/functions/src/settings.tsÄnderungen rückgängig machen und wiederherstellen
Fehler gemacht? Nutzen Sie den Undo-Befehl:
/undoDies macht die letzte Änderung rückgängig und ermöglicht eine Verfeinerung der Eingabe.
Um rückgängig gemachte Änderungen wiederherzustellen:
/redoSie können /undo mehrfach ausführen, um mehrere Änderungen zurückzunehmen.
CLI-Befehle
OpenCode bietet eine leistungsstarke CLI für programmatischen Zugriff und Automatisierung.
Direkte Eingabeaufforderungen ausführen
OpenCode non-interaktiv ausführen:
opencode run "Erkläre, wie Closures in JavaScript funktionieren"Ideal für Skripte, Automatisierung oder schnelle Antworten ohne TUI.
Modelle verwalten
Liste aller verfügbaren Modelle:
opencode modelsNach Anbieter filtern:
opencode models anthropicModell-Cache aktualisieren (nützlich bei neuen Modellen):
opencode models --refreshAusführliche Modellinformationen mit Kosten anzeigen:
opencode models --verboseHeadless-Server starten
HTTP-Server für API-Zugriff starten:
opencode serveMit benutzerdefiniertem Port:
opencode serve --port 3000Nützlich für Web-Apps oder schnellere Skriptabläufe (vermeidet kalten MCP-Server-Start).
An einen Server anbinden
In einem Terminal den Server starten:
opencode serveIn einem anderen Terminal daran anbinden, um schneller Befehle zu senden:
opencode run --attach http://localhost:4096 "Erkläre async/await in JavaScript"Agenten verwalten
Neuen benutzerdefinierten Agenten erstellen:
opencode agent createDies führt Sie durch die Erstellung eines Agenten mit individuellen System-Prompts und Tool-Konfigurationen.
GitHub-Integration
GitHub-Agent für Repository-Automatisierung installieren:
opencode github installDies richtet GitHub Actions Workflows für automatisierte Code-Reviews und Issue-Management ein.
OpenCode Upgraden
Auf die neueste Version aktualisieren:
opencode upgradeOder auf eine bestimmte Version:
opencode upgrade v0.1.48Installationsmethode angeben, falls notwendig:
opencode upgrade --method brewKonfiguration
OpenCode unterstützt flexible Konfiguration über JSON-Konfigurationsdateien.
Konfigurationsorte
Konfigurationsdateien werden zusammengeführt (nicht ersetzt), sodass globale, projektbezogene und benutzerdefinierte Konfigurationen kombiniert werden können.
Globale Konfiguration:
~/.config/opencode/opencode.json- Für Themes, Anbieter, Tastaturkürzel und allgemeine Einstellungen
Projekt-Konfiguration:
opencode.jsonim Projektstamm- Für projektspezifische Anbieter, Agenten oder Einstellungen
- Sicher, um sie ins Git zu übernehmen
Benutzerdefinierter Konfigurationspfad: Über Umgebungsvariable
OPENCODE_CONFIGfestlegbarBenutzerdefiniertes Konfigurationsverzeichnis: Über Umgebungsvariable
OPENCODE_CONFIG_DIRfestlegbar
Einfaches Beispiel für Konfiguration
Erstellen Sie eine Konfigurationsdatei mit folgender Struktur:
{
"$schema": "https://opencode.ai/config.json",
// Auswahl des Themes
"theme": "opencode",
// Hauptmodell zur Verwendung
"model": "anthropic/claude-sonnet-4-5",
// Kleineres Modell für leichte Aufgaben
"small_model": "anthropic/claude-haiku-4-5",
// Automatische Updates
"autoupdate": true
}Anbieter konfigurieren
API-Schlüssel direkt in der Konfiguration festlegen:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
},
"openai": {
"options": {
"apiKey": "{env:OPENAI_API_KEY}"
}
}
}
}Die Verwendung von Umgebungsvariablen wird aus Sicherheitsgründen empfohlen. Syntax: {env:VARIABLE_NAME}.
Dateiverweise nutzen
Sie können auch Dateien für sensible Daten referenzieren:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openai": {
"options": {
"apiKey": "{file:~/.secrets/openai-key}"
}
}
}
}Benutzerdefinierte Befehle
Definieren Sie eigene Befehle für wiederkehrende Aufgaben:
{
"$schema": "https://opencode.ai/config.json",
"command": {
"test": {
"template": "Führe die komplette Testsuite mit Coverage-Report aus und zeige Fehler an.\nFokussiere dich auf fehlgeschlagene Tests und schlage Lösungen vor.",
"description": "Tests mit Coverage ausführen",
"agent": "build",
"model": "anthropic/claude-haiku-4-5"
},
"component": {
"template": "Erstelle eine neue React-Komponente namens $ARGUMENTS mit TypeScript-Unterstützung.\nInkludiere passende Typisierung und Grundstruktur.",
"description": "Neue Komponente erstellen"
}
}
}Benutzen Sie die Befehle in der TUI via /test oder /component MyComponent.
Benutzerdefinierte Agenten
Spezialisierte Agenten erstellen:
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"code-reviewer": {
"description": "Überprüft Code auf Best Practices und mögliche Probleme",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Du bist ein Code-Reviewer. Fokussiere dich auf Sicherheit, Performance und Wartbarkeit.",
"tools": {
"write": false,
"edit": false
}
}
}
}Berechtigungskonfiguration
Steuern Sie, was OpenCode ohne Rückfrage darf:
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "ask",
"bash": "ask"
}
}Dies erfordert Nutzerfreigabe für Edit- und Bash-Operationen.
Code-Formatter
Konfigurieren Sie Formatter, um Code automatisch zu formatieren:
{
"$schema": "https://opencode.ai/config.json",
"formatter": {
"prettier": {
"disabled": false
},
"custom-prettier": {
"command": ["npx", "prettier", "--write", "$FILE"],
"environment": {
"NODE_ENV": "development"
},
"extensions": [".js", ".ts", ".jsx", ".tsx"]
}
}
}TUI-Einstellungen
Passen Sie die Terminaloberfläche an:
{
"$schema": "https://opencode.ai/config.json",
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
}Erweiterte Funktionen
Gespräche teilen
Teilen Sie Ihre Unterhaltungen mit Ihrem Team:
/shareDies erstellt einen teilbaren Link und kopiert ihn in die Zwischenablage. Standardmäßig werden Gespräche nicht geteilt.
Teilen-Verhalten konfigurieren:
{
"share": "manual" // "manual", "auto", oder "disabled"
}MCP-Server
Model Context Protocol (MCP) Server erweitern OpenCodes Fähigkeiten:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/pfad/zu/erlaubten/dateien"]
}
}
}Anweisungen und Regeln
Projektspezifische Anweisungen bereitstellen:
{
"$schema": "https://opencode.ai/config.json",
"instructions": [
"CONTRIBUTING.md",
"docs/guidelines.md",
".cursor/rules/*.md"
]
}OpenCode nutzt diese Dateien, um Ihre Coding-Standards und Konventionen zu verstehen.
Umgebungsvariablen
Konfigurieren Sie OpenCode durch Umgebungsvariablen:
# Sitzungen automatisch teilen
export OPENCODE_AUTO_SHARE=true
# Pfad zur benutzerdefinierten Konfig
export OPENCODE_CONFIG=/pfad/zu/config.json
# Pfad zum Konfigurationsverzeichnis
export OPENCODE_CONFIG_DIR=/pfad/zu/config-verzeichnis
# Auto-Update deaktivieren
export OPENCODE_DISABLE_AUTOUPDATE=true
# Standard-Plugins deaktivieren
export OPENCODE_DISABLE_DEFAULT_PLUGINS=true
# Experimentelle Modelle aktivieren
export OPENCODE_ENABLE_EXPERIMENTAL_MODELS=true
# Exa Websuche aktivieren
export OPENCODE_ENABLE_EXA=trueExperimentelle Funktionen
Experimentelle Features aktivieren:
export OPENCODE_EXPERIMENTAL=trueSpezifische experimentelle Optionen:
# Icon-Erkennung aktivieren
export OPENCODE_EXPERIMENTAL_ICON_DISCOVERY=true
# Kopieren beim Auswählen im TUI deaktivieren
export OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT=true
# Maximale Ausgabegröße für Bash-Befehle setzen
export OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH=10000
# Standard-Timeout für Bash-Befehle (ms)
export OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS=30000Best Practices
Effektives Prompting
- Seien Sie spezifisch: Geben Sie klare, detaillierte Anweisungen
- Nutzen Sie Kontext: Referenzieren Sie Dateien mit
@für besseres Verständnis - Geben Sie Beispiele: Zeigen Sie Beispiele, was Sie wollen
- Schrittweise arbeiten: Komplexe Aufgaben funktionieren besser in Schritten
Umgang mit großen Projekten
/initverwenden: Lassen Sie OpenCode Ihre Projektstruktur verstehen- Konkrete Dateien referenzieren: Nutzen Sie
@, um den Kontext einzuschränken - Plan-Modus verwenden: Pläne vor der Umsetzung prüfen
- Inkrementelle Änderungen: Kleine, überschaubare Änderungen vornehmen
Kostenoptimierung
- Kleinere Modelle nutzen:
small_modelfür leichte Aufgaben konfigurieren - Plan vor Build: Im Plan-Modus überprüfen, um Iterationen zu reduzieren
- Benutzerdefinierte Befehle: Effiziente Workflows für häufige Aufgaben definieren
- Nutzung überwachen: Provider-Dashboards für Verbrauchsdaten prüfen
Sicherheits-Best-Practices
- API-Schlüssel nie committen: Verwenden Sie Umgebungsvariablen
- Berechtigungen verwenden:
permissionso konfigurieren, dass wichtige Aktionen zustimmungspflichtig sind - Änderungen prüfen: Vorschläge von OpenCode immer überprüfen
- Separate Schlüssel verwenden: API-Schlüssel speziell für OpenCode mit begrenzten Rechten anlegen
Fehlerbehebung
Installationsprobleme
Problem: Befehl nach Installation nicht gefunden
Lösung:
- Installation prüfen:
which opencode - PATH prüfen:
echo $PATH - Vollständigen Pfad ausprobieren:
~/.local/bin/opencode - Alternative Installationsmethode ausprobieren
Authentifizierungsprobleme
Problem: API-Schlüssel wird nicht erkannt
Lösung:
- Schlüssel überprüfen:
opencode auth list - Umgebungsvariablen prüfen:
echo $ANTHROPIC_API_KEY - Neu anmelden:
opencode auth login
Performance-Probleme
Problem: Langsame Reaktionszeiten
Lösung:
opencode servefür schnellere Ausführung nutzen- Zu schnellerem Modell wechseln
- Kleinere Kontextfenster verwenden
- Nicht genutzte Tools in der Konfiguration deaktivieren
Probleme mit der TUI
Problem: Anzeigeprobleme im Terminal
Lösung:
- Modernen Terminal-Emulator nutzen (WezTerm, Alacritty etc.)
- Prüfen, ob Terminal 24-Bit-Farben unterstützt
- Anderes Theme ausprobieren
- Scroll-Beschleunigung deaktivieren, wenn Probleme auftreten
Modellprobleme
Problem: Modell nicht gefunden
Lösung:
- Modellliste aktualisieren:
opencode models --refresh - Anbieter konfiguriert prüfen:
opencode auth list - Modellnamen-Format prüfen:
anbieter/modell - Anbieter bietet das Modell an?
OpenCode in Ihren Workflow integrieren
Tägliche Entwicklung
- Morgens:
/initausführen, um mit dem neuesten Code zu synchronisieren - Feature-Entwicklung: Plan-Modus zum Entwerfen, Build-Modus zum Umsetzen nutzen
- Debugging: Fragen zu Fehlern mit Dateireferenzen stellen
- Code-Review: Benutzerdefinierten Code-Reviewer-Agent nutzen
- Dokumentation: Dokumente mit benutzerdefinierten Befehlen erstellen
Team-Zusammenarbeit
- Konfigurationen teilen:
opencode.jsonundAGENTS.mdins Git einchecken - Gespräche teilen:
/sharezum Diskutieren von Implementierungen verwenden - Benutzerdefinierte Befehle: Team-spezifische Befehle in Projektkonfiguration definieren
- Einheitliche Agenten: Gemeinsame Agent-Definitionen für Konsistenz nutzen
CI/CD-Integration
- GitHub-Agent: Für automatisierte PR-Reviews installieren
- Tests: Benutzerdefinierte Testbefehle in CI nutzen
- Code-Qualität: Formatter und Berechtigungen konfigurieren
Fazit
OpenCode repräsentiert ein neues Paradigma in der KI-gestützten Entwicklung, indem es leistungsfähige KI-Fähigkeiten direkt ins Terminal bringt. Mit seinen flexiblen Konfigurationsmöglichkeiten, Unterstützung für mehrere LLM-Anbieter und intuitiver TUI ist es darauf ausgelegt, Ihre Produktivität zu steigern, ohne Ihren bestehenden Workflow zu stören.
Wichtigste Erkenntnisse:
- Installation per Installationsskript oder bevorzugtem Paketmanager
- API-Schlüssel über
/connectoderopencode auth loginkonfigurieren - Projekte mit
/initinitialisieren für besseren Kontext - Plan-Modus für komplexe Features, Build-Modus für direkte Änderungen verwenden
- Mit Konfigurationsdateien, Befehlen und Agenten anpassen
- CLI-Befehle für Automatisierung und Skripting nutzen
- Gute Sicherheitspraktiken bei API-Schlüsseln und Berechtigungen befolgen
Nächste Schritte:
- OpenCode-Dokumentation für erweiterte Funktionen erkunden
- Der OpenCode-Discord-Community beitreten
- Setup mit Themes und Tastaturkürzeln anpassen
- Verschiedene LLM-Anbieter und Modelle ausprobieren
- OpenCode in den Workflow Ihres Teams integrieren
Bereit, Ihren Entwicklungsworkflow zu beschleunigen?
Entdecken Sie LightNodes AI-optimierte Hosting-Lösungen zum Bereitstellen AI-basierter Anwendungen mit dedizierten GPU-Instanzen und skalierbarer Infrastruktur.
OpenCode ist Open Source und entwickelt sich ständig weiter. Tragen Sie zum Projekt bei, melden Sie Probleme oder teilen Sie Ihre Erfahrungen, um es für alle noch besser zu machen. Viel Spaß beim Coden!