OpenCode
v1.14.19Open SourceMulti-model open-source AI coding agent — 75+ providers, privacy-first
OpenCode (door SST) is een volledig open-source AI coding agent met client-server architectuur die 75+ LLM-providers ondersteunt en privacy-first is.
Installatie
curl -fsSL https://opencode.ai/install | bash
Alternatieven:
npm install -g opencode-ai # npmbrew install opencode # Homebrew (macOS)bun install -g opencode-ai # Bundocker run -it kilocode/cli # DockerGratis · macOS, Linux, Windows · Auth via GitHub Copilot of ChatGPT Plus/Pro · 164k+ GitHub-sterren · 900+ bijdragers
Vereist een moderne terminal-emulator: WezTerm, Alacritty, Ghostty of Kitty. Bun is de primaire runtime. Taal: TypeScript (Hono HTTP framework, Drizzle ORM, Solid.js web-UI, Vercel AI SDK).
Architectuur
OpenCode gebruikt een client-server model: een backend server beheert AI-interacties terwijl meerdere frontends verbinden via HTTP. Dit maakt het mogelijk om de TUI lokaal te draaien terwijl de server op een andere machine staat.
| Interface | Type | Status |
|---|---|---|
| Terminal UI (TUI) | Primair | Stabiel — interactieve ontwikkeling in terminal |
| Desktop App | Electron | Beta — macOS, Windows, Linux |
| VS Code Extension | IDE integratie | Stabiel — volledige editor integratie |
| Web Interface | Browser | opencode web commando |
opencode serveStart HTTP backend serveropencode webHTTP server geoptimaliseerd voor webaccessopencode attachLokale TUI verbinden met remote serverOndersteunde Providers (75+)
Managed Gateways
- OpenCode Zen — gecureerde modellen, pay-as-you-go
- OpenCode Go — $10/maand abonnement voor open modellen
Grote cloud providers
- Anthropic — Claude 3.5 Sonnet, Claude 3 Opus, Claude 3 Haiku
- OpenAI — GPT-4, GPT-4 Turbo, GPT-4o, GPT-3.5
- Google — Gemini Pro, Gemini 1.5 Pro/Flash
- AWS Bedrock — meerdere model-opties
- Microsoft Azure — OpenAI-integratie
Aggregators & local
- OpenRouter, DeepInfra, Together AI, Replicate
- Ollama — lokale modellen draaien
- LM Studio — self-hosted inference
- vLLM — lokale model-serving
Platform-integraties
- GitHub Copilot — OAuth-authenticatie
- GitLab Duo — device flow authenticatie
- ChatGPT Plus/Pro — account-gebaseerde toegang
CLI Commando's
opencode [pad]Start TUI in huidige of opgegeven mapopencode --continue / -cLaatste actieve sessie hervattenopencode --session / -s <id>Specifieke sessie hervattenopencode --model / -m anthropic/claude-3-5-sonnetModel opgevenopencode run "prompt"Niet-interactief uitvoeren met streaming outputopencode statsToken-gebruik, kosten en tool-frequentie inzienopencode sessions [list|delete|export]Sessiebeheeropencode initAGENTS.md genereren voor projectsetupopencode agent create [naam]Aangepaste agent interactief aanmakenopencode upgradeUpdaten naar laatste versieopencode mcpMCP servers beherenopencode dbSQLite database beheerConfiguratie
OpenCode gebruikt JSONC configuratiebestanden met 8 lagen (van laagste naar hoogste prioriteit: Remote → Global User → Environment → Project → Extensions → Content Injection → Managed → MDM). Arrays zoals `instructions` worden samengevoegd en ontdubbeld over lagen.
// opencode.json (project root)
{
"provider": "anthropic",
"model": "claude-3-5-sonnet",
"small_model": "claude-3-haiku",
"permissions": {
"exec": ["bash", "node"],
"read": true,
"write": true
},
"server": { "port": 1337, "host": "localhost" }
}Global config in ~/.config/opencode/ · Project config in opencode.json · Extensions in .opencode/ directory
| Configuratielaag | Locatie | Gebruik |
|---|---|---|
| Remote (1 - laagste) | .well-known/opencode | Publieke org-defaults |
| Global User (2) | ~/.config/opencode/ | User-brede instellingen |
| Project (4) | opencode.json | Project-specifieke instellingen |
| Extensions (5) | .opencode/ directory | Lokale plugins/aanpassing |
| Managed (7) | /etc/opencode | System admin control |
| MDM (8 - hoogste) | Mobile Device Management | Enterprise-controle |
TUI Interface
Slash commando's in TUI
- /new — nieuwe conversatiesessie starten
- /editor — bericht in externe editor opstellen
- /export — conversatie opslaan als Markdown
- /sessions — wisselen tussen sessies
- /models — beschikbare modellen bekijken en wisselen
- /undo — laatste actie terugdraaien (vereist Git)
- /share — deelbare sessielink genereren
- /settings — configuratie bekijken/aanpassen
- /compact — conversatiegeschiedenis samenvatten
- /help — help weergeven
Bestandsreferenties & snelkoppelingen
- @ prefix — fuzzy-zoek bestanden in het project voor context
- ! prefix — bash-commando's direct uitvoeren (output in conversatie)
- Drag-and-drop afbeeldingen voor visuele context
- Leader key (Ctrl+X by default) voor sessie/navigatie-shortcuts
Multi-Sessie & Delen
Sessietypen
- Primary Session — hoofdconversatie
- Forked Session — vertakking met gedeelde geschiedenis (/fork of --fork)
- Child Sessions — subagent-sessies voor parallel werk
- Bestandsgebaseerde persistentie in .opencode/sessions/
Delen
- /share — deelbare URL genereren voor de sessie
- Verlooptijd, read-only of collaboratieve modus instelbaar
- Meerdere gebruikers kunnen gedeelde sessies hervatten
- Parallelle agent-uitvoering met gesynchroniseerde gespreksgeschiedenis
Plugin Systeem
// Basis plugin structuur (TypeScript)
export function setupPlugin(context: PluginContext) {
return {
hooks: {
onCommand: async (cmd) => { /* ... */ },
onToolExecution: async (tool) => { /* ... */ },
onSessionUpdate: async (session) => { /* ... */ }
},
tools: [ /* aangepaste tools */ ]
}
}Plugin locaties: .opencode/plugins/ (project) · ~/.config/opencode/plugins/ (global) · npm pakketten in opencode.json
| Hook | Trigger |
|---|---|
| onCommand | Commando-uitvoering |
| onToolExecution | Tool draait |
| onSessionUpdate | Sessiewijzigingen |
| onFileChange | Bestandswijzigingen |
| onLSPDiagnostics | Language server events |
| onPermission | Machtigingsverzoeken |
Privacy & Data
- OpenCode slaat GEEN code of context-data op op externe servers
- Alle conversaties opgeslagen lokaal in .opencode/sessions/
- Geen telemetrie of gebruikstracking (configureerbaar)
- Configuratie-credentials versleuteld in auth.json
- Cloud-sessies (indien ingeschakeld): 90 dagen retentie
- Gebruiker kan alle data op elk moment exporteren en verwijderen
- MCP OAuth-tokens opgeslagen in mcp-auth.json (persistent)
Links
Bijgewerkt: 2026-05-23