Agents
Konfigurieren und verwenden Sie spezialisierte Agenten.
Agents sind spezialisierte KI-Assistenten, die fur spezifische Aufgaben und Workflows konfiguriert werden konnen. Sie ermoglichen es Ihnen, fokussierte Tools mit benutzerdefinierten Prompts, Modellen und Tool-Zugriff zu erstellen.
Sie konnen wahrend einer Sitzung zwischen Agents wechseln oder sie mit der @-Erwahnung aufrufen.
Typen
Es gibt zwei Arten von Agents in OpenCode; primare Agents und Subagents.
Primare Agents
Primare Agents sind die Hauptassistenten, mit denen Sie direkt interagieren. Sie konnen mit der Tab-Taste oder Ihrem konfigurierten switch_agent-Keybind zwischen ihnen wechseln. Diese Agents verwalten Ihr Hauptgesprach und konnen auf alle konfigurierten Tools zugreifen.
OpenCode wird mit zwei integrierten primaren Agents geliefert, Build und Plan. Wir werden uns diese unten ansehen.
Subagents
Subagents sind spezialisierte Assistenten, die primare Agents fur spezifische Aufgaben aufrufen konnen. Sie konnen sie auch manuell aufrufen, indem Sie sie in Ihren Nachrichten @ erwahnen.
OpenCode wird mit zwei integrierten Subagents geliefert, General und Explore. Wir werden uns dies unten ansehen.
Integriert
OpenCode wird mit zwei integrierten primaren Agents und zwei integrierten Subagents geliefert.
Build
Modus: primary
Build ist der standardmabige primare Agent mit allen aktivierten Tools. Dies ist der Standard-Agent fur Entwicklungsarbeiten, bei denen Sie vollstandigen Zugriff auf Dateioperationen und Systembefehle benotigen.
Plan
Modus: primary
Ein eingeschrankter Agent, der fur Planung und Analyse konzipiert ist. Wir verwenden ein Berechtigungssystem, um Ihnen mehr Kontrolle zu geben und unbeabsichtigte Anderungen zu verhindern.
Standardmabig ist folgendes auf ask eingestellt:
Dateibearbeitungen: Alle Schreib-, Patch- und Editiervorgangebash: Alle Bash-Befehle
Dieser Agent ist nutzlich, wenn Sie mochten, dass das LLM Code analysiert, Anderungen vorschlagt oder Plane erstellt, ohne tatsachliche Anderungen an Ihrer Codebase vorzunehmen.
General
Modus: subagent
Ein Allzweck-Agent fur die Untersuchung komplexer Fragen, die Suche nach Code und die Ausfuhrung mehrschrittiger Aufgaben. Verwenden Sie dies beim Suchen nach Schlusselwortern oder Dateien, wenn Sie nicht sicher sind, dass Sie im ersten Versuch die richtige Ubereinstimmung finden.
Explore
Modus: subagent
Ein schneller Agent, der fur die Erkundung von Codebasen spezialisiert ist. Verwenden Sie dies, wenn Sie schnell Dateien nach Mustern finden, Code nach Schlusselwortern suchen oder Fragen zur Codebase beantworten mochten.
Verwendung
-
Fur primare Agents verwenden Sie die Tab-Taste, um wahrend einer Sitzung zwischen ihnen zu wechseln. Sie konnen auch Ihr konfiguriertes
switch_agent-Keybind verwenden. -
Subagents konnen aufgerufen werden:
-
Automatisch von primaren Agents fur spezialisierte Aufgaben basierend auf deren Beschreibungen.
-
Manuell durch @ Erwahnen eines Subagents in Ihrer Nachricht. Zum Beispiel.
@general hilf mir, diese Funktion zu suchen
-
-
Navigation zwischen Sitzungen: Wenn Subagents ihre eigenen untergeordneten Sitzungen erstellen, konnen Sie zwischen der ubergeordneten Sitzung und allen untergeordneten Sitzungen navigieren, indem Sie verwenden:
- <Leader>+Right (oder Ihr konfiguriertes
session_child_cycle-Keybind) um vorwarts zu zyklisieren uber parent -> child1 -> child2 -> … -> parent - <Leader>+Left (oder Ihr konfiguriertes
session_child_cycle_reverse-Keybind) um ruckwarts zu zyklisieren uber parent <- child1 <- child2 <- … <- parent
Dies ermoglicht es Ihnen, nahtlos zwischen dem Hauptgesprach und der spezialisierten Subagent-Arbeit zu wechseln.
- <Leader>+Right (oder Ihr konfiguriertes
Konfigurieren
Sie konnen die integrierten Agents anpassen oder Ihre eigenen durch Konfiguration erstellen. Agents konnen auf zwei Arten konfiguriert werden:
JSON
Konfigurieren Sie Agents in Ihrer opencode.json-Konfigurationsdatei:
{ "$schema": "https://opencode.ai/config.json", "agent": { "build": { "mode": "primary", "model": "anthropic/claude-sonnet-4-20250514", "prompt": "{file:./prompts/build.txt}", "tools": { "write": true, "edit": true, "bash": true } }, "plan": { "mode": "primary", "model": "anthropic/claude-haiku-4-20250514", "tools": { "write": false, "edit": false, "bash": false } }, "code-reviewer": { "description": "Uberpruft Code auf Best Practices und potenzielle Probleme", "mode": "subagent", "model": "anthropic/claude-sonnet-4-20250514", "prompt": "Sie sind ein Code-Reviewer. Konzentrieren Sie sich auf Sicherheit, Leistung und Wartbarkeit.", "tools": { "write": false, "edit": false } } }}Markdown
Sie konnen Agents auch mit Markdown-Dateien definieren. Platzieren Sie sie in:
- Global:
~/.config/opencode/agent/ - Projektbezogen:
.opencode/agent/
---description: Uberpruft Code auf Qualitat und Best Practicesmode: subagentmodel: anthropic/claude-sonnet-4-20250514temperature: 0.1tools: write: false edit: false bash: false---
Sie sind im Code-Review-Modus. Konzentrieren Sie sich auf:
- Codequalitat und Best Practices- Potenzielle Bugs und Grenzfalle Leistungsauswirkungen- Sicherheitsuberlegungen
Geben Sie konstruktives Feedback, ohne direkte Anderungen vorzunehmen.Der Markdown-Dateiname wird zum Agent-Namen. Zum Beispiel erstellt review.md einen review-Agenten.
Optionen
Lassen Sie uns diese Konfigurationsoptionen im Detail betrachten.
Beschreibung
Verwenden Sie die Option description, um eine kurze Beschreibung bereitzustellen, was der Agent tut und wann er verwendet werden soll.
{ "agent": { "review": { "description": "Uberpruft Code auf Best Practices und potenzielle Probleme" } }}Dies ist eine erforderliche Konfigurationsoption.
Temperatur
Steuern Sie die Zufalligkeit und Kreativitat der LLM-Antworten mit der Konfiguration temperature.
Niedrigere Werte machen Antworten fokussierter und deterministischer, wahrend hohere Werte die Kreativitat und Variabilitat erhohen.
{ "agent": { "plan": { "temperature": 0.1 }, "creative": { "temperature": 0.8 } }}Temperaturwerte reichen typischerweise von 0,0 bis 1,0:
- 0,0-0,2: Sehr fokussierte und deterministische Antworten, ideal fur Codeanalyse und Planung
- 0,3-0,5: Ausgewogene Antworten mit etwas Kreativitat, gut fur allgemeine Entwicklungsaufgaben
- 0,6-1,0: Kreativere und vielfaltigere Antworten, nutzlich fur Brainstorming und Erkundung
{ "agent": { "analyze": { "temperature": 0.1, "prompt": "{file:./prompts/analysis.txt}" }, "build": { "temperature": 0.3 }, "brainstorm": { "temperature": 0.7, "prompt": "{file:./prompts/creative.txt}" } }}Wenn keine Temperatur angegeben ist, verwendet OpenCode modellspezifische Standardwerte; typischerweise 0 fur die meisten Modelle, 0,55 fur Qwen-Modelle.
Max Schritte
Steuern Sie die maximale Anzahl von Agenten-Iterationen, die ein Agent ausfuhren kann, bevor er gezwungen wird, nur mit Text zu antworten. Dies ermoglicht Benutzern, die Kosten kontrollieren mochten, eine Grenze fur Agenten-Aktionen festzulegen.
Wenn dies nicht festgelegt ist, wird der Agent weiterhin iterieren, bis das Modell beschliebt, zu stoppen, oder der Benutzer die Sitzung unterbricht.
{ "agent": { "quick-thinker": { "description": "Schnelles Denken mit begrenzten Iterationen", "prompt": "Sie sind ein schneller Denker. Losen Sie Probleme mit minimalen Schritten.", "maxSteps": 5 } }}Wenn die Grenze erreicht ist, erhalt der Agent einen speziellen System-Prompt, der ihn anweist, mit einer Zusammenfassung seiner Arbeit und empfohlenen verbleibenden Aufgaben zu antworten.
Deaktivieren
Auf true setzen, um den Agenten zu deaktivieren.
{ "agent": { "review": { "disable": true } }}Prompt
Geben Sie eine benutzerdefinierte System-Prompt-Datei fur diesen Agenten mit der Konfiguration prompt an. Die Prompt-Datei sollte Anweisungen enthalten, die spezifisch fur den Zweck des Agents sind.
{ "agent": { "review": { "prompt": "{file:./prompts/code-review.txt}" } }}Dieser Pfad ist relativ zum Speicherort der Konfigurationsdatei. Dies funktioniert also sowohl fur die globale OpenCode-Konfiguration als auch fur die projektspezifische Konfiguration.
Modell
Verwenden Sie die Konfiguration model, um das Modell fur diesen Agenten zu uberschreiben. Nutzlich fur die Verwendung verschiedener Modelle, die fur verschiedene Aufgaben optimiert sind. Zum Beispiel ein schnelleres Modell fur Planung, ein fahigeres Modell fur Implementierung.
{ "agent": { "plan": { "model": "anthropic/claude-haiku-4-20250514" } }}Die Modell-ID in Ihrer OpenCode-Konfiguration verwendet das Format anbieter/modell-id. Wenn Sie beispielsweise OpenCode Zen verwenden, wurden Sie opencode/gpt-5.1-codex fur GPT 5.1 Codex verwenden.
Tools
Steuern Sie, welche Tools in diesem Agenten verfugbar sind, mit der Konfiguration tools. Sie konnen spezifische Tools aktivieren oder deaktivieren, indem Sie sie auf true oder false setzen.
{ "$schema": "https://opencode.ai/config.json", "tools": { "write": true, "bash": true }, "agent": { "plan": { "tools": { "write": false, "bash": false } } }}Sie konnen auch Platzhalter verwenden, um mehrere Tools gleichzeitig zu steuern. Um beispielsweise alle Tools von einem MCP-Server zu deaktivieren:
{ "$schema": "https://opencode.ai/config.json", "agent": { "readonly": { "tools": { "mymcp_*": false, "write": false, "edit": false } } }}Weitere Informationen uber Tools.
Berechtigungen
Sie konnen Berechtigungen konfigurieren, um zu steuern, welche Aktionen ein Agent ausfuhren kann. Derzeit konnen die Berechtigungen fur die Tools edit, bash und webfetch konfiguriert werden fur:
"ask"- Vor dem Ausfuhren des Tools nach Genehmigung fragen"allow"- Alle Operationen ohne Genehmigung zulassen"deny"- Tool deaktivieren
{ "$schema": "https://opencode.ai/config.json", "permission": { "edit": "deny" }}Sie konnen diese Berechtigungen pro Agent uberschreiben.
{ "$schema": "https://opencode.ai/config.json", "permission": { "edit": "deny" }, "agent": { "build": { "permission": { "edit": "ask" } } }}Sie konnen auch Berechtigungen in Markdown-Agents festlegen.
---description: Code-Review ohne Bearbeitungenmode: subagentpermission: edit: deny bash: "*": ask "git diff": allow "git log*": allow webfetch: deny---
Nur Code analysieren und Anderungen vorschlagen.Sie konnen Berechtigungen fur spezifische Bash-Befehle festlegen.
{ "$schema": "https://opencode.ai/config.json", "agent": { "build": { "permission": { "bash": { "git push": "ask" } } } }}Dies kann ein Glob-Muster annehmen.
{ "$schema": "https://opencode.ai/config.json", "agent": { "build": { "permission": { "bash": { "git *": "ask" } } } }}Und Sie konnen auch den Platzhalter * verwenden, um Berechtigungen fur alle Befehle zu verwalten.
Da die letzte ubereinstimmende Regel Vorrang hat, setzen Sie den Platzhalter * zuerst und spezifische Regeln danach.
{ "$schema": "https://opencode.ai/config.json", "agent": { "build": { "permission": { "bash": { "*": "ask", "git status": "allow" } } } }}Weitere Informationen uber Berechtigungen.
Modus
Steuern Sie den Modus des Agents mit der Konfiguration mode. Die Option mode wird verwendet, um zu bestimmen, wie der Agent verwendet werden kann.
{ "agent": { "review": { "mode": "subagent" } }}Die Option mode kann auf primary, subagent oder all eingestellt werden. Wenn kein mode angegeben ist, ist er standardmabig all.
Versteckt
Verbergen Sie einen Subagenten im @-Autocomplete-Menü mit hidden: true. Nutzlich fur interne Subagents, die nur programmgesteuert von anderen Agents uber das Task-Tool aufgerufen werden sollten.
{ "agent": { "internal-helper": { "mode": "subagent", "hidden": true } }}Dies betrifft nur die Benutzersichtbarkeit im Autocomplete-Menü. Versteckte Agents konnen vom Modell immer noch uber das Task-Tool aufgerufen werden, wenn Berechtigungen dies zulassen.
Aufgabenberechtigungen
Steuern Sie, welche Subagents ein Agent uber das Task-Tool aufrufen kann, mit permission.task. Verwendet Glob-Muster fur flexible Ubereinstimmung.
{ "agent": { "orchestrator": { "mode": "primary", "permission": { "task": { "*": "deny", "orchestrator-*": "allow", "code-reviewer": "ask" } } } }}Wenn auf deny eingestellt, wird der Subagent vollstandig aus der Task-Tool-Beschreibung entfernt, sodass das Modell nicht versuchen wird, ihn aufzurufen.
Zusatzlich
Alle anderen Optionen, die Sie in Ihrer Agentenkonfiguration angeben, werden direkt weitergegeben an den Anbieter als Modelloptionen. Dies ermoglicht es Ihnen, anbieterspezifische Funktionen und Parameter zu verwenden.
Zum Beispiel konnen Sie mit OpenAIs Reasoning-Modellen den Reasoning-Aufwand steuern:
{ "agent": { "deep-thinker": { "description": "Agent, der hohen Reasoning-Aufwand fur komplexe Probleme verwendet", "model": "openai/gpt-5", "reasoningEffort": "high", "textVerbosity": "low" } }}Diese zusatzlichen Optionen sind modell- und anbieterspezifisch. Konsultieren Sie die Dokumentation Ihres Anbieters fur verfugbare Parameter.
Agents erstellen
Sie konnen neue Agents mit dem folgenden Befehl erstellen:
opencode agent createDieser interaktive Befehl wird:
- Fragen, wo der Agent gespeichert werden soll; global oder projektspezifisch.
- Beschreibung dessen, was der Agent tun soll.
- Einen entsprechenden System-Prompt und Bezeichner generieren.
- Sie auswahlen lassen, auf welche Tools der Agent zugreifen kann.
- SchlieBlich eine Markdown-Datei mit der Agentenkonfiguration erstellen.
Anwendungsfalle
Hier sind einige gangige Anwendungsfalle fur verschiedene Agents.
- Build-Agent: Vollstandige Entwicklungsarbeit mit allen aktivierten Tools
- Plan-Agent: Analyse und Planung ohne Anderungen vorzunehmen
- Review-Agent: Code-Review mit schreibgeschutztem Zugriff plus Dokumentationstools
- Debug-Agent: Fokussiert auf Untersuchung mit aktivierten Bash- und Lesetools
- Dokumentations-Agent: Dokumentationsschreibung mit Dateioperationen aber ohne Systembefehle
Beispiele
Hier sind einige Beispiel-Agents, die Sie nutzlich finden konnten.
Dokumentations-Agent
---description: Schreibt und pflegt Projektdokumentationmode: subagenttools: bash: false---
Sie sind ein technischer Redakteur. Erstellen Sie klare, umfassende Dokumentation.
Konzentrieren Sie sich auf:
- Klare Erklarungen- Angemessene Struktur- Codebeispiele- Benutzerfreundliche SpracheSicherheitsauditor
---description: Fuhrt Sicherheitsaudits durch und identifiziert Schwachstellenmode: subagenttools: write: false edit: false---
Sie sind ein Sicherheitsexperte. Konzentrieren Sie sich auf die Identifizierung potenzieller Sicherheitsprobleme.
Suchen Sie nach:
- Eingabevalidierungs-Schwachstellen- Authentifizierungs- und Autorisierungsschwachen- Datenexpositionsrisiken- Abhangigkeits-Schwachstellen- Konfigurationssicherheitsprobleme