Skip to content

Konfigurationsdiagnose & Fehlerbehebung: Verwenden des Doctor-Befehls zum schnellen Lösen von Problemen ​

Was Sie lernen werden ​

  • Führen Sie oh-my-opencode doctor aus, um schnell 17+ Systemüberprüfungen zu diagnostizieren
  • Lokalisieren und beheben Sie Probleme wie veraltete OpenCode-Version, nicht registrierte Plugins, Provider-Konfigurationsprobleme
  • Verstehen Sie den Model-Auflösungsmechanismus und überprüfen Sie die Agent- und Kategorie-Modellzuweisungen
  • Verwenden Sie den Verbose-Modus, um vollständige Informationen zur Problemdiagnose zu erhalten

Ihre aktuelle Herausforderung ​

Nach der Installation von oh-my-opencode, was tun Sie, wenn Sie auf folgende Probleme stoßen:

  • OpenCode meldet, dass das Plugin nicht geladen ist, aber die Konfigurationsdatei sieht gut aus
  • Einige KI-Agenten geben immer den Fehler "Modell nicht gefunden" zurück
  • Sie möchten überprüfen, ob alle Provider (Claude, OpenAI, Gemini) korrekt konfiguriert sind
  • Sie sind unsicher, ob das Problem bei der Installation, Konfiguration oder Authentifizierung liegt

Die Fehlerbehebung einzeln ist zeitaufwendig. Sie benötigen ein Diagnose-Tool mit einem Klick.

Kernkonzepte ​

Der Doctor-Befehl ist das Systemüberprüfungssystem von oh-my-opencode, ähnlich wie Macs Festplattendienstprogramm oder ein Diagnose-Scanner für Autos. Er überprüft systematisch Ihre Umgebung und teilt Ihnen mit, was funktioniert und was Probleme hat.

Die Überprüfungslogik des Doctor-Befehls stammt vollständig aus der Quellcode-Implementierung (src/cli/doctor/checks/), einschließlich:

  • ✅ Installation: OpenCode-Version, Plugin-Registrierung
  • ✅ Konfiguration: Konfigurationsdateiformat, Schema-Validierung
  • ✅ Authentifizierung: Anthropic-, OpenAI-, Google-Authentifizierungs-Plugins
  • ✅ Abhängigkeiten: Bun-, Node.js-, Git-Abhängigkeiten
  • ✅ Tools: LSP- und MCP-Server-Status
  • ✅ Updates: Versionsupdate-Kontrollen

Schritt-für-Schritt-Anleitung ​

Schritt 1: Grundlegende Diagnose ausführen ​

Warum Führen Sie zuerst eine vollständige Überprüfung durch, um den allgemeinen Systemzustand zu verstehen.

bash
bunx oh-my-opencode doctor

Sie sollten sehen:

┌──────────────────────────────────────────────────┐
│  Oh-My-OpenCode Doctor                           │
└──────────────────────────────────────────────────┘

Installation
  ✓ OpenCode version: 1.0.155 (>= 1.0.150)
  ✓ Plugin registered in opencode.json

Configuration
  ✓ oh-my-opencode.json is valid
  ⚠ categories.visual-engineering: using default model

Authentication
  ✓ Anthropic API key configured
  ✓ OpenAI API key configured
  ✗ Google API key not found

Dependencies
  ✓ Bun 1.2.5 installed
  ✓ Node.js 22.0.0 installed
  ✓ Git 2.45.0 installed

Summary: 10 passed, 1 warning, 1 failed

Kontrollpunkt ✅:

  • [ ] Ergebnisse für 6 Kategorien sehen
  • [ ] Jedes Element hat ein ✓ (bestanden), ⚠ (Warnung), ✗ (fehlgeschlagen) Markierung
  • [ ] Zusammenfassungsstatistik unten

Schritt 2: Häufige Probleme interpretieren ​

Basierend auf den Diagnoseergebnissen können Sie Probleme schnell lokalisieren. Hier sind häufige Fehler und Lösungen:

✗ "OpenCode version too old" ​

Problem: Die OpenCode-Version ist unter 1.0.150 (Mindestanforderung)

Ursache: oh-my-opencode hängt von neuen OpenCode-Funktionen ab, die alte Versionen nicht unterstützen

Lösung:

bash
# OpenCode aktualisieren
npm install -g opencode@latest
# Oder Bun verwenden
bun install -g opencode@latest

Überprüfung: Führen Sie bunx oh-my-opencode doctor erneut aus

✗ "Plugin not registered" ​

Problem: Das Plugin ist nicht im plugin-Array von opencode.json registriert

Ursache: Installationsprozess unterbrochen oder Konfigurationsdatei manuell bearbeitet

Lösung:

bash
# Installationsprogramm erneut ausführen
bunx oh-my-opencode install

