---
title: Intro
description: Kom godt i gang med OpenCode.
---

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

[**OpenCode**](/) er en open source AI-kodningsagent. Den er tilgængelig som en terminalbaseret grænseflade, desktop-app eller IDE-udvidelse.

![OpenCode TUI with the opencode theme](../../../assets/lander/screenshot.png)

Lad os komme i gang.

---

#### Forudsætninger

For at bruge OpenCode i din terminal skal du bruge:

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

2. API nøgler til de LLM udbydere, du vil bruge.

---

## Installationsprogram

Den nemmeste måde at installere OpenCode på er gennem installationsscriptet.

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

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

- **Bruger 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>

- **Brug af Homebrew på macOS og Linux**

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

  > Vi anbefaler at bruge OpenCode-hanen for at få de mest opdaterede udgivelser. Den officielle `brew install opencode`-formel vedligeholdes af Homebrew-teamet og opdateret sjældnere.

- **Brug af Paru på Arch Linux**

  ```bash
  paru -S opencode-bin
  ```

#### Windows

:::tip[Anbefalet: Brug WSL]
For at få den bedste oplevelse på Windows anbefaler vi at bruge [Windows Subsystem for Linux (WSL)](/docs/windows-wsl). Det giver bedre ydeevne og fuld kompatibilitet med OpenCodes funktioner.
:::

- **Brug af chokolade**

  ```bash
  choco install opencode
  ```

- **Brug af Scoop**

  ```bash
  scoop install opencode
  ```

- **Bruger NPM**

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

- **Brug af Mise**

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

- **Brug af Docker**

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

Support til installation af OpenCode på Windows ved hjælp af Bun er i gang.

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

---

## Konfigurer

Med OpenCode kan du bruge enhver LLM udbyder ved at konfigurere deres API nøgler.

Hvis du er ny til at bruge LLM-udbydere, anbefaler vi at bruge [OpenCode Zen](/docs/zen).
Det er en udvalgt liste over modeller, der er blevet testet og verificeret af OpenCode
holde.

1. Kør kommandoen `/connect` i TUI, vælg opencode, og gå til [opencode.ai/auth](https://opencode.ai/auth).

   ```txt
   /connect
   ```

2. Log ind, tilføj dine faktureringsoplysninger, og kopier din API-nøgle.

3. Indsæt din API nøgle.

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

Alternativt kan du vælge en af ​​de andre udbydere. [Læs mere](/docs/providers#directory).

---

## Initialiser

Nu hvor du har konfigureret en udbyder, kan du navigere til et projekt, der
du vil arbejde på.

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

Og kør OpenCode.

```bash
opencode
```

Derefter initialiseres OpenCode for projektet ved at køre følgende kommando.

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

Dette får OpenCode til at analysere dit projekt og oprette en `AGENTS.md` fil i
projektets stang.

:::tip
Du bør overgive dit projekter `AGENTS.md` fil til Git.
:::

Dette hjælper OpenCode med at forstå projektstrukturen og kodningsmønstrene
brugt.

---

## Brug

Du er nu klar til at bruge OpenCode til at arbejde på dit projekt. Spørg det gerne
noget!

Hvis du er ny til at bruge en AI-kodningsagent, er her nogle eksempler, der evt
hjælp.

---

### Stil spørgsmål

Du kan bede OpenCode om at forklare kodebasen for dig.

:::tip
Brug `@`-tasten til at søge efter filer i projektet.
:::

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

Dette er nyttigt, hvis der er en del af kodebasen, som du ikke har arbejdet på.

---

### Tilføj funktioner

Du kan bede OpenCode om at tilføje nye funktioner til dit projekt. Selvom vi først anbefaler, at du beder den om at lave en plan.

1. **Opret en plan**

   OpenCode har en _Plan mode_, der deaktiverer dens evne til at foretage ændringer og
   foreslå i stedet _hvordan_ det vil implementere funktionen.

   Skift til det ved hjælp af **Tab**-tasten. Du vil se en indikator for dette i nederste højre hjørne.

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

   Lad os nu beskrive, hvad vi vil have den til at gø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 vil give OpenCode nok detaljer til at forstå, hvad du ønsker. Det hjælper
   at tale med det, som om du taler med en juniorudvikler på dit team.

Drikkepenge
Giv OpenCode masser af kontekst og eksempler for at hjælpe den med at forstå, hvad du
mangel.
:::

2. **Gentag om planen**

   Når det giver dig en plan, kan du give den feedback eller tilføje 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.
   ```

Drikkepenge
Træk og slip billeder i terminalen for at tilføje dem til prompten.
:::

OpenCode kan scanne alle billeder, du giver dem og tilføje dem til prompten. Det kan du
gør dette ved at trække og slippe et billede ind i terminalen.

3. **Byg funktionen**

   Når du føler dig godt tilpas med planen, skal du skifte tilbage til _Byggetilstand_ ved
   trykke på **Tab**-tasten igen.

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

   Og beder den om at foretage ændringerne.

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

---

### Foretag ændringer

For mere ligetil ændringer kan du bede OpenCode om at bygge den direkte
uden at skulle gennemgå 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
```

Du vil sikre dig, at du giver en god mængde detaljer, så OpenCode gør det rigtige
ændringer.

---

### Fortryd ændringer

Lad os sige, at du beder OpenCode om at foretage nogle ændringer.

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

Men du indser, at det ikke er, hvad du ønskede. Du **kan fortryde** ændringerne
ved hjælp af kommandoen `/undo`.

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

OpenCode vil nu vende tilbage til ændringerne, du har foretaget, og vise din oprindelige besked
igen.

```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 prompten og bede OpenCode om at prøve igen.

:::tip
Du kan køre `/undo` flere gange for at fortryde flere ændringer.
:::

Eller du **kan gentage** ændringerne ved hjælp af kommandoen `/redo`.

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

---

## Del

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

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

Dette vil oprette et link til den aktuelle samtale og kopiere det til denne udklipsholder.

:::note
Samtaler dele ikke som standard.
:::

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

---

## Tilpas

Og det er det! Du er nu en professionel i at bruge OpenCode.

For at gøre det til dit eget, anbefaler vi [picking a theme](/docs/themes), [customizing the keybinds](/docs/keybinds), [configuring code formatters](/docs/formatters), [creating custom commands](/docs/commands) eller at lege med [OpenCode config](/docs/config).
