| --- |
| 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. |
|
|
|  |
|
|
| Lad os komme i gang. |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|
| --- |
| |
| |
|
|
| 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-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 |
| paru -S opencode-bin |
| ``` |
|
|
| |
|
|
| :::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). |
|
|
| --- |
| |
| |
|
|
| 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). |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|
| --- |
| |
| |
|
|
| 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å. |
|
|
| --- |
| |
| |
|
|
| 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" |
| <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. |
|
|
| :::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 |
| ``` |
|
|
| :::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" |
| <TAB> |
| ``` |
|
|
| Og beder den om at foretage ændringerne. |
|
|
| ```bash frame="none" |
| Sounds good! Go ahead and make the changes. |
| ``` |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|
| --- |
| |
| |
|
|
| 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 |
| ``` |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|
| --- |
| |
| |
|
|
| 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). |
|
|