--- title: Introduktion 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 med opencode-temaet](../../../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. --- ## Installation 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** ```bash npm install -g opencode-ai ``` ```bash bun install -g opencode-ai ``` ```bash pnpm install -g opencode-ai ``` ```bash yarn global add opencode-ai ``` - **Brug af Homebrew på macOS og Linux** ```bash brew install anomalyco/tap/opencode ``` > Vi anbefaler at bruge OpenCode-tap 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 sudo pacman -S opencode # Arch Linux (Stable) paru -S opencode-bin # Arch Linux (Latest from AUR) ``` #### 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 Chocolatey** ```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). --- ## Konfiguration 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). --- ## Initialisering 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 rod. :::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="Skift til Plan-tilstand" ``` 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. :::tip Giv OpenCode masser af kontekst og eksempler for at hjælpe den med at forstå, hvad du ønsker. ::: 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. ``` :::tip 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" ``` 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 ``` --- ## Deling 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. --- ## Tilpasning Og det er det! Du er nu en professionel i at bruge OpenCode. For at gøre det til dit eget, anbefaler vi [at vælge et tema](/docs/themes), [tilpasse genvejstaster](/docs/keybinds), [konfigurere kodeformater](/docs/formatters), [oprette brugerdefinerede kommandoer](/docs/commands) eller at lege med [OpenCode-konfiguration](/docs/config).