Leitfaden für OpenCode-Befehle

OpenCode-Befehle: Eigene Befehle, Argumente und sichere Wiederverwendung

Die wichtigste Grenze ist klar: Integrierte Slash-Befehle steuern die aktuelle TUI, eigene OpenCode-Befehle machen wiederholbare Prompts zu benannten Arbeitsabläufen. Beginne mit einer Markdown-Datei unter .opencode/commands/, verwende $ARGUMENTS nur für wirklich variable Eingaben und prüfe den erzeugten Prompt, bevor Dateien geändert oder Shell-Befehle ausgeführt werden. Dieser Leitfaden behandelt integrierte Befehle, Markdown- und JSON-Konfiguration, Positionsargumente, Shell-Ausgabe, Dateireferenzen, Berechtigungen und typische Fehler.

Hauptkeyword
OpenCode-Befehle
Dokumentation geprüft
19. August 2026
Lesezeit
14 Minuten
Diagramm: OpenCode-Terminal verzweigt zu integrierten Befehlen, Markdown-Dateien und JSON-Konfiguration
OpenCode-Befehle verbinden TUI-Aktionen mit projektweiten oder globalen Definitionen.

Kurzantwort

OpenCode-Befehle haben drei praktische Ebenen

Wähle die kleinste Ebene, die die Aufgabe löst. So wird aus einem Prompt-Kürzel keine unklare Automatisierung.

EbeneFunktionBeispiel
Integrierter TUI-BefehlSteuert die aktuelle Sitzung oder eine eingebaute Aktion./help, /undo
Eigener BefehlErweitert einen benannten Prompt aus Markdown oder JSON./review mit $ARGUMENTS
Shell-BefehlLäuft im Terminal und ist eine eigene Ausführungsebene.npm test, git status

Ein eigener Befehl ersetzt weder die CLI-Installation noch Provider- oder Berechtigungseinstellungen. Bei einem fehlenden opencode hilft der Deployment-Leitfaden; bei Modellproblemen die Provider-Anleitung; für Schreib- und Shell-Grenzen die Berechtigungsanleitung. Namen und Platzhalter sollten mit der offiziellen Commands-Dokumentation und der Ausgabe von /help geprüft werden.

Integrierte Befehle

Slash-Befehle steuern die aktuelle TUI-Sitzung

OpenCode enthält /init, /undo, /redo, /share und /help. Das sind keine Shell-Aliase und keine Einträge für package.json. Gib sie in der OpenCode-Oberfläche ein und lies Ergebnis oder Bestätigung, bevor du fortfährst.

/help ist die beste Prüfung, wenn die Befehlsliste der installierten Version unklar ist. /undo und /redo ersetzen keine Git-Commits. Bei /share sollte vor allem bei privaten Repositories geprüft werden, welche Sitzungsdaten sichtbar werden. Die eingebaute Liste kann sich mit Releases ändern.

Markdown-Beispiel

Beginne mit einem eigenen Projektbefehl

Markdown-Dateien lassen sich in Git prüfen und bleiben nahe am Projekt, das sie verwendet.

  1. Erstelle .opencode/commands/review.md im Projektstamm.
  2. Füge eine kurze Beschreibung und eine Aufgabe mit klarer Grenze hinzu.
  3. Teste den Befehl in einem kleinen Branch und prüfe Prompt und Diff.

.opencode/commands/review.md

Der Befehl erstellt nur einen Prüfplan und schreibt nicht automatisch.

---
description: Review the current changes
---
Review the current Git changes. Explain risky behavior,
missing tests, and the smallest safe follow-up.
Do not edit files until I approve the plan.

Der Dateiname wird zum Befehlsnamen; diese Datei wird mit /review aufgerufen. ~/.config/opencode/commands/ eignet sich für persönliche, projektunabhängige Abläufe. .opencode/commands/ passt für lokale Pfade, Testregeln und Teamkonventionen. Ein klarer Prompt wie „Änderungen prüfen und Plan erstellen“ ist sicherer zu beurteilen als „alles reparieren“.

JSON-Konfiguration

Das command-Objekt für projektnahe Einstellungen

Eigene Befehle können auch im command-Objekt der JSON- oder JSONC-Konfiguration stehen. Verwende dies, wenn ein bestimmter Agent oder ein Modell gewählt werden soll. Fragen zu Pfaden, Schema und Priorität gehören weiterhin in den opencode.jsonc-Leitfaden.

{
  "$schema": "https://opencode.ai/config.json",
  "command": {
    "test-review": {
      "template": "Review the latest test output and list the first three fixes.",
      "description": "Review test output",
      "agent": "plan"
    }
  }
}
OptionVerwendungVor dem Teilen prüfen
templatePrompt, der ausgeführt wird.Er ist vorhanden und begrenzt die Aufgabe.
descriptionKurze Anzeige beim Entdecken.Sie beschreibt das Ergebnis.
agentBenannten Agent auswählen.Tools und Rechte passen.
modelModell für diesen Ablauf überschreiben.Die Provider-ID existiert.

