summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs/da/modes.mdx
blob: a0fb87a8626af90645be9cdc6ed4b45cd03fc324 (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
329
---
title: Tilstande
description: Forskellige tilstande til forskellige anvendelsestilfælde.
---

:::caution
Tilstande er nu konfigureret gennem indstillingen `agent` i opencode-konfigurationen. De
`mode` mulighed er nu forældet. [Learn more](/docs/agents).
:::

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 filer
- `edit` - Kan ikke ændre eksisterende filer, undtagen filer placeret på `.opencode/plans/*.md` for at detaljere selve planen
- `patch` - Kan ikke anvende patches
- `bash` - 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](/docs/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:

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

Du kan også definere tilstande ved hjælp af markdown-filer. Placer dem i:

- Globalt: `~/.config/opencode/modes/`
- Projekt: `.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 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.

```json title="opencode.json"
{
  "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.

```json title="opencode.json"
{
  "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

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

```json title="opencode.json"
{
  "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`.

```json
{
  "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   |
| `patch`     | Anvend patches til filer   |
| `todowrite` | Administrer 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

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

### Brug af markdown-filer

Opret tilstandsfiler i `.opencode/modes/` for projektspecifikke tilstande eller `~/.config/opencode/modes/` for globale tilstande:

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

---

### Brugsscenarier

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.