fix(docs): locale translations for nav elements and headings

This commit is contained in:
Adam
2026-02-11 18:51:27 -06:00
parent 8eea53a41e
commit aea68c386a
484 changed files with 12718 additions and 11212 deletions

View File

@@ -1,25 +1,25 @@
---
title: ACP Støtte
title: ACP-støtte
description: Bruk opencode i en hvilken som helst ACP-kompatibel editor.
---
OpenCode støtter [Agent Client Protocol](https://agentclientprotocol.com) eller (ACP), slik at du kan bruke den direkte i kompatible redaktører og IDE-er.
OpenCode støtter [Agent Client Protocol](https://agentclientprotocol.com) eller (ACP), slik at du kan bruke den direkte i kompatible editorer og IDE-er.
:::tip
For en liste over redaktører og verktøy som støtter ACP, sjekk ut [ACP fremdriftsrapport](https://zed.dev/blog/acp-progress-report#available-now).
For en liste over editorer og verktøy som støtter ACP, sjekk ut [ACP fremdriftsrapport](https://zed.dev/blog/acp-progress-report#available-now).
:::
ACP er en åpen protokoll som standardiserer kommunikasjon mellom koderedigerere og AI kodeagenter.
ACP er en åpen protokoll som standardiserer kommunikasjon mellom kodeditorer og AI-kodeagenter.
---
## Konfigurer
## Konfigurasjon
For å bruke OpenCode via ACP, konfigurer redigeringsprogrammet til å kjøre kommandoen `opencode acp`.
Kommandoen starter OpenCode som en ACP-kompatibel underprosess som kommuniserer med redaktøren din over JSON-RPC via stdio.
Kommandoen starter OpenCode som en ACP-kompatibel underprosess som kommuniserer med editoren din over JSON-RPC via stdio.
Nedenfor er eksempler på populære redaktører som støtter ACP.
Nedenfor er eksempler på populære editorer som støtter ACP.
---

View File

@@ -15,7 +15,7 @@ Du kan bytte mellom agenter under en økt eller påkalle dem med `@`-omtalen.
## Typer
Det er to typer agenter i OpenCode; primære agenter og subagenter.
Det er to typer agenter i OpenCode; primære agenter og underagenter.
---
@@ -31,21 +31,21 @@ OpenCode kommer med to innebygde primære agenter, **Build** og **Plan**. Vi ser
---
### Subagenter
### Underagenter
Subagenter er spesialiserte assistenter som primære agenter kan påkalle for spesifikke oppgaver. Du kan også starte dem manuelt ved å **@ nevne** dem i meldingene dine.
Underagenter er spesialiserte assistenter som primære agenter kan påkalle for spesifikke oppgaver. Du kan også starte dem manuelt ved å **@ nevne** dem i meldingene dine.
OpenCode kommer med to innebygde subagenter, **General** og **Explore**. Vi skal se på dette nedenfor.
OpenCode kommer med to innebygde underagenter, **General** og **Explore**. Vi skal se på dette nedenfor.
---
## Innebygd
OpenCode kommer med to innebygde primære agenter og to innebygde subagenter.
OpenCode kommer med to innebygde primære agenter og to innebygde underagenter.
---
### Bruk Build
### Bruk av Build
_Modus_: `primary`
@@ -53,7 +53,7 @@ Build er **standard** primæragent med alle verktøy aktivert. Dette er standard
---
### Bruk Plan
### Bruk av Plan
_Modus_: `primary`
@@ -67,7 +67,7 @@ Denne agenten er nyttig når du vil at LLM skal analysere kode, foreslå endring
---
### Bruk General
### Bruk av General
_Modus_: `subagent`
@@ -75,7 +75,7 @@ En generell agent for å undersøke komplekse spørsmål og utføre flertrinnsop
---
### Bruk Explore
### Bruk av Explore
_Modus_: `subagent`
@@ -83,7 +83,7 @@ En rask, skrivebeskyttet agent for å utforske kodebaser. Kan ikke endre filer.
---
### Bruk Compaction
### Bruk av Compaction
_Modus_: `primary`
@@ -91,7 +91,7 @@ Skjult systemagent som komprimerer lang kontekst til et mindre sammendrag. Den k
---
### Bruk Title
### Bruk av Title
_Modus_: `primary`
@@ -99,7 +99,7 @@ Skjult systemagent som genererer korte økttitler. Den kjører automatisk og kan
---
### Bruk Summary
### Bruk av Summary
_Modus_: `primary`
@@ -111,7 +111,7 @@ Skjult systemagent som lager øktsammendrag. Den kjører automatisk og kan ikke
1. For primære agenter, bruk **Tab**-tasten for å bla gjennom dem under en økt. Du kan også bruke din konfigurerte `switch_agent` nøkkelbinding.
2. Subagenter kan påkalles:
2. Underagenter kan påkalles:
- **Automatisk** av primære agenter for spesialiserte oppgaver basert på deres beskrivelser.
- Manuelt ved å **@ nevne** en underagent i meldingen. For eksempel.
@@ -127,7 +127,7 @@ Skjult systemagent som lager øktsammendrag. Den kjører automatisk og kan ikke
---
## Konfigurer
## Konfigurasjon
Du kan tilpasse de innebygde agentene eller lage dine egne gjennom konfigurasjon. Agenter kan konfigureres på to måter:
@@ -322,9 +322,9 @@ Sett til `true` for å deaktivere agenten.
---
### Spør
### Ledetekst
Spesifiser en tilpasset systemmeldingsfil for denne agenten med `prompt`-konfigurasjonen. Spørrefilen skal inneholde instruksjoner som er spesifikke for agentens formål.
Spesifiser en tilpasset systemmeldingsfil for denne agenten med `prompt`-konfigurasjonen. Ledetekstfilen skal inneholde instruksjoner som er spesifikke for agentens formål.
```json title="opencode.json"
{
@@ -616,7 +616,7 @@ Bruk en gyldig sekskantfarge (f.eks. `#FF5733`) eller temafarge: `primary`, `sec
---
### Topp P
### Top P
Kontroller responsmangfoldet med alternativet `top_p`. Alternativ til temperatur for å kontrollere tilfeldighet.
@@ -634,7 +634,7 @@ Verdiene varierer fra 0,0 til 1,0. Lavere verdier er mer fokuserte, høyere verd
---
### Tillegg
### Ekstra
Eventuelle andre alternativer du spesifiserer i agentkonfigurasjonen vil bli **overført direkte** til leverandøren som modellalternativer. Dette lar deg bruke leverandørspesifikke funksjoner og parametere.
@@ -661,7 +661,7 @@ Kjør `opencode models` for å se en liste over tilgjengelige modeller.
---
## Opprett agenter
## Opprette agenter
Du kan opprette nye agenter ved å bruke følgende kommando:
@@ -679,15 +679,15 @@ Denne interaktive kommandoen vil:
---
## Brukstilfeller
## Bruksområder
Her er noen vanlige brukstilfeller for forskjellige agenter.
Her er noen vanlige bruksområder for forskjellige agenter.
- **Byggagent**: Fullstendig utviklingsarbeid med alle verktøy aktivert
- **Planagent**: Analyse og planlegging uten å gjøre endringer
- **Anmeldelsesagent**: Kodegjennomgang med skrivebeskyttet tilgang pluss dokumentasjonsverktøy
- **Kodevurderingsagent**: Kodegjennomgang med skrivebeskyttet tilgang pluss dokumentasjonsverktøy
- **Feilsøkingsagent**: Fokusert på etterforskning med bash og leseverktøy aktivert
- **Docs-agent**: Dokumentasjonsskriving med filoperasjoner, men ingen systemkommandoer
- **Dokumentasjonsagent**: Dokumentasjonsskriving med filoperasjoner, men ingen systemkommandoer
---

View File

@@ -1,6 +1,6 @@
---
title: CLI
description: opencode CLI alternativer og kommandoer.
description: OpenCode CLI-alternativer og kommandoer.
---
import { Tabs, TabItem } from "@astrojs/starlight/components"
@@ -36,7 +36,7 @@ opencode [project]
| `--fork` | | Forgren økten ved fortsettelse (bruk med `--continue` eller `--session`) |
| `--prompt` | | Ledetekst som skal brukes |
| `--model` | `-m` | Modell å bruke i form av leverandør/modell |
| `--agent` | | Agent å bruke |
| `--agent` | | Agent som skal brukes |
| `--port` | | Port å lytte på |
| `--hostname` | | Vertsnavn å lytte på |
@@ -109,7 +109,7 @@ opencode agent list
### auth
Kommando for å administrere legitimasjon og logging for leverandører.
Kommando for administrasjon av påloggingsinformasjon og innlogging for leverandører.
```bash
opencode auth [command]
@@ -125,19 +125,19 @@ OpenCode drives av leverandørlisten på [Models.dev](https://models.dev), så d
opencode auth login
```
Når OpenCode starter opp, laster den leverandørene fra legitimasjonsfilen. Og hvis det er noen nøkler definert i miljøene dine eller en `.env`-fil i prosjektet ditt.
Når OpenCode starter opp, laster den leverandørene fra filen med påloggingsinformasjon. Og hvis det er noen nøkler definert i miljøene dine eller en `.env`-fil i prosjektet ditt.
---
#### list
Viser alle de autentiserte leverandørene som er lagret i legitimasjonsfilen.
Viser alle de autentiserte leverandørene som er lagret i filen med påloggingsinformasjon.
```bash
opencode auth list
```
Eller kortversjonen.
Eller bruk kortversjonen.
```bash
opencode auth ls
@@ -147,7 +147,7 @@ opencode auth ls
#### logout
Logger deg ut av en leverandør ved å fjerne den fra legitimasjonsfilen.
Logger deg ut av en leverandør ved å fjerne den fra filen med påloggingsinformasjon.
```bash
opencode auth logout
@@ -187,10 +187,10 @@ opencode github run
##### Flagg
| Flagg | Beskrivelse |
| --------- | ---------------------------------------- |
| `--event` | GitHub mock-hendelse å kjøre agenten for |
| `--token` | GitHub personlig tilgangstoken |
| Flagg | Beskrivelse |
| --------- | -------------------------------------------- |
| `--event` | GitHub mock-hendelse agenten skal kjøres for |
| `--token` | GitHub personlig tilgangsnøkkel |
---
@@ -258,7 +258,7 @@ opencode mcp auth ls
#### logout
Fjern OAuth-legitimasjon for en MCP-server.
Fjern OAuth-påloggingsinformasjon for en MCP-server.
```bash
opencode mcp logout [name]
@@ -323,7 +323,7 @@ Dette er nyttig for skripting, automatisering eller når du vil ha et raskt svar
opencode run Explain the use of context in Go
```
Du kan også koble til en kjørende `opencode serve`-forekomst for å unngå MCP-tjenerkaldoppstartstider ved hver kjøring:
Du kan også koble til en kjørende `opencode serve`-forekomst for å unngå MCP-serveres kaldstarttid ved hver kjøring:
```bash
# Start a headless server in one terminal
@@ -344,7 +344,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
| `--share` | | Del økten |
| `--model` | `-m` | Modell å bruke i form av leverandør/modell |
| `--agent` | | Agent å bruke |
| `--file` | `-f` | Fil(er) som skal legges ved melding |
| `--file` | `-f` | Fil(er) som skal legges ved meldingen |
| `--format` | | Format: standard (formatert) eller json (rå JSON hendelser) |
| `--title` | | Tittel for økten (bruker avkortet ledetekst hvis ingen verdi er oppgitt) |
| `--attach` | | Koble til en kjørende OpenCode-server (f.eks. http://localhost:4096) |
@@ -354,7 +354,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
### serve
Start en hodeløs OpenCode-server for API-tilgang. Sjekk ut [server-dokumentene](/docs/server) for hele HTTP-grensesnittet.
Start en headless OpenCode-server for API-tilgang. Sjekk ut [server-dokumentene](/docs/server) for hele HTTP-grensesnittet.
```bash
opencode serve
@@ -364,12 +364,12 @@ Dette starter en HTTP-server som gir API tilgang til OpenCode-funksjonalitet ute
#### Flagg
| Flagg | Beskrivelse |
| ------------ | --------------------------------------------------- |
| `--port` | Port å lytte på |
| `--hostname` | Vertsnavn å lytte på |
| `--mdns` | Aktiver mDNS-oppdagelse |
| `--cors` | Ytterligere nettleseropprinnelse for å tillate CORS |
| Flagg | Beskrivelse |
| ------------ | -------------------------------------------------- |
| `--port` | Port å lytte på |
| `--hostname` | Vertsnavn å lytte på |
| `--mdns` | Aktiver mDNS-oppdagelse |
| `--cors` | Ytterligere nettleseropprinnelse som tillater CORS |
---
@@ -450,7 +450,7 @@ opencode import https://opncd.ai/s/abc123
### web
Start en hodeløs OpenCode-server med et webgrensesnitt.
Start en headless OpenCode-server med et webgrensesnitt.
```bash
opencode web
@@ -460,12 +460,12 @@ Dette starter en HTTP-server og åpner en nettleser for å få tilgang til OpenC
#### Flagg
| Flagg | Beskrivelse |
| ------------ | --------------------------------------------------- |
| `--port` | Port å lytte på |
| `--hostname` | Vertsnavn å lytte på |
| `--mdns` | Aktiver mDNS-oppdagelse |
| `--cors` | Ytterligere nettleseropprinnelse for å tillate CORS |
| Flagg | Beskrivelse |
| ------------ | -------------------------------------------------- |
| `--port` | Port å lytte på |
| `--hostname` | Vertsnavn å lytte på |
| `--mdns` | Aktiver mDNS-oppdagelse |
| `--cors` | Ytterligere nettleseropprinnelse som tillater CORS |
---
@@ -582,7 +582,7 @@ OpenCode kan konfigureres ved hjelp av miljøvariabler.
---
### Eksperimentell
### Eksperimentelt
Disse miljøvariablene muliggjør eksperimentelle funksjoner som kan endres eller fjernes.
@@ -591,8 +591,8 @@ Disse miljøvariablene muliggjør eksperimentelle funksjoner som kan endres elle
| `OPENCODE_EXPERIMENTAL` | boolsk | Aktiver alle eksperimentelle funksjoner |
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolsk | Aktiver ikonoppdagelse |
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolsk | Deaktiver kopi ved valg i TUI |
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | nummer | Standard tidsavbrudd for bash-kommandoer i ms |
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | nummer | Maks Output Tokens for LLM-svar |
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | tall | Standard tidsavbrudd for bash-kommandoer i ms |
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | tall | Maks Output Tokens for LLM-svar |
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolsk | Aktiver filovervåker for hele dir |
| `OPENCODE_EXPERIMENTAL_OXFMT` | boolsk | Aktiver oxfmt formatter |
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | boolsk | Aktiver eksperimentelt LSP-verktøy |

View File

@@ -40,7 +40,7 @@ Bruk kommandoen ved å skrive `/` etterfulgt av kommandonavnet.
---
## Konfigurer
## Konfigurasjon
Du kan legge til egendefinerte kommandoer gjennom OpenCode-konfigurasjonen eller ved å lage markdown-filer i katalogen `commands/`.
@@ -102,7 +102,7 @@ deg kjøre:
---
## Ledetekst-konfigurasjon
## Ledetekstkonfigurasjon
Ledetekstene for de egendefinerte kommandoene støtter flere spesielle plassholdere og syntaks.
@@ -161,7 +161,7 @@ Dette erstatter:
---
### Shell-utgang
### Shell-utdata
Bruk _!`command`_ for å injisere [bash-kommando](/docs/tui#bash-commands)-utdata i ledeteksten.
@@ -274,9 +274,9 @@ Denne kommandoen vil veilede deg gjennom å lage en ny agent med en tilpasset sy
---
### Subtask
### Underoppgave
Bruk `subtask` boolean for å tvinge kommandoen til å utløse en [subagent](/docs/agents/#subagents) påkalling.
Bruk `subtask` for å tvinge kommandoen til å utløse en [subagent](/docs/agents/#subagents) påkalling.
Dette er nyttig hvis du vil at kommandoen ikke skal forurense din primære kontekst og vil **tvinge** agenten til å fungere som en underagent,
selv om `mode` er satt til `primary` på [agent](/docs/agents) konfigurasjonen.

View File

@@ -1,5 +1,5 @@
---
title: Konfig
title: Konfigurasjon
description: Ved å bruke opencode JSON-konfigurasjonen.
---
@@ -23,7 +23,7 @@ OpenCode støtter både **JSON** og **JSONC** (JSON med kommentarer) formater.
---
## Steder
## Plasseringer
Du kan plassere konfigurasjonen på et par forskjellige steder, og de har en
annen rekkefølge.
@@ -34,16 +34,16 @@ Konfigurasjonsfiler er **slått sammen**, ikke erstattet.
Konfigurasjonsfiler slås sammen, ikke erstattes. Innstillinger fra følgende konfigurasjonsplasseringer kombineres. Senere konfigurasjoner overstyrer tidligere kun for motstridende nøkler. Ikke-motstridende innstillinger fra alle konfigurasjoner er bevart.
For eksempel, hvis dine globale konfigurasjonssett `theme: "opencode"` og `autoupdate: true`, og prosjektkonfigurasjonen setter `model: "anthropic/claude-sonnet-4-5"`, vil den endelige konfigurasjonen inkludere alle tre innstillingene.
For eksempel, hvis din globale konfigurasjon setter `theme: "opencode"` og `autoupdate: true`, og prosjektkonfigurasjonen setter `model: "anthropic/claude-sonnet-4-5"`, vil den endelige konfigurasjonen inkludere alle tre innstillingene.
---
### Forrangsrekkefølge
### Prioritetsrekkefølge
Konfigurasjonskilder lastes inn i denne rekkefølgen (senere kilder overstyrer tidligere):
1. **Ekstern konfig** (fra `.well-known/opencode`) - organisasjonsstandarder
2. **Global konfig** (`~/.config/opencode/opencode.json`) - brukerinnstillinger
1. **Ekstern konfigurasjon** (fra `.well-known/opencode`) - organisasjonsstandarder
2. **Global konfigurasjon** (`~/.config/opencode/opencode.json`) - brukerinnstillinger
3. **Egendefinert konfigurasjon** (`OPENCODE_CONFIG` env var) - egendefinerte overstyringer
4. **Prosjektkonfigurasjon** (`opencode.json` i prosjekt) - prosjektspesifikke innstillinger
5. **`.opencode` kataloger** - agenter, kommandoer, plugins
@@ -52,16 +52,16 @@ Konfigurasjonskilder lastes inn i denne rekkefølgen (senere kilder overstyrer t
Dette betyr at prosjektkonfigurasjoner kan overstyre globale standardinnstillinger, og globale konfigurasjoner kan overstyre eksterne organisasjonsstandarder.
:::note
`.opencode` og `~/.config/opencode` katalogene bruker **flertallsnavn** for underkataloger: `agents/`, `commands/`, `modes/`, `plugins/`, `skills/`, `tools/` og `themes/`. Enkeltnavn (f.eks. `agent/`) støttes også for bakoverkompatibilitet.
`.opencode` og `~/.config/opencode` katalogene bruker **flertallsnavn** underkataloger: `agents/`, `commands/`, `modes/`, `plugins/`, `skills/`, `tools/` og `themes/`. Enkeltnavn (f.eks. `agent/`) støttes også for bakoverkompatibilitet.
:::
---
### Ekstern
### Ekstern konfigurasjon
Organisasjoner kan gi standardkonfigurasjon via `.well-known/opencode`-endepunktet. Dette hentes automatisk når du autentiserer med en leverandør som støtter det.
Organisasjoner kan tilby standardkonfigurasjon via `.well-known/opencode`-endepunktet. Dette hentes automatisk når du autentiserer med en leverandør som støtter det.
Ekstern konfigurasjon lastes først, og fungerer som basislaget. Alle andre konfigurasjonskilder (global, prosjekt) kan overstyre disse standardinnstillingene.
Ekstern konfigurasjon lastes først, og fungerer som grunnlaget. Alle andre konfigurasjonskilder (global, prosjekt) kan overstyre disse standardinnstillingene.
For eksempel, hvis organisasjonen din tilbyr MCP servere som er deaktivert som standard:
@@ -93,9 +93,9 @@ Du kan aktivere spesifikke servere i din lokale konfigurasjon:
---
### Globalt
### Global konfigurasjon
Plasser din globale OpenCode-konfigurasjon i `~/.config/opencode/opencode.json`. Bruk global konfigurasjon for brukeromfattende preferanser som temaer, leverandører eller nøkkelbindinger.
Plasser din globale OpenCode-konfigurasjon i `~/.config/opencode/opencode.json`. Bruk global konfigurasjon for brukerspesifikke preferanser som temaer, leverandører eller nøkkelbindinger.
Global konfigurasjon overstyrer eksterne organisasjonsstandarder.
@@ -103,7 +103,7 @@ Global konfigurasjon overstyrer eksterne organisasjonsstandarder.
### Per prosjekt
Legg til `opencode.json` i prosjektroten din. Project config har den høyeste prioritet blant standard config-filer - den overstyrer både globale og eksterne konfigurasjoner.
Legg til `opencode.json` i prosjektroten din. Prosjektkonfigurasjon har den høyeste prioritet blant standard config-filer - den overstyrer både globale og eksterne konfigurasjoner.
:::tip
Plasser prosjektspesifikk konfigurasjon i roten til prosjektet ditt.
@@ -111,7 +111,7 @@ Plasser prosjektspesifikk konfigurasjon i roten til prosjektet ditt.
Når OpenCode starter opp, ser den etter en konfigurasjonsfil i gjeldende katalog eller går opp til nærmeste Git-katalog.
Dette er også trygt å bli sjekket inn i Git og bruker samme skjema som det globale.
Det er også trygt å sjekke inn dette i Git og bruker samme skjema som det globale.
---
@@ -179,7 +179,7 @@ Tilgjengelige alternativer:
---
### Server
### Tjener
Du kan konfigurere serverinnstillinger for kommandoene `opencode serve` og `opencode web` gjennom alternativet `server`.
@@ -198,7 +198,7 @@ Du kan konfigurere serverinnstillinger for kommandoene `opencode serve` og `open
Tilgjengelige alternativer:
- `port` - Port for å lytte på.
- `port` - Port å lytte på.
- `hostname` - Vertsnavn å lytte på. Når `mdns` er aktivert og ingen vertsnavn er angitt, er standard `0.0.0.0`.
- `mdns` - Aktiver mDNS-tjenesteoppdagelse. Dette lar andre enheter på nettverket oppdage OpenCode-serveren din.
- `mdnsDomain` - Egendefinert domenenavn for mDNS-tjeneste. Standard er `opencode.local`. Nyttig for å kjøre flere forekomster på samme nettverk.
@@ -239,7 +239,7 @@ Du kan konfigurere leverandørene og modellene du vil bruke i OpenCode-konfigura
}
```
Alternativet `small_model` konfigurerer en egen modell for lette oppgaver som tittelgenerering. Som standard prøver OpenCode å bruke en billigere modell hvis en er tilgjengelig fra leverandøren din, ellers faller den tilbake til hovedmodellen din.
Alternativet `small_model` konfigurerer en egen modell for lette oppgaver som tittelgenerering. Som standard prøver OpenCode å bruke en rimeligere modell hvis en er tilgjengelig fra leverandøren din, ellers faller den tilbake til hovedmodellen din.
Leverandøralternativer kan inkludere `timeout` og `setCacheKey`:
@@ -257,8 +257,8 @@ Leverandøralternativer kan inkludere `timeout` og `setCacheKey`:
}
```
- `timeout` - Be om tidsavbrudd i millisekunder (standard: 300 000). Sett til `false` for å deaktivere.
- `setCacheKey` - Sørg for at en hurtigbuffernøkkel alltid er angitt for utpekt leverandør.
- `timeout` - Tidsavbrudd for forespørsler i millisekunder (standard: 300 000). Sett til `false` for å deaktivere.
- `setCacheKey` - Sørg for at en hurtigbuffernøkkel alltid settes for valgt leverandør.
Du kan også konfigurere [lokale modeller](/docs/models#local). [Finn ut mer](/docs/models).
@@ -292,7 +292,7 @@ Amazon Bedrock støtter AWS-spesifikk konfigurasjon:
- `endpoint` - Egendefinert endepunkt URL for VPC endepunkter. Dette er et alias for det generiske `baseURL`-alternativet som bruker AWS-spesifikk terminologi. Hvis begge er spesifisert, har `endpoint` forrang.
:::note
Bærer-tokens (`AWS_BEARER_TOKEN_BEDROCK` eller `/connect`) har forrang over profilbasert autentisering. Se [godkjenningsprioritet](/docs/providers#authentication-precedence) for detaljer.
Bærer-tokens (`AWS_BEARER_TOKEN_BEDROCK` eller `/connect`) har forrang over profilbasert autentisering. Se [autentiseringsprioritet](/docs/providers#authentication-precedence) for detaljer.
:::
[Les mer om konfigurasjon av Amazon Bedrock](/docs/providers#amazon-bedrock).
@@ -340,7 +340,7 @@ Du kan også definere agenter ved å bruke markdown-filer i `~/.config/opencode/
---
### Standard agent
### Standardagent
Du kan angi standard agent ved å bruke alternativet `default_agent`. Dette bestemmer hvilken agent som brukes når ingen er eksplisitt spesifisert.
@@ -404,9 +404,9 @@ Du kan også definere kommandoer ved å bruke markdown-filer i `~/.config/openco
---
### Nøkkelbindinger
### Tastebindinger
Du kan tilpasse nøkkelbindingene dine gjennom alternativet `keybinds`.
Du kan tilpasse tastebindingene dine gjennom alternativet `keybinds`.
```json title="opencode.json"
{
@@ -465,7 +465,7 @@ Du kan konfigurere kodeformatere gjennom alternativet `formatter`.
Som standard **tillater OpenCode alle operasjoner** uten å kreve eksplisitt godkjenning. Du kan endre dette ved å bruke alternativet `permission`.
For å sikre at verktøyene `edit` og `bash` krever brukergodkjenning:
Slik sikrer du at verktøyene `edit` og `bash` krever brukergodkjenning:
```json title="opencode.json"
{
@@ -483,7 +483,7 @@ For å sikre at verktøyene `edit` og `bash` krever brukergodkjenning:
### Komprimering
Du kan kontrollere atferden for kontekstkomprimering gjennom alternativet `compaction`.
Du kan styre kontekstkomprimering gjennom alternativet `compaction`.
```json title="opencode.json"
{
@@ -496,11 +496,11 @@ Du kan kontrollere atferden for kontekstkomprimering gjennom alternativet `compa
```
- `auto` - Komprimer økten automatisk når konteksten er full (standard: `true`).
- `prune` - Fjern gamle verktøyutganger for å lagre tokens (standard: `true`).
- `prune` - Fjern gamle verktøyutdata for å spare tokens (standard: `true`).
---
### Overvåker
### Filovervåker
Du kan konfigurere ignoreringsmønstre for filovervåking gjennom alternativet `watcher`.
@@ -513,7 +513,7 @@ Du kan konfigurere ignoreringsmønstre for filovervåking gjennom alternativet `
}
```
Mønstre følger glob-syntaks. Bruk dette for å ekskludere støyende kataloger fra filvisning.
Mønstre følger glob-syntaks. Bruk dette for å ekskludere støyende kataloger fra filovervåking.
---
@@ -532,7 +532,7 @@ Du kan konfigurere MCP-servere du vil bruke gjennom alternativet `mcp`.
---
### Plugins
### Utvidelser
[Plugins](/docs/plugins) utvider OpenCode med tilpassede verktøy, kroker og integrasjoner.
@@ -551,7 +551,7 @@ Plasser plugin-filer i `.opencode/plugins/` eller `~/.config/opencode/plugins/`.
### Instruksjoner
Du kan konfigurere instruksjonene for modellen du bruker gjennom alternativet `instructions`.
Du kan konfigurere instruksjoner for modellen du bruker gjennom alternativet `instructions`.
```json title="opencode.json"
{
@@ -560,7 +560,7 @@ Du kan konfigurere instruksjonene for modellen du bruker gjennom alternativet `i
}
```
Dette krever en rekke baner og globmønstre til instruksjonsfiler. [Les mer
Dette krever en liste med baner og globmønstre til instruksjonsfiler. [Les mer
om regler her](/docs/rules).
---
@@ -609,7 +609,7 @@ Hvis en leverandør vises i både `enabled_providers` og `disabled_providers`, h
---
### Eksperimentell
### Eksperimentelt
`experimental`-nøkkelen inneholder alternativer som er under aktiv utvikling.
@@ -632,7 +632,7 @@ Du kan bruke variabelerstatning i konfigurasjonsfilene dine for å referere til
---
### Env vars
### Miljøvariabler
Bruk `{env:VARIABLE_NAME}` for å erstatte miljøvariabler:

View File

@@ -3,7 +3,7 @@ title: Egendefinerte verktøy
description: Lag verktøy som LLM kan kalle inn OpenCode.
---
Egendefinerte verktøy er funksjoner du oppretter som LLM kan ringe under samtaler. De fungerer sammen med OpenCode sine [innebygde verktøy](/docs/tools) som `read`, `write` og `bash`.
Egendefinerte verktøy er funksjoner du oppretter som LLM kan kalle under samtaler. De fungerer sammen med OpenCode sine [innebygde verktøy](/docs/tools) som `read`, `write` og `bash`.
---
@@ -47,7 +47,7 @@ export default tool({
#### Flere verktøy per fil
Du kan også eksportere flere verktøy fra en enkelt fil. Hver eksport blir **et eget verktøy** med navnet **`<filename>_<exportname>`**:
Du kan også eksportere flere verktøy fra en enkelt fil. Hver eksport blir **et separat verktøy** med navnet **`<filename>_<exportname>`**:
```ts title=".opencode/tools/math.ts"
import { tool } from "@opencode-ai/plugin"
@@ -127,13 +127,13 @@ export default tool({
```
Bruk `context.directory` for øktens arbeidskatalog.
Bruk `context.worktree` for git-arbeidstreroten.
Bruk `context.worktree` for git-arbeidstreet.
---
## Eksempler
### Skriv et verktøy i Python
### Skrive et verktøy i Python
Du kan skrive verktøyene dine på hvilket som helst språk du vil. Her er et eksempel som legger til to tall ved hjelp av Python.

View File

@@ -13,25 +13,25 @@ Du kan også sjekke ut [awesome-opencode](https://github.com/awesome-opencode/aw
---
## Plugins
## Utvidelser
| Navn | Beskrivelse |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Kjør OpenCode-økter automatisk i isolerte Daytona-sandkasser med git-synkronisering og live forhåndsvisninger |
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | Injiser automatisk Helicone-økthoder for forespørselsgruppering |
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Kjør OpenCode-økter automatisk i isolerte Daytona-sandkasser med git-synkronisering og live-forhåndsvisninger |
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | Injiser automatisk Helicone-headers for forespørselsgruppering |
| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | Auto-injiser TypeScript/Svelte-typer i fillesninger med oppslagsverktøy |
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | Bruk ChatGPT Plus/Pro-abonnementet ditt i stedet for API kreditter |
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | Bruk din eksisterende Gemini-plan i stedet for API-fakturering |
| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | Bruk Antigravitys gratis modeller i stedet for API fakturering |
| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | Bruk Antigravitys gratis modeller i stedet for API-fakturering |
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Multi-branch devcontainer-isolasjon med grunne kloner og automatisk tildelte porter |
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Google Antigravity OAuth-plugin, med støtte for Google Søk og mer robust API-håndtering |
| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Optimaliser bruken av token ved å beskjære utdaterte verktøy |
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Legg til innebygd nettsøk-støtte for støttede leverandører med Googles jordet stil |
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Gjør det mulig for AI-agenter å kjøre bakgrunnsprosesser i en PTY, sende interaktive input til dem. |
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | Instruksjoner for ikke-interaktive shell-kommandoer - forhindrer heng fra TTY-avhengige operasjoner |
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Legg til innebygd støtte for nettsøk for støttede leverandører med Googles kildebaserte stil |
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Gjør det mulig for AI-agenter å kjøre bakgrunnsprosesser i en PTY, sende interaktiv inndata til dem. |
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | Instruksjoner for ikke-interaktive skallkommandoer - forhindrer heng ved TTY-avhengige operasjoner |
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Spor OpenCode-bruk med Wakatime |
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Rydd opp avslagstabeller produsert av LLMs |
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | 10 ganger raskere koderedigering med Morph Fast Apply API og lazy redigeringsmarkører |
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Rydd opp i markdown-tabeller produsert av LLMs |
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | 10 ganger raskere koderedigering med Morph Fast Apply API og lazy-redigeringsmarkører |
| [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Bakgrunnsagenter, forhåndsbygde LSP/AST/MCP verktøy, kurerte agenter, Claude Code-kompatibel |
| [opencode-notificator](https://github.com/panta82/opencode-notificator) | Skrivebordsvarsler og lydvarsler for OpenCode-økter |
| [opencode-notifier](https://github.com/mohak34/opencode-notifier) | Skrivebordsvarsler og lydvarsler for tillatelse, fullføring og feilhendelser |
@@ -45,7 +45,7 @@ Du kan også sjekke ut [awesome-opencode](https://github.com/awesome-opencode/aw
| [octto](https://github.com/vtemian/octto) | Interaktiv nettleser UI for AI idédugnad med flerspørsmålsskjemaer |
| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agents) | Claude Bakgrunnsagenter i kodestil med asynkrondelegering og kontekstutholdenhet |
| [opencode-notify](https://github.com/kdcokenny/opencode-notify) | Innfødte OS-varsler for OpenCode vet når oppgaver fullføres |
| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) | Medfølgende multi-agent orkestreringssele 16 komponenter, én installasjon |
| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) | Medfølgende multi-agent orkestreringsrammeverk 16 komponenter, én installasjon |
| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | Nullfriksjon git-arbeidstre for OpenCode |
---
@@ -55,7 +55,7 @@ Du kan også sjekke ut [awesome-opencode](https://github.com/awesome-opencode/aw
| Navn | Beskrivelse |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- |
| [kimaki](https://github.com/remorses/kimaki) | Discord-bot for å kontrollere OpenCode-økter, bygget på SDK |
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Neovim-plugin for redaktørbevisste meldinger, bygget på API |
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Neovim-plugin for editor-tilpassede meldinger, bygget på API |
| [portal](https://github.com/hosenur/portal) | Mobile-first web UI for OpenCode over Tailscale/VPN |
| [opencode plugin template](https://github.com/zenobi-us/opencode-plugin-template/) | Mal for å bygge OpenCode-plugins |
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Neovim-grensesnitt for OpenCode - en terminalbasert AI-kodingsagent |

View File

@@ -1,5 +1,5 @@
---
title: Enterprise
title: Bedrift
description: Sikker bruk av opencode i din organisasjon.
---
@@ -19,7 +19,7 @@ For å komme i gang med OpenCode Enterprise:
---
## Prøve
## Prøveversjon
OpenCode er åpen kildekode og lagrer ingen av koden eller kontekstdataene dine, så utviklerne dine kan ganske enkelt [komme i gang](/docs/) og utføre en prøveversjon.
@@ -36,7 +36,7 @@ Det eneste forbeholdet her er den valgfrie `/share`-funksjonen.
---
#### Deler samtaler
#### Deling av samtaler
Hvis en bruker aktiverer funksjonen `/share`, sendes samtalen og dataene knyttet til den til tjenesten vi bruker til å være vert for disse delesidene på opencode.ai.
@@ -75,7 +75,7 @@ prissetting og implementeringsalternativer.
---
### Sentral konfig
### Sentral konfigurasjon
Vi kan sette opp OpenCode for å bruke en enkelt sentral konfigurasjon for hele organisasjonen din.
@@ -83,7 +83,7 @@ Denne sentraliserte konfigurasjonen kan integreres med SSO-leverandøren din og
---
### SSO integrasjon
### SSO-integrasjon
Gjennom den sentrale konfigurasjonen kan OpenCode integreres med organisasjonens SSO-leverandør for autentisering.
@@ -91,7 +91,7 @@ Dette lar OpenCode få legitimasjon for din interne AI-gateway gjennom ditt eksi
---
### Intern AI gateway
### Intern AI-gateway
Med den sentrale konfigurasjonen kan OpenCode også konfigureres til kun å bruke din interne AI-gateway.
@@ -99,7 +99,7 @@ Du kan også deaktivere alle andre AI-leverandører, og sikre at alle forespørs
---
### Selvhosting
### Egen hosting
Selv om vi anbefaler å deaktivere delingssidene for å sikre at dataene dine aldri forsvinner
organisasjonen din, kan vi også hjelpe deg med å være vert for dem på din infrastruktur.
@@ -108,7 +108,7 @@ Dette er nå på veikartet vårt. Hvis du er interessert, **<a href={email}>gi o
---
## FAQ
## Ofte stilte spørsmål (FAQ)
<details>
<summary>Hva er OpenCode Enterprise?</summary>
@@ -120,7 +120,7 @@ OpenCode Enterprise er for organisasjoner som ønsker å sikre at deres kode og
<details>
<summary>Hvordan kommer jeg i gang med OpenCode Enterprise?</summary>
Bare start med en intern prøveversjon med teamet ditt. OpenCode lagrer som standard ikke koden eller kontekstdataene dine, noe som gjør det enkelt å komme i gang.
Bare sett i gang en intern prøveversjon med teamet ditt. OpenCode lagrer som standard ikke koden eller kontekstdataene dine, noe som gjør det enkelt å komme i gang.
Så **<a href={email}>kontakt oss</a>** for å diskutere priser og implementeringsalternativer.
@@ -129,7 +129,7 @@ Så **<a href={email}>kontakt oss</a>** for å diskutere priser og implementerin
<details>
<summary>Hvordan fungerer bedriftsprising?</summary>
Vi tilbyr bedriftspriser per sete. Hvis du har din egen LLM-gateway, tar vi ikke betalt for tokens som brukes. For ytterligere detaljer, **<a href={email}>kontakt oss</a>** for et tilpasset tilbud basert på organisasjonens behov.
Vi tilbyr bedriftspriser per bruker. Hvis du har din egen LLM-gateway, tar vi ikke betalt for tokens som brukes. For ytterligere detaljer, **<a href={email}>kontakt oss</a>** for et tilpasset tilbud basert på organisasjonens behov.
</details>
@@ -143,7 +143,7 @@ Ja. OpenCode lagrer ikke koden eller kontekstdataene dine. All behandling skjer
<details>
<summary>Kan vi bruke vårt eget private NPM-register?</summary>
OpenCode støtter private npm-registre gjennom Buns innebygde `.npmrc`-filstøtte. Hvis organisasjonen din bruker et privat register, som JFrog Artifactory, Nexus eller lignende, sørg for at utviklerne er autentisert før du kjører OpenCode.
OpenCode støtter private npm-registre gjennom Bun sin innebygde støtte for .npmrc-filer. Hvis organisasjonen din bruker et privat register, som JFrog Artifactory, Nexus eller lignende, sørg for at utviklerne er autentisert før du kjører OpenCode.
Slik setter du opp autentisering med ditt private register:

View File

@@ -1,42 +1,42 @@
---
title: Formatere
description: opencode bruker språkspesifikke formatere.
title: Formattere
description: OpenCode bruker språkspesifikke formattere.
---
OpenCode formaterer automatisk filer etter at de er skrevet eller redigert ved hjelp av språkspesifikke formatere. Dette sikrer at koden som genereres følger kodestilene til prosjektet ditt.
OpenCode formaterer automatisk filer etter at de er skrevet eller redigert ved hjelp av språkspesifikke formattere. Dette sikrer at koden som genereres følger kodestilene til prosjektet ditt.
---
## Innebygd
## Innebygde formattere
OpenCode kommer med flere innebygde formatere for populære språk og rammeverk. Nedenfor er en liste over formatere, støttede filutvidelser og kommandoer eller konfigurasjonsalternativer den trenger.
OpenCode kommer med flere innebygde formattere for populære språk og rammeverk. Nedenfor er en liste over formattere, støttede filendelser og kommandoer eller konfigurasjonsalternativer den krever.
| Formater | Utvidelser | Krav |
| ---------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| gofmt | .go | `gofmt` kommando tilgjengelig |
| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix` kommando tilgjengelig |
| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml og [mer](https://prettier.io/docs/en/index.html) | `prettier` avhengighet i `package.json` |
| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml og [mer](https://biomejs.dev/) | `biome.json(c)` konfigurasjonsfil |
| zig | .zig, .zon | `zig` kommando tilgjengelig |
| clang-format | .c, .cpp, .h, .hpp, .ino og [mer](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` konfigurasjonsfil |
| ktlint | .kt, .kts | `ktlint` kommando tilgjengelig |
| ruff | .py, .pyi | `ruff` kommando tilgjengelig med config |
| rustfmt | .rs | `rustfmt` kommando tilgjengelig |
| cargofmt | .rs | `cargo fmt` kommando tilgjengelig |
| uv | .py, .pyi | `uv` kommando tilgjengelig |
| rubocop | .rb, .rake, .gemspec, .ru | `rubocop` kommando tilgjengelig |
| standardrb | .rb, .rake, .gemspec, .ru | `standardrb` kommando tilgjengelig |
| htmlbeautifier | .erb, .html.erb | `htmlbeautifier` kommando tilgjengelig |
| air | .R | `air` kommando tilgjengelig |
| dart | .dart | `dart` kommando tilgjengelig |
| ocamlformat | .ml, .mli | `ocamlformat` kommando tilgjengelig og `.ocamlformat` konfigurasjonsfil |
| terraform | .tf, .tfvars | `terraform` kommando tilgjengelig |
| gleam | .gleam | `gleam` kommando tilgjengelig |
| nixfmt | .nix | `nixfmt` kommando tilgjengelig |
| shfmt | .sh, .bash | `shfmt` kommando tilgjengelig |
| pint | .php | `laravel/pint` avhengighet i `composer.json` |
| oxfmt (Eksperimentell) | .js, .jsx, .ts, .tsx | `oxfmt` avhengighet i `package.json` og et [eksperimentelt env variabel flagg](/docs/cli/#experimental) |
| ormolu | .hs | `ormolu` kommando tilgjengelig |
| Formatter | Filendelser | Krav |
| ---------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| gofmt | .go | `gofmt` kommando tilgjengelig |
| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix` kommando tilgjengelig |
| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml og [flere](https://prettier.io/docs/en/index.html) | `prettier` avhengighet i `package.json` |
| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml og [flere](https://biomejs.dev/) | `biome.json(c)` konfigurasjonsfil |
| zig | .zig, .zon | `zig` kommando tilgjengelig |
| clang-format | .c, .cpp, .h, .hpp, .ino og [flere](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` konfigurasjonsfil |
| ktlint | .kt, .kts | `ktlint` kommando tilgjengelig |
| ruff | .py, .pyi | `ruff` kommando tilgjengelig med config |
| rustfmt | .rs | `rustfmt` kommando tilgjengelig |
| cargofmt | .rs | `cargo fmt` kommando tilgjengelig |
| uv | .py, .pyi | `uv` kommando tilgjengelig |
| rubocop | .rb, .rake, .gemspec, .ru | `rubocop` kommando tilgjengelig |
| standardrb | .rb, .rake, .gemspec, .ru | `standardrb` kommando tilgjengelig |
| htmlbeautifier | .erb, .html.erb | `htmlbeautifier` kommando tilgjengelig |
| air | .R | `air` kommando tilgjengelig |
| dart | .dart | `dart` kommando tilgjengelig |
| ocamlformat | .ml, .mli | `ocamlformat` kommando tilgjengelig og `.ocamlformat` konfigurasjonsfil |
| terraform | .tf, .tfvars | `terraform` kommando tilgjengelig |
| gleam | .gleam | `gleam` kommando tilgjengelig |
| nixfmt | .nix | `nixfmt` kommando tilgjengelig |
| shfmt | .sh, .bash | `shfmt` kommando tilgjengelig |
| pint | .php | `laravel/pint` avhengighet i `composer.json` |
| oxfmt (Eksperimentell) | .js, .jsx, .ts, .tsx | `oxfmt` avhengighet i `package.json` og et [eksperimentelt env variabel flagg](/docs/cli/#experimental) |
| ormolu | .hs | `ormolu` kommando tilgjengelig |
Så hvis prosjektet ditt har `prettier` i `package.json`, vil OpenCode automatisk bruke det.
@@ -46,7 +46,7 @@ Så hvis prosjektet ditt har `prettier` i `package.json`, vil OpenCode automatis
Når OpenCode skriver eller redigerer en fil, gjør den:
1. Kontrollerer filtypen mot alle aktiverte formatere.
1. Kontrollerer filtypen mot alle aktiverte formattere.
2. Kjører riktig formateringskommando på filen.
3. Bruker formateringsendringene automatisk.
@@ -54,9 +54,9 @@ Denne prosessen skjer i bakgrunnen, og sikrer at kodestilene dine opprettholdes
---
## Konfigurer
## Konfigurasjon
Du kan tilpasse formatere gjennom `formatter`-delen i OpenCode-konfigurasjonen.
Du kan tilpasse formattere gjennom `formatter`-delen i OpenCode-konfigurasjonen.
```json title="opencode.json"
{
@@ -67,20 +67,20 @@ Du kan tilpasse formatere gjennom `formatter`-delen i OpenCode-konfigurasjonen.
Hver formateringskonfigurasjon støtter følgende:
| Property | Type | Beskrivelse |
| ------------- | -------- | ----------------------------------------------------------------- |
| `disabled` | boolean | Sett dette til `true` for å deaktivere formatereren |
| `command` | string[] | Kommandoen som skal kjøres for formatering |
| `environment` | object | Miljøvariabler som skal angis når du kjører formateringsverktøyet |
| `extensions` | string[] | Filutvidelser denne formatereren skal håndtere |
| Egenskap | Type | Beskrivelse |
| ------------- | -------- | --------------------------------------------------------------- |
| `disabled` | boolean | Sett dette til `true` for å deaktivere formatteren |
| `command` | string[] | Kommandoen som skal kjøres for formatering |
| `environment` | object | Miljøvariabler som skal settes når formateringsverktøyet kjøres |
| `extensions` | string[] | Filendelser denne formatteren skal håndtere |
La oss se på noen eksempler.
---
### Deaktivering av formatere
### Deaktivering av formattere
For å deaktivere **alle** formatere globalt, sett `formatter` til `false`:
For å deaktivere **alle** formattere globalt, sett `formatter` til `false`:
```json title="opencode.json" {3}
{
@@ -89,7 +89,7 @@ For å deaktivere **alle** formatere globalt, sett `formatter` til `false`:
}
```
For å deaktivere en **spesifikk** formatering, sett `disabled` til `true`:
For å deaktivere en **spesifikk** formatter, sett `disabled` til `true`:
```json title="opencode.json" {5}
{
@@ -104,9 +104,9 @@ For å deaktivere en **spesifikk** formatering, sett `disabled` til `true`:
---
### Egendefinerte formatere
### Egendefinerte formattere
Du kan overstyre de innebygde formaterne eller legge til nye ved å spesifisere kommandoen, miljøvariablene og filtypene:
Du kan overstyre de innebygde formatterne eller legge til nye ved å spesifisere kommandoen, miljøvariablene og filtypene:
```json title="opencode.json" {4-14}
{
@@ -127,4 +127,4 @@ Du kan overstyre de innebygde formaterne eller legge til nye ved å spesifisere
}
```
**`$FILE` plassholderen** i kommandoen vil bli erstattet med banen til filen som formateres.
**Plassholderen $FILE** i kommandoen vil bli erstattet med banen til filen som formateres.

View File

@@ -9,25 +9,25 @@ OpenCode integreres med GitHub-arbeidsflyten din. Nevn `/opencode` eller `/oc` i
## Funksjoner
- **Triage-problemer**: Be OpenCode se på et problem og forklare det for deg.
- **Fiks og implementer**: Be OpenCode om å fikse et problem eller implementere en funksjon. Og den vil fungere i en ny gren og sender inn en PR med alle endringene.
- **Sikkert**: OpenCode kjører inne i GitHubs løpere.
- **Triage saker**: Be OpenCode se på en sak og forklare den for deg.
- **Fiks og implementer**: Be OpenCode om å fikse en sak eller implementere en funksjon. Den vil jobbe i en ny gren og sende inn en PR med alle endringene.
- **Sikkert**: OpenCode kjører i GitHub-runners.
---
## Installasjon
Kjør følgende kommando i et prosjekt som er i en GitHub-repo:
Kjør følgende kommando i et prosjekt som er et GitHub-repo:
```bash
opencode github install
```
Dette vil lede deg gjennom å installere GitHub-appen, lage arbeidsflyten og sette opp hemmeligheter.
Dette vil lede deg gjennom å installere GitHub-appen, lage arbeidsflyten og sette opp secrets (hemmeligheter).
---
### Manuell oppsett
### Manuelt oppsett
Eller du kan sette den opp manuelt.
@@ -37,7 +37,7 @@ Eller du kan sette den opp manuelt.
2. **Legg til arbeidsflyten**
Legg til følgende arbeidsflytfil til `.github/workflows/opencode.yml` i repoen. Sørg for å sette riktige `model` og nødvendige API nøkler i `env`.
Legg til følgende arbeidsflytfil til `.github/workflows/opencode.yml` i repoen. Sørg for å sette riktig `model` og nødvendige API-nøkler i `env`.
```yml title=".github/workflows/opencode.yml" {24,26}
name: opencode
@@ -75,7 +75,7 @@ Eller du kan sette den opp manuelt.
3. **Lagre API-nøklene i hemmeligheter**
Utvid **Hemmeligheter og variabler** til venstre i **innstillingene** for organisasjonen eller prosjektet og velg **Handlinger**. Og legg til de nødvendige API-nøklene.
Utvid **Hemmeligheter og variabler** til venstre i **innstillingene** for organisasjonen eller prosjektet og velg **Actions**. Og legg til de nødvendige API-nøklene.
---
@@ -85,7 +85,7 @@ Eller du kan sette den opp manuelt.
- `agent`: Agenten som skal brukes. Må være en primær agent. Faller tilbake til `default_agent` fra config eller `"build"` hvis ikke funnet.
- `share`: Om OpenCode-økten skal deles. Standard er **true** for offentlige depoter.
- `prompt`: Valgfri egendefinert melding for å overstyre standard oppførsel. Bruk dette til å tilpasse hvordan OpenCode behandler forespørsler.
- `token`: Valgfritt GitHub-tilgangstoken for å utføre operasjoner som å lage kommentarer, foreta endringer og åpne pull-forespørsler. Som standard bruker OpenCode installasjonstilgangstokenet fra OpenCode GitHub-appen, så forpliktelser, kommentarer og pull-forespørsler ser ut til å komme fra appen.
- `token`: Valgfritt GitHub-tilgangstoken for å utføre operasjoner som å lage kommentarer, foreta endringer og åpne pull-forespørsler. Som standard bruker OpenCode installasjonstilgangstokenet fra OpenCode GitHub-appen, så commits, kommentarer og pull-forespørsler ser ut til å komme fra appen.
Alternativt kan du bruke GitHub Action-løperens [innebygde `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) uten å installere OpenCode GitHub-appen. Bare sørg for å gi de nødvendige tillatelsene i arbeidsflyten din:
@@ -107,14 +107,14 @@ OpenCode kan utløses av følgende GitHub-hendelser:
| Hendelsestype | Utløst av | Detaljer |
| ----------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `issue_comment` | Kommenter et problem eller PR | Nevn `/opencode` eller `/oc` i kommentaren din. OpenCode leser kontekst og kan opprette grener, åpne PR-er eller svare. |
| `issue_comment` | Kommentar på sak eller PR | Nevn `/opencode` eller `/oc` i kommentaren din. OpenCode leser kontekst og kan opprette grener, åpne PR-er eller svare. |
| `pull_request_review_comment` | Kommenter spesifikke kodelinjer i en PR | Nevn `/opencode` eller `/oc` mens du ser gjennom koden. OpenCode mottar filbane, linjenummer og diff-kontekst. |
| `issues` | Utgave åpnet eller redigert | Utløs OpenCode automatisk når problemer opprettes eller endres. Krever `prompt` inngang. |
| `issues` | Sak åpnet eller redigert | Utløs OpenCode automatisk når saker opprettes eller endres. Krever `prompt` inngang. |
| `pull_request` | PR åpnet eller oppdatert | Utløs OpenCode automatisk når PR-er åpnes, synkroniseres eller gjenåpnes. Nyttig for automatiserte anmeldelser. |
| `schedule` | Cron-basert tidsplan | Kjør OpenCode etter en tidsplan. Krever `prompt` inngang. Utdata går til logger og PR (ingen problem å kommentere). |
| `schedule` | Cron-basert tidsplan | Kjør OpenCode etter en tidsplan. Krever `prompt` inngang. Utdata går til logger og PR (ingen sak å kommentere). |
| `workflow_dispatch` | Manuell utløser fra GitHub UI | Utløs OpenCode på forespørsel via fanen Handlinger. Krever `prompt` inngang. Utdata går til logger og PR-er. |
### Tidsplan Eksempel
### Eksempel på tidsplan
Kjør OpenCode på en tidsplan for å utføre automatiserte oppgaver:
@@ -150,11 +150,11 @@ jobs:
If you find issues worth addressing, open an issue to track them.
```
For planlagte arrangementer er `prompt`-inngangen **påkrevd** siden det ikke er noen kommentarer å trekke ut instruksjoner fra. Planlagte arbeidsflyter kjører uten brukerkontekst for tillatelsessjekking, så arbeidsflyten må gi `contents: write` og `pull-requests: write` hvis du forventer at OpenCode oppretter grener eller PR-er.
For planlagte arrangementer er `prompt`-inngangen **påkrevd** siden det ikke er noen kommentarer å trekke ut instruksjoner fra. Planlagte workflows kjører uten brukerkontekst for tillatelsessjekking, så arbeidsflyten må gi `contents: write` og `pull-requests: write` hvis du forventer at OpenCode oppretter grener eller PR-er.
---
### Pull Request Eksempel
### Eksempel på Pull Request
Gjennomgå PR-er automatisk når de åpnes eller oppdateres:
@@ -191,13 +191,13 @@ jobs:
- Suggest improvements
```
For `pull_request`-hendelser, hvis ingen `prompt` er oppgitt, går OpenCode som standard gjennom pull-forespørselen.
For `pull_request`-hendelser, hvis ingen `prompt` er oppgitt, går OpenCode som standard gjennom PR-en.
---
### Issues Triage Eksempel
### Eksempel på triage av saker
Triage automatisk nye problemer. Dette eksemplet filtrerer til kontoer eldre enn 30 dager for å redusere spam:
Automatisk triage av nye saker. Dette eksemplet filtrerer til kontoer eldre enn 30 dager for å redusere spam:
```yaml title=".github/workflows/opencode-triage.yml"
name: Issue Triage
@@ -250,9 +250,9 @@ For `issues`-hendelser er `prompt`-inngangen **påkrevd** siden det ikke er noen
---
## Egendefinerte ledetekster
## Egendefinerte prompter
Overstyr standardledeteksten for å tilpasse oppførselen til OpenCode for arbeidsflyten din.
Overstyr standardprompten for å tilpasse oppførselen til OpenCode for arbeidsflyten din.
```yaml title=".github/workflows/opencode.yml"
- uses: anomalyco/opencode/github@latest
@@ -277,9 +277,9 @@ Her er noen eksempler på hvordan du kan bruke OpenCode i GitHub.
Du kan konfigurere til å bruke en annen triggerfrase enn `@opencode`.
:::
- **Forklar et problem**
- **Forklar en sak (issue)**
Legg til denne kommentaren i en GitHub-utgave.
Legg til denne kommentaren i en GitHub-sak.
```
/opencode explain this issue
@@ -287,9 +287,9 @@ Du kan konfigurere til å bruke en annen triggerfrase enn `@opencode`.
OpenCode vil lese hele tråden, inkludert alle kommentarer, og svare med en tydelig forklaring.
- **Fiks et problem**
- **Fiks en sak**
I en GitHub-utgave, si:
I en GitHub-sak, si:
```
/opencode fix this
@@ -297,7 +297,7 @@ Du kan konfigurere til å bruke en annen triggerfrase enn `@opencode`.
Og OpenCode vil opprette en ny gren, implementere endringene og åpne en PR med endringene.
- **Gjennom PR-er og gjør endringer**
- **Se gjennom PR-er og gjør endringer**
Legg igjen følgende kommentar på en GitHub PR.
@@ -305,9 +305,9 @@ Du kan konfigurere til å bruke en annen triggerfrase enn `@opencode`.
Delete the attachment from S3 when the note is removed /oc
```
OpenCode vil implementere den forespurte endringen og forplikte den til samme PR.
OpenCode vil implementere den forespurte endringen og committe den til samme PR.
- **Se gjennom spesifikke kodelinjer**
- **Review av spesifikke kodelinjer**
Legg igjen en kommentar direkte på kodelinjer i PRs "Filer"-fane. OpenCode oppdager automatisk filen, linjenumrene og diff-konteksten for å gi presise svar.

View File

@@ -1,17 +1,17 @@
---
title: GitLab
description: Bruk opencode i GitLab-problemer og sammenslåingsforespørsler.
description: Bruk opencode i GitLab-problemer og Merge Requests.
---
OpenCode integreres med GitLab arbeidsflyten gjennom GitLab CI/CD pipeline eller med GitLab Duo.
I begge tilfeller vil OpenCode kjøre på GitLab-løperne dine.
I begge tilfeller vil OpenCode kjøre på GitLab Runners.
---
## GitLab CI
OpenCode fungerer i en vanlig GitLab-pipeline. Du kan bygge den inn i en pipeline som en [CI komponent](https://docs.gitlab.com/ee/ci/components/)
OpenCode fungerer i en vanlig GitLab-pipeline. Du kan bygge den inn i en pipeline som en [CI-komponent](https://docs.gitlab.com/ee/ci/components/)
Her bruker vi en fellesskapsskapt CI/CD-komponent for OpenCode — [nagyv/gitlab-opencode](https://gitlab.com/nagyv/gitlab-opencode).
@@ -27,7 +27,7 @@ Her bruker vi en fellesskapsskapt CI/CD-komponent for OpenCode — [nagyv/gitlab
### Oppsett
1. Lagre OpenCode-autentiseringen JSON som en filtype CI miljøvariabler under **Innstillinger** > **CI/CD** > **Variabler**. Sørg for å merke dem som "Masket og skjult".
1. Lagre OpenCode sin autentiserings-JSON som en CI-miljøvariabel av typen Fil under **Innstillinger** > **CI/CD** > **Variabler**. Sørg for å merke dem som "Masked and hidden".
2. Legg til følgende i `.gitlab-ci.yml`-filen.
```yaml title=".gitlab-ci.yml"
@@ -47,16 +47,16 @@ For flere inndata og brukstilfeller [sjekk ut dokumentene](https://gitlab.com/ex
## GitLab Duo
OpenCode integreres med din GitLab arbeidsflyt.
Nevn `@opencode` i en kommentar, og OpenCode vil utføre oppgaver innenfor din GitLab CI pipeline.
Nevn `@opencode` i en kommentar, og OpenCode vil utføre oppgaver innenfor din GitLab CI-pipeline.
---
### Funksjoner
- **Triage-problemer**: Be OpenCode se på et problem og forklare det for deg.
- **Fiks og implementer**: Be OpenCode om å fikse et problem eller implementere en funksjon.
Det vil opprette en ny gren og sende en sammenslåingsforespørsel med endringene.
- **Sikkert**: OpenCode kjører på GitLab-løperne dine.
- **Triage av saker**: Be OpenCode se på en sak og forklare den for deg.
- **Fiks og implementer**: Be OpenCode om å fikse en sak eller implementere en funksjon.
Det vil opprette en ny gren og sende en Merge Request med endringene.
- **Sikkert**: OpenCode kjører på GitLab Runners.
---
@@ -164,7 +164,7 @@ Her er noen eksempler på hvordan du kan bruke OpenCode i GitLab.
Du kan konfigurere til å bruke en annen triggerfrase enn `@opencode`.
:::
- **Forklar et problem**
- **Forklar en sak**
Legg til denne kommentaren i en GitLab-sak.
@@ -172,9 +172,9 @@ Du kan konfigurere til å bruke en annen triggerfrase enn `@opencode`.
@opencode explain this issue
```
OpenCode vil lese problemet og svare med en klar forklaring.
OpenCode vil lese saken og svare med en klar forklaring.
- **Fiks et problem**
- **Fiks en sak**
I en GitLab-sak, si:
@@ -182,14 +182,14 @@ Du kan konfigurere til å bruke en annen triggerfrase enn `@opencode`.
@opencode fix this
```
OpenCode vil opprette en ny gren, implementere endringene og åpne en sammenslåingsforespørsel med endringene.
OpenCode vil opprette en ny gren, implementere endringene og åpne en Merge Request med endringene.
- **Gjennomgå sammenslåingsforespørsler**
- **Review av Merge Requests**
Legg igjen følgende kommentar på en GitLab-sammenslåingsforespørsel.
Legg igjen følgende kommentar på en GitLab Merge Request.
```
@opencode review this merge request
```
OpenCode vil gjennomgå sammenslåingsforespørselen og gi tilbakemelding.
OpenCode vil gjennomgå Merge Request-en og gi tilbakemelding.

View File

@@ -12,13 +12,13 @@ OpenCode integreres med VS Code, Cursor eller en hvilken som helst IDE som støt
- **Hurtigstart**: Bruk `Cmd+Esc` (Mac) eller `Ctrl+Esc` (Windows/Linux) for å åpne OpenCode i en delt terminalvisning, eller fokuser en eksisterende terminaløkt hvis en allerede kjører.
- **Ny økt**: Bruk `Cmd+Shift+Esc` (Mac) eller `Ctrl+Shift+Esc` (Windows/Linux) for å starte en ny OpenCode-terminaløkt, selv om en allerede er åpen. Du kan også klikke på OpenCode-knappen i UI.
- **Kontekstbevissthet**: Del automatisk ditt nåværende valg eller fane med OpenCode.
- **Snarveier for filreferanse**: Bruk `Cmd+Option+K` (Mac) eller `Alt+Ctrl+K` (Linux/Windows) for å sette inn filreferanser. For eksempel `@File#L37-42`.
- **Snarveier for filreferanser**: Bruk `Cmd+Option+K` (Mac) eller `Alt+Ctrl+K` (Linux/Windows) for å sette inn filreferanser. For eksempel `@File#L37-42`.
---
## Installasjon
For å installere OpenCode på VS Code og populære forgreninger som Cursor, Windsurf, VSCodium:
For å installere OpenCode på VS Code og populære varianter som Cursor, Windsurf, VSCodium:
1. Åpne VS Code
2. Åpne den integrerte terminalen

View File

@@ -1,5 +1,5 @@
---
title: Intro
title: Introduksjon
description: Kom i gang med OpenCode.
---
@@ -29,7 +29,7 @@ For å bruke OpenCode i terminalen din trenger du:
---
## Installer
## Installasjon
Den enkleste måten å installere OpenCode på er gjennom installasjonsskriptet.
@@ -123,21 +123,20 @@ For den beste opplevelsen på Windows anbefaler vi å bruke [Windows Subsystem f
docker run -it --rm ghcr.io/anomalyco/opencode
```
Støtte for å installere OpenCode på Windows med Bun pågår for øyeblikket.
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).
---
## Konfigurer
## Konfigurasjon
Med OpenCode kan du bruke hvilken som helst LLM-leverandør ved å konfigurere deres API-nøkler.
Hvis du er ny til å bruke 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
team.
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).
1. Kjør kommandoen `/connect` i TUI, velg OpenCode og gå til [opencode.ai/auth](https://opencode.ai/auth).
```txt
/connect
@@ -158,7 +157,7 @@ Alternativt kan du velge en av de andre leverandørene. [Finn ut mer](/docs/prov
---
## Initialiser
## Initialisering
Nå som du har konfigurert en leverandør, kan du navigere til et prosjekt som
du vil jobbe med.
@@ -196,8 +195,8 @@ brukt.
Du er nå klar til å bruke OpenCode for å jobbe med prosjektet ditt. Spør det gjerne
noe!
Hvis du er ny til å bruke en AI kodeagent, her er noen eksempler som kan
hjelp.
Hvis du er ukjent med AI-kodeagenter, her er noen eksempler som kan
hjelpe.
---
@@ -217,14 +216,14 @@ Dette er nyttig hvis det er en del av kodebasen du ikke har jobbet med.
---
### Legg til funksjoner
### 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 evnen til å gjøre endringer og
foreslå i stedet _hvordan_ det vil implementere funksjonen.
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.
@@ -240,17 +239,17 @@ Du kan be OpenCode legge til nye funksjoner i prosjektet ditt. Selv om vi først
From this screen, the user can undelete a note or permanently delete it.
```
Du vil gi OpenCode nok detaljer til å forstå hva du ønsker. Det hjelper
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 gjør
Gi OpenCode mye kontekst og eksempler for å hjelpe den å forstå hva du
ønsker.
:::
2. **Gjenta på planen**
2. **Iterer på planen**
Når den gir deg en plan, kan du gi den tilbakemelding eller legge til flere detaljer.
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.
@@ -266,14 +265,14 @@ Du kan be OpenCode legge til nye funksjoner i prosjektet ditt. Selv om vi først
3. **Bygg funksjonen**
Når du føler deg komfortabel med planen, bytt tilbake til _Byggemodus_ av
Når du føler deg komfortabel med planen, bytt tilbake til _Byggemodus_ ved å
trykke på **Tab**-tasten igjen.
```bash frame="none"
<TAB>
```
Og ber den om å gjøre endringene.
Og be den om å gjøre endringene.
```bash frame="none"
Sounds good! Go ahead and make the changes.
@@ -283,7 +282,7 @@ Du kan be OpenCode legge til nye funksjoner i prosjektet ditt. Selv om vi først
### Gjør endringer
For mer enkle endringer kan du be OpenCode om å bygge den direkte
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"
@@ -292,8 +291,8 @@ handled in the /notes route in @packages/functions/src/notes.ts and implement
the same logic in @packages/functions/src/settings.ts
```
Du vil sørge for at du gir en god mengde detaljer, slik at OpenCode gjør det rette
endringer.
Sørg for å gi nok detaljer, slik at OpenCode gjør de rette
endringene.
---
@@ -333,7 +332,7 @@ Eller du **kan gjøre om** endringene ved å bruke `/redo`-kommandoen.
---
## Del
## Deling
Samtalene du har med OpenCode kan [deles med din
team](/docs/share).
@@ -352,8 +351,8 @@ Her er en [eksempelsamtale](https://opencode.ai/s/4XP1fce5) med OpenCode.
---
## Tilpass
## Tilpasning
Og det er det! Du er nå en proff på å bruke OpenCode.
For å gjøre det til ditt eget anbefaler vi å [velge et tema](/docs/themes), [tilpasse nøkkelbindingene](/docs/keybinds), [konfigurere kodeformatere](/docs/formatters), [opprette egendefinerte kommandoer](/docs/commands) eller leke med [OpenCode-konfigurasjonen](/docs/config).
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).

View File

@@ -1,9 +1,9 @@
---
title: Keybinds
title: Tastebindinger
description: Tilpass tastebindingene dine.
---
OpenCode har en liste over nøkkelbindinger som du kan tilpasse gjennom OpenCode-konfigurasjonen.
OpenCode har en liste over tastebindinger som du kan tilpasse gjennom OpenCode-konfigurasjonen.
```json title="opencode.json"
{
@@ -105,19 +105,19 @@ OpenCode har en liste over nøkkelbindinger som du kan tilpasse gjennom OpenCode
---
## Ledertast
## Leader-tast
OpenCode bruker en `leader`-nøkkel for de fleste nøkkelbindinger. Dette unngår konflikter i terminalen din.
OpenCode bruker en `leader`-tast for de fleste tastebindinger. Dette unngår konflikter i terminalen din.
Som standard er `ctrl+x` ledertasten, og de fleste handlinger krever at du først trykker på ledertasten og deretter snarveien. For å starte en ny økt, trykker du for eksempel først `ctrl+x` og deretter `n`.
Du trenger ikke å bruke en ledernøkkel for tastebindingene dine, men vi anbefaler at du gjør det.
Du trenger ikke å bruke en ledertast for tastebindingene dine, men vi anbefaler at du gjør det.
---
## Deaktiver tastebinding
## Deaktivering av tastebindinger
Du kan deaktivere en nøkkelbinding ved å legge til nøkkelen til konfigurasjonen med verdien "ingen".
Du kan deaktivere en tastebinding ved å legge til tasten til konfigurasjonen med verdien "none".
```json title="opencode.json"
{
@@ -130,9 +130,9 @@ Du kan deaktivere en nøkkelbinding ved å legge til nøkkelen til konfigurasjon
---
## Snarveier skrivebordet
## Snarveier i skrivebordsappen
Ledetekstinngangen for OpenCode-skrivebordsappen støtter vanlige snarveier i Readline/Emacs-stil for redigering av tekst. Disse er innebygd og foreløpig ikke konfigurerbare via `opencode.json`.
Prompt-feltet for OpenCode-skrivebordsappen støtter vanlige snarveier i Readline/Emacs-stil for redigering av tekst. Disse er innebygd og foreløpig ikke konfigurerbare via `opencode.json`.
| Snarvei | Handling |
| -------- | ---------------------------------------- |
@@ -147,14 +147,14 @@ Ledetekstinngangen for OpenCode-skrivebordsappen støtter vanlige snarveier i Re
| `ctrl+u` | Slett til starten av linjen |
| `ctrl+w` | Slett forrige ord |
| `alt+d` | Slett neste ord |
| `ctrl+t` | Transponere tegn |
| `ctrl+t` | Bytt om tegn |
| `ctrl+g` | Avbryt popovers / avbryt kjøring av svar |
---
## Shift+Enter
Noen terminaler sender ikke modifikasjonsnøkler med Enter som standard. Du må kanskje konfigurere terminalen til å sende `Shift+Enter` som en escape-sekvens.
Noen terminaler sender ikke modifikasjonstaster med Enter som standard. Du må kanskje konfigurere terminalen til å sende `Shift+Enter` som en escape-sekvens.
### Windows Terminal

View File

@@ -1,5 +1,5 @@
---
title: LSP Servere
title: LSP-servere
description: opencode integreres med LSP-serverne dine.
---
@@ -7,15 +7,15 @@ OpenCode integreres med din Language Server Protocol (LSP) for å hjelpe LLM med
---
## Innebygd
## Innebygde servere
OpenCode kommer med flere innebygde LSP-servere for populære språk:
| LSP Server | Utvidelser | Krav |
| LSP Server | Filendelser | Krav |
| ------------------ | ------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| astro | .astro | Autoinstallasjoner for Astro-prosjekter |
| bash | .sh, .bash, .zsh, .ksh | Autoinstallerer bash-language-server |
| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Autoinstallasjoner for C/C++-prosjekter |
| astro | .astro | Installeres automatisk for Astro-prosjekter |
| bash | .sh, .bash, .zsh, .ksh | Installerer bash-language-server automatisk |
| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Installeres automatisk for C/C++-prosjekter |
| csharp | .cs | `.NET SDK` installert |
| clojure-lsp | .clj, .cljs, .cljc, .edn | `clojure-lsp` kommando tilgjengelig |
| dart | .dart | `dart` kommando tilgjengelig |
@@ -27,23 +27,23 @@ OpenCode kommer med flere innebygde LSP-servere for populære språk:
| gopls | .go | `go` kommando tilgjengelig |
| hls | .hs, .lhs | `haskell-language-server-wrapper` kommando tilgjengelig |
| jdtls | .java | `Java SDK (version 21+)` installert |
| kotlin-ls | .kt, .kts | Autoinstallasjoner for Kotlin-prosjekter |
| lua-ls | .lua | Autoinstallasjoner for Lua-prosjekter |
| kotlin-ls | .kt, .kts | Installeres automatisk for Kotlin-prosjekter |
| lua-ls | .lua | Installeres automatisk for Lua-prosjekter |
| nixd | .nix | `nixd` kommando tilgjengelig |
| ocaml-lsp | .ml, .mli | `ocamllsp` kommando tilgjengelig |
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` avhengighet i prosjekt |
| php intelephense | .php | Autoinstallasjoner for PHP-prosjekter |
| php intelephense | .php | Installeres automatisk for PHP-prosjekter |
| prisma | .prisma | `prisma` kommando tilgjengelig |
| pyright | .py, .pyi | `pyright` avhengighet installert |
| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | `ruby` og `gem` kommandoer tilgjengelig |
| rust | .rs | `rust-analyzer` kommando tilgjengelig |
| sourcekit-lsp | .swift, .objc, .objcpp | `swift` installert (`xcode` på macOS) |
| svelte | .svelte | Autoinstallasjoner for Svelte-prosjekter |
| terraform | .tf, .tfvars | Automatiske installasjoner fra GitHub-utgivelser |
| tinymist | .typ, .typc | Automatiske installasjoner fra GitHub-utgivelser |
| svelte | .svelte | Installeres automatisk for Svelte-prosjekter |
| terraform | .tf, .tfvars | Installeres automatisk fra GitHub-utgivelser |
| tinymist | .typ, .typc | Installeres automatisk fra GitHub-utgivelser |
| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` avhengighet i prosjekt |
| vue | .vue | Autoinstallasjoner for Vue-prosjekter |
| yaml-ls | .yaml, .yml | Autoinstallerer Red Hat yaml-language-server |
| vue | .vue | Installeres automatisk for Vue-prosjekter |
| yaml-ls | .yaml, .yml | Installerer Red Hat yaml-language-server automatisk |
| zls | .zig, .zon | `zig` kommando tilgjengelig |
LSP-servere aktiveres automatisk når en av filtypene ovenfor oppdages og kravene oppfylles.
@@ -54,7 +54,7 @@ Du kan deaktivere automatiske LSP-servernedlastinger ved å sette miljøvariabel
---
## Hvordan det fungerer
## Slik fungerer det
Når opencode åpner en fil, gjør den:
@@ -63,7 +63,7 @@ Når opencode åpner en fil, gjør den:
---
## Konfigurer
## Konfigurasjon
Du kan tilpasse LSP-servere gjennom `lsp`-delen i OpenCode-konfigurasjonen.
@@ -76,11 +76,11 @@ Du kan tilpasse LSP-servere gjennom `lsp`-delen i OpenCode-konfigurasjonen.
Hver LSP-server støtter følgende:
| Property | Type | Beskrivelse |
| Egenskap | Type | Beskrivelse |
| ---------------- | -------- | -------------------------------------------------------- |
| `disabled` | boolean | Sett dette til `true` for å deaktivere LSP-serveren |
| `command` | string[] | Kommandoen for å starte LSP-serveren |
| `extensions` | string[] | Filutvidelser denne LSP-serveren skal håndtere |
| `extensions` | string[] | Filendelser denne LSP-serveren skal håndtere |
| `env` | object | Miljøvariabler som skal angis når serveren startes |
| `initialization` | object | Initialiseringsalternativer for å sende til LSP-serveren |
@@ -132,9 +132,9 @@ Initialiseringsalternativer varierer etter LSP-server. Sjekk dokumentasjonen til
---
### Deaktiverer LSP-servere
### Deaktivering av LSP-servere
For å deaktivere **alle** LSP servere globalt, sett `lsp` til `false`:
For å deaktivere **alle** LSP-servere globalt, sett `lsp` til `false`:
```json title="opencode.json" {3}
{

View File

@@ -1,5 +1,5 @@
---
title: MCP servere
title: MCP-servere
description: Legg til lokale og eksterne MCP-verktøy.
---
@@ -14,16 +14,16 @@ Når de er lagt til, er MCP-verktøy automatisk tilgjengelige for LLM sammen med
Når du bruker en MCP-server, legger den til konteksten. Dette kan fort gå opp hvis du har mange verktøy. Så vi anbefaler å være forsiktig med hvilke MCP-servere du bruker.
:::tip
MCP servere legger til konteksten din, så du vil være forsiktig med hvilke du aktiverer.
MCP-servere legger til konteksten din, så du vil være forsiktig med hvilke du aktiverer.
:::
Enkelte MCP-servere, som GitHub MCP-serveren, har en tendens til å legge til mange tokens og kan lett overskride kontekstgrensen.
---
## Aktiver
## Aktivering
Du kan definere MCP-servere i [OpenCode Config](https://opencode.ai/docs/config/) under `mcp`. Legg til hver MCP med et unikt navn. Du kan referere til den MCP ved navn når du ber om LLM.
Du kan definere MCP-servere i [OpenCode Config](https://opencode.ai/docs/config/) under `mcp`. Legg til hver MCP med et unikt navn. Du kan referere til den MCP ved navn når du spør LLM-en.
```jsonc title="opencode.jsonc" {6}
{
@@ -44,7 +44,7 @@ Du kan også deaktivere en server ved å sette `enabled` til `false`. Dette er n
---
### Overstyrer fjernstandarder
### Overstyring av fjernstandarder
Organisasjoner kan tilby standard MCP-servere via deres `.well-known/opencode`-endepunkt. Disse serverne kan være deaktivert som standard, slik at brukere kan melde seg på de de trenger.
@@ -104,7 +104,7 @@ For eksempel, her er hvordan du kan legge til test [`@modelcontextprotocol/serve
}
```
Og for å bruke den kan jeg legge til `use the mcp_everything tool` i ledetekstene mine.
Og for å bruke den kan du legge til `use the mcp_everything tool` i ledetekstene mine.
```txt "mcp_everything"
use the mcp_everything tool to add the number 3 and 4
@@ -146,7 +146,7 @@ Legg til eksterne MCP-servere ved å sette `type` til `"remote"`.
}
```
`url` er URL til den eksterne MCP serveren og med alternativet `headers` kan du sende inn en liste over overskrifter.
`url` er URL til den eksterne MCP serveren og med alternativet `headers` kan du sende inn en liste over headere.
---
@@ -157,7 +157,7 @@ Legg til eksterne MCP-servere ved å sette `type` til `"remote"`.
| `type` | String | Y | Type MCP servertilkobling, må være `"remote"`. |
| `url` | String | Y | URL av den eksterne MCP-serveren. |
| `enabled` | Boolean | | Aktiver eller deaktiver MCP-serveren ved oppstart. |
| `headers` | Object | | Overskrifter å sende med forespørselen. |
| `headers` | Object | | Headere å sende med forespørselen. |
| `oauth` | Object | | OAuth-autentiseringskonfigurasjon. Se delen [OAuth](#oauth) nedenfor. |
| `timeout` | Number | | Tidsavbrudd i ms for henting av verktøy fra MCP-serveren. Standard er 5000 (5 sekunder). |
@@ -216,7 +216,7 @@ Hvis du har klientlegitimasjon fra MCP-serverleverandøren, kan du konfigurere d
---
### Autentiserer
### Autentisering
Du kan utløse autentisering manuelt eller administrere legitimasjon.
@@ -242,7 +242,7 @@ Kommandoen `mcp auth` åpner nettleseren din for autorisasjon. Etter at du har g
---
#### Deaktiverer OAuth
#### Deaktivering av OAuth
Hvis du vil deaktivere automatisk OAuth for en server (f.eks. for servere som bruker API-nøkler i stedet), setter du `oauth` til `false`:
@@ -289,7 +289,7 @@ Kommandoen `mcp debug` viser gjeldende autentiseringsstatus, tester HTTP-tilkobl
---
## Administrer
## Administrering
MCP-ene dine er tilgjengelige som verktøy i OpenCode, sammen med innebygde verktøy. Så du kan administrere dem gjennom OpenCode-konfigurasjonen som alle andre verktøy.
@@ -433,7 +433,7 @@ Show me the latest unresolved issues in my project. use sentry
---
### Kontekst7
### Context7
Legg til [Context7 MCP-serveren](https://github.com/upstash/context7) for å søke gjennom dokumenter.
@@ -509,3 +509,116 @@ Alternativt kan du legge til noe slikt til din [AGENTS.md](/docs/rules/).
```md title="AGENTS.md"
If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.
```
---
### Helicone
[Helicone](https://helicone.ai) er en LLM observerbarhetsplattform som gir logging, overvåking og analyser for AI-applikasjonene dine. Helicone AI Gateway ruter forespørslene dine til riktig leverandør automatisk basert på modellen.
1. Gå over til [Helicone](https://helicone.ai), opprett en konto og generer en API nøkkel fra dashbordet.
2. Kjør kommandoen `/connect` og søk etter **Helicone**.
```txt
/connect
```
3. Skriv inn Helicone API-nøkkelen.
```txt
┌ API key
└ enter
```
4. Kjør kommandoen `/models` for å velge en modell.
```txt
/models
```
For flere leverandører og avanserte funksjoner som bufring og hastighetsbegrensning, sjekk [Helicone-dokumentasjonen](https://docs.helicone.ai).
#### Valgfrie konfigurasjoner
I tilfelle du ser en funksjon eller modell fra Helicone som ikke konfigureres automatisk gjennom OpenCode, kan du alltid konfigurere den selv.
Her er [Helicone's Model Directory](https://helicone.ai/models), du trenger denne for å hente ID-ene til modellene du vil legge til.
```jsonc title="~/.config/opencode/opencode.jsonc"
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"helicone": {
"npm": "@ai-sdk/openai-compatible",
"name": "Helicone",
"options": {
"baseURL": "https://ai-gateway.helicone.ai",
},
"models": {
"gpt-4o": {
// Model ID (from Helicone's model directory page)
"name": "GPT-4o", // Your own custom name for the model
},
"claude-sonnet-4-20250514": {
"name": "Claude Sonnet 4",
},
},
},
},
}
```
#### Egendefinerte headere
Helicone støtter tilpassede headere for funksjoner som bufring, brukersporing og øktadministrasjon. Legg dem til leverandørkonfigurasjonen din ved å bruke `options.headers`:
```jsonc title="~/.config/opencode/opencode.jsonc"
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"helicone": {
"npm": "@ai-sdk/openai-compatible",
"name": "Helicone",
"options": {
"baseURL": "https://ai-gateway.helicone.ai",
"headers": {
"Helicone-Cache-Enabled": "true",
"Helicone-User-Id": "opencode",
},
},
},
},
}
```
##### Sesjonssporing
Helicones [Sessions](https://docs.helicone.ai/features/sessions) funksjon lar deg gruppere relaterte LLM forespørsler sammen. Bruk [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) plugin for automatisk å logge hver OpenCode-samtale som en økt i Helicone.
```bash
npm install -g opencode-helicone-session
```
Legg den til i konfigurasjonen din.
```json title="opencode.json"
{
"plugin": ["opencode-helicone-session"]
}
```
Programtillegget injiserer `Helicone-Session-Id` og `Helicone-Session-Name` overskrifter i forespørslene dine. På Helicones Sessions-side vil du se hver OpenCode-samtale oppført som en separat økt.
##### Vanlige Helicone-headere
| Overskrift | Beskrivelse |
| -------------------------- | -------------------------------------------------------------------------- |
| `Helicone-Cache-Enabled` | Aktiver responsbufring (`true`/`false`) |
| `Helicone-User-Id` | Spor beregninger etter bruker |
| `Helicone-Property-[Name]` | Legg til egendefinerte egenskaper (f.eks. `Helicone-Property-Environment`) |
| `Helicone-Prompt-Id` | Knytt forespørsler til spørsmålsversjoner |
Se [Helicone Header Directory](https://docs.helicone.ai/helicone-headers/header-directory) for alle tilgjengelige overskrifter.

View File

@@ -15,7 +15,7 @@ Finn ut mer om [leverandører](/docs/providers).
---
## Velg en modell
## Velge en modell
Når du har konfigurert leverandøren din, kan du velge modellen du ønsker ved å skrive inn:
@@ -195,13 +195,13 @@ Du kan overstyre eksisterende varianter eller legge til dine egne:
}
```
### Syklusvarianter
### Bytt varianter
Bruk tastebindingen `variant_cycle` for raskt å bytte mellom varianter. [Finn ut mer](/docs/keybinds).
---
## Laster modeller
## Lasting av modeller
Når OpenCode starter opp, ser den etter modeller i følgende prioriterte rekkefølge:

View File

@@ -1,31 +1,23 @@
---
title: Modi
title: Moduser
description: Ulike moduser for forskjellige brukstilfeller.
---
:::caution
Modi er nå konfigurert gjennom alternativet `agent` i OpenCode-konfigurasjonen. De
Moduser er nå konfigurert gjennom alternativet `agent` i OpenCode-konfigurasjonen. De
Alternativet `mode` er nå utdatert. [Finn ut mer](/docs/agents).
:::
Moduser i OpenCode lar deg tilpasse oppførselen, verktøyene og ledetekstene for ulike brukstilfeller.
Moduser i OpenCode lar deg tilpasse oppførselen, verktøyene og prompter for ulike brukstilfeller.
Den kommer med to innebygde moduser: **bygg** og **plan**. Du kan tilpasse
disse eller konfigurer din egen gjennom OpenCode-konfigurasjonen.
Du kan bytte mellom moduser under en økt eller konfigurere dem i konfigurasjonsfilen.
---
## Innebygd
OpenCode kommer med to innebygde moduser.
---
### Bygg
Bygg er **standard**-modus med alle verktøy aktivert. Dette er standardmodusen for utviklingsarbeid der du trenger full tilgang til filoperasjoner og systemkommandoer.
Bygg er **standard**-modusen med alle verktøy aktivert. Dette er standardmodusen for utviklingsarbeid der du trenger full tilgang til filoperasjoner og systemkommandoer.
---
@@ -42,99 +34,9 @@ Denne modusen er nyttig når du vil at AI skal analysere kode, foreslå endringe
---
## Bytte
Du kan bytte mellom moduser under en økt ved å bruke _Tab_-tasten. Eller din konfigurerte `switch_mode` nøkkelbinding.
Se også: [Formatters](/docs/formatters) for informasjon om konfigurasjon av kodeformatering.
---
## Konfigurer
Du kan tilpasse de innebygde modusene eller lage dine egne gjennom konfigurasjon. Modi kan konfigureres på to måter:
### JSON Konfigurasjon
Konfigurer moduser i konfigurasjonsfilen `opencode.json`:
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"mode": {
"build": {
"model": "anthropic/claude-sonnet-4-20250514",
"prompt": "{file:./prompts/build.txt}",
"tools": {
"write": true,
"edit": true,
"bash": true
}
},
"plan": {
"model": "anthropic/claude-haiku-4-20250514",
"tools": {
"write": false,
"edit": false,
"bash": false
}
}
}
}
```
### Markdown-konfigurasjon
Du kan også definere moduser ved å bruke markdown-filer. Plasser dem i:
- Globalt: `~/.config/opencode/modes/`
- Prosjekt: `.opencode/modes/`
```markdown title="~/.config/opencode/modes/review.md"
---
model: anthropic/claude-sonnet-4-20250514
temperature: 0.1
tools:
write: false
edit: false
bash: false
---
You are in code review mode. Focus on:
- Code quality and best practices
- Potential bugs and edge cases
- Performance implications
- Security considerations
Provide constructive feedback without making direct changes.
```
Markdown-filnavnet blir modusnavnet (f.eks. `review.md` oppretter en `review`-modus).
La oss se på disse konfigurasjonsalternativene i detalj.
---
### Modell
Bruk `model`-konfigurasjonen for å overstyre standardmodellen for denne modusen. Nyttig for bruk av ulike modeller optimalisert for ulike oppgaver. For eksempel en raskere modell for planlegging, en mer kapabel modell for implementering.
```json title="opencode.json"
{
"mode": {
"plan": {
"model": "anthropic/claude-haiku-4-20250514"
}
}
}
```
---
### Temperatur
Kontroller tilfeldigheten og kreativiteten til AIs svar med `temperature`-konfigurasjonen. Lavere verdier gjør svarene mer fokuserte og deterministiske, mens høyere verdier øker kreativiteten og variasjonen.
Kontroller tilfeldigheten og kreativiteten til AI-ens svar med `temperature`-konfigurasjonen. Lavere verdier gjør svarene mer fokuserte og deterministiske, mens høyere verdier øker kreativiteten og variasjonen.
```json title="opencode.json"
{
@@ -151,181 +53,22 @@ Kontroller tilfeldigheten og kreativiteten til AIs svar med `temperature`-konfig
Temperaturverdier varierer vanligvis fra 0,0 til 1,0:
- **0.0-0.2**: Veldig fokuserte og deterministiske svar, ideell for kodeanalyse og planlegging
- **0.0-0.2**: Veldig fokuserte og deterministiske svar, ideelt for kodeanalyse og planlegging
- **0,3-0,5**: Balanserte svar med litt kreativitet, bra for generelle utviklingsoppgaver
- **0.6-1.0**: Mer kreative og varierte svar, nyttig for idédugnad og utforskning
```json title="opencode.json"
{
"mode": {
"analyze": {
"temperature": 0.1,
"prompt": "{file:./prompts/analysis.txt}"
},
"build": {
"temperature": 0.3
},
"brainstorm": {
"temperature": 0.7,
"prompt": "{file:./prompts/creative.txt}"
}
}
}
```
Hvis ingen temperatur er spesifisert, bruker OpenCode modellspesifikke standarder (vanligvis 0 for de fleste modeller, 0,55 for Qwen-modeller).
Hvis ingen temperatur er spesifisert, bruker OpenCode modellspesifikke standardinnstillinger (vanligvis 0 for de fleste modeller, 0,55 for Qwen-modeller).
---
### Ledetekst
### Bruksområder
Spesifiser en tilpasset systemmeldingsfil for denne modusen med `prompt`-konfigurasjonen. Ledetekstfilen skal inneholde instruksjoner som er spesifikke for modusens formål.
Her er noen vanlige bruksområder for forskjellige moduser.
```json title="opencode.json"
{
"mode": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}
```
Denne banen er i forhold til hvor konfigurasjonsfilen er plassert. Så dette fungerer for
både den globale OpenCode-konfigurasjonen og den prosjektspesifikke konfigurasjonen.
---
### Verktøy
Kontroller hvilke verktøy som er tilgjengelige i denne modusen med `tools`-konfigurasjonen. Du kan aktivere eller deaktivere spesifikke verktøy ved å sette dem til `true` eller `false`.
```json
{
"mode": {
"readonly": {
"tools": {
"write": false,
"edit": false,
"bash": false,
"read": true,
"grep": true,
"glob": true
}
}
}
}
```
Hvis ingen verktøy er spesifisert, er alle verktøy aktivert som standard.
---
#### Tilgjengelige verktøy
Her er alle verktøyene som kan kontrolleres gjennom moduskonfigurasjonen.
| Verktøy | Beskrivelse |
| ----------- | --------------------------- |
| `bash` | Utfør shell-kommandoer |
| `edit` | Endre eksisterende filer |
| `write` | Opprett nye filer |
| `read` | Les filinnhold |
| `grep` | Søk filinnhold |
| `glob` | Finn filer etter mønster |
| `list` | Liste kataloginnhold |
| `patch` | Bruk patcher på filer |
| `todowrite` | Administrer gjøremålslister |
| `todoread` | Les gjøremålslister |
| `webfetch` | Hent nettinnhold |
---
## Egendefinerte moduser
Du kan lage dine egne tilpassede moduser ved å legge dem til konfigurasjonen. Her er eksempler som bruker begge tilnærmingene:
### Bruker JSON konfigurasjon
```json title="opencode.json" {4-14}
{
"$schema": "https://opencode.ai/config.json",
"mode": {
"docs": {
"prompt": "{file:./prompts/documentation.txt}",
"tools": {
"write": true,
"edit": true,
"bash": false,
"read": true,
"grep": true,
"glob": true
}
}
}
}
```
### Bruker markdown-filer
Lag modusfiler i `.opencode/modes/` for prosjektspesifikke moduser eller `~/.config/opencode/modes/` for globale moduser:
```markdown title=".opencode/modes/debug.md"
---
temperature: 0.1
tools:
bash: true
read: true
grep: true
write: false
edit: false
---
You are in debug mode. Your primary goal is to help investigate and diagnose issues.
Focus on:
- Understanding the problem through careful analysis
- Using bash commands to inspect system state
- Reading relevant files and logs
- Searching for patterns and anomalies
- Providing clear explanations of findings
Do not make any changes to files. Only investigate and report.
```
```markdown title="~/.config/opencode/modes/refactor.md"
---
model: anthropic/claude-sonnet-4-20250514
temperature: 0.2
tools:
edit: true
read: true
grep: true
glob: true
---
You are in refactoring mode. Focus on improving code quality without changing functionality.
Priorities:
- Improve code readability and maintainability
- Apply consistent naming conventions
- Reduce code duplication
- Optimize performance where appropriate
- Ensure all tests continue to pass
```
---
### Brukstilfeller
Her er noen vanlige brukstilfeller for forskjellige moduser.
- **Build-modus**: Fullt utviklingsarbeid med alle verktøy aktivert
- **Bygg-modus**: Fullt utviklingsarbeid med alle verktøy aktivert
- **Plan-modus**: Analyse og planlegging uten å gjøre endringer
- **Review-modus**: Kodegjennomgang med skrivebeskyttet tilgang pluss dokumentasjonsverktøy
- **Debug-modus**: Fokusert på etterforskning med bash- og leseverktøy aktivert
- **Docs-modus**: Dokumentasjonsskriving med filoperasjoner, men ingen systemkommandoer
Du kan også finne at forskjellige modeller er gode for forskjellige brukstilfeller.
Du kan også finne at forskjellige modeller er gode for forskjellige bruksområder.

View File

@@ -7,7 +7,7 @@ OpenCode støtter standard proxy-miljøvariabler og tilpassede sertifikater for
---
## Proxy
## Mellomtjener
OpenCode respekterer standard proxy-miljøvariabler.
@@ -23,26 +23,26 @@ export NO_PROXY=localhost,127.0.0.1
```
:::caution
TUI kommuniserer med en lokal HTTP server. Du må omgå proxyen for denne tilkoblingen for å forhindre rutingsløyfer.
TUI-en kommuniserer med en lokal HTTP-server. Du må unngå proxy for denne tilkoblingen for å unngå rutingsløyfer.
:::
Du kan konfigurere serverens port og vertsnavn ved å bruke [CLI flagg](/docs/cli#run).
Du kan konfigurere serverens port og vertsnavn ved å bruke [CLI-flagg](/docs/cli#run).
---
### Autentiser
### Autentisering
Hvis proxyen din krever grunnleggende autentisering, inkluder legitimasjon i URL.
Hvis proxyen din krever grunnleggende autentisering, inkluder påloggingsinformasjon i URL-en.
```bash
export HTTPS_PROXY=http://username:password@proxy.example.com:8080
```
:::caution
Unngå hardkoding av passord. Bruk miljøvariabler eller sikker lagring av legitimasjon.
Unngå hardkoding av passord. Bruk miljøvariabler eller sikker lagring av påloggingsinformasjon.
:::
For proxyer som krever avansert autentisering som NTLM eller Kerberos, bør du vurdere å bruke en LLM Gateway som støtter autentiseringsmetoden din.
For proxyer som krever avansert autentisering som NTLM eller Kerberos, bør du vurdere en LLM Gateway som støtter din autentiseringsmetode.
---

View File

@@ -134,23 +134,23 @@ OpenCode-tillatelser tastes inn etter verktøynavn, pluss et par sikkerhetsvakte
- `glob` — fil-globing (tilsvarer glob-mønsteret)
- `grep` — innholdssøk (samsvarer med regex-mønsteret)
- `list` — viser filer i en katalog (tilsvarer katalogbanen)
- `bash` — kjører shell-kommandoer (matcher analyserte kommandoer som `git status --porcelain`)
- `task` — lansering av subagenter (tilsvarer subagenttypen)
- `skill` — laster en ferdighet (tilsvarer ferdighetsnavnet)
- `bash` — kjører skallkommandoer (matcher analyserte kommandoer som `git status --porcelain`)
- `task` — start av subagenter (tilsvarer subagenttypen)
- `skill` — laster en ferdighet (tilsvarer navnet på ferdigheten)
- `lsp` — kjører LSP-spørringer (for øyeblikket ikke-granulære)
- `todoread`, `todowrite` — lesing/oppdatering av gjøremålslisten
- `webfetch` — henter en URL (tilsvarer URL)
- `websearch`, `codesearch` - nett-/kodesøk (samsvarer med søket)
- `external_directory` - utløses når et verktøy berører stier utenfor prosjektets arbeidskatalog
- `doom_loop` — utløses når det samme verktøykallet gjentas 3 ganger med identisk inngang
- `doom_loop` — utløses når det samme verktøykallet gjentas 3 ganger med identisk inndata
---
## Standard
## Standarder
Hvis du ikke spesifiserer noe, starter OpenCode fra tillatte standardinnstillinger:
- De fleste tillatelser er `"allow"` som standard.
- De fleste tillatelser er satt til `"allow"` som standard.
- `doom_loop` og `external_directory` er standard til `"ask"`.
- `read` er `"allow"`, men `.env` filer nektes som standard:
@@ -171,7 +171,7 @@ Hvis du ikke spesifiserer noe, starter OpenCode fra tillatte standardinnstilling
## Hva "ask" gjør
Når OpenCode ber om godkjenning, gir UI tre utfall:
Når OpenCode ber om godkjenning, gir brukergrensesnittet tre alternativer:
- `once` — godkjenne nettopp denne forespørselen
- `always` — godkjenn fremtidige forespørsler som samsvarer med de foreslåtte mønstrene (for resten av den nåværende OpenCode-økten)

View File

@@ -1,15 +1,15 @@
---
title: Plugins
description: Skriv dine egne plugins for å utvide opencode.
title: Programtillegg
description: Skriv dine egne programtillegg for å utvide opencode.
---
Plugins lar deg utvide OpenCode ved å koble til ulike arrangementer og tilpasse atferd. Du kan lage plugins for å legge til nye funksjoner, integrere med eksterne tjenester eller endre standardoppførselen til OpenCode.
Plugins lar deg utvide OpenCode ved å koble til ulike hendelser og tilpasse atferd. Du kan lage plugins for å legge til nye funksjoner, integrere med eksterne tjenester eller endre standardoppførselen til OpenCode.
For eksempler, sjekk ut [plugins](/docs/ecosystem#plugins) opprettet av fellesskapet.
---
## Bruk en plugin
## Bruk av en plugin
Det er to måter å laste inn plugins.
@@ -64,7 +64,7 @@ Dupliserte npm-pakker med samme navn og versjon lastes inn én gang. Imidlertid
---
## Opprett en plugin
## Opprette en plugin
En plugin er en **JavaScript/TypeScript-modul** som eksporterer en eller flere plugin-moduler
funksjoner. Hver funksjon mottar et kontekstobjekt og returnerer et krokobjekt.
@@ -141,7 +141,7 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
### Hendelser
Plugins kan abonnere på arrangementer som vist nedenfor i Eksempler-delen. Her er en liste over de forskjellige arrangementene som er tilgjengelige.
Plugins kan abonnere på hendelser som vist nedenfor i Eksempler-delen. Her er en liste over de forskjellige hendelsene som er tilgjengelige.
#### Kommandohendelser
@@ -304,9 +304,9 @@ export const CustomToolsPlugin: Plugin = async (ctx) => {
- `description`: Hva verktøyet gjør
- `args`: Zod-skjema for verktøyets argumenter
- `execute`: Funksjon som kjører når verktøyet kalles
- `execute`: Funksjon som kjører når verktøyet kalles
Dine egendefinerte verktøy vil være tilgjengelige for å OpenCode sammen med innebygde verktøy.
Dine egendefinerte verktøy vil være tilgjengelige for OpenCode sammen med innebygde verktøy.
---
@@ -331,7 +331,7 @@ Nivåer: `debug`, `info`, `warn`, `error`. Se [SDK dokumentasjon](https://openco
---
### Komprimeringskroker
### Komprimerings-hooks
Tilpass konteksten inkludert når en økt komprimeres:
@@ -355,9 +355,9 @@ Include any state that should persist across compaction:
}
```
`experimental.session.compacting`-kroken avfyres før LLM genererer et fortsettelsessammendrag. Bruk den til å injisere domenespesifikk kontekst som standard komprimeringsforespørsel ville gå glipp av.
`experimental.session.compacting`-kroken trigges før LLM genererer et fortsettelsessammendrag. Bruk den til å injisere domenespesifikk kontekst som standard komprimeringsprompt ville gå glipp av.
Du kan også erstatte komprimeringsmeldingen helt ved å stille inn `output.prompt`:
Du kan også erstatte komprimeringsprompten helt ved å stille inn `output.prompt`:
```ts title=".opencode/plugins/custom-compaction.ts"
import type { Plugin } from "@opencode-ai/plugin"

View File

@@ -10,7 +10,7 @@ OpenCode bruker [AI SDK](https://ai-sdk.dev/) og [Models.dev](https://models.dev
For å legge til en leverandør må du:
1. Legg til API-nøklene for leverandøren ved å bruke kommandoen `/connect`.
1. Legg til API-nøkkelen for leverandøren ved å bruke kommandoen `/connect`.
2. Konfigurer leverandøren i OpenCode-konfigurasjonen.
---
@@ -22,16 +22,16 @@ i `~/.local/share/opencode/auth.json`.
---
### Konfig
### Konfigurasjon
Du kan tilpasse leverandørene gjennom `provider`-delen i OpenCode
konfig.
---
#### Base URL
#### Base-URL
Du kan tilpasse basen URL for enhver leverandør ved å angi alternativet `baseURL`. Dette er nyttig når du bruker proxy-tjenester eller tilpassede endepunkter.
Du kan tilpasse base-URL-en for enhver leverandør ved å angi alternativet `baseURL`. Dette er nyttig når du bruker proxy-tjenester eller tilpassede endepunkter.
```json title="opencode.json" {6}
{
@@ -178,13 +178,13 @@ Slik bruker du Amazon Bedrock med OpenCode:
**Tilgjengelige alternativer:**
- `region` - AWS region (f.eks. `us-east-1`, `eu-west-1`)
- `profile` - AWS navngitt profil fra `~/.aws/credentials`
- `endpoint` - Egendefinert endepunkt URL for VPC endepunkter (alias for generisk `baseURL`-alternativ)
- `endpoint` - Egendefinert endepunkt URL for VPC-endepunkter (alias for generisk `baseURL`-alternativ)
:::tip
Alternativer for konfigurasjonsfil har forrang over miljøvariabler.
:::
#### Avansert: VPC Sluttpunkter
#### Avansert: VPC-endepunkter
Hvis du bruker VPC-endepunkter for Bedrock:
@@ -282,7 +282,7 @@ For egendefinerte slutningsprofiler, bruk modellen og leverandørnavnet i nøkke
Å bruke Claude Pro/Max-abonnementet ditt i opencode støttes ikke offisielt av [Anthropic](https://anthropic.com).
:::
##### Bruke API-tastene
##### Bruke API-nøkler
Du kan også velge **Opprett en API nøkkel** hvis du ikke har et Pro/Max-abonnement. Den åpner også nettleseren din og ber deg logge på Anthropic og gi deg en kode du kan lime inn i terminalen din.
@@ -684,7 +684,7 @@ for å lagre token i OpenCode auth-lagring.
##### Selvhostet GitLab
:::note[compliance note]
:::note[Merknad om samsvar]
OpenCode bruker en liten modell for noen AI oppgaver som å generere økttittelen.
Den er konfigurert til å bruke gpt-5-nano som standard, hostet av Zen. For å låse OpenCode
for kun å bruke din egen GitLab-hostede forekomst, legg til følgende i din
@@ -980,9 +980,9 @@ Her er [Helicone's Model Directory](https://helicone.ai/models), du trenger denn
}
```
#### Egendefinerte topptekster
#### Egendefinerte headere
Helicone støtter tilpassede overskrifter for funksjoner som bufring, brukersporing og øktadministrasjon. Legg dem til leverandørkonfigurasjonen din ved å bruke `options.headers`:
Helicone støtter tilpassede headere for funksjoner som bufring, brukersporing og øktadministrasjon. Legg dem til leverandørkonfigurasjonen din ved å bruke `options.headers`:
```jsonc title="~/.config/opencode/opencode.jsonc"
{
@@ -1019,9 +1019,9 @@ Legg den til i konfigurasjonen din.
}
```
Programtillegget injiserer `Helicone-Session-Id` og `Helicone-Session-Name` overskrifter i forespørslene dine. På Helicones Sessions-side vil du se hver OpenCode-samtale oppført som en separat økt.
Programtillegget injiserer `Helicone-Session-Id` og `Helicone-Session-Name` headere i forespørslene dine. På Helicones Sessions-side vil du se hver OpenCode-samtale oppført som en separat økt.
##### Vanlige helikonhoder
##### Vanlige Helicone-headere
| Overskrift | Beskrivelse |
| -------------------------- | -------------------------------------------------------------------------- |
@@ -1326,7 +1326,7 @@ Vi anbefaler at du registrerer deg for [ChatGPT Plus eller Pro](https://chatgpt.
/models
```
##### Bruke API-tastene
##### Bruke API-nøkler
Hvis du allerede har en API-nøkkel, kan du velge **Angi API-nøkkel manuelt** og lime den inn i terminalen.
@@ -1866,7 +1866,7 @@ Her er et eksempel på innstilling av alternativene `apiKey`, `headers` og model
Konfigurasjonsdetaljer:
- **apiKey**: Angi med `env` variabel syntaks, [finn ut mer](/docs/config#env-vars).
- **overskrifter**: Egendefinerte overskrifter sendt med hver forespørsel.
- **headere**: Egendefinerte headere sendt med hver forespørsel.
- **limit.context**: Maksimalt Input Tokens som modellen godtar.
- **limit.output**: Maksimalt antall tokens modellen kan generere.

View File

@@ -7,12 +7,12 @@ Du kan gi tilpassede instruksjoner for å OpenCode ved å opprette en `AGENTS.md
---
## Initialiser
## Initialisering
For å lage en ny `AGENTS.md` fil, kan du kjøre kommandoen `/init` i OpenCode.
:::tip
Du bør overgi prosjektets `AGENTS.md`-fil til Git.
Du bør sjekke inn prosjektets `AGENTS.md`-fil i Git.
:::
Dette vil skanne prosjektet og alt dets innhold for å forstå hva prosjektet handler om og generere en `AGENTS.md`-fil med det. Dette hjelper OpenCode å navigere i prosjektet bedre.
@@ -118,13 +118,13 @@ Du kan også bruke eksterne URL-er for å laste instruksjoner fra nettet.
}
```
Fjerninstruksjoner hentes med 5 sekunders tidsavbrudd.
Eksterne instruksjoner hentes med 5 sekunders tidsavbrudd.
Alle instruksjonsfilene er kombinert med `AGENTS.md`-filene dine.
---
## Refererer til eksterne filer
## Referere til eksterne filer
Selv om OpenCode ikke automatisk analyserer filreferanser i `AGENTS.md`, kan du oppnå lignende funksjonalitet på to måter:
@@ -170,10 +170,10 @@ Read the following file immediately as it's relevant to all workflows: @rules/ge
Denne tilnærmingen lar deg:
- Lag modulære, gjenbrukbare regelfiler
- Del regler på tvers av prosjekter via symbolkoblinger eller git-undermoduler
- Hold AGENTS.md kortfattet mens du refererer til detaljerte retningslinjer
- Sørg for at OpenCode laster filer kun når det er nødvendig for den spesifikke oppgaven
- Lage modulære, gjenbrukbare regelfiler
- Dele regler på tvers av prosjekter via symbolkoblinger eller git-undermoduler
- Holde AGENTS.md kortfattet mens du refererer til detaljerte retningslinjer
- Sørge for at OpenCode laster filer kun når det er nødvendig for den spesifikke oppgaven
:::tip
For monorepos eller prosjekter med delte standarder er bruk av `opencode.json` med glob-mønstre (som `packages/*/AGENTS.md`) mer vedlikeholdbart enn manuelle instruksjoner.

View File

@@ -13,7 +13,7 @@ Bruk den til å bygge integrasjoner og kontrollere OpenCode programmatisk.
---
## Installer
## Installasjon
Installer SDK fra npm:
@@ -23,7 +23,7 @@ npm install @opencode-ai/sdk
---
## Opprett klient
## Opprette klient
Opprett en forekomst av OpenCode:
@@ -41,13 +41,13 @@ Dette starter både en server og en klient
| ---------- | ------------- | -------------------------------- | ----------- |
| `hostname` | `string` | Server vertsnavn | `127.0.0.1` |
| `port` | `number` | Serverport | `4096` |
| `signal` | `AbortSignal` | Avbryt signal for kansellering | `undefined` |
| `signal` | `AbortSignal` | AbortSignal for avbrudd | `undefined` |
| `timeout` | `number` | Tidsavbrudd i ms for serverstart | `5000` |
| `config` | `Config` | Konfigurasjonsobjekt | `{}` |
---
## Konfig
## Konfigurasjon
Du kan sende et konfigurasjonsobjekt for å tilpasse virkemåten. Forekomsten henter fortsatt din `opencode.json`, men du kan overstyre eller legge til konfigurasjon inline:
@@ -81,13 +81,13 @@ const client = createOpencodeClient({
#### Alternativer
| Alternativ | Type | Beskrivelse | Standard |
| --------------- | ---------- | ---------------------------------- | ----------------------- |
| `baseUrl` | `string` | URL av serveren | `http://localhost:4096` |
| `fetch` | `function` | Egendefinert hentingimplementering | `globalThis.fetch` |
| `parseAs` | `string` | Svarparsingmetode | `auto` |
| `responseStyle` | `string` | Returstil: `data` eller `fields` | `fields` |
| `throwOnError` | `boolean` | Kast feil i stedet for retur | `false` |
| Alternativ | Type | Beskrivelse | Standard |
| --------------- | ---------- | --------------------------------- | ----------------------- |
| `baseUrl` | `string` | URL av serveren | `http://localhost:4096` |
| `fetch` | `function` | Egendefinert fetch-implementasjon | `globalThis.fetch` |
| `parseAs` | `string` | Metode for responsparsing | `auto` |
| `responseStyle` | `string` | Returstil: `data` eller `fields` | `fields` |
| `throwOnError` | `boolean` | Kast feil i stedet for retur | `false` |
---
@@ -99,7 +99,7 @@ SDK inkluderer TypeScript-definisjoner for alle API-typer. Importer dem direkte:
import type { Session, Message, Part } from "@opencode-ai/sdk"
```
Alle typer er generert fra serverens OpenAPI-spesifikasjon og tilgjengelig i <a href={typesUrl}>types-filen</a>.
Alle typer er generert fra serverens OpenAPI-spesifikasjon og tilgjengelig i <a href={typesUrl}>type-filen</a>.
---
@@ -117,17 +117,17 @@ try {
---
## APIer
## API-er
SDK avslører alle server-APIer gjennom en typesikker klient.
SDK-en eksponerer alle server-API-er gjennom en typesikker klient.
---
### Globalt
| Metode | Beskrivelse | Svar |
| ----------------- | ---------------------------- | ------------------------------------ |
| `global.health()` | Sjekk serverhelse og versjon | `{ healthy: true, version: string }` |
| Metode | Beskrivelse | Svar |
| ----------------- | ----------------------------- | ------------------------------------ |
| `global.health()` | Sjekk serverstatus og versjon | `{ healthy: true, version: string }` |
---
@@ -142,10 +142,10 @@ console.log(health.data.version)
### App
| Metode | Beskrivelse | Svar |
| -------------- | -------------------------------- | ------------------------------------------- |
| `app.log()` | Skriv en loggoppføring | `boolean` |
| `app.agents()` | Liste alle tilgjengelige agenter | <a href={typesUrl}><code>Agent[]</code></a> |
| Metode | Beskrivelse | Svar |
| -------------- | ------------------------------- | ------------------------------------------- |
| `app.log()` | Skriv en loggoppføring | `boolean` |
| `app.agents()` | List alle tilgjengelige agenter | <a href={typesUrl}><code>Agent[]</code></a> |
---
@@ -169,10 +169,10 @@ const agents = await client.app.agents()
### Prosjekt
| Metode | Beskrivelse | Svar |
| ------------------- | -------------------------- | --------------------------------------------- |
| `project.list()` | Liste over alle prosjekter | <a href={typesUrl}><code>Project[]</code></a> |
| `project.current()` | Få nåværende prosjekt | <a href={typesUrl}><code>Project</code></a> |
| Metode | Beskrivelse | Svar |
| ------------------- | ----------------------- | --------------------------------------------- |
| `project.list()` | List alle prosjekter | <a href={typesUrl}><code>Project[]</code></a> |
| `project.current()` | Hent gjeldende prosjekt | <a href={typesUrl}><code>Project</code></a> |
---
@@ -190,9 +190,9 @@ const currentProject = await client.project.current()
### Sti
| Metode | Beskrivelse | Svar |
| ------------ | ----------------- | ---------------------------------------- |
| `path.get()` | gjeldende bane | <a href={typesUrl}><code>Path</code></a> |
| Metode | Beskrivelse | Svar |
| ------------ | ------------------- | ---------------------------------------- |
| `path.get()` | Hent gjeldende bane | <a href={typesUrl}><code>Path</code></a> |
---
@@ -205,12 +205,12 @@ const pathInfo = await client.path.get()
---
### Konfig
### Konfigurasjon
| Metode | Beskrivelse | Svar |
| -------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `config.get()` | konfigurasjonsinformasjon | <a href={typesUrl}><code>Config</code></a> |
| `config.providers()` | Liste leverandører og standardmodeller | `{ providers: `<a href={typesUrl}><code>Provider[]</code></a>`, default: { [key: string]: string } }` |
| Metode | Beskrivelse | Svar |
| -------------------- | ------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `config.get()` | Hent konfigurasjonsinformasjon | <a href={typesUrl}><code>Config</code></a> |
| `config.providers()` | List leverandører og standardmodeller | `{ providers: `<a href={typesUrl}><code>Provider[]</code></a>`, default: { [key: string]: string } }` |
---
@@ -226,27 +226,27 @@ const { providers, default: defaults } = await client.config.providers()
### Sesjoner
| Metode | Beskrivelse | Merknader |
| ---------------------------------------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `session.list()` | Liste økter | Returnerer <a href={typesUrl}><code>Session[]</code></a> |
| `session.get({ path })` | Få økt | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `session.children({ path })` | Liste over barneøkter | Returnerer <a href={typesUrl}><code>Session[]</code></a> |
| `session.create({ body })` | Opprett økt | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `session.delete({ path })` | Slett økt | Returnerer `boolean` |
| `session.update({ path, body })` | Oppdater øktegenskaper | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `session.init({ path, body })` | Analyser appen og lag `AGENTS.md` | Returnerer `boolean` |
| `session.abort({ path })` | Avbryt en løpeøkt | Returnerer `boolean` |
| `session.share({ path })` | Del økten | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `session.unshare({ path })` | Slutt å dele økten | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `session.summarize({ path, body })` | Oppsummer økten | Returnerer `boolean` |
| `session.messages({ path })` | Liste meldinger i en økt | Returnerer `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}[]` |
| `session.message({ path })` | meldingsdetaljer | Returnerer `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
| `session.prompt({ path, body })` | Send melding | `body.noReply: true` returnerer UserMessage (kun kontekst). Standard returnerer <a href={typesUrl}><code>AssistantMessage</code></a> med AI svar |
| `session.command({ path, body })` | Send kommando til økt | Returnerer `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
| `session.shell({ path, body })` | Kjør en shell-kommando | Returnerer <a href={typesUrl}><code>AssistantMessage</code></a> |
| `session.revert({ path, body })` | Tilbakestill en melding | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `session.unrevert({ path })` | Gjenopprett tilbakestilte meldinger | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `postSessionByIdPermissionsByPermissionId({ path, body })` | Svar på en tillatelsesforespørsel | Returnerer `boolean` |
| Metode | Beskrivelse | Merknader |
| ---------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `session.list()` | List økter | Returnerer <a href={typesUrl}><code>Session[]</code></a> |
| `session.get({ path })` | Hent økt | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `session.children({ path })` | List barneøkter | Returnerer <a href={typesUrl}><code>Session[]</code></a> |
| `session.create({ body })` | Opprett økt | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `session.delete({ path })` | Slett økt | Returnerer `boolean` |
| `session.update({ path, body })` | Oppdater øktegenskaper | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `session.init({ path, body })` | Analyser appen og lag `AGENTS.md` | Returnerer `boolean` |
| `session.abort({ path })` | Avbryt en kjørende økt | Returnerer `boolean` |
| `session.share({ path })` | Del økten | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `session.unshare({ path })` | Slutt å dele økten | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `session.summarize({ path, body })` | Oppsummer økten | Returnerer `boolean` |
| `session.messages({ path })` | List meldinger i en økt | Returnerer `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}[]` |
| `session.message({ path })` | Hent meldingsdetaljer | Returnerer `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
| `session.prompt({ path, body })` | Send melding | `body.noReply: true` returnerer UserMessage (kun kontekst). Standard returnerer <a href={typesUrl}><code>AssistantMessage</code></a> med AI svar |
| `session.command({ path, body })` | Send kommando til økt | Returnerer `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
| `session.shell({ path, body })` | Kjør en shell-kommando | Returnerer <a href={typesUrl}><code>AssistantMessage</code></a> |
| `session.revert({ path, body })` | Tilbakestill en melding | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `session.unrevert({ path })` | Gjenopprett reverserte meldinger | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `postSessionByIdPermissionsByPermissionId({ path, body })` | Svar på en tillatelsesforespørsel | Returnerer `boolean` |
---
@@ -287,9 +287,9 @@ await client.session.prompt({
| ------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------ |
| `find.text({ query })` | Søk etter tekst i filer | En rekke matchobjekter med `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
| `find.files({ query })` | Finn filer og kataloger etter navn | `string[]` (baner) |
| `find.symbols({ query })` | Finn arbeidsområdesymboler | <a href={typesUrl}><code>Symbol[]</code></a> |
| `find.symbols({ query })` | Finn symboler i arbeidsområdet | <a href={typesUrl}><code>Symbol[]</code></a> |
| `file.read({ query })` | Les en fil | `{ type: "raw" \| "patch", content: string }` |
| `file.status({ query? })` | status for sporede filer | <a href={typesUrl}><code>File[]</code></a> |
| `file.status({ query? })` | Hent status for sporede filer | <a href={typesUrl}><code>File[]</code></a> |
`find.files` støtter noen få valgfrie søkefelt:
@@ -324,17 +324,17 @@ const content = await client.file.read({
### TUI
| Metode | Beskrivelse | Svar |
| ------------------------------ | ---------------------------- | --------- |
| `tui.appendPrompt({ body })` | Legg til tekst i ledeteksten | `boolean` |
| `tui.openHelp()` | Åpne hjelpedialogen | `boolean` |
| `tui.openSessions()` | Åpne øktvelgeren | `boolean` |
| `tui.openThemes()` | Åpne temavelgeren | `boolean` |
| `tui.openModels()` | Åpne modellvelgeren | `boolean` |
| `tui.submitPrompt()` | Send inn gjeldende ledetekst | `boolean` |
| `tui.clearPrompt()` | Fjern ledeteksten | `boolean` |
| `tui.executeCommand({ body })` | Utfør en kommando | `boolean` |
| `tui.showToast({ body })` | Vis toastvarsel | `boolean` |
| Metode | Beskrivelse | Svar |
| ------------------------------ | ------------------------- | --------- |
| `tui.appendPrompt({ body })` | Legg til tekst i prompten | `boolean` |
| `tui.openHelp()` | Åpne hjelpedialogen | `boolean` |
| `tui.openSessions()` | Åpne øktvelgeren | `boolean` |
| `tui.openThemes()` | Åpne temavelgeren | `boolean` |
| `tui.openModels()` | Åpne modellvelgeren | `boolean` |
| `tui.submitPrompt()` | Send inn gjeldende prompt | `boolean` |
| `tui.clearPrompt()` | Tøm prompten | `boolean` |
| `tui.executeCommand({ body })` | Utfør en kommando | `boolean` |
| `tui.showToast({ body })` | Vis toast-varsel | `boolean` |
---
@@ -355,9 +355,9 @@ await client.tui.showToast({
### Auth
| Metode | Beskrivelse | Svar |
| ------------------- | ------------------------------- | --------- |
| `auth.set({ ... })` | Angi autentiseringslegitimasjon | `boolean` |
| Metode | Beskrivelse | Svar |
| ------------------- | ------------------------------ | --------- |
| `auth.set({ ... })` | Angi autentiseringsinformasjon | `boolean` |
---
@@ -374,9 +374,9 @@ await client.auth.set({
### Hendelser
| Metode | Beskrivelse | Svar |
| ------------------- | ------------------------------ | ------------------------------ |
| `event.subscribe()` | Server-sendte hendelser stream | Server-sendte hendelser stream |
| Metode | Beskrivelse | Svar |
| ------------------- | -------------------------------- | -------------------------------- |
| `event.subscribe()` | Strøm av server-sendte hendelser | Strøm av server-sendte hendelser |
---

View File

@@ -1,12 +1,12 @@
---
title: Server
description: Samhandle med OpenCode-server over HTTP.
title: Tjener
description: Samhandle med OpenCode-tjener over HTTP.
---
import config from "../../../../config.mjs"
export const typesUrl = `${config.github}/blob/dev/packages/sdk/js/src/gen/types.gen.ts`
Kommandoen `opencode serve` kjører en hodeløs HTTP-server som avslører et OpenAPI-endepunkt som en OpenCode-klient kan bruke.
Kommandoen `opencode serve` kjører en hodeløs HTTP-server som eksponerer et OpenAPI-endepunkt som en OpenCode-klient kan bruke.
---
@@ -18,15 +18,15 @@ opencode serve [--port <number>] [--hostname <string>] [--cors <origin>]
#### Alternativer
| Flagg | Beskrivelse | Standard |
| --------------- | ---------------------------------------------- | ---------------- |
| `--port` | Port å lytte på | `4096` |
| `--hostname` | Vertsnavn å lytte på | `127.0.0.1` |
| `--mdns` | Aktiver mDNS-oppdagelse | `false` |
| `--mdns-domain` | Egendefinert domenenavn for mDNS-tjeneste | `opencode.local` |
| `--cors` | Ytterligere nettleseropprinnelse for å tillate | `[]` |
| Flagg | Beskrivelse | Standard |
| --------------- | --------------------------------------------- | ---------------- |
| `--port` | Port å lytte på | `4096` |
| `--hostname` | Vertsnavn å lytte på | `127.0.0.1` |
| `--mdns` | Aktiver mDNS-oppdagelse | `false` |
| `--mdns-domain` | Egendefinert domenenavn for mDNS-tjeneste | `opencode.local` |
| `--cors` | Ytterligere nettleseropprinnelse som tillates | `[]` |
`--cors` kan passeres flere ganger:
`--cors` kan angis flere ganger:
```bash
opencode serve --cors http://localhost:5173 --cors https://app.example.com
@@ -36,7 +36,7 @@ opencode serve --cors http://localhost:5173 --cors https://app.example.com
### Autentisering
Sett `OPENCODE_SERVER_PASSWORD` for å beskytte serveren med HTTP grunnleggende autentisering. Brukernavnet er standard til `opencode`, eller sett `OPENCODE_SERVER_USERNAME` for å overstyre det. Dette gjelder både `opencode serve` og `opencode web`.
Sett `OPENCODE_SERVER_PASSWORD` for å beskytte serveren med HTTP grunnleggende autentisering. Brukernavnet er satt til `opencode` som standard, eller sett `OPENCODE_SERVER_USERNAME` for å overstyre det. Dette gjelder både `opencode serve` og `opencode web`.
```bash
OPENCODE_SERVER_PASSWORD=your-password opencode serve
@@ -98,48 +98,48 @@ opencode-serveren viser følgende APIer.
### Prosjekt
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------------ | --------------------------- | --------------------------------------------- |
| `GET` | `/project` | Liste over alle prosjekter | <a href={typesUrl}><code>Project[]</code></a> |
| `GET` | `/project/current` | Få det nåværende prosjektet | <a href={typesUrl}><code>Project</code></a> |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------------ | ----------------------- | --------------------------------------------- |
| `GET` | `/project` | List alle prosjekter | <a href={typesUrl}><code>Project[]</code></a> |
| `GET` | `/project/current` | Hent gjeldende prosjekt | <a href={typesUrl}><code>Project</code></a> |
---
### Bane og VCS
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------- | ---------------------------------- | ------------------------------------------- |
| `GET` | `/path` | gjeldende bane | <a href={typesUrl}><code>Path</code></a> |
| `GET` | `/vcs` | VCS info for gjeldende prosjekt | <a href={typesUrl}><code>VcsInfo</code></a> |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------- | ------------------------------------ | ------------------------------------------- |
| `GET` | `/path` | Hent gjeldende bane | <a href={typesUrl}><code>Path</code></a> |
| `GET` | `/vcs` | Hent VCS-info for gjeldende prosjekt | <a href={typesUrl}><code>VcsInfo</code></a> |
---
### Forekomst
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------------- | ------------------------ | --------- |
| `POST` | `/instance/dispose` | Kast gjeldende forekomst | `boolean` |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------------- | --------------------------- | --------- |
| `POST` | `/instance/dispose` | Avslutt gjeldende forekomst | `boolean` |
---
### Konfig
### Konfigurasjon
| Metode | Sti | Beskrivelse | Svar |
| ------- | ------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
| `GET` | `/config` | konfigurasjonsinformasjon | <a href={typesUrl}><code>Config</code></a> |
| `PATCH` | `/config` | Oppdater konfigurasjon | <a href={typesUrl}><code>Config</code></a> |
| `GET` | `/config/providers` | Liste leverandører og standardmodeller | `{ providers: `<a href={typesUrl}>Provider[]</a>`, default: { [key: string]: string } }` |
| Metode | Sti | Beskrivelse | Svar |
| ------- | ------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------- |
| `GET` | `/config` | Hent konfigurasjonsinformasjon | <a href={typesUrl}><code>Config</code></a> |
| `PATCH` | `/config` | Oppdater konfigurasjon | <a href={typesUrl}><code>Config</code></a> |
| `GET` | `/config/providers` | List leverandører og standardmodeller | `{ providers: `<a href={typesUrl}>Provider[]</a>`, default: { [key: string]: string } }` |
---
### Leverandør
| Metode | Sti | Beskrivelse | Svar |
| ------ | -------------------------------- | ----------------------------------------------- | ----------------------------------------------------------------------------------- |
| `GET` | `/provider` | Liste alle leverandører | `{ all: `<a href={typesUrl}>Provider[]</a>`, default: {...}, connected: string[] }` |
| `GET` | `/provider/auth` | Få leverandørautentiseringsmetoder | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
| `POST` | `/provider/{id}/oauth/authorize` | Autoriser en leverandør ved å bruke OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
| `POST` | `/provider/{id}/oauth/callback` | Håndtere OAuth-tilbakeringing for en leverandør | `boolean` |
| Metode | Sti | Beskrivelse | Svar |
| ------ | -------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------- |
| `GET` | `/provider` | List alle leverandører | `{ all: `<a href={typesUrl}>Provider[]</a>`, default: {...}, connected: string[] }` |
| `GET` | `/provider/auth` | Hent autentiseringsmetoder for leverandør | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
| `POST` | `/provider/{id}/oauth/authorize` | Autoriser en leverandør ved å bruke OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
| `POST` | `/provider/{id}/oauth/callback` | Håndter OAuth-tilbakeringing for en leverandør | `boolean` |
---
@@ -147,20 +147,20 @@ opencode-serveren viser følgende APIer.
| Metode | Sti | Beskrivelse | Merknader |
| -------- | ---------------------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------- |
| `GET` | `/session` | Liste alle økter | Returnerer <a href={typesUrl}><code>Session[]</code></a> |
| `GET` | `/session` | List alle økter | Returnerer <a href={typesUrl}><code>Session[]</code></a> |
| `POST` | `/session` | Opprett en ny økt | body: `{ parentID?, title? }`, returnerer <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/status` | øktstatus for alle økter | Returnerer `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` |
| `GET` | `/session/:id` | øktdetaljer | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/status` | Hent øktstatus for alle økter | Returnerer `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` |
| `GET` | `/session/:id` | Hent øktdetaljer | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `DELETE` | `/session/:id` | Slett en økt og alle dens data | Returnerer `boolean` |
| `PATCH` | `/session/:id` | Oppdater øktegenskaper | body: `{ title? }`, returnerer <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/:id/children` | en økts barneøkter | Returnerer <a href={typesUrl}><code>Session[]</code></a> |
| `GET` | `/session/:id/todo` | gjøremålslisten for en økt | Returnerer <a href={typesUrl}><code>Todo[]</code></a> |
| `GET` | `/session/:id/children` | Hent en økts barneøkter | Returnerer <a href={typesUrl}><code>Session[]</code></a> |
| `GET` | `/session/:id/todo` | Hent gjøremålslisten for en økt | Returnerer <a href={typesUrl}><code>Todo[]</code></a> |
| `POST` | `/session/:id/init` | Analyser appen og lag `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returnerer `boolean` |
| `POST` | `/session/:id/fork` | Fork en eksisterende økt ved en melding | body: `{ messageID? }`, returnerer <a href={typesUrl}><code>Session</code></a> |
| `POST` | `/session/:id/abort` | Avbryt en løpeøkt | Returnerer `boolean` |
| `POST` | `/session/:id/abort` | Avbryt en kjørende økt | Returnerer `boolean` |
| `POST` | `/session/:id/share` | Del en økt | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `DELETE` | `/session/:id/share` | Slutt å dele en økt | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/:id/diff` | diff for denne økten | spørring: `messageID?`, returnerer <a href={typesUrl}><code>FileDiff[]</code></a> |
| `GET` | `/session/:id/diff` | Hent diff for denne økten | spørring: `messageID?`, returnerer <a href={typesUrl}><code>FileDiff[]</code></a> |
| `POST` | `/session/:id/summarize` | Oppsummer økten | body: `{ providerID, modelID }`, returnerer `boolean` |
| `POST` | `/session/:id/revert` | Tilbakestill en melding | body: `{ messageID, partID? }`, returnerer `boolean` |
| `POST` | `/session/:id/unrevert` | Gjenopprett alle tilbakestilte meldinger | Returnerer `boolean` |
@@ -172,20 +172,20 @@ opencode-serveren viser følgende APIer.
| Metode | Sti | Beskrivelse | Merknader |
| ------ | --------------------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `GET` | `/session/:id/message` | Liste meldinger i en økt | spørring: `limit?`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` |
| `GET` | `/session/:id/message` | List meldinger i en økt | spørring: `limit?`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` |
| `POST` | `/session/:id/message` | Send en melding og vent på svar | body: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `GET` | `/session/:id/message/:messageID` | meldingsdetaljer | Returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `GET` | `/session/:id/message/:messageID` | Hent meldingsdetaljer | Returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `POST` | `/session/:id/prompt_async` | Send en melding asynkront (ingen vent) | body: samme som `/session/:id/message`, returnerer `204 No Content` |
| `POST` | `/session/:id/command` | Utfør en skråstrek-kommando | body: `{ messageID?, agent?, model?, command, arguments }`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `POST` | `/session/:id/command` | Utfør en slash-kommando | body: `{ messageID?, agent?, model?, command, arguments }`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `POST` | `/session/:id/shell` | Kjør en shell-kommando | body: `{ agent, model?, command }`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
---
### Kommandoer
| Metode | Sti | Beskrivelse | Svar |
| ------ | ---------- | --------------------- | --------------------------------------------- |
| `GET` | `/command` | Liste alle kommandoer | <a href={typesUrl}><code>Command[]</code></a> |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ---------- | -------------------- | --------------------------------------------- |
| `GET` | `/command` | List alle kommandoer | <a href={typesUrl}><code>Command[]</code></a> |
---
@@ -195,10 +195,10 @@ opencode-serveren viser følgende APIer.
| ------ | ------------------------ | ---------------------------------- | ------------------------------------------------------------------------------------------ |
| `GET` | `/find?pattern=<pat>` | Søk etter tekst i filer | En rekke matchobjekter med `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
| `GET` | `/find/file?query=<q>` | Finn filer og kataloger etter navn | `string[]` (baner) |
| `GET` | `/find/symbol?query=<q>` | Finn arbeidsområdesymboler | <a href={typesUrl}><code>Symbol[]</code></a> |
| `GET` | `/file?path=<path>` | Liste filer og kataloger | <a href={typesUrl}><code>FileNode[]</code></a> |
| `GET` | `/find/symbol?query=<q>` | Finn symboler i arbeidsområdet | <a href={typesUrl}><code>Symbol[]</code></a> |
| `GET` | `/file?path=<path>` | List filer og kataloger | <a href={typesUrl}><code>FileNode[]</code></a> |
| `GET` | `/file/content?path=<p>` | Les en fil | <a href={typesUrl}><code>FileContent</code></a> |
| `GET` | `/file/status` | status for sporede filer | <a href={typesUrl}><code>File[]</code></a> |
| `GET` | `/file/status` | Hent status for sporede filer | <a href={typesUrl}><code>File[]</code></a> |
#### `/find/file` spørringsparametere
@@ -223,26 +223,26 @@ opencode-serveren viser følgende APIer.
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------ | ---------------------------- | -------------------------------------------------------- |
| `GET` | `/lsp` | LSP serverstatus | <a href={typesUrl}><code>LSPStatus[]</code></a> |
| `GET` | `/formatter` | formateringsstatus | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
| `GET` | `/mcp` | MCP serverstatus | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
| `POST` | `/mcp` | Legg til MCP server dynamisk | body: `{ name, config }`, returnerer MCP statusobjekt |
| `GET` | `/lsp` | Hent LSP-serverstatus | <a href={typesUrl}><code>LSPStatus[]</code></a> |
| `GET` | `/formatter` | Hent formateringsstatus | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
| `GET` | `/mcp` | Hent MCP-serverstatus | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
| `POST` | `/mcp` | Legg til MCP-server dynamisk | body: `{ name, config }`, returnerer MCP statusobjekt |
---
### Agenter
| Metode | Sti | Beskrivelse | Svar |
| ------ | -------- | -------------------------------- | ------------------------------------------- |
| `GET` | `/agent` | Liste alle tilgjengelige agenter | <a href={typesUrl}><code>Agent[]</code></a> |
| Metode | Sti | Beskrivelse | Svar |
| ------ | -------- | ------------------------------- | ------------------------------------------- |
| `GET` | `/agent` | List alle tilgjengelige agenter | <a href={typesUrl}><code>Agent[]</code></a> |
---
### Logging
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------ | --------------------------------------------------------------------- | --------- |
| `POST` | `/log` | Skriv loggoppføring. Brødtekst: `{ service, level, message, extra? }` | `boolean` |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------ | ---------------------------------------------------------------- | --------- |
| `POST` | `/log` | Skriv loggoppføring. Body: `{ service, level, message, extra? }` | `boolean` |
---
@@ -250,13 +250,13 @@ opencode-serveren viser følgende APIer.
| Metode | Sti | Beskrivelse | Svar |
| ------ | ----------------------- | ------------------------------------------- | -------------------------- |
| `POST` | `/tui/append-prompt` | Legg til tekst i ledeteksten | `boolean` |
| `POST` | `/tui/append-prompt` | Legg til tekst i prompten | `boolean` |
| `POST` | `/tui/open-help` | Åpne hjelpedialogen | `boolean` |
| `POST` | `/tui/open-sessions` | Åpne øktvelgeren | `boolean` |
| `POST` | `/tui/open-themes` | Åpne temavelgeren | `boolean` |
| `POST` | `/tui/open-models` | Åpne modellvelgeren | `boolean` |
| `POST` | `/tui/submit-prompt` | Send inn gjeldende ledetekst | `boolean` |
| `POST` | `/tui/clear-prompt` | Fjern ledeteksten | `boolean` |
| `POST` | `/tui/submit-prompt` | Send inn gjeldende prompt | `boolean` |
| `POST` | `/tui/clear-prompt` | Tøm prompten | `boolean` |
| `POST` | `/tui/execute-command` | Utfør en kommando (`{ command }`) | `boolean` |
| `POST` | `/tui/show-toast` | Vis toast (`{ title?, message, variant }`) | `boolean` |
| `GET` | `/tui/control/next` | Vent på neste kontrollforespørsel | Kontrollforespørselsobjekt |
@@ -266,17 +266,17 @@ opencode-serveren viser følgende APIer.
### Auth
| Metode | Sti | Beskrivelse | Svar |
| ------ | ----------- | --------------------------------------------------------------------------- | --------- |
| `PUT` | `/auth/:id` | Angi autentiseringslegitimasjon. Brødtekst må samsvare med leverandørskjema | `boolean` |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ----------- | --------------------------------------------------------------------- | --------- |
| `PUT` | `/auth/:id` | Angi autentiseringsinformasjon. Body må samsvare med leverandørskjema | `boolean` |
---
### Hendelser
| Metode | Sti | Beskrivelse | Svar |
| ------ | -------- | -------------------------------------------------------------------------------------------------- | ------------------------------ |
| `GET` | `/event` | Server-sendte hendelsesstrøm. Første arrangement er `server.connected`, deretter bussarrangementer | Server-sendte hendelser stream |
| Metode | Sti | Beskrivelse | Svar |
| ------ | -------- | ----------------------------------------------------------------------------------------------- | -------------------------------- |
| `GET` | `/event` | Strøm av server-sendte hendelser. Første hendelse er `server.connected`, deretter busshendelser | Strøm av server-sendte hendelser |
---

View File

@@ -1,5 +1,5 @@
---
title: Dele
title: Deling
description: Del dine OpenCode-samtaler.
---
@@ -123,6 +123,6 @@ For bedriftsimplementeringer kan delingsfunksjonen være:
- **Deaktivert** helt for overholdelse av sikkerhet
- **Begrenset** til brukere som kun er autentisert gjennom SSO
- **Selvvert** på din egen infrastruktur
- **Selv-hostet** på din egen infrastruktur
[Finn ut mer](/docs/enterprise) om bruk av opencode i organisasjonen din.

View File

@@ -1,10 +1,10 @@
---
title: "Agentferdigheter"
description: "Definer gjenbrukbar atferd via SKILL.md-definisjoner"
description: "Definer gjenbrukbar oppførsel via SKILL.md-definisjoner"
---
Agentferdigheter lar opencode oppdage gjenbrukbare instruksjoner fra repo- eller hjemmekatalogen din.
Ferdigheter lastes inn på forespørsel via det opprinnelige `skill`-verktøyet agenter ser tilgjengelige ferdigheter og kan laste inn hele innholdet når det er nødvendig.
Agentferdigheter lar OpenCode oppdage gjenbrukbare instruksjoner fra repo- eller hjemmekatalogen din.
Ferdigheter lastes inn på forespørsel via det innebygde `skill`-verktøyet agenter ser tilgjengelige ferdigheter og kan laste inn hele innholdet når det er nødvendig.
---
@@ -31,7 +31,7 @@ Globale definisjoner lastes også inn fra `~/.config/opencode/skills/*/SKILL.md`
---
## Skriv frontmaterie
## Skriv frontmatter
Hver `SKILL.md` må starte med YAML frontmatter.
Bare disse feltene gjenkjennes:
@@ -42,7 +42,7 @@ Bare disse feltene gjenkjennes:
- `compatibility` (valgfritt)
- `metadata` (valgfritt, streng-til-streng kart)
Ukjente frontmatter-felter ignoreres.
Ukjente frontmatter-felt ignoreres.
---
@@ -51,10 +51,10 @@ Ukjente frontmatter-felter ignoreres.
`name` må:
- Bestå av 164 tegn
- Vær alfanumerisk med små bokstaver med skilletegn med enkelt bindestrek
- Vær alfanumerisk med små bokstaver, adskilt med enkel bindestrek
- Ikke begynne eller slutte med `-`
- Ikke inneholde påfølgende `--`
- Match katalognavnet som inneholder `SKILL.md`
- Samsvare med katalognavnet som inneholder `SKILL.md`
Ekvivalent regulært uttrykk:
@@ -100,9 +100,9 @@ Ask clarifying questions if the target versioning scheme is unclear.
---
## Gjenkjenne verktøybeskrivelsen
## Forstå verktøybeskrivelsen
opencode viser tilgjengelige ferdigheter i `skill` verktøybeskrivelsen.
opencode viser tilgjengelige ferdigheter i `skill`-verktøybeskrivelsen.
Hver oppføring inneholder ferdighetsnavnet og beskrivelsen:
```xml
@@ -139,11 +139,11 @@ Kontroller hvilke ferdigheter agenter har tilgang til ved å bruke mønsterbaser
}
```
| Tillatelse | Atferd |
| ---------- | ------------------------------------------ |
| `allow` | Ferdigheter lastes umiddelbart |
| `deny` | Ferdighet skjult for agent, tilgang avvist |
| `ask` | Bruker bedt om godkjenning før lasting |
| Tillatelse | Atferd |
| ---------- | ------------------------------------------- |
| `allow` | Ferdigheter lastes umiddelbart |
| `deny` | Ferdighet skjult for agent, tilgang avvist |
| `ask` | Bruker blir bedt om godkjenning før lasting |
Mønstre støtter jokertegn: `internal-*` samsvarer med `internal-docs`, `internal-tools` osv.

View File

@@ -45,23 +45,23 @@ Og mer, vi legger stadig til nye temaer.
## Systemtema
`system`-temaet er designet for å automatisk tilpasse seg terminalens fargevalg. I motsetning til tradisjonelle temaer som bruker faste farger, er _system_-temaet:
`system`-temaet er designet for å automatisk tilpasse seg terminalens fargeskjema. I motsetning til tradisjonelle temaer som bruker faste farger, er _system_-temaet:
- **Genererer gråskala**: Oppretter en tilpasset gråskala basert på terminalens bakgrunnsfarge, og sikrer optimal kontrast.
- **Bruker ANSI farger**: Bruker standard ANSI farger (0-15) for syntaksutheving og UI elementer, som respekterer terminalens fargepalett.
- **Genererer gråtone**: Oppretter en tilpasset gråskala basert på terminalens bakgrunnsfarge, og sikrer optimal kontrast.
- **Bruker ANSI-farger**: Bruker standard ANSI farger (0-15) for syntaksutheving og UI elementer, som respekterer terminalens fargepalett.
- **Bevarer terminalens standardinnstillinger**: Bruker `none` for tekst- og bakgrunnsfarger for å opprettholde terminalens opprinnelige utseende.
Systemtemaet er for brukere som:
- Vil at opencode skal matche terminalens utseende
- Bruk tilpassede terminalfargeskjemaer
- Bruker tilpassede terminalfargeskjemaer
- Foretrekker et konsistent utseende på tvers av alle terminalapplikasjoner
---
## Bruke et tema
Du kan velge et tema ved å hente frem temavalg med kommandoen `/theme`. Eller du kan spesifisere det i [config](/docs/config).
Du kan velge et tema ved å åpne temavelgeren med kommandoen `/theme`. Eller du kan spesifisere det i [config](/docs/config).
```json title="opencode.json" {3}
{
@@ -95,7 +95,7 @@ Hvis flere kataloger inneholder et tema med samme navn, vil temaet fra katalogen
For å lage et tilpasset tema, lag en JSON-fil i en av temakatalogene.
For brukeromfattende temaer:
For brukerspesifikke temaer:
```bash no-frame
mkdir -p ~/.config/opencode/themes
@@ -111,12 +111,12 @@ vim .opencode/themes/my-theme.json
---
### JSON format
### JSON-format
Temaer bruker et fleksibelt JSON-format med støtte for:
- **Sekskantfarger**: `"#ffffff"`
- **ANSI farger**: `3` (0-255)
- **Hex-farger**: `"#ffffff"`
- **ANSI-farger**: `3` (0-255)
- **Fargereferanser**: `"primary"` eller egendefinerte definisjoner
- **Mørke/lyse varianter**: `{"dark": "#000", "light": "#fff"}`
- **Ingen farge**: `"none"` - Bruker terminalens standardfarge eller transparent

View File

@@ -9,7 +9,7 @@ Som standard er alle verktøy **aktivert** og trenger ikke tillatelse for å kj
---
## Konfigurer
## Konfigurasjon
Bruk feltet `permission` for å kontrollere verktøyets oppførsel. Du kan tillate, avslå eller kreve godkjenning for hvert verktøy.
@@ -47,7 +47,7 @@ Her er alle de innebygde verktøyene som er tilgjengelige i OpenCode.
### bash
Utfør shell-kommandoer i prosjektmiljøet ditt.
Utfør skallkommandoer i prosjektmiljøet ditt.
```json title="opencode.json" {4}
{
@@ -58,7 +58,7 @@ Utfør shell-kommandoer i prosjektmiljøet ditt.
}
```
Dette verktøyet lar LLM kjøre terminalkommandoer som `npm install`, `git status` eller en hvilken som helst annen shell-kommando.
Dette verktøyet lar LLM kjøre terminalkommandoer som `npm install`, `git status` eller en hvilken som helst annen skallkommando.
---
@@ -168,9 +168,9 @@ Dette verktøyet viser kataloginnhold. Den aksepterer glob-mønstre for å filtr
---
### lsp (experimental)
### lsp (eksperimentell)
Samhandle med dine konfigurerte LSP-servere for å få kodeintelligensfunksjoner som definisjoner, referanser, sveveinformasjon og anropshierarki.
Samhandle med dine konfigurerte LSP-servere for å få kodeintelligens-funksjoner som definisjoner, referanser, hover-informasjon og kallhierarki.
:::note
Dette verktøyet er bare tilgjengelig når `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` (eller `OPENCODE_EXPERIMENTAL=true`).
@@ -204,7 +204,7 @@ Bruk patcher på filer.
}
```
Dette verktøyet bruker oppdateringsfiler til kodebasen din. Nyttig for å påføre diff og lapper fra forskjellige kilder.
Dette verktøyet bruker oppdateringsfiler til kodebasen din. Nyttig for å påføre diffs og patcher fra forskjellige kilder.
:::note
`patch`-verktøyet kontrolleres av tillatelsen `edit`, som dekker alle filendringer (`edit`, `write`, `patch`, `multiedit`).
@@ -291,7 +291,7 @@ Lar LLM hente og lese nettsider. Nyttig for å slå opp dokumentasjon eller fors
Søk på nettet for informasjon.
:::note
Dette verktøyet er bare tilgjengelig når du bruker OpenCode-leverandøren eller når miljøvariabelen `OPENCODE_ENABLE_EXA` er satt til en sannverdi (f.eks. `true` eller `1`).
Dette verktøyet er bare tilgjengelig når du bruker OpenCode-leverandøren eller når miljøvariabelen `OPENCODE_ENABLE_EXA` er satt til en sann verdi (f.eks. `true` eller `1`).
Slik aktiverer du når du starter OpenCode:
@@ -362,7 +362,7 @@ MCP (Model Context Protocol) servere lar deg integrere eksterne verktøy og tjen
## Internaler
Internt bruker verktøy som `grep`, `glob` og `list` [ripgrep](https://github.com/BurntSushi/ripgrep) under panseret. Som standard respekterer ripgrep `.gitignore`-mønstre, noe som betyr at filer og kataloger som er oppført i `.gitignore` vil bli ekskludert fra søk og oppføringer.
Internt bruker verktøy som `grep`, `glob` og `list` [ripgrep](https://github.com/BurntSushi/ripgrep) i bakgrunnen. Som standard respekterer ripgrep `.gitignore`-mønstre, noe som betyr at filer og kataloger som er oppført i `.gitignore` vil bli ekskludert fra søk og oppføringer.
---

View File

@@ -37,7 +37,7 @@ Denne katalogen inneholder:
---
## Desktop-app
## Skrivebordsapp
OpenCode Desktop kjører en lokal OpenCode-server (`opencode-cli` sidevognen) i bakgrunnen. De fleste problemene er forårsaket av en plugin som fungerer dårlig, en ødelagt cache eller en dårlig serverinnstilling.
@@ -105,7 +105,7 @@ OpenCode Desktop kan enten starte sin egen lokale server (standard) eller koble
Hvis du ser en **"Tilkobling mislyktes"**-dialogboks (eller appen kommer aldri forbi splash-skjermen), se etter en tilpasset server URL.
#### Slett standardserveren for skrivebordet URL
#### Slett skrivebordsappens standardserver-URL
Fra startskjermen klikker du på servernavnet (med statusprikken) for å åpne servervelgeren. I delen **Standardserver** klikker du på **Slett**.
@@ -153,7 +153,7 @@ OpenCode Desktop viser bare systemvarsler når:
### Tilbakestill skrivebordsapplagring (siste utvei)
Hvis appen ikke starter og du ikke kan slette innstillingene fra UI, tilbakestill skrivebordsappens lagrede tilstand.
Hvis appen ikke starter og du ikke kan slette innstillingene fra UI-et, tilbakestill skrivebordsappens lagrede tilstand.
1. Avslutt OpenCode Desktop.
2. Finn og slett disse filene (de finnes i OpenCode Desktop-appens datakatalog):
@@ -161,54 +161,6 @@ Hvis appen ikke starter og du ikke kan slette innstillingene fra UI, tilbakestil
- `opencode.settings.dat` (stasjonær standardserver URL)
- `opencode.global.dat` og `opencode.workspace.*.dat` (UI tilstand som nylige servere/prosjekter)
Slik finner du katalogen raskt:
- **macOS**: Finder -> `Cmd+Shift+G` -> `~/Library/Application Support` (søk deretter etter filnavnene ovenfor)
- **Linux**: søk under `~/.local/share` etter filnavnene ovenfor
- **Windows**: Trykk `WIN+R` -> `%APPDATA%` (søk deretter etter filnavnene ovenfor)
---
## Får hjelp
Hvis du opplever problemer med OpenCode:
1. **Rapporter problemer på GitHub**
Den beste måten å rapportere feil eller be om funksjoner på er gjennom vårt GitHub-lager:
[**github.com/anomalyco/opencode/issues**](https://github.com/anomalyco/opencode/issues)
Før du oppretter et nytt problem, søk i eksisterende problemer for å se om problemet ditt allerede er rapportert.
2. **Bli med i vår Discord**
For sanntidshjelp og fellesskapsdiskusjon, bli med i vår Discord-server:
[**opencode.ai/discord**](https://opencode.ai/discord)
---
## Vanlige problemer
Her er noen vanlige problemer og hvordan du kan løse dem.
---
### OpenCode vil ikke starte
1. Sjekk loggene for feilmeldinger
2. Prøv å kjøre med `--print-logs` for å se utdata i terminalen
3. Sørg for at du har den nyeste versjonen med `opencode upgrade`
---
### Autentiseringsproblemer
1. Prøv å autentisere på nytt med kommandoen `/connect` i TUI
2. Sjekk at API-nøklene dine er gyldige
3. Sørg for at nettverket ditt tillater tilkoblinger til leverandørens API
---
### Modellen er ikke tilgjengelig
@@ -217,42 +169,15 @@ Her er noen vanlige problemer og hvordan du kan løse dem.
2. Kontroller at modellnavnet i konfigurasjonen er riktig
3. Noen modeller kan kreve spesifikk tilgang eller abonnement
Hvis du støter på `ProviderModelNotFoundError` er du mest sannsynlig feil
refererer til en modell et sted.
Hvis du støter på `ProviderModelNotFoundError` refererer du mest sannsynlig feil
til en modell et sted.
Modeller skal refereres slik: `<providerId>/<modelId>`
Eksempler:
- `openai/gpt-4.1`
- `openrouter/google/gemini-2.5-flash`
- `opencode/kimi-k2`
For å finne ut hvilke modeller du har tilgang til, kjør `opencode models`
---
### ProviderInitError
Hvis du støter på en ProviderInitError, har du sannsynligvis en ugyldig eller ødelagt konfigurasjon.
For å løse dette:
1. Kontroller først at leverandøren din er riktig konfigurert ved å følge [leverandørveiledningen](/docs/providers)
2. Hvis problemet vedvarer, prøv å tømme den lagrede konfigurasjonen:
```bash
rm -rf ~/.local/share/opencode
```
På Windows, trykk `WIN+R` og slett: `%USERPROFILE%\.local\share\opencode`
3. Autentiser på nytt med leverandøren din ved å bruke kommandoen `/connect` i TUI.
---
### AI_APICallError og leverandørpakkeproblemer
Hvis du støter på API-anropsfeil, kan dette skyldes utdaterte leverandørpakker. OpenCode installerer dynamisk leverandørpakker (OpenAI, Anthropic, Google, etc.) etter behov og cacher dem lokalt.
Hvis du støter på API-anropsfeil, kan dette skyldes utdaterte provider-pakker. OpenCode installerer dynamisk provider-pakker (OpenAI, Anthropic, Google, etc.) etter behov og cacher dem lokalt.
For å løse problemer med leverandørpakke:
@@ -264,15 +189,15 @@ For å løse problemer med leverandørpakke:
På Windows, trykk `WIN+R` og slett: `%USERPROFILE%\.cache\opencode`
2. Start OpenCode på nytt for å installere de nyeste leverandørpakkene på nytt
2. Start OpenCode på nytt for å installere de nyeste provider-pakkene på nytt
Dette vil tvinge OpenCode til å laste ned de nyeste versjonene av leverandørpakkene, som ofte løser kompatibilitetsproblemer med modellparametere og API-endringer.
Dette vil tvinge OpenCode til å laste ned de nyeste versjonene av provider-pakkene, som ofte løser kompatibilitetsproblemer med modellparametere og API-endringer.
---
### Kopier/lim inn fungerer ikke på Linux
Linux-brukere må ha ett av følgende utklippstavleverktøy installert for at kopier/lim inn-funksjonalitet skal fungere:
Linux-brukere må ha ett av følgende utklippstavle-verktøy installert for at kopier/lim inn-funksjonalitet skal fungere:
**For X11-systemer:**
@@ -288,7 +213,7 @@ apt install -y xsel
apt install -y wl-clipboard
```
**For hodeløse miljøer:**
**For headless-miljøer:**
```bash
apt install -y xvfb
@@ -297,4 +222,4 @@ Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
export DISPLAY=:99.0
```
OpenCode vil oppdage om du bruker Wayland og foretrekker `wl-clipboard`, ellers vil den prøve å finne utklippstavleverktøy i rekkefølgen: `xclip` og `xsel`.
OpenCode vil oppdage om du bruker Wayland og foretrekker `wl-clipboard`, ellers vil den prøve å finne utklippstavle-verktøy i rekkefølgen: `xclip` og `xsel`.

View File

@@ -5,7 +5,7 @@ description: Bruke opencode-terminalbrukergrensesnittet.
import { Tabs, TabItem } from "@astrojs/starlight/components"
opencode gir et interaktivt terminalgrensesnitt eller TUI for å jobbe med prosjektene dine med en LLM.
opencode gir et interaktivt terminalgrensesnitt (TUI) for å jobbe med prosjektene dine med en LLM.
Å kjøre opencode starter TUI for gjeldende katalog.
@@ -13,13 +13,13 @@ opencode gir et interaktivt terminalgrensesnitt eller TUI for å jobbe med prosj
opencode
```
Eller du kan starte den for en bestemt arbeidskatalog.
Eller du kan starte den for en spesifikk arbeidskatalog.
```bash
opencode /path/to/project
```
Når du er i TUI, kan du spørre den med en melding.
Når du er i TUI, kan du stille den spørsmål med en prompt.
```text
Give me a quick summary of the codebase.
@@ -29,7 +29,7 @@ Give me a quick summary of the codebase.
## Filreferanser
Du kan referere til filer i meldingene dine ved å bruke `@`. Dette gjør et uklar filsøk i gjeldende arbeidskatalog.
Du kan referere til filer i meldingene dine ved å bruke `@`. Dette gjør et fuzzy-filsøk i gjeldende arbeidskatalog.
:::tip
Du kan også bruke `@` til å referere til filer i meldingene dine.
@@ -45,7 +45,7 @@ Innholdet i filen legges automatisk til samtalen.
## Bash-kommandoer
Start en melding med `!` for å kjøre en shell-kommando.
Start en melding med `!` for å kjøre en skallkommando.
```bash frame="none"
!ls -la
@@ -63,13 +63,13 @@ Når du bruker opencode TUI, kan du skrive `/` etterfulgt av et kommandonavn for
/help
```
De fleste kommandoer har også tastebinding som bruker `ctrl+x` som ledernøkkel, der `ctrl+x` er standard ledernøkkel. [Finn ut mer](/docs/keybinds).
De fleste kommandoer har også tastebinding som bruker `ctrl+x` som leader-tast, der `ctrl+x` er standard leader-tast. [Finn ut mer](/docs/keybinds).
Her er alle tilgjengelige skråstrekkommandoer:
Her er alle tilgjengelige slash-kommandoer:
---
### koble til
### connect
Legg til en leverandør til opencode. Lar deg velge fra tilgjengelige leverandører og legge til deres API-nøkler.
@@ -79,7 +79,7 @@ Legg til en leverandør til opencode. Lar deg velge fra tilgjengelige leverandø
---
### kompakt
### compact
Komprimer gjeldende økt. _Alias_: `/summarize`
@@ -91,9 +91,9 @@ Komprimer gjeldende økt. _Alias_: `/summarize`
---
### detaljer
### details
Veksle verktøyutførelsesdetaljer.
Veksle visning av verktøydetaljer.
```bash frame="none"
/details
@@ -103,9 +103,9 @@ Veksle verktøyutførelsesdetaljer.
---
### redaktør
### editor
Åpne eksternt redigeringsprogram for å skrive meldinger. Bruker redigeringssettet i miljøvariabelen `EDITOR`. [Finn ut mer](#editor-setup).
Åpne eksternt tekstredigeringsprogram for å skrive meldinger. Bruker redigeringssettet i miljøvariabelen `EDITOR`. [Finn ut mer](#editor-setup).
```bash frame="none"
/editor
@@ -115,7 +115,7 @@ Veksle verktøyutførelsesdetaljer.
---
### avslutt
### exit
Avslutt opencode. _Aliaser_: `/quit`, `/q`
@@ -127,7 +127,7 @@ Avslutt opencode. _Aliaser_: `/quit`, `/q`
---
### eksport
### export
Eksporter gjeldende samtale til Markdown og åpne i standardredigeringsprogrammet. Bruker redigeringssettet i miljøvariabelen `EDITOR`. [Finn ut mer](#editor-setup).
@@ -139,7 +139,7 @@ Eksporter gjeldende samtale til Markdown og åpne i standardredigeringsprogramme
---
### hjelp
### help
Vis hjelpedialogen.
@@ -163,7 +163,7 @@ Opprett eller oppdater `AGENTS.md`-fil. [Finn ut mer](/docs/rules).
---
### modeller
### models
Liste over tilgjengelige modeller.
@@ -175,7 +175,7 @@ Liste over tilgjengelige modeller.
---
### ny
### new
Start en ny økt. _Alias_: `/clear`
@@ -187,7 +187,7 @@ Start en ny økt. _Alias_: `/clear`
---
### gjør om
### redo
Gjenta en tidligere angret melding. Kun tilgjengelig etter bruk av `/undo`.
@@ -196,7 +196,7 @@ Eventuelle filendringer vil også bli gjenopprettet.
:::
Internt bruker dette Git til å administrere filendringene. Så ditt prosjekt **må
være et Git-depot**.
være et Git-repo**.
```bash frame="none"
/redo
@@ -206,7 +206,7 @@ være et Git-depot**.
---
### økter
### sessions
List opp og bytt mellom økter. _Aliaser_: `/resume`, `/continue`
@@ -218,7 +218,7 @@ List opp og bytt mellom økter. _Aliaser_: `/resume`, `/continue`
---
### del
### share
Del gjeldende økt. [Finn ut mer](/docs/share).
@@ -230,7 +230,7 @@ Del gjeldende økt. [Finn ut mer](/docs/share).
---
### temaer
### theme
Liste over tilgjengelige temaer.
@@ -242,7 +242,7 @@ Liste over tilgjengelige temaer.
---
### tenker
### thinking
Veksle mellom synligheten av tenke-/resonneringsblokker i samtalen. Når den er aktivert, kan du se modellens resonneringsprosess for modeller som støtter utvidet tenkning.
@@ -256,7 +256,7 @@ Denne kommandoen kontrollerer bare om tenkeblokker **vises** - den aktiverer ell
---
### angre
### undo
Angre siste melding i samtalen. Fjerner den siste brukermeldingen, alle påfølgende svar og eventuelle filendringer.
@@ -265,7 +265,7 @@ Eventuelle filendringer vil også bli tilbakestilt.
:::
Internt bruker dette Git til å administrere filendringene. Så ditt prosjekt **må
være et Git-depot**.
være et Git-repo**.
```bash frame="none"
/undo
@@ -275,7 +275,7 @@ være et Git-depot**.
---
### avbryt deling
### unshare
Opphev deling av gjeldende økt. [Finn ut mer](/docs/share#un-sharing).
@@ -285,9 +285,9 @@ Opphev deling av gjeldende økt. [Finn ut mer](/docs/share#un-sharing).
---
## Redaktøroppsett
## Oppsett av editor
Både kommandoene `/editor` og `/export` bruker redigeringsprogrammet som er spesifisert i miljøvariabelen `EDITOR`.
Både kommandoene `/editor` og `/export` bruker editoren som er spesifisert i miljøvariabelen `EDITOR`.
<Tabs>
<TabItem label="Linux/macOS">
@@ -334,26 +334,26 @@ Både kommandoene `/editor` og `/export` bruker redigeringsprogrammet som er spe
</TabItem>
</Tabs>
Populære redigeringsalternativer inkluderer:
Populære editor-alternativer inkluderer:
- `code` - Visual Studio Code
- `cursor` - Cursor
- `windsurf` - Windsurf
- `nvim` - Neovim-redaktør
- `nvim` - Neovim-editor
- `vim` - Vim editor
- `nano` - Nano-editor
- `notepad` - Windows Notisblokk
- `subl` - Sublime Text
:::note
Noen redaktører som VS Code må startes med flagget `--wait`.
Noen editorer som VS Code må startes med flagget `--wait`.
:::
Noen redaktører trenger kommandolinjeargumenter for å kjøre i blokkeringsmodus. `--wait`-flagget gjør at redigeringsprosessen blokkeres til den lukkes.
Noen editorer trenger kommandolinjeargumenter for å kjøre i blokkeringsmodus. `--wait`-flagget gjør at editor-prosessen blokkeres til den lukkes.
---
## Konfigurer
## Konfigurasjon
Du kan tilpasse TUI-oppførselen gjennom opencode-konfigurasjonsfilen.

View File

@@ -9,7 +9,7 @@ OpenCode kan kjøres som en nettapplikasjon i nettleseren din, og gir den samme
## Komme i gang
Start nettgrensesnittet ved å kjøre:
Start web-grensesnittet ved å kjøre:
```bash
opencode web
@@ -17,19 +17,11 @@ opencode web
Dette starter en lokal server på `127.0.0.1` med en tilfeldig tilgjengelig port og åpner automatisk OpenCode i standard nettleser.
:::caution
Hvis `OPENCODE_SERVER_PASSWORD` ikke er satt, vil serveren være usikret. Dette er greit for lokal bruk, men bør settes for nettverkstilgang.
:::
:::tip[Windows-brukere]
For den beste opplevelsen, kjør `opencode web` fra [WSL](/docs/windows-wsl) i stedet for PowerShell. Dette sikrer riktig filsystemtilgang og terminalintegrasjon.
:::
---
## Konfigurasjon
Du kan konfigurere webserveren ved å bruke kommandolinjeflagg eller i [konfigurasjonsfil](/docs/config).
Du kan konfigurere webserveren ved å bruke kommandolinjeflagg eller i [konfigurasjonsfilen](/docs/config).
### Port
@@ -41,42 +33,13 @@ opencode web --port 4096
### Vertsnavn
Som standard binder serveren seg til `127.0.0.1` (kun lokal vert). Slik gjør du OpenCode tilgjengelig på nettverket ditt:
Som standard binder serveren seg til `127.0.0.1` (kun localhost). Slik gjør du OpenCode tilgjengelig på nettverket ditt:
```bash
opencode web --hostname 0.0.0.0
```
Når du bruker `0.0.0.0`, vil OpenCode vise både lokale adresser og nettverksadresser:
```
Local access: http://localhost:4096
Network access: http://192.168.1.100:4096
```
### mDNS-oppdagelse
Aktiver mDNS for å gjøre serveren din synlig på det lokale nettverket:
```bash
opencode web --mdns
```
Dette setter automatisk vertsnavnet til `0.0.0.0` og annonserer serveren som `opencode.local`.
Du kan tilpasse mDNS-domenenavnet til å kjøre flere forekomster på samme nettverk:
```bash
opencode web --mdns --mdns-domain myproject.local
```
### CORS
For å tillate flere domener for CORS (nyttig for egendefinerte grensesnitt):
```bash
opencode web --cors https://example.com
```
---
### Autentisering
@@ -86,13 +49,13 @@ For å beskytte tilgang, angi et passord ved hjelp av miljøvariabelen `OPENCODE
OPENCODE_SERVER_PASSWORD=secret opencode web
```
Brukernavnet er standard til `opencode`, men kan endres med `OPENCODE_SERVER_USERNAME`.
Brukernavnet er satt til `opencode` som standard, men kan endres med `OPENCODE_SERVER_USERNAME`.
---
## Bruke webgrensesnittet
Når det er startet, gir nettgrensesnittet tilgang til dine OpenCode-økter.
Når den er startet, gir nettgrensesnittet tilgang til dine OpenCode-økter.
### Sesjoner
@@ -102,7 +65,7 @@ Se og administrer øktene dine fra hjemmesiden. Du kan se aktive økter og start
### Serverstatus
Klikk "Se servere" for å se tilkoblede servere og deres status.
Klikk "Se servere" for å se tilkoblede servere og deres status.
![OpenCode Web - Se servere](../../../assets/web/web-homepage-see-servers.png)

View File

@@ -31,7 +31,7 @@ WSL gir bedre filsystemytelse, full terminalstøtte og kompatibilitet med utvikl
3. **Bruk OpenCode fra WSL**
Gå til prosjektmappen din (Windows-filer finnes via `/mnt/c/`, `/mnt/d/` osv.) og kjør OpenCode.
Gå til prosjektmappen din (Windows-filer er tilgjengelige via `/mnt/c/`, `/mnt/d/` osv.) og kjør OpenCode.
```bash
cd /mnt/c/Users/YourName/project
@@ -69,9 +69,9 @@ OPENCODE_SERVER_PASSWORD=your-password opencode serve --hostname 0.0.0.0
---
## Nettklient + WSL
## Web-klient + WSL
For best nettopplevelse på Windows:
For best web-opplevelse på Windows:
1. **Kjør `opencode web` i WSL-terminalen** i stedet for PowerShell:

View File

@@ -114,7 +114,7 @@ https://opencode.ai/zen/v1/models
Vi støtter en pay-as-you-go-modell. Nedenfor er prisene **per 1 million tokens**.
| Modell | Inngang | Utgang | Bufret lesing | Bufret skriving |
| Modell | Inndata | Utdata | Bufret lesing | Bufret skriving |
| --------------------------------- | ------- | ------ | ------------- | --------------- |
| Big Pickle | Gratis | Gratis | Gratis | - |
| MiniMax M2.1 Free | Gratis | Gratis | Gratis | - |
@@ -167,11 +167,11 @@ De gratis modellene:
---
### Last inn automatisk
### Automatisk påfylling
Hvis saldoen din går under $5, vil Zen automatisk laste inn $20 på nytt.
Hvis saldoen din går under $5, vil Zen automatisk fylle på med $20.
Du kan endre beløpet for automatisk påfylling. Du kan også deaktivere automatisk reload helt.
Du kan endre beløpet for automatisk påfylling. Du kan også deaktivere automatisk påfylling helt.
---
@@ -181,14 +181,14 @@ Du kan også angi en månedlig bruksgrense for hele arbeidsområdet og for hver
medlem av teamet ditt.
La oss for eksempel si at du setter en månedlig bruksgrense til $20, Zen vil ikke bruke
mer enn $20 på en måned. Men hvis du har automatisk reload aktivert, kan Zen ende opp
mer enn $20 på en måned. Men hvis du har automatisk påfylling aktivert, kan Zen ende opp
belaster deg mer enn $20 hvis saldoen din går under $5.
---
## Personvern
Alle våre modeller er vert i US. Leverandørene våre følger en nulloppbevaringspolicy og bruker ikke dataene dine til modellopplæring, med følgende unntak:
Alle våre modeller er hostet i USA. Leverandørene våre følger retningslinjer om ingen datalagring og bruker ikke dataene dine til modellopplæring, med følgende unntak:
- Big Pickle: I løpet av gratisperioden kan innsamlede data brukes til å forbedre modellen.
- GLM 4.7 Free: I løpet av gratisperioden kan innsamlede data brukes til å forbedre modellen.
@@ -249,6 +249,6 @@ og du vil bruke det i stedet for det Zen gir.
Vi opprettet OpenCode Zen for å:
1. **Benchmark** de beste modellene/leverandørene for kodingsagenter.
2. Ha tilgang til alternativene for **høyeste kvalitet** og ikke nedgrader ytelsen eller rute til billigere leverandører.
3. Gi videre eventuelle **prisfall** ved å selge til kostpris; så den eneste markeringen er å dekke behandlingsgebyrene våre.
2. Ha tilgang til alternativene for **høyeste kvalitet** og ikke nedgrader ytelsen eller rute trafikk til billigere leverandører.
3. Gi videre eventuelle **prisfall** ved å selge til kostpris; så det eneste påslaget er å dekke behandlingsgebyrene våre.
4. Ha **ingen låsing** ved å la deg bruke den med en hvilken som helst annen kodeagent. Og la deg alltid bruke en hvilken som helst annen leverandør med opencode også.