Konfiguration ist kein Geheimnisspeicher. API-Schlüssel und Tokens gehören in den vorgesehenen Credential-Weg. Ein Befehl mit Datei- oder Shell-Kontext verdient dieselbe Prüfung wie ein Skript.

Argumente und Kontext

Variablen nur für echte Unterschiede verwenden

$ARGUMENTS übernimmt die komplette Argumentfolge; $1 und $2 trennen Positionswerte.

Diagramm: OpenCode-Argumente fließen aus dem Terminal in Markdown-, JSON- und Shell-Kontext
Argumente sollten in eine kleine Vorlage mit erkennbarem Ziel und prüfbarem Ergebnis fließen.
---
description: Create a file with supplied values
---
Create a file named $1 in directory $2.
Use this content: $3
Show the proposed path before writing.

/create-file config.json src "{ \"key\": \"value\" }" liefert drei Werte. Die Vorlage muss erklären, wie sie verwendet werden und welcher Pfad vor dem Schreiben gezeigt wird. Für einen einzigen freien Text ist $ARGUMENTS einfacher.

Mit @src/components/Button.tsx lässt sich eine Datei referenzieren. Mit !`npm test` oder !`git log --oneline -10` kann Shell-Ausgabe in den Prompt gelangen. Da der Befehl im Projektstamm läuft, sollten destruktive oder geheimhaltende Befehle nicht in eine globale Vorlage gelangen.

Argumente sind Eingaben, keine Berechtigungen. Beginne mit einer lesenden Prüfung, genehmige danach eine kleine Änderung und automatisiere erst in einem vertrauenswürdigen Repository.

Sichere Wiederverwendung

Namen, Prompts und Rechte vorhersehbar halten

Ein eigener Befehl mit demselben Namen kann einen integrierten Befehl überschreiben. Vermeide daher help, undo und share, sofern der Austausch nicht ausdrücklich geplant ist. Ein Name wie review-tests ist für andere Entwickler verständlicher.

Prüfe Befehlsdateien wie Code: Prompt-Diff, erzeugte Antwort, referenzierte Dateien und vorgeschlagene Shell-Befehle. Agenten und Modelle sollten mit der Agents-Anleitung abgeglichen werden; bei Skills oder MCP helfen die Skills-Anleitung und die MCP-Anleitung.

ProblemEbeneErste Prüfung
Slash-Befehl fehltPfad oder NameDatei, Verzeichnis, Frontmatter und Projektstamm prüfen.
Falsches ErgebnisPrompt oder ArgumenteMit kleinem Beispiel und einem Argument testen.
Unsichere Shell-AusgabeShell-KontextBefehl manuell und im richtigen Verzeichnis prüfen.
Integriertes Verhalten geändertNamenskonfliktBefehl umbenennen und /help vergleichen.

Verifikation

Sechs Prüfungen vor dem Team-Einsatz

  1. Umfang: Eingabe und Ausgabe in einem Satz festlegen.
  2. Ort: Projekt- oder globales Verzeichnis wählen und dokumentieren.
  3. Eingaben: normale, fehlende, quotierte und pfadartige Werte testen.
  4. Kontext: Datei- und Shell-Kontext vor einer Änderung prüfen.
  5. Rechte: mit ask oder Lesen beginnen und nur kleine Änderungen erlauben.
  6. Rollback: im Git festhalten, wie der Befehl deaktiviert oder umbenannt wird.

So lassen sich Fehler zuordnen: fehlender Befehl bedeutet meist Pfadproblem, falsche Antwort Prompt- oder Argumentproblem, verweigerte Änderung Berechtigungsproblem und ein Modellfehler Providerproblem.

FAQ

Fragen zu OpenCode-Befehlen

Wofür werden OpenCode-Befehle verwendet?

Integrierte Befehle steuern die TUI. Eigene Befehle verpacken wiederholbare Prompts für Reviews, Testzusammenfassungen oder Dateivorlagen.

Wo liegt das Verzeichnis für eigene OpenCode-Befehle?

Projektbefehle liegen unter .opencode/commands/, globale Befehle unter ~/.config/opencode/commands/. Der Dateiname wird zum Befehlsnamen.

Wie übergebe ich Argumente?

Nutze $ARGUMENTS für die gesamte Zeichenfolge oder $1, $2 für einzelne Werte. Werte mit Leerzeichen oder JSON sollten quotiert werden.

Warum erscheint ein eigener Befehl nicht?

Prüfe Verzeichnis, Projektstamm, Dateiname, Frontmatter und Namenskonflikte. Danach mit /help und der offiziellen Dokumentation vergleichen.

Offizielle Quellen

Versionsabhängige Details prüfen

Diese Seite wurde am 19. August 2026 mit der offiziellen OpenCode-Dokumentation abgeglichen. Namen und Pfade können sich ändern.

Zusammenfassung

Nutze integrierte Befehle für die TUI, Markdown-Dateien für prüfbare Projektabläufe und JSON für Befehle neben den übrigen Projekteinstellungen. Argumente sollten klar bleiben, Shell-Ausgabe als nicht vertrauenswürdiger Kontext behandelt werden und jeder neue Befehl mit einer kleinen, rückgängig machbaren Aufgabe starten.