summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs/nb/index.mdx
blob: 0e6846d2b9deb24009d2a0a5401c05be443f3fb5 (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
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
---
title: Introduksjon
description: Kom i gang med OpenCode.
---

import { Tabs, TabItem } from "@astrojs/starlight/components"
import config from "../../../../config.mjs"
export const console = config.console

[**OpenCode**](/) er en åpen kildekode AI kodeagent. Den er tilgjengelig som et terminalbasert grensesnitt, skrivebordsapp eller IDE-utvidelse.

![OpenCode TUI med opencode-temaet](../../../assets/lander/screenshot.png)

La oss komme i gang.

---

#### Forutsetninger

For å bruke OpenCode i terminalen din trenger du:

1. En moderne terminalemulator som:
   - [WezTerm](https://wezterm.org), på tvers av plattformer
   - [Alacritty](https://alacritty.org), på tvers av plattformer
   - [Ghostty](https://ghostty.org), Linux og macOS
   - [Kitty](https://sw.kovidgoyal.net/kitty/), Linux og macOS

2. API-nøkler for LLM-leverandørene du vil bruke.

---

## Installasjon

Den enkleste måten å installere OpenCode på er gjennom installasjonsskriptet.

```bash
curl -fsSL https://opencode.ai/install | bash
```

Du kan også installere den med følgende kommandoer:

- **Bruke Node.js**

        <Tabs>

      <TabItem label="npm">
      ```bash
      npm install -g opencode-ai
      ```

          </TabItem>

        <TabItem label="Bun">
        ```bash
        bun install -g opencode-ai
        ```

          </TabItem>

        <TabItem label="pnpm">
        ```bash
        pnpm install -g opencode-ai
        ```

          </TabItem>

        <TabItem label="Yarn">
        ```bash
        yarn global add opencode-ai
        ```

      </TabItem>

  </Tabs>

- **Bruke Homebrew på macOS og Linux**

  ```bash
  brew install anomalyco/tap/opencode
  ```

  > Vi anbefaler å bruke OpenCode-tappen for de mest oppdaterte utgivelsene. Den offisielle `brew install opencode`-formelen vedlikeholdes av Homebrew-teamet og oppdateres sjeldnere.

- **Bruke Paru på Arch Linux**

  ```bash
  sudo pacman -S opencode           # Arch Linux (Stable)
  paru -S opencode-bin              # Arch Linux (Latest from AUR)
  ```

#### Windows

:::tip[Anbefalt: Bruk WSL]
For den beste opplevelsen på Windows anbefaler vi å bruke [Windows Subsystem for Linux (WSL)](/docs/windows-wsl). Det gir bedre ytelse og full kompatibilitet med funksjonene i OpenCode.
:::

- **Bruke Chocolatey**

  ```bash
  choco install opencode
  ```

- **Bruke Scoop**

  ```bash
  scoop install opencode
  ```

- **Bruke npm**

  ```bash
  npm install -g opencode-ai
  ```

- **Bruke Mise**

  ```bash
  mise use -g github:anomalyco/opencode
  ```

- **Bruke Docker**

  ```bash
  docker run -it --rm ghcr.io/anomalyco/opencode
  ```

Støtte for installasjon av OpenCode på Windows med Bun er under arbeid.

Du kan også hente binæren fra [Releases](https://github.com/anomalyco/opencode/releases).

---

## Konfigurasjon

Med OpenCode kan du bruke hvilken som helst LLM-leverandør ved å konfigurere deres API-nøkler.

Hvis du er ukjent med LLM-leverandører, anbefaler vi å bruke [OpenCode Zen](/docs/zen).
Det er en kuratert liste over modeller som har blitt testet og verifisert av OpenCode-teamet.

1. Kjør kommandoen `/connect` i TUI, velg OpenCode og gå til [opencode.ai/auth](https://opencode.ai/auth).

   ```txt
   /connect
   ```

2. Logg på, legg til faktureringsdetaljene dine og kopier API-nøkkelen.

3. Lim inn API-nøkkelen.

   ```txt
   ┌ API key
   │
   │
   └ enter
   ```

Alternativt kan du velge en av de andre leverandørene. [Finn ut mer](/docs/providers#directory).

---

## Initialisering

Nå som du har konfigurert en leverandør, kan du navigere til et prosjekt som
du vil jobbe med.

```bash
cd /path/to/project
```

Og kjør OpenCode.

```bash
opencode
```

Deretter initialiserer du OpenCode for prosjektet ved å kjøre følgende kommando.

```bash frame="none"
/init
```

Dette vil få OpenCode til å analysere prosjektet ditt og opprette en `AGENTS.md`-fil i
prosjektroten.

:::tip
Du bør overgi prosjektets `AGENTS.md`-fil til Git.
:::

Dette hjelper OpenCode med å forstå prosjektstrukturen og kodingsmønstrene
brukt.

---

## Bruk

Du er nå klar til å bruke OpenCode for å jobbe med prosjektet ditt. Spør det gjerne
noe!

Hvis du er ukjent med AI-kodeagenter, her er noen eksempler som kan
hjelpe.

---

### Still spørsmål

Du kan be OpenCode forklare kodebasen for deg.

:::tip
Bruk `@`-tasten for uklart søk etter filer i prosjektet.
:::

```txt frame="none" "@packages/functions/src/api/index.ts"
How is authentication handled in @packages/functions/src/api/index.ts
```

Dette er nyttig hvis det er en del av kodebasen du ikke har jobbet med.

---

### Legg til funksjonalitet

Du kan be OpenCode legge til nye funksjoner i prosjektet ditt. Selv om vi først anbefaler å be den om å lage en plan.

1. **Lag en plan**

   OpenCode har en _Plan-modus_ som deaktiverer muligheten til å gjøre endringer og
   foreslår i stedet _hvordan_ den vil implementere funksjonen.

   Bytt til den ved å bruke **Tab**-tasten. Du vil se en indikator for dette i nedre høyre hjørne.

   ```bash frame="none" title="Switch to Plan mode"
   <TAB>
   ```

   La oss nå beskrive hva vi vil at den skal gjøre.

   ```txt frame="none"
   When a user deletes a note, we'd like to flag it as deleted in the database.
   Then create a screen that shows all the recently deleted notes.
   From this screen, the user can undelete a note or permanently delete it.
   ```

   Du bør gi OpenCode nok detaljer til å forstå hva du ønsker. Det hjelper
   å snakke med det som om du snakker med en juniorutvikler på laget ditt.

   :::tip
   Gi OpenCode mye kontekst og eksempler for å hjelpe den å forstå hva du
   ønsker.
   :::

2. **Iterer på planen**

   Når du får en plan, kan du gi den tilbakemelding eller legge til flere detaljer.

   ```txt frame="none"
   We'd like to design this new screen using a design I've used before.
   [Image #1] Take a look at this image and use it as a reference.
   ```

   :::tip
   Dra og slipp bilder i terminalen for å legge dem til ledeteksten.
   :::

   OpenCode kan skanne alle bilder du gir den og legge dem til i ledeteksten. Du kan
   gjør dette ved å dra og slippe et bilde inn i terminalen.

3. **Bygg funksjonen**

   Når du føler deg komfortabel med planen, bytt tilbake til _Byggemodus_ ved å
   trykke på **Tab**-tasten igjen.

   ```bash frame="none"
   <TAB>
   ```

   Og be den om å gjøre endringene.

   ```bash frame="none"
   Sounds good! Go ahead and make the changes.
   ```

---

### Gjør endringer

For mer enkle endringer kan du be OpenCode om å bygge det direkte
uten å måtte gjennomgå planen først.

```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts"
We need to add authentication to the /settings route. Take a look at how this is
handled in the /notes route in @packages/functions/src/notes.ts and implement
the same logic in @packages/functions/src/settings.ts
```

Sørg for å gi nok detaljer, slik at OpenCode gjør de rette
endringene.

---

### Angre endringer

La oss si at du ber OpenCode om å gjøre noen endringer.

```txt frame="none" "@packages/functions/src/api/index.ts"
Can you refactor the function in @packages/functions/src/api/index.ts?
```

Men du skjønner at det ikke er det du ønsket. Du **kan angre** endringene
ved å bruke kommandoen `/undo`.

```bash frame="none"
/undo
```

OpenCode vil nå tilbakestille endringene du har gjort og vise den opprinnelige meldingen
igjen.

```txt frame="none" "@packages/functions/src/api/index.ts"
Can you refactor the function in @packages/functions/src/api/index.ts?
```

Herfra kan du justere ledeteksten og be OpenCode om å prøve igjen.

:::tip
Du kan kjøre `/undo` flere ganger for å angre flere endringer.
:::

Eller du **kan gjøre om** endringene ved å bruke `/redo`-kommandoen.

```bash frame="none"
/redo
```

---

## Deling

Samtalene du har med OpenCode kan [deles med din
team](/docs/share).

```bash frame="none"
/share
```

Dette vil opprette en kobling til den gjeldende samtalen og kopiere den til utklippstavlen.

:::note
Samtaler deles ikke som standard.
:::

Her er en [eksempelsamtale](https://opencode.ai/s/4XP1fce5) med OpenCode.

---

## Tilpasning

Og det er det! Du er nå en proff på å bruke OpenCode.

For å tilpasse det anbefaler vi å [velge et tema](/docs/themes), [tilpasse tastebindingene](/docs/keybinds), [konfigurere kodeformattere](/docs/formatters), [opprette egendefinerte kommandoer](/docs/commands) eller leke med [OpenCode-konfigurasjonen](/docs/config).