OpenCode Quickstart: Installeren, configureren en gebruiken van de Terminal AI-codingagent
Hoe OpenCode te installeren, configureren en gebruiken
OpenCode is een open-source AI-coding agent die je in de terminal (TUI + CLI) kunt uitvoeren, met optionele desktop- en IDE-interfaces. Dit is de OpenCode Quickstart: installeren, verifiëren, een model/anbieder verbinden en echte workflows uitvoeren (CLI + API).
Versie-opmerking: OpenCode wordt snel uitgebracht. De commando’s hier zijn stabiel, maar output en standaarden kunnen wijzigen — controleer altijd de officiële CLI-documentatie en changelog (onderaan gelinkt).
Dit artikel is onderdeel van AI Developer Tools: De complete gids voor AI-gestuurde ontwikkeling.
Wat OpenCode is (en waar het past)
OpenCode is ontworpen voor terminal-first, agentic coding, terwijl het flexibel blijft qua aanbieder/model. In de praktijk is het een workflow-laag die kan:
- een terminal-UI starten wanneer je
opencodeuitvoert - niet-interactieve “one-shot”-prompts uitvoeren via
opencode run(scripts/automatisering) - een headless HTTP-server blootstellen via
opencode serve(en een web-UI viaopencode web) - programmatisch worden bestuurd via de officiële JS/TS SDK
@opencode-ai/sdk
Als je het wilt vergelijken met een andere open-source agentic assistent die multi-step plannen kan uitvoeren in een sandboxed omgeving, bekijk dan de OpenHands Coding Assistant QuickStart.
Voor Anthropic’s terminal-first agent met hetzelfde “lokale model via HTTP”-verhaal (Ollama of llama.cpp, permissies, prijsing), bekijk Claude Code installatie en configuratie voor Ollama, llama.cpp, prijsing.