Quellcode-Basis (src/cli/doctor/checks/plugin.ts:79-117):

  • Überprüft, ob das Plugin im plugin-Array von opencode.json vorhanden ist
  • Unterstützt Formate: oh-my-opencode oder oh-my-opencode@version oder file:// Pfad

✗ "Configuration has validation errors" ​

Problem: Die Konfigurationsdatei entspricht nicht der Schema-Definition

Ursache: Fehler während der manuellen Bearbeitung eingeführt (wie Tippfehler, Typenfehler)

Lösung:

  1. Verwenden Sie --verbose, um detaillierte Fehlerinformationen anzuzeigen:
bash
bunx oh-my-opencode doctor --verbose
  1. Häufige Fehlertypen (aus src/config/schema.ts):
FehlermeldungUrsacheKorrektur
agents.sisyphus.mode: Invalid enum valuemode kann nur subagent/primary/all seinÄndern Sie zu primary
categories.quick.model: Expected stringmodel muss ein String seinFügen Sie Anführungszeichen hinzu: "anthropic/claude-haiku-4-5"
background_task.defaultConcurrency: Expected numberGleichzeitigkeit muss eine Zahl seinÄndern Sie zu Zahl: 3
  1. Verweisen Sie auf die Konfigurationsreferenz, um Felddefinitionen zu überprüfen

⚠ "Auth plugin not installed" ​

Problem: Das Authentifizierungs-Plugin für den Provider ist nicht installiert

Ursache: Provider während der Installation übersprungen oder Plugin manuell deinstalliert

Lösung:

bash
# Neu installieren und fehlenden Provider auswählen
bunx oh-my-opencode install

Quellcode-Basis (src/cli/doctor/checks/auth.ts:11-15):

typescript
const AUTH_PLUGINS: Record<AuthProviderId, { plugin: string; name: string }> = {
  anthropic: { plugin: "builtin", name: "Anthropic (Claude)" },
  openai: { plugin: "opencode-openai-codex-auth", name: "OpenAI (ChatGPT)" },
  google: { plugin: "opencode-antigravity-auth", name: "Google (Gemini)" },
}

Schritt 3: Model-Auflösung überprüfen ​

Die Model-Auflösung ist der Kernmechanismus von oh-my-opencode, der überprüft, ob die Agent- und Kategorie-Modellzuweisungen korrekt sind.

bash
bunx oh-my-opencode doctor --category configuration

Sie sollten sehen:

Configuration
  ✓ oh-my-opencode.json is valid
  ⚠ Model Resolution: 9 agents, 7 categories (0 overrides), 15 available

Details:
  ═══ Available Models (from cache) ═══

    Providers in cache: anthropic, openai, google
    Sample: anthropic, openai, google
    Total models: 15
    Cache: ~/.cache/opencode/models.json
    ℹ Runtime: only connected providers used
    Refresh: opencode models --refresh

  ═══ Configured Models ═══

  Agents:
    ○ sisyphus: anthropic/claude-opus-4-5
    ○ oracle: openai/gpt-5.2
    ○ librarian: opencode/big-pickle
    ...

  Categories:
    ○ visual: google/gemini-3-pro
    ○ quick: openai/gpt-5.2-codex
    ...

  ○ = provider fallback

Kontrollpunkt ✅:

  • [ ] Agent- und Kategorien-Modellzuweisungen sehen
  • [ ] ○ bedeutet, dass der Provider-Fallback-Mechanismus verwendet wird (nicht manuell überschrieben)
  • [ ] ● bedeutet, dass der Benutzer das Standardmodell in der Konfiguration überschrieben hat

Häufige Probleme:

ProblemUrsacheLösung
unknown ModellDie Provider-Fallback-Kette ist leerStellen Sie sicher, dass mindestens ein Provider verfügbar ist
Modell nicht verwendetProvider nicht verbundenFühren Sie opencode aus, um den Provider zu verbinden
Modell überschreiben möchtenStandardmodell verwendenSetzen Sie agents.<name>.model in oh-my-opencode.json

Quellcode-Basis (src/cli/doctor/checks/model-resolution.ts:129-148):

  • Liest verfügbare Modelle aus ~/.cache/opencode/models.json
  • Agent-Modellanforderungen: AGENT_MODEL_REQUIREMENTS (src/shared/model-requirements.ts)
  • Kategorie-Modellanforderungen: CATEGORY_MODEL_REQUIREMENTS

Schritt 4: JSON-Ausgabe verwenden (Skripting) ​

Wenn Sie die Diagnose in CI/CD automatisieren möchten, verwenden Sie das JSON-Format:

bash
bunx oh-my-opencode doctor --json

Sie sollten sehen:

json
{
  "results": [
    {
      "name": "OpenCode version",
      "status": "pass",
      "message": "1.0.155 (>= 1.0.150)",
      "duration": 5
    },
    {
      "name": "Plugin registration",
      "status": "pass",
      "message": "Registered",
      "details": ["Config: /Users/xxx/.config/opencode/opencode.json"],
      "duration": 12
    }
  ],
  "summary": {
    "total": 17,
    "passed": 15,
    "failed": 1,
    "warnings": 1,
    "skipped": 0,
    "duration": 1234
  },
  "exitCode": 1
}

