---
title: Modi
description: Ulike moduser for forskjellige brukstilfeller.
---

:::caution
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 shell-kommandoer

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).

---

### Ledetekst

Spesifiser en tilpasset systemmeldingsfil for denne modusen med `prompt`-konfigurasjonen. Ledetekstfilen 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 shell-kommandoer      |
| `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.

- **Build-modus**: Fullt utviklingsarbeid med alle verktøy aktivert
- **Plan-modus**: Analyse og planlegging uten å gjøre endringer
- **Review-modus**: Kodegjennomgang med skrivebeskyttet tilgang pluss dokumentasjonsverktøy
- **Debug-modus**: Fokusert på etterforskning med bash- og leseverktøy aktivert
- **Docs-modus**: Dokumentasjonsskriving med filoperasjoner, men ingen systemkommandoer

Du kan også finne at forskjellige modeller er gode for forskjellige brukstilfeller.