Vereisten
Je wilt het volgende hebben:
- Een moderne terminal emulator (belangrijk voor de TUI-ervaring).
- Toegang tot minstens één model/anbieder (API-sleutels of abonnement-authenticatie, afhankelijk van de aanbieder). Lokale opties zoals Ollama of llama.cpp werken zonder API-sleutels als je lokaal een compatibele server draait.
OpenCode installeren (copy-paste)
Officieel installatiescript (Linux/macOS/WSL):
curl -fsSL https://opencode.ai/install | bash
Opties via package manager (officiële voorbeelden):
# Node.js globale installatie
npm install -g opencode-ai
# Homebrew (aanbevolen door OpenCode voor de meest actuele releases)
brew install anomalyco/tap/opencode
# Arch Linux (stabiel)
sudo pacman -S opencode
# Arch Linux (nieuwste uit AUR)
paru -S opencode-bin
Opmerkingen voor Windows (officiële aanbevelingen adviseren vaak WSL voor de beste compatibiliteit). Alternatieven zijn Scoop/Chocolatey of npm.
# chocoloatey (Windows)
choco install opencode
# scoop (Windows)
scoop install opencode
Docker (handig voor een snelle test):
docker run -it --rm ghcr.io/anomalyco/opencode
Installatie verifiëren
opencode --version
opencode --help
Verwachte output (varieert per versie):
# Voorbeeld:
# <print een versienummer, bijv. vX.Y.Z>
# <print help met beschikbare commando's/subcommando's>
Verbinding maken met een aanbieder (twee praktische paden)
Pad A: TUI /connect (interactief)
Start OpenCode:
opencode
Voer dan uit:
/connect
Volg de UI-stappen om een aanbieder te selecteren en te authenticeren (sommige flows openen een browser/device login).
Pad B: CLI opencode auth login (aanbieder sleutels)
OpenCode ondersteunt het configureren van aanbieders via:
opencode auth login
Opmerkingen:
- Referenties worden opgeslagen in
~/.local/share/opencode/auth.json. - OpenCode kan ook sleutels laden uit omgevingsvariabelen of een
.env-bestand in je project.
Lokale LLM-hosting (Ollama, llama.cpp)
OpenCode werkt met elke OpenAI-compatibele API. Voor lokale ontwikkeling draaien veel gebruikers Ollama en wijzen OpenCode daarop. Ik heb recent zeer goede ervaringen gehad met het configureren en draaien van OpenCode met llama.cpp in plaats daarvan—llama-server exposeert OpenAI-compatibele endpoints, zodat je GGUF-modellen kunt gebruiken met dezelfde workflow. Als je liever fijnmazige controle hebt over geheugen en runtime, of een lichtere stack wilt zonder Python (OVG, Ollama is geïmplementeerd in Go), is llama.cpp het proberen waard. Ik heb veel plezier gehad in het configureren van offgeladen lagen, de gebruiksvriendelijkheid van de modellen in GGUF-formaat, en de veel betere/sneller geïmplementeerde compatibiliteit met nieuwe modellen, zoals Qwen3.5. Als je wilt weten welke modellen daadwerkelijk goed presteren binnen OpenCode — voor coding-taak en gestructureerde output-accuratie — bekijk dan mijn hands-on LLM-vergelijking voor OpenCode.
Start een project correct (aanbevolen eerste run)
Vanaf je repo:
cd /path/to/your/repo
opencode
Initialiseer dan:
/init
Dit analyseert je project en maakt een AGENTS.md-bestand in de projectroot. Het is meestal de moeite waard om dit bestand te committen, zodat OpenCode (en collega’s) consistente projectcontext delen.
Kern CLI-workflows (copy-paste voorbeelden)
OpenCode ondersteunt niet-interactieve runs:
opencode run "Leg uit hoe closures werken in JavaScript"
Workflow: code genereren (CLI)
Doel: een kleine, testbare functie genereren met minimale context.
opencode run "Schrijf een Go-functie ParsePort(envVar string, defaultPort int) (int, error). Deze moet de env var lezen, een int parsen, valideren op 1-65535, en defaultPort retourneren als leeg. Voeg 3 table-driven tests toe."
Verwachte output:
- Een uitleg plus code blocks (functie + tests). Exacte code varieert per model/anbieder en prompt.
Workflow: een bestand veilig refactoren (CLI + Plan agent)
Doel: refactoren zonder onbedoelde edits door een restrictievere agent te gebruiken.
opencode run --agent plan --file ./src/auth.ts \
"Refactor dit bestand om complexiteit te verminderen. Output: (1) een kort plan, (2) een unified diff patch, (3) risico's/edge-cases om te testen. Voer geen commando's uit."
Verwachte output:
- Een plan-sectie + een
diff --git ...patch block + een test checklist. - Inhoud varieert. Als het geen diff produceert, prompt opnieuw: “Retourneer alleen een unified diff” of “Gebruik
diff --gitformaat.”
Workflow: repo vragen stellen (CLI)
Doel: implementatiedetails snel vinden.
opencode run --agent explore \
"In deze repository, waar wordt authenticatie gevalideerd voor API-verzoeken? Noem waarschijnlijke bestanden en leg de flow uit. Als je onzeker bent, zeg dan wat je hebt gecontroleerd."
Verwachte output:
- Een korte kaart van bestandspaden + flow beschrijving.
- Output hangt af van repo-grootte en model/anbieder context tools.
Workflow: versnel herhaalde CLI-runs met een persistente server
Als je scripten of meerdere opencode run calls uitvoert, kun je een headless server één keer starten:
Terminal 1:
opencode serve --port 4096 --hostname 127.0.0.1
Terminal 2:
opencode run --attach http://localhost:4096 "Summariseer de repo-structuur en belangrijkste entrypoints."
opencode run --attach http://localhost:4096 "Stel nu 3 high-impact refactors voor en leg uit waarom."
Verwachte output:
- Dezelfde als
opencode run, maar meestal met minder herhaalde startup overhead.
Programmatisch gebruik (officiële JS/TS SDK)
OpenCode exposeert een HTTP-server (OpenAPI) en biedt een type-safe JS/TS client.
Installeren:
npm install @opencode-ai/sdk
Voorbeeld: start server + client, dan prompt
Maak scripts/opencode-sdk-demo.mjs:
import { createOpencode } from "@opencode-ai/sdk";
const opencode = await createOpencode({
hostname: "127.0.0.1",
port: 4096,
config: {
// Model string formaat is provider/model (alleen voorbeeld)
// model: "anthropic/claude-3-5-sonnet-20241022",
},
});
console.log(`Server draait op: ${opencode.server.url}`);
// Basis health/version check
const health = await opencode.client.global.health();
console.log("Gezond:", health.data.healthy, "Versie:", health.data.version);
// Maak een sessie en prompt
const session = await opencode.client.session.create({ body: { title: "SDK quickstart demo" } });
const result = await opencode.client.session.prompt({
path: { id: session.data.id },
body: {
parts: [{ type: "text", text: "Genereer een kleine README-sectie die deze repo beschrijft." }],
},
});
console.log(result.data);
// Sluit server af wanneer klaar
opencode.server.close();
Uitvoeren:
node scripts/opencode-sdk-demo.mjs
Verwachte output vorm:
- “Server draait op …”
- Een health respons inclusief een versiestring
- Een sessie prompt respons object (exacte structuur hangt af van
responseStyleen SDK versie)
Minimale OpenCode config die je kunt kopiëren
OpenCode ondersteunt JSON en JSONC config. Dit is een redelijk startpunt voor een project-locale config.
Maak opencode.jsonc in je repo root:
{
"$schema": "https://opencode.ai/config.json",
// Kies een default model (provider/model). Houd dit in lijn met wat `opencode models` toont.
"model": "provider/model",
// Optioneel: een goedkopere “small model” voor lichte taken (titels, etc.)
"small_model": "provider/small-model",
// Optioneel: OpenCode server defaults (gebruikt door serve/web)
"server": {
"port": 4096,
"hostname": "127.0.0.1"
},
// Optionele veiligheid: vereis bevestiging voor edits/commando's
"permission": {
"edit": "ask",
"bash": "ask"
}
}
Korte cheatsheet (snelle referentie)
Commando’s die je dagelijks zult gebruiken
opencode # start TUI
opencode run "..." # niet-interactieve run (automatisering)
opencode run --file path "..." # voeg bestanden toe aan prompt
opencode models --refresh # vernieuw modellenlijst
opencode auth login # configureer aanbieder referenties
opencode serve # headless HTTP server (OpenAPI)
opencode web # headless server + web UI
opencode session list # lijst sessies
opencode stats # token/kosten statistieken
TUI commando’s die de moeite waard zijn om te onthouden
/connect # verbinding maken met een aanbieder
/init # analyseer repo, genereer AGENTS.md
/share # deel een sessie (indien ingeschakeld)
/undo # ongedaan maken van een wijziging
/redo # opnieuw doen van een wijziging
/help # help/sneltoetsen
Standaard “leader key” concept (TUI)
OpenCode gebruikt een configureerbare “leader” toets (vaak ctrl+x) om terminal-conflicten te vermijden. Veel sneltoetsen zijn “Leader + toets”.
Een-pagina printbare OpenCode cheatsheet tabel
Deze versie is opzettelijk compact en “print-vriendelijk.” (Je kunt het later plakken in een dedicated /ai-devtools/opencode/cheatsheet/ pagina.)
| Taak | Commando / sneltoets | Opmerkingen |
|---|---|---|
| Start TUI | opencode |
Standaardgedrag is het starten van de terminal UI |
| Voer one-shot prompt uit | opencode run "..." |
Niet-interactieve modus voor scripting/automatisering |
| Voeg bestand(en) toe aan prompt | opencode run --file path/to/file "..." |
Gebruik meerdere --file vlaggen voor meerdere bestanden |
| Kies model voor een run | opencode run --model provider/model "..." |
Model strings zijn provider/model |
| Kies agent | opencode run --agent plan "..." |
Plan is ontworpen voor veiligere “no changes” werk (permissie-beperkt) |
| Lijst modellen | opencode models [provider] |
Gebruik --refresh om de gecachte lijst te updaten |
| Configureer aanbieder referenties | opencode auth login |
Referenties worden opgeslagen in ~/.local/share/opencode/auth.json |
| Lijst geauthenticeerde aanbieders | opencode auth list / opencode auth ls |
Bevestigt wat OpenCode ziet |
| Start headless server | opencode serve --port 4096 --hostname 127.0.0.1 |
OpenAPI spec op http://host:port/doc |
| Koppel runs aan server | opencode run --attach http://localhost:4096 "..." |
Handig om herhaalde cold boots te vermijden |
| Schakel basis auth in | OPENCODE_SERVER_PASSWORD=... opencode serve |
Gebruikersnaam default naar opencode tenzij overschreven |
| Web UI modus | opencode web |
Start server + opent browser |
| Exporteer een sessie | opencode export [sessionID] |
Handig voor archivering of delen van context |
| Importeer een sessie | opencode import session.json |
Kan ook importeren van een share URL |
| Bekijk globale CLI vlaggen | opencode --help / opencode --version |
--print-logs + --log-level voor debugging |
| TUI leader key concept | default leader key vaak ctrl+x |
Aanpasbaar in tui.json |
Oh My Opencode — neem OpenCode verder met multi-agent orchestration
Zodra OpenCode draait, is de natuurlijke volgende stap Oh My Opencode — een community plugin die OpenCode wrappt in een multi-agent harness. Het hoofdidee: typ ultrawork (of ulw) in een sessie en een orchestrator (Sisyphus) neemt over, delegeert sub-taakjes aan specialist agents die parallel draaien, elk op de model familie waarvoor hun prompts zijn afgestemd.
Drie artikelen dekken het in detail:
-
Oh My Opencode Quickstart
Installeer viabunx oh-my-opencode install, configureer aanbieders, en voer je eerste ultrawork taak uit in minder dan tien minuten. -
Specialised Agents Deep Dive
Alle 11 agents uitgelegd — Sisyphus, Hephaestus, Oracle, Prometheus, Librarian, en meer — met model routing, fallback chains, en praktische aanbevelingen voor self-hosted modellen. -
Oh My Opencode Experience: Eerlijke Resultaten en Factureringsrisico’s
Echte benchmarks, een $350 Gemini infinite-loop incident, en een duidelijk oordeel over wanneer OMO zijn overhead verdient.
OpenCode was een van de eerste tools die werd getroffen door Anthropic’s beleid om third-party Claude abonnementstoegang te blokkeren — een stap die werd genomen in januari 2026, een maand voordat dezelfde restrictie OpenClaw trof. De OpenClaw rise and fall timeline documenteert beide gebeurtenissen en het bredere patroon dat ze vertegenwoordigen voor agent tools gebouwd op abonnement compute.
Bronnen (officieel eerst)
Officieel:
- OpenCode docs (Intro, CLI, Config, Server, SDK): https://opencode.ai/docs/
- OpenCode changelog: https://opencode.ai/changelog
- Officiële GitHub repo: https://github.com/anomalyco/opencode
- Releases: https://github.com/anomalyco/opencode/releases
Autoritair integratie referentie:
- GitHub Changelog (Copilot ondersteunt OpenCode): https://github.blog/changelog/2026-01-16-github-copilot-now-supports-opencode/
Respectabele vergelijkingen/tutorials:
- DataCamp: OpenCode vs Claude Code (2026): https://www.datacamp.com/blog/opencode-vs-claude-code
- Builder.io: OpenCode vs Claude Code (2026): https://www.builder.io/blog/opencode-vs-claude-code
- freeCodeCamp: Integreer AI in je terminal met OpenCode: https://www.freecodecamp.org/news/integrate-ai-into-your-terminal-using-opencode/