Anwendungsfälle:

bash
# Diagnosebericht in Datei speichern
bunx oh-my-opencode doctor --json > doctor-report.json

# Systemzustand in CI/CD überprüfen
bunx oh-my-opencode doctor --json | jq -e '.summary.failed == 0'
if [ $? -eq 0 ]; then
  echo "Alle Überprüfungen bestanden"
else
  echo "Einige Überprüfungen fehlgeschlagen"
  exit 1
fi

Häufige Fallstricke ​

❌ Fehler 1: Warnmeldungen ignorieren ​

Problem: Sie sehen ⚠ Markierungen und denken, sie sind "optional", obwohl sie tatsächlich wichtige Hinweise sein können

Lösung:

  • Zum Beispiel: Die Warnung "using default model" bedeutet, dass Sie keine Kategorienmodelle konfiguriert haben, was möglicherweise nicht optimal ist
  • Verwenden Sie --verbose, um detaillierte Informationen anzuzeigen und zu entscheiden, ob Maßnahmen erforderlich sind

❌ Fehler 2: opencode.json manuell bearbeiten ​

Problem: Direktes Ändern von opencode.json von OpenCode, wodurch die Plugin-Registrierung beschädigt wird

Lösung:

  • Verwenden Sie bunx oh-my-opencode install, um erneut zu registrieren
  • Oder bearbeiten Sie nur oh-my-opencode.json, berühren Sie nicht die Konfigurationsdatei von OpenCode

❌ Fehler 3: Cache nicht aktualisiert ​

Problem: Die Model-Auflösung zeigt "cache not found", aber der Provider ist konfiguriert

Lösung:

bash
# OpenCode starten, um den Modell-Cache zu aktualisieren
opencode

# Oder manuell aktualisieren (falls der Befehl opencode models existiert)
opencode models --refresh

Zusammenfassung ​

Der Doctor-Befehl ist das Schweizer Taschenmesser von oh-my-opencode, das Ihnen hilft, Probleme schnell zu lokalisieren:

BefehlZweckWann verwenden
bunx oh-my-opencode doctorVollständige DiagnoseNach der ersten Installation, bei Problemen
--verboseDetaillierte InformationenWenn Sie Fehlerdetails anzeigen möchten
---------
--category <name>Einzelkategorie-ÜberprüfungWenn Sie nur einen bestimmten Aspekt überprüfen möchten

Denken Sie daran: Wann immer Sie auf ein Problem stoßen, führen Sie zuerst doctor aus und verstehen Sie den Fehler klar, bevor Sie Maßnahmen ergreifen.

Nächste Schritte ​

In der nächsten Lektion lernen wir Häufig gestellte Fragen.

Sie werden lernen:

  • Unterschiede zwischen oh-my-opencode und anderen KI-Tools
  • Wie Sie die Modellkosten optimieren
  • Best Practices für die Parallelitätssteuerung von Hintergrundaufgaben

Anhang: Quellcode-Referenz ​

Klicken, um Quellcode-Speicherorte zu erweitern

Aktualisiert: 2026-01-26

FunktionDateipfadZeilennummern
---------
Alle Überprüfungsregistrierungensrc/cli/doctor/checks/index.ts24-37
---------
Konfigurationsvalidierungsüberprüfungsrc/cli/doctor/checks/config.ts82-112
Authentifizierungsüberprüfungsrc/cli/doctor/checks/auth.ts49-76
---------
---------
Modellanforderungsdefinitionsrc/shared/model-requirements.tsGesamte Datei

Wichtige Konstanten:

  • MIN_OPENCODE_VERSION = "1.0.150": Mindestversionsanforderung für OpenCode
  • AUTH_PLUGINS: Authentifizierungs-Plugin-Zuordnung (Anthropic=built-in, OpenAI/GitHub=Plugins)
  • AGENT_MODEL_REQUIREMENTS: Agent-Modellanforderungen (Prioritätskette jedes Agents)
  • CATEGORY_MODEL_REQUIREMENTS: Kategorie-Modellanforderungen (visual, quick, usw.)

Wichtige Funktionen:

  • doctor(options): Diagnose-Befehl ausführen, gibt Exit-Code zurück
  • getAllCheckDefinitions(): Alle 17+ Überprüfungs-Item-Definitionen abrufen
  • checkPluginRegistration(): Überprüfen, ob Plugin in opencode.json registriert ist
  • validateConfig(configPath): Konfigurationsdatei gegen Schema validieren
  • checkAuthProvider(providerId): Provider-Authentifizierungs-Plugin-Status überprüfen
  • checkModelResolution(): Model-Auflösung und Zuweisung überprüfen