--- title: Modi description: Ulike moduser for forskjellige brukstilfeller. --- :::forsiktighet Modi er nå konfigurert gjennom alternativet `agent` i opencode-konfigurasjonen. De Alternativet `mode` er nå utdatert. [Finn ut mer](/docs/agents). ::: Moduser i opencode lar deg tilpasse oppførselen, verktøyene og ledetekstene for ulike brukstilfeller. Den kommer med to innebygde moduser: **bygg** og **plan**. Du kan tilpasse disse eller konfigurer din egen gjennom opencode-konfigurasjonen. Du kan bytte mellom moduser under en økt eller konfigurere dem i konfigurasjonsfilen. --- ## Innebygd opencode kommer med to innebygde moduser. --- ### Bygg Bygg er **standard**-modus med alle verktøy aktivert. Dette er standardmodusen for utviklingsarbeid der du trenger full tilgang til filoperasjoner og systemkommandoer. --- ### Plan En begrenset modus designet for planlegging og analyse. I planmodus er følgende verktøy deaktivert som standard: - `write` - Kan ikke opprette nye filer - `edit` - Kan ikke endre eksisterende filer, bortsett fra filer som ligger på `.opencode/plans/*.md` for å detaljere selve planen - `patch` - Kan ikke bruke patcher - `bash` - Kan ikke utføre skallkommandoer Denne modusen er nyttig når du vil at AI skal analysere kode, foreslå endringer eller lage planer uten å gjøre noen faktiske endringer i kodebasen. --- ## Bytte Du kan bytte mellom moduser under en økt ved å bruke _Tab_-tasten. Eller din konfigurerte `switch_mode` nøkkelbinding. Se også: [Formatters](/docs/formatters) for informasjon om konfigurasjon av kodeformatering. --- ## Konfigurer Du kan tilpasse de innebygde modusene eller lage dine egne gjennom konfigurasjon. Modi kan konfigureres på to måter: ### JSON Konfigurasjon Konfigurer moduser i konfigurasjonsfilen `opencode.json`: ```json title="opencode.json" { "$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-konfigurasjon Du kan også definere moduser ved å bruke markdown-filer. Plasser dem i: - Globalt: `~/.config/opencode/modes/` - Prosjekt: `.opencode/modes/` ```markdown title="~/.config/opencode/modes/review.md" --- model: anthropic/claude-sonnet-4-20250514 temperature: 0.1 tools: 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 blir modusnavnet (f.eks. `review.md` oppretter en `review`-modus). La oss se på disse konfigurasjonsalternativene i detalj. --- ### Modell Bruk `model`-konfigurasjonen for å overstyre standardmodellen for denne modusen. Nyttig for bruk av ulike modeller optimalisert for ulike oppgaver. For eksempel en raskere modell for planlegging, en mer kapabel modell for implementering. ```json title="opencode.json" { "mode": { "plan": { "model": "anthropic/claude-haiku-4-20250514" } } } ``` --- ### Temperatur Kontroller tilfeldigheten og kreativiteten til AIs svar med `temperature`-konfigurasjonen. Lavere verdier gjør svarene mer fokuserte og deterministiske, mens høyere verdier øker kreativiteten og variasjonen. ```json title="opencode.json" { "mode": { "plan": { "temperature": 0.1 }, "creative": { "temperature": 0.8 } } } ``` Temperaturverdier varierer vanligvis fra 0,0 til 1,0: - **0.0-0.2**: Veldig fokuserte og deterministiske svar, ideell for kodeanalyse og planlegging - **0,3-0,5**: Balanserte svar med litt kreativitet, bra for generelle utviklingsoppgaver - **0.6-1.0**: Mer kreative og varierte svar, nyttig for idédugnad og utforskning ```json title="opencode.json" { "mode": { "analyze": { "temperature": 0.1, "prompt": "{file:./prompts/analysis.txt}" }, "build": { "temperature": 0.3 }, "brainstorm": { "temperature": 0.7, "prompt": "{file:./prompts/creative.txt}" } } } ``` Hvis ingen temperatur er spesifisert, bruker opencode modellspesifikke standarder (vanligvis 0 for de fleste modeller, 0,55 for Qwen-modeller). --- ### Spør Spesifiser en tilpasset systemmeldingsfil for denne modusen med `prompt`-konfigurasjonen. Spørrefilen skal inneholde instruksjoner som er spesifikke for modusens formål. ```json title="opencode.json" { "mode": { "review": { "prompt": "{file:./prompts/code-review.txt}" } } } ``` Denne banen er i forhold til hvor konfigurasjonsfilen er plassert. Så dette fungerer for både den globale opencode-konfigurasjonen og den prosjektspesifikke konfigurasjonen. --- ### Verktøy Kontroller hvilke verktøy som er tilgjengelige i denne modusen med `tools`-konfigurasjonen. Du kan aktivere eller deaktivere spesifikke verktøy ved å sette dem til `true` eller `false`. ```json { "mode": { "readonly": { "tools": { "write": false, "edit": false, "bash": false, "read": true, "grep": true, "glob": true } } } } ``` Hvis ingen verktøy er spesifisert, er alle verktøy aktivert som standard. --- #### Tilgjengelige verktøy Her er alle verktøyene som kan kontrolleres gjennom moduskonfigurasjonen. | Verktøy | Beskrivelse | | ----------- | --------------------------- | | `bash` | Utfør skallkommandoer | | `edit` | Endre eksisterende filer | | `write` | Opprett nye filer | | `read` | Les filinnhold | | `grep` | Søk filinnhold | | `glob` | Finn filer etter mønster | | `list` | Liste kataloginnhold | | `patch` | Bruk patcher på filer | | `todowrite` | Administrer gjøremålslister | | `todoread` | Les gjøremålslister | | `webfetch` | Hent nettinnhold | --- ## Egendefinerte moduser Du kan lage dine egne tilpassede moduser ved å legge dem til konfigurasjonen. Her er eksempler som bruker begge tilnærmingene: ### Bruker JSON konfigurasjon ```json title="opencode.json" {4-14} { "$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 } } } } ``` ### Bruker markdown-filer Lag modusfiler i `.opencode/modes/` for prosjektspesifikke moduser eller `~/.config/opencode/modes/` for globale moduser: ```markdown title=".opencode/modes/debug.md" --- temperature: 0.1 tools: 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. ``` ```markdown title="~/.config/opencode/modes/refactor.md" --- model: anthropic/claude-sonnet-4-20250514 temperature: 0.2 tools: 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 pass ``` --- ### Brukstilfeller Her er noen vanlige brukstilfeller for forskjellige moduser. - **Byggemodus**: Fullt utviklingsarbeid med alle verktøy aktivert - **Planmodus**: Analyse og planlegging uten å gjøre endringer - **Gjennomgangsmodus**: Kodegjennomgang med skrivebeskyttet tilgang pluss dokumentasjonsverktøy - **Feilsøkingsmodus**: Fokusert på etterforskning med bash- og leseverktøy aktivert - **Dokumentmodus**: Dokumentasjonsskriving med filoperasjoner, men ingen systemkommandoer Du kan også finne at forskjellige modeller er gode for forskjellige brukstilfeller.