summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs/nb/modes.mdx
blob: e99c511be6c21f397cc8eab491761d04c690432e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
---
title: Moduser
description: Ulike moduser for forskjellige brukstilfeller.
---

:::caution
Moduser konfigureres nå gjennom alternativet `agent` i OpenCode-konfigurasjonen.
Alternativet `mode` er nå utdatert. [Finn ut mer](/docs/agents).
:::

Moduser i OpenCode lar deg tilpasse oppførselen, verktøyene og prompter 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 din.

---

## Innebygd

OpenCode kommer med to innebygde moduser.

---

### Bygg

Bygg er **standard**-modusen 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` hurtigtast.

Se også: [Formatters](/docs/formatters) for informasjon om kodeformateringskonfigurasjon.

---

## Konfigurer

Du kan tilpasse de innebygde modusene eller opprette din egen gjennom konfigurasjon. Moduser kan konfigureres på to måter:

### JSON-konfigurasjon

Konfigurer moduser i din `opencode.json` konfigurasjonsfil:

```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 hjelp av 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.
```

Filnavnet til markdown-filen 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 å bruke forskjellige modeller optimalisert for forskjellige 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 AI-ens 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, ideelt 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 standardinnstillinger (vanligvis 0 for de fleste modeller, 0,55 for Qwen-modeller).

---

### Prompt

Angi en tilpasset systemprompt-fil for denne modusen med `prompt`-konfigurasjonen. Prompt-filen 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 relativ til der 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 i filinnhold            |
| `glob`      | Finn filer etter mønster    |
| `patch`     | Bruk patcher på filer       |
| `todowrite` | Administrer gjøremålslister |
| `webfetch`  | Hent webinnhold             |

---

## Egendefinerte moduser

Du kan opprette dine egne tilpassede moduser ved å legge dem til i konfigurasjonen. Her er eksempler på bruk av begge metodene:

### Bruke 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
      }
    }
  }
}
```

### Bruke markdown-filer

Opprett 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
```

---

### Bruksområder

Her er noen vanlige bruksområder for forskjellige moduser.

- **Bygg-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 bruksområder.