Tilstande
Forskellige tilstande til forskellige anvendelsestilfælde.
Tilstande i opencode giver dig mulighed for at tilpasse adfærd, værktøjer og prompter til forskellige brugstilfælde.
Den kommer med to indbyggede tilstande: build og plan. Du kan tilpasse disse eller konfigurer dine egne gennem opencode-konfigurationen.
Du kan skifte mellem tilstande under en session eller konfigurere dem i din konfigurationsfil.
Indbyggede
opencode leveres med to indbyggede tilstande.
Byg
Byg er standard-tilstanden med alle værktøjer aktiveret. Dette er standardtilstanden for udviklingsarbejde, hvor du har brug for fuld adgang til filhandlinger og systemkommandoer.
Plan
En begrænset tilstand designet til planlægning og analyse. I plantilstand er følgende værktøjer deaktiveret som standard:
write- Kan ikke oprette nye fileredit- Kan ikke ændre eksisterende filer, undtagen filer placeret på.opencode/plans/*.mdfor at detaljere selve planenpatch- Kan ikke anvende patchesbash- Kan ikke udføre shell-kommandoer
Denne tilstand er nyttig, når du vil have AI til at analysere kode, foreslå ændringer eller oprette planer uden at foretage egentlige ændringer af din kodebase.
Skift
Du kan skifte mellem tilstande under en session ved at bruge Tab-tasten. Eller din konfigurerede switch_mode nøglebinding.
Se også: Formatters for information om konfiguration af kodeformatering.
Konfiguration
Du kan tilpasse de indbyggede tilstande eller oprette dine egne gennem konfiguration. Tilstande kan konfigureres på to måder:
JSON-konfiguration
Konfigurer tilstande i din opencode.json-konfigurationsfil:
{ "$schema": "https://opencode.ai/config.json", "mode": { "build": { "model": "anthropic/claude-sonnet-4-20250514", "prompt": "{file:./prompts/build.txt}", "tools": { "write": true, "edit": true, "bash": true } }, "plan": { "model": "anthropic/claude-haiku-4-20250514", "tools": { "write": false, "edit": false, "bash": false } } }}Markdown-konfiguration
Du kan også definere tilstande ved hjælp af markdown-filer. Placer dem i:
- Globalt:
~/.config/opencode/modes/ - Projekt:
.opencode/modes/
---model: anthropic/claude-sonnet-4-20250514temperature: 0.1tools: write: false edit: false bash: false---
You are in code review mode. Focus on:
- Code quality and best practices- Potential bugs and edge cases- Performance implications- Security considerations
Provide constructive feedback without making direct changes.Markdown-filnavnet bliver tilstandsnavnet (f.eks. opretter review.md en review-tilstand).
Lad os se nærmere på disse konfigurationsmuligheder.
Model
Brug model-konfigurationen til at tilsidesætte standardmodellen for denne tilstand. Nyttigt til brug af forskellige modeller optimeret til forskellige opgaver. For eksempel en hurtigere model til planlægning, en mere dygtig model til implementering.
{ "mode": { "plan": { "model": "anthropic/claude-haiku-4-20250514" } }}Temperatur
Styr tilfældigheden og kreativiteten af AI’s svar med temperature-konfigurationen. Lavere værdier gør svar mere fokuserede og deterministiske, mens højere værdier øger kreativitet og variabilitet.
{ "mode": { "plan": { "temperature": 0.1 }, "creative": { "temperature": 0.8 } }}Temperaturværdier varierer typisk fra 0,0 til 1,0:
- 0.0-0.2: Meget fokuserede og deterministiske svar, ideel til kodeanalyse og planlægning
- 0,3-0,5: Afbalancerede svar med en vis kreativitet, god til generelle udviklingsopgaver
- 0.6-1.0: Mere kreative og varierede svar, nyttige til brainstorming og udforskning
{ "mode": { "analyze": { "temperature": 0.1, "prompt": "{file:./prompts/analysis.txt}" }, "build": { "temperature": 0.3 }, "brainstorm": { "temperature": 0.7, "prompt": "{file:./prompts/creative.txt}" } }}Hvis der ikke er angivet nogen temperatur, bruger opencode modelspecifikke standarder (typisk 0 for de fleste modeller, 0,55 for Qwen-modeller).
Prompt
Angiv en brugerdefineret systempromptfil for denne tilstand med prompt-konfigurationen. Promptfilen skal indeholde instruktioner, der er specifikke for tilstandens formål.
{ "mode": { "review": { "prompt": "{file:./prompts/code-review.txt}" } }}Denne sti er i forhold til, hvor konfigurationsfilen er placeret. Så dette virker for både den globale opencode-konfiguration og den projektspecifikke konfiguration.
Værktøjer
Kontroller, hvilke værktøjer der er tilgængelige i denne tilstand med tools-konfigurationen. Du kan aktivere eller deaktivere specifikke værktøjer ved at indstille dem til true eller false.
{ "mode": { "readonly": { "tools": { "write": false, "edit": false, "bash": false, "read": true, "grep": true, "glob": true } } }}Hvis der ikke er angivet nogen værktøjer, er alle værktøjer aktiveret som standard.
Tilgængelige værktøjer
Her er alle de værktøjer, der kan styres gennem tilstandskonfigurationen.
| Værktøj | Beskrivelse |
|---|---|
bash | Udfør shell-kommandoer |
edit | Rediger eksisterende filer |
write | Opret nye filer |
read | Læs filindhold |
grep | Søg filindhold |
glob | Find filer efter mønster |
list | Liste biblioteksindhold |
patch | Anvend patches til filer |
todowrite | Administrer todo-lister |
todoread | Læs todo-lister |
webfetch | Hent webindhold |
Brugerdefinerede tilstande
Du kan oprette dine egne brugerdefinerede tilstande ved at tilføje dem til konfigurationen. Her er eksempler, der bruger begge tilgange:
Brug af JSON-konfiguration
{ "$schema": "https://opencode.ai/config.json", "mode": { "docs": { "prompt": "{file:./prompts/documentation.txt}", "tools": { "write": true, "edit": true, "bash": false, "read": true, "grep": true, "glob": true } } }}Brug af markdown-filer
Opret tilstandsfiler i .opencode/modes/ for projektspecifikke tilstande eller ~/.config/opencode/modes/ for globale tilstande:
---temperature: 0.1tools: bash: true read: true grep: true write: false edit: false---
You are in debug mode. Your primary goal is to help investigate and diagnose issues.
Focus on:
- Understanding the problem through careful analysis- Using bash commands to inspect system state- Reading relevant files and logs- Searching for patterns and anomalies- Providing clear explanations of findings
Do not make any changes to files. Only investigate and report.---model: anthropic/claude-sonnet-4-20250514temperature: 0.2tools: edit: true read: true grep: true glob: true---
You are in refactoring mode. Focus on improving code quality without changing functionality.
Priorities:
- Improve code readability and maintainability- Apply consistent naming conventions- Reduce code duplication- Optimize performance where appropriate- Ensure all tests continue to passBrugsscenarier
Her er nogle almindelige brugstilfælde for forskellige tilstande.
- Build mode: Fuldt udviklingsarbejde med alle værktøjer aktiveret
- Plantilstand: Analyse og planlægning uden at foretage ændringer
- Anmeldelsestilstand: Kodegennemgang med skrivebeskyttet adgang plus dokumentationsværktøjer
- Fejlretningstilstand: Fokuseret på undersøgelse med bash og læseværktøjer aktiveret
- Docs-tilstand: Dokumentationsskrivning med filhandlinger, men ingen systemkommandoer
Du kan også finde ud af, at forskellige modeller er gode til forskellige brugssituationer.