diff options
| author | Adam <[email protected]> | 2026-02-28 15:27:11 -0600 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-02-28 15:27:11 -0600 |
| commit | e1e18c7abdb1025d7be63acee1f188b94d16eb9b (patch) | |
| tree | ad14a08aba4752d3ab03452209520c94bb0df59e /packages/web/src/content/docs/nb | |
| parent | 971bd30516fb2b245f87bdf79e36bb64e72265bc (diff) | |
| download | opencode-e1e18c7abdb1025d7be63acee1f188b94d16eb9b.tar.gz opencode-e1e18c7abdb1025d7be63acee1f188b94d16eb9b.zip | |
chore(docs): i18n sync (#15417)
Diffstat (limited to 'packages/web/src/content/docs/nb')
| -rw-r--r-- | packages/web/src/content/docs/nb/cli.mdx | 1 | ||||
| -rw-r--r-- | packages/web/src/content/docs/nb/config.mdx | 23 | ||||
| -rw-r--r-- | packages/web/src/content/docs/nb/custom-tools.mdx | 26 | ||||
| -rw-r--r-- | packages/web/src/content/docs/nb/keybinds.mdx | 12 | ||||
| -rw-r--r-- | packages/web/src/content/docs/nb/lsp.mdx | 1 | ||||
| -rw-r--r-- | packages/web/src/content/docs/nb/modes.mdx | 260 | ||||
| -rw-r--r-- | packages/web/src/content/docs/nb/plugins.mdx | 6 | ||||
| -rw-r--r-- | packages/web/src/content/docs/nb/providers.mdx | 35 | ||||
| -rw-r--r-- | packages/web/src/content/docs/nb/sdk.mdx | 116 | ||||
| -rw-r--r-- | packages/web/src/content/docs/nb/themes.mdx | 16 | ||||
| -rw-r--r-- | packages/web/src/content/docs/nb/tui.mdx | 46 | ||||
| -rw-r--r-- | packages/web/src/content/docs/nb/zen.mdx | 48 |
12 files changed, 500 insertions, 90 deletions
diff --git a/packages/web/src/content/docs/nb/cli.mdx b/packages/web/src/content/docs/nb/cli.mdx index 2f1b3884e..409fdb237 100644 --- a/packages/web/src/content/docs/nb/cli.mdx +++ b/packages/web/src/content/docs/nb/cli.mdx @@ -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 | diff --git a/packages/web/src/content/docs/nb/config.mdx b/packages/web/src/content/docs/nb/config.mdx index 8f5433579..e8b32d5a0 100644 --- a/packages/web/src/content/docs/nb/config.mdx +++ b/packages/web/src/content/docs/nb/config.mdx @@ -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 --- diff --git a/packages/web/src/content/docs/nb/custom-tools.mdx b/packages/web/src/content/docs/nb/custom-tools.mdx index 0b88f7507..505c261a0 100644 --- a/packages/web/src/content/docs/nb/custom-tools.mdx +++ b/packages/web/src/content/docs/nb/custom-tools.mdx @@ -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. diff --git a/packages/web/src/content/docs/nb/keybinds.mdx b/packages/web/src/content/docs/nb/keybinds.mdx index d762a647f..8314b4dd8 100644 --- a/packages/web/src/content/docs/nb/keybinds.mdx +++ b/packages/web/src/content/docs/nb/keybinds.mdx @@ -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 på "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" } diff --git a/packages/web/src/content/docs/nb/lsp.mdx b/packages/web/src/content/docs/nb/lsp.mdx index c52b79a32..924b0dad1 100644 --- a/packages/web/src/content/docs/nb/lsp.mdx +++ b/packages/web/src/content/docs/nb/lsp.mdx @@ -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 | diff --git a/packages/web/src/content/docs/nb/modes.mdx b/packages/web/src/content/docs/nb/modes.mdx index 0322f0693..ccf9180e4 100644 --- a/packages/web/src/content/docs/nb/modes.mdx +++ b/packages/web/src/content/docs/nb/modes.mdx @@ -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. diff --git a/packages/web/src/content/docs/nb/plugins.mdx b/packages/web/src/content/docs/nb/plugins.mdx index 6b6e1edf3..27d23ec63 100644 --- a/packages/web/src/content/docs/nb/plugins.mdx +++ b/packages/web/src/content/docs/nb/plugins.mdx @@ -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 diff --git a/packages/web/src/content/docs/nb/providers.mdx b/packages/web/src/content/docs/nb/providers.mdx index 58d325cab..682f923f8 100644 --- a/packages/web/src/content/docs/nb/providers.mdx +++ b/packages/web/src/content/docs/nb/providers.mdx @@ -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 diff --git a/packages/web/src/content/docs/nb/sdk.mdx b/packages/web/src/content/docs/nb/sdk.mdx index bbff8ebec..56bde19d7 100644 --- a/packages/web/src/content/docs/nb/sdk.mdx +++ b/packages/web/src/content/docs/nb/sdk.mdx @@ -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` | --- diff --git a/packages/web/src/content/docs/nb/themes.mdx b/packages/web/src/content/docs/nb/themes.mdx index a294a6a0f..2284848e3 100644 --- a/packages/web/src/content/docs/nb/themes.mdx +++ b/packages/web/src/content/docs/nb/themes.mdx @@ -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. --- diff --git a/packages/web/src/content/docs/nb/tui.mdx b/packages/web/src/content/docs/nb/tui.mdx index fae2a2364..741ba4602 100644 --- a/packages/web/src/content/docs/nb/tui.mdx +++ b/packages/web/src/content/docs/nb/tui.mdx @@ -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. --- diff --git a/packages/web/src/content/docs/nb/zen.mdx b/packages/web/src/content/docs/nb/zen.mdx index f8dac0f39..d85d63e39 100644 --- a/packages/web/src/content/docs/nb/zen.mdx +++ b/packages/web/src/content/docs/nb/zen.mdx @@ -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å. |
