chore(docs): i18n sync (#15417)

This commit is contained in:
Adam
2026-02-28 15:27:11 -06:00
committed by GitHub
parent 971bd30516
commit e1e18c7abd
174 changed files with 6358 additions and 4392 deletions

View File

@@ -558,6 +558,7 @@ OpenCode kan konfigureres ved hjelp av miljøvariabler.
| `OPENCODE_AUTO_SHARE` | boolsk | Del økter automatisk |
| `OPENCODE_GIT_BASH_PATH` | streng | Bane til Git Bash-kjørbar på Windows |
| `OPENCODE_CONFIG` | streng | Bane til konfigurasjonsfil |
| `OPENCODE_TUI_CONFIG` | streng | Bane til TUI-konfigurasjonsfil |
| `OPENCODE_CONFIG_DIR` | streng | Bane til konfigurasjonskatalog |
| `OPENCODE_CONFIG_CONTENT` | streng | Innebygd json-konfigurasjonsinnhold |
| `OPENCODE_DISABLE_AUTOUPDATE` | boolsk | Deaktiver automatiske oppdateringskontroller |

View File

@@ -14,10 +14,11 @@ OpenCode støtter både **JSON** og **JSONC** (JSON med kommentarer) formater.
```jsonc title="opencode.jsonc"
{
"$schema": "https://opencode.ai/config.json",
// Theme configuration
"theme": "opencode",
"model": "anthropic/claude-sonnet-4-5",
"autoupdate": true,
"server": {
"port": 4096,
},
}
```
@@ -301,12 +302,12 @@ Bærer-tokens (`AWS_BEARER_TOKEN_BEDROCK` eller `/connect`) har forrang over pro
### Temaer
Du kan konfigurere temaet du vil bruke i OpenCode-konfigurasjonen gjennom alternativet `theme`.
Angi UI-temaet ditt i `tui.json`.
```json title="opencode.json"
```json title="tui.json"
{
"$schema": "https://opencode.ai/config.json",
"theme": ""
"$schema": "https://opencode.ai/tui.json",
"theme": "tokyonight"
}
```
@@ -406,11 +407,11 @@ Du kan også definere kommandoer ved å bruke markdown-filer i `~/.config/openco
### Tastebindinger
Du kan tilpasse tastebindingene dine gjennom alternativet `keybinds`.
Tilpass tastebindinger i `tui.json`.
```json title="opencode.json"
```json title="tui.json"
{
"$schema": "https://opencode.ai/config.json",
"$schema": "https://opencode.ai/tui.json",
"keybinds": {}
}
```
@@ -490,13 +491,15 @@ Du kan styre kontekstkomprimering gjennom alternativet `compaction`.
"$schema": "https://opencode.ai/config.json",
"compaction": {
"auto": true,
"prune": true
"prune": true,
"reserved": 10000
}
}
```
- `auto` - Komprimer økten automatisk når konteksten er full (standard: `true`).
- `prune` - Fjern gamle verktøyutdata for å spare tokens (standard: `true`).
- `reserved` - Token-buffer for komprimering. Etterlater nok vindu til å unngå overflyt under komprimering
---

View File

@@ -79,6 +79,32 @@ Dette lager to verktøy: `math_add` og `math_multiply`.
---
#### Navnekollisjoner med innebygde verktøy
Egendefinerte verktøy er nøklet etter verktøynavn. Hvis et egendefinert verktøy bruker samme navn som et innebygd verktøy, vil det egendefinerte verktøyet ha forrang.
For eksempel erstatter denne filen det innebygde `bash`-verktøyet:
```ts title=".opencode/tools/bash.ts"
import { tool } from "@opencode-ai/plugin"
export default tool({
description: "Restricted bash wrapper",
args: {
command: tool.schema.string(),
},
async execute(args) {
return `blocked: ${args.command}`
},
})
```
:::note
Foretrekk unike navn med mindre du med vilje ønsker å erstatte et innebygd verktøy. Hvis du vil deaktivere et innebygd verktøy, men ikke overstyre det, bruk [tillatelser](/docs/permissions).
:::
---
### Argumenter
Du kan bruke `tool.schema`, som bare er [Zod](https://zod.dev), for å definere argumenttyper.

View File

@@ -3,11 +3,11 @@ title: Tastebindinger
description: Tilpass tastebindingene dine.
---
OpenCode har en liste over tastebindinger som du kan tilpasse gjennom OpenCode-konfigurasjonen.
OpenCode har en liste over tastebindinger som du kan tilpasse gjennom `tui.json`.
```json title="opencode.json"
```json title="tui.json"
{
"$schema": "https://opencode.ai/config.json",
"$schema": "https://opencode.ai/tui.json",
"keybinds": {
"leader": "ctrl+x",
"app_exit": "ctrl+c,ctrl+d,<leader>q",
@@ -117,11 +117,11 @@ Du trenger ikke å bruke en ledertast for tastebindingene dine, men vi anbefaler
## Deaktivering av tastebindinger
Du kan deaktivere en tastebinding ved å legge til tasten til konfigurasjonen med verdien "none".
Du kan deaktivere en tastebinding ved å legge til tasten til `tui.json` med en verdi "none".
```json title="opencode.json"
```json title="tui.json"
{
"$schema": "https://opencode.ai/config.json",
"$schema": "https://opencode.ai/tui.json",
"keybinds": {
"session_compact": "none"
}

View File

@@ -27,6 +27,7 @@ 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 |
| julials | .jl | `julia` og `LanguageServer.jl` installert |
| kotlin-ls | .kt, .kts | Installeres automatisk for Kotlin-prosjekter |
| lua-ls | .lua | Installeres automatisk for Lua-prosjekter |
| nixd | .nix | `nixd` kommando tilgjengelig |

View File

@@ -4,7 +4,7 @@ description: Ulike moduser for forskjellige brukstilfeller.
---
:::caution
Moduser er nå konfigurert gjennom alternativet `agent` i OpenCode-konfigurasjonen. De
Moduser konfigureres nå gjennom alternativet `agent` i OpenCode-konfigurasjonen.
Alternativet `mode` er nå utdatert. [Finn ut mer](/docs/agents).
:::
@@ -13,6 +13,14 @@ Moduser i OpenCode lar deg tilpasse oppførselen, verktøyene og prompter for ul
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 din.
---
## Innebygd
OpenCode kommer med to innebygde moduser.
---
### Bygg
@@ -34,6 +42,96 @@ 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` hurtigtast.
Se også: [Formatters](/docs/formatters) for informasjon om kodeformateringskonfigurasjon.
---
## Konfigurer
Du kan tilpasse de innebygde modusene eller opprette din egen gjennom konfigurasjon. Moduser kan konfigureres på to måter:
### JSON-konfigurasjon
Konfigurer moduser i din `opencode.json` konfigurasjonsfil:
```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 hjelp av 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.
```
Filnavnet til markdown-filen 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 å bruke forskjellige modeller optimalisert for forskjellige 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 AI-ens svar med `temperature`-konfigurasjonen. Lavere verdier gjør svarene mer fokuserte og deterministiske, mens høyere verdier øker kreativiteten og variasjonen.
@@ -54,13 +152,171 @@ Kontroller tilfeldigheten og kreativiteten til AI-ens svar med `temperature`-kon
Temperaturverdier varierer vanligvis fra 0,0 til 1,0:
- **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.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 standardinnstillinger (vanligvis 0 for de fleste modeller, 0,55 for Qwen-modeller).
---
### Prompt
Angi en tilpasset systemprompt-fil for denne modusen med `prompt`-konfigurasjonen. Prompt-filen skal inneholde instruksjoner som er spesifikke for modusens formål.
```json title="opencode.json"
{
"mode": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}
```
Denne banen er relativ til der 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 i filinnhold |
| `glob` | Finn filer etter mønster |
| `list` | List opp kataloginnhold |
| `patch` | Bruk patcher på filer |
| `todowrite` | Administrer gjøremålslister |
| `todoread` | Les gjøremålslister |
| `webfetch` | Hent webinnhold |
---
## Egendefinerte moduser
Du kan opprette dine egne tilpassede moduser ved å legge dem til i konfigurasjonen. Her er eksempler på bruk av begge metodene:
### Bruke 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
}
}
}
}
```
### Bruke markdown-filer
Opprett 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
```
---
### Bruksområder
Her er noen vanlige bruksområder for forskjellige moduser.

View File

@@ -1,6 +1,6 @@
---
title: Programtillegg
description: Skriv dine egne programtillegg for å utvide opencode.
description: Skriv dine egne programtillegg for å utvide 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.
@@ -308,6 +308,10 @@ export const CustomToolsPlugin: Plugin = async (ctx) => {
Dine egendefinerte verktøy vil være tilgjengelige for OpenCode sammen med innebygde verktøy.
:::note
Hvis et plugin-verktøy bruker samme navn som et innebygd verktøy, vil plugin-verktøyet ha forrang.
:::
---
### Logging

View File

@@ -57,7 +57,7 @@ testet og verifisert for å fungere godt med OpenCode. [Finn ut mer](/docs/zen).
Hvis du er ny, anbefaler vi å starte med OpenCode Zen.
:::
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 Zen` og gå til [opencode.ai/auth](https://opencode.ai/zen).
```txt
/connect
@@ -84,6 +84,39 @@ Det fungerer som alle andre leverandører i OpenCode og er helt valgfritt å bru
---
## OpenCode Go
OpenCode Go er en lavpris abonnementsplan som gir pålitelig tilgang til populære åpne kodemodeller levert av OpenCode-teamet som har vært
testet og verifisert for å fungere godt med OpenCode.
1. Kjør kommandoen `/connect` i TUI, velg `OpenCode Go`, og gå til [opencode.ai/auth](https://opencode.ai/zen).
```txt
/connect
```
2. Logg på, legg til faktureringsdetaljene dine og kopier API-nøkkelen.
3. Lim inn API-nøkkelen.
```txt
┌ API key
└ enter
```
4. Kjør `/models` i TUI for å se listen over modeller vi anbefaler.
```txt
/models
```
Det fungerer som alle andre leverandører i OpenCode og er helt valgfritt å bruke.
---
## Katalog
La oss se på noen av leverandørene i detalj. Hvis du vil legge til en leverandør til

View File

@@ -3,7 +3,7 @@ title: SDK
description: Typesikker JS-klient for OpenCode-server.
---
import config from "../../../../config.mjs"
import config from "../../../config.mjs"
export const typesUrl = `${config.github}/blob/dev/packages/sdk/js/src/gen/types.gen.ts`
OpenCode JS/TS SDK gir en typesikker klient for samhandling med serveren.
@@ -117,6 +117,78 @@ try {
---
## Strukturert Utdata
Du kan be om strukturert JSON-utdata fra modellen ved å spesifisere et `format` med et JSON-skjema. Modellen vil bruke et `StructuredOutput`-verktøy for å returnere validert JSON som samsvarer med skjemaet ditt.
### Grunnleggende bruk
```typescript
const result = await client.session.prompt({
path: { id: sessionId },
body: {
parts: [{ type: "text", text: "Research Anthropic and provide company info" }],
format: {
type: "json_schema",
schema: {
type: "object",
properties: {
company: { type: "string", description: "Company name" },
founded: { type: "number", description: "Year founded" },
products: {
type: "array",
items: { type: "string" },
description: "Main products",
},
},
required: ["company", "founded"],
},
},
},
})
// Access the structured output
console.log(result.data.info.structured_output)
// { company: "Anthropic", founded: 2021, products: ["Claude", "Claude API"] }
```
### Utdataformattyper
| Type | Beskrivelse |
| ------------- | --------------------------------------------------------------- |
| `text` | Standard. Standard tekstrespons (ingen strukturert utdata) |
| `json_schema` | Returnerer validert JSON som samsvarer med det angitte skjemaet |
### JSON Skjemaformat
Når du bruker `type: 'json_schema'`, oppgi:
| Felt | Type | Beskrivelse |
| ------------ | --------------- | ---------------------------------------------------------- |
| `type` | `'json_schema'` | Påkrevd. Spesifiserer JSON-skjemamodus |
| `schema` | `object` | Påkrevd. JSON Schema-objekt som definerer utdatastrukturen |
| `retryCount` | `number` | Valgfritt. Antall valideringsforsøk (standard: 2) |
### Feilhåndtering
Hvis modellen ikke klarer å produsere gyldig strukturert utdata etter alle forsøk, vil svaret inkludere en `StructuredOutputError`:
```typescript
if (result.data.info.error?.name === "StructuredOutputError") {
console.error("Failed to produce structured output:", result.data.info.error.message)
console.error("Attempts:", result.data.info.error.retries)
}
```
### Beste praksis
1. **Gi klare beskrivelser** i skjemaegenskapene dine for å hjelpe modellen med å forstå hvilke data som skal trekkes ut
2. **Bruk `required`** for å spesifisere hvilke felt som må være til stede
3. **Hold skjemaer fokuserte** - komplekse nøstede skjemaer kan være vanskeligere for modellen å fylle ut riktig
4. **Angi passende `retryCount`** - øk for komplekse skjemaer, reduser for enkle
---
## API-er
SDK-en eksponerer alle server-API-er gjennom en typesikker klient.
@@ -226,27 +298,27 @@ const { providers, default: defaults } = await client.config.providers()
### Sesjoner
| 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` |
| 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. Støtter `body.outputFormat` for [strukturert utdata](#strukturert-utdata) |
| `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` |
---

View File

@@ -3,9 +3,9 @@ title: Temaer
description: Velg et innebygd tema eller definer ditt eget.
---
Med opencode kan du velge fra ett av flere innebygde temaer, bruke et tema som tilpasser seg terminaltemaet ditt, eller definere ditt eget tilpassede tema.
Med OpenCode kan du velge fra ett av flere innebygde temaer, bruke et tema som tilpasser seg terminaltemaet ditt, eller definere ditt eget tilpassede tema.
Som standard bruker opencode vårt eget `opencode`-tema.
Som standard bruker OpenCode vårt eget `opencode`-tema.
---
@@ -23,7 +23,7 @@ Uten truecolor-støtte kan temaer vises med redusert fargenøyaktighet eller fal
## Innebygde temaer
opencode kommer med flere innebygde temaer.
OpenCode kommer med flere innebygde temaer.
| Navn | Beskrivelse |
| ---------------------- | ------------------------------------------------------------------------- |
@@ -53,7 +53,7 @@ Og mer, vi legger stadig til nye temaer.
Systemtemaet er for brukere som:
- Vil at opencode skal matche terminalens utseende
- Vil at OpenCode skal matche terminalens utseende
- Bruker tilpassede terminalfargeskjemaer
- Foretrekker et konsistent utseende på tvers av alle terminalapplikasjoner
@@ -61,11 +61,11 @@ Systemtemaet er for brukere som:
## Bruke et tema
Du kan velge et tema ved å åpne temavelgeren 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 `tui.json`.
```json title="opencode.json" {3}
```json title="tui.json" {3}
{
"$schema": "https://opencode.ai/config.json",
"$schema": "https://opencode.ai/tui.json",
"theme": "tokyonight"
}
```
@@ -74,7 +74,7 @@ Du kan velge et tema ved å åpne temavelgeren med kommandoen `/theme`. Eller du
## Egendefinerte temaer
opencode støtter et fleksibelt JSON-basert temasystem som lar brukere enkelt lage og tilpasse temaer.
OpenCode støtter et fleksibelt JSON-basert temasystem som lar brukere enkelt lage og tilpasse temaer.
---

View File

@@ -5,9 +5,9 @@ description: Bruke opencode-terminalbrukergrensesnittet.
import { Tabs, TabItem } from "@astrojs/starlight/components"
opencode gir et interaktivt terminalgrensesnitt (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.
Å kjøre OpenCode starter TUI for gjeldende katalog.
```bash
opencode
@@ -57,7 +57,7 @@ Utdataene fra kommandoen legges til samtalen som et verktøyresultat.
## Kommandoer
Når du bruker opencode TUI, kan du skrive `/` etterfulgt av et kommandonavn for raskt å utføre handlinger. For eksempel:
Når du bruker OpenCode TUI, kan du skrive `/` etterfulgt av et kommandonavn for raskt å utføre handlinger. For eksempel:
```bash frame="none"
/help
@@ -71,7 +71,7 @@ Her er alle tilgjengelige slash-kommandoer:
### connect
Legg til en leverandør til opencode. Lar deg velge fra tilgjengelige leverandører og legge til deres API-nøkler.
Legg til en leverandør til OpenCode. Lar deg velge fra tilgjengelige leverandører og legge til deres API-nøkler.
```bash frame="none"
/connect
@@ -117,7 +117,7 @@ Veksle visning av verktøydetaljer.
### exit
Avslutt opencode. _Aliaser_: `/quit`, `/q`
Avslutt OpenCode. _Aliaser_: `/quit`, `/q`
```bash frame="none"
/exit
@@ -230,12 +230,12 @@ Del gjeldende økt. [Finn ut mer](/docs/share).
---
### theme
### themes
Liste over tilgjengelige temaer.
```bash frame="none"
/theme
/themes
```
**Nøkkelbinding:** `ctrl+x t`
@@ -355,24 +355,34 @@ Noen editorer trenger kommandolinjeargumenter for å kjøre i blokkeringsmodus.
## Konfigurasjon
Du kan tilpasse TUI-oppførselen gjennom opencode-konfigurasjonsfilen.
Du kan tilpasse TUI-oppførselen gjennom `tui.json` (eller `tui.jsonc`).
```json title="opencode.json"
```json title="tui.json"
{
"$schema": "https://opencode.ai/config.json",
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
"$schema": "https://opencode.ai/tui.json",
"theme": "opencode",
"keybinds": {
"leader": "ctrl+x"
},
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
},
"diff_style": "auto"
}
```
Dette er atskilt fra `opencode.json`, som konfigurerer server-/kjøretidsoppførsel.
### Alternativer
- `scroll_acceleration` - Aktiver rulleakselerasjon i macOS-stil for jevn, naturlig rulling. Når aktivert, øker rullehastigheten med raske rullebevegelser og forblir presis for langsommere bevegelser. **Denne innstillingen har forrang over `scroll_speed` og overstyrer den når den er aktivert.**
- `scroll_speed` - Styrer hvor raskt TUI ruller når du bruker rullekommandoer (minimum: `1`). Standard er `3`. **Merk: Dette ignoreres hvis `scroll_acceleration.enabled` er satt til `true`.**
- `theme` - Angir UI-temaet ditt. [Finn ut mer](/docs/themes).
- `keybinds` - Tilpasser hurtigtaster. [Finn ut mer](/docs/keybinds).
- `scroll_acceleration.enabled` - Aktiver rulleakselerasjon i macOS-stil for jevn, naturlig rulling. Når aktivert, øker rullehastigheten med raske rullebevegelser og forblir presis for langsommere bevegelser. **Denne innstillingen har forrang over `scroll_speed` og overstyrer den når den er aktivert.**
- `scroll_speed` - Styrer hvor raskt TUI ruller når du bruker rullekommandoer (minimum: `0.001`, støtter desimalverdier). Standard er `3`. **Merk: Dette ignoreres hvis `scroll_acceleration.enabled` er satt til `true`.**
- `diff_style` - Kontrollerer diff-gjengivelse. `"auto"` tilpasser seg terminalbredden, `"stacked"` viser alltid en enkeltkolonneoppsett.
Bruk `OPENCODE_TUI_CONFIG` for å laste en egendefinert TUI-konfigurasjonsbane.
---

View File

@@ -3,7 +3,7 @@ title: Zen
description: Utvalgt liste over modeller levert av OpenCode.
---
import config from "../../../../config.mjs"
import config from "../../../config.mjs"
export const console = config.console
export const email = `mailto:${config.email}`
@@ -14,7 +14,7 @@ OpenCode Zen er for øyeblikket i beta.
:::
Zen fungerer som alle andre leverandører i OpenCode. Du logger på OpenCode Zen og får
din API nøkkel. Den er **helt valgfri** og du trenger ikke bruke den for å bruke den
din API nøkkel. Den er **helt valgfri** og du trenger ikke bruke den for å bruke
OpenCode.
---
@@ -64,6 +64,7 @@ Du kan også få tilgang til modellene våre gjennom følgende API-endepunkter.
| Modell | Modell ID | Endepunkt | AI SDK Pakke |
| ------------------ | ------------------ | -------------------------------------------------- | --------------------------- |
| GPT 5.3 Codex | gpt-5.3-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.2 Codex | gpt-5.2-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 | gpt-5.1 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
@@ -73,22 +74,24 @@ Du kan også få tilgang til modellene våre gjennom følgende API-endepunkter.
| GPT 5 | gpt-5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 Codex | gpt-5-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 Nano | gpt-5-nano | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Pro | gemini-3-pro | `https://opencode.ai/zen/v1/models/gemini-3-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 Free | minimax-m2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.1 | minimax-m2.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.1 Free | minimax-m2.1-free | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.7 | glm-4.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.7 Free | glm-4.7-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 Free | kimi-k2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2 Thinking | kimi-k2-thinking | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2 | kimi-k2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Qwen3 Coder 480B | qwen3-coder | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -117,29 +120,34 @@ Vi støtter en pay-as-you-go-modell. Nedenfor er prisene **per 1 million tokens*
| Modell | Inndata | Utdata | Bufret lesing | Bufret skriving |
| --------------------------------- | ------- | ------ | ------------- | --------------- |
| Big Pickle | Gratis | Gratis | Gratis | - |
| MiniMax M2.1 Free | Gratis | Gratis | Gratis | - |
| MiniMax M2.5 Free | Gratis | Gratis | Gratis | - |
| MiniMax M2.5 | $0,30 | $1,20 | $0,06 | - |
| MiniMax M2.1 | $0,30 | $1,20 | $0,10 | - |
| GLM 4.7 Free | Gratis | Gratis | Gratis | - |
| GLM 5 | $1,00 | $3,20 | $0,20 | - |
| GLM 4.7 | $0,60 | $2,20 | $0,10 | - |
| GLM 4.6 | $0,60 | $2,20 | $0,10 | - |
| Kimi K2.5 Free | Gratis | Gratis | Gratis | - |
| Kimi K2.5 | $0,60 | $3,00 | $0,08 | - |
| Kimi K2 Thinking | $0,40 | $2,50 | - | - |
| Kimi K2 | $0,40 | $2,50 | - | - |
| Qwen3 Coder 480B | $0,45 | $1,50 | - | - |
| Claude Opus 4.6 (≤ 200K tokens) | $5,00 | $25,00 | $0,50 | $6,25 |
| Claude Opus 4.6 (> 200K tokens) | $10,00 | $37,50 | $1,00 | $12,50 |
| Claude Opus 4.5 | $5,00 | $25,00 | $0,50 | $6,25 |
| Claude Opus 4.1 | $15,00 | $75,00 | $1,50 | $18,75 |
| Claude Sonnet 4.6 (≤ 200K tokens) | $3,00 | $15,00 | $0,30 | $3,75 |
| Claude Sonnet 4.6 (> 200K tokens) | $6,00 | $22,50 | $0,60 | $7,50 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3,00 | $15,00 | $0,30 | $3,75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6,00 | $22,50 | $0,60 | $7,50 |
| Claude Sonnet 4 (≤ 200K tokens) | $3,00 | $15,00 | $0,30 | $3,75 |
| Claude Sonnet 4 (> 200K tokens) | $6,00 | $22,50 | $0,60 | $7,50 |
| Claude Haiku 4.5 | $1,00 | $5,00 | $0,10 | $1,25 |
| Claude Haiku 3.5 | $0,80 | $4,00 | $0,08 | $1,00 |
| Claude Opus 4.6 (≤ 200K tokens) | $5,00 | $25,00 | $0,50 | $6,25 |
| Claude Opus 4.6 (> 200K tokens) | $10,00 | $37,50 | $1,00 | $12,50 |
| Claude Opus 4.5 | $5,00 | $25,00 | $0,50 | $6,25 |
| Claude Opus 4.1 | $15,00 | $75,00 | $1,50 | $18,75 |
| Gemini 3.1 Pro (≤ 200K tokens) | $2,00 | $12,00 | $0,20 | - |
| Gemini 3.1 Pro (> 200K tokens) | $4,00 | $18,00 | $0,40 | - |
| Gemini 3 Pro (≤ 200K tokens) | $2,00 | $12,00 | $0,20 | - |
| Gemini 3 Pro (> 200K tokens) | $4,00 | $18,00 | $0,40 | - |
| Gemini 3 Flash | $0,50 | $3,00 | $0,05 | - |
| GPT 5.3 Codex | $1,75 | $14,00 | $0,175 | - |
| GPT 5.2 | $1,75 | $14,00 | $0,175 | - |
| GPT 5.2 Codex | $1,75 | $14,00 | $0,175 | - |
| GPT 5.1 | $1,07 | $8,50 | $0,107 | - |
@@ -158,9 +166,7 @@ Kredittkortgebyrer overføres til kostpris (4,4 % + $0,30 per transaksjon); vi b
De gratis modellene:
- GLM 4.7 Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle tilbakemeldinger og forbedre modellen.
- Kimi K2.5 Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle tilbakemeldinger og forbedre modellen.
- MiniMax M2.1 Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle tilbakemeldinger og forbedre modellen.
- MiniMax M2.5 Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle tilbakemeldinger og forbedre modellen.
- Big Pickle er en stealth-modell som er gratis på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle tilbakemeldinger og forbedre modellen.
<a href={email}>Kontakt oss</a> hvis du har spørsmål.
@@ -191,9 +197,7 @@ belaster deg mer enn $20 hvis saldoen din går under $5.
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.
- Kimi K2.5 Free: I løpet av gratisperioden kan innsamlede data brukes til å forbedre modellen.
- MiniMax M2.1 Free: I løpet av gratisperioden kan innsamlede data brukes til å forbedre modellen.
- MiniMax M2.5 Free: I løpet av gratisperioden kan innsamlede data brukes til å forbedre modellen.
- OpenAI APIer: Forespørsler oppbevares i 30 dager i samsvar med [OpenAIs datapolicyer](https://platform.openai.com/docs/guides/your-data).
- Anthropic APIer: Forespørsler oppbevares i 30 dager i samsvar med [Anthropics datapolicyer](https://docs.anthropic.com/en/docs/claude-code/data-usage).
@@ -251,4 +255,4 @@ 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 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å.
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å.