--- 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** ```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-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" ``` 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" ``` 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).