OpenCode Quickstart: installeren, configureren en gebruiken van de Terminal AI Coding Agent
Hoe u OpenCode installeert, configureert en gebruikt
OpenCode is een open-source AI-coding agent die je in de terminal kunt uitvoeren (TUI + CLI) met optionele desktop- en IDE-interfaces. Dit is de OpenCode Quickstart: installeren, verifiëren, een model/aanbieder verbinden en werkelijke workflows uitvoeren (CLI + API).
Versie-opmerking: OpenCode wordt snel geleverd. De hieronder getoonde “nieuwste” commando’s zijn stabiel, maar de uitvoer en standaardinstellingen kunnen veranderen—controleer altijd de officiële CLI-documentatie en het changelog (hieronder gelinkt).
Dit artikel is onderdeel van AI Developer Tools: De Complete Gids voor AI-Gedreven Ontwikkeling.
Wat OpenCode is (en waar het past)
OpenCode is ontworpen voor terminal-first, agentische coding, terwijl het flexibel blijft qua aanbieder/model. In de praktijk is het een workflow-laag die het volgende kan doen:
- een terminal-UI starten als 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 agentische assistent die meervoudige stappen in een sandbox-omgeving kan uitvoeren, zie OpenHands Coding Assistant QuickStart.
Voor Anthropic’s terminal-first agent met hetzelfde verhaal van “lokaal model via HTTP” (Ollama of llama.cpp, machtigingen, prijzen), zie Claude Code installatie en configuratie voor Ollama, llama.cpp, prijzen.

Vereisten
Je hebt het volgende nodig:
- Een moderne terminal-emulator (belangrijk voor de TUI-ervaring).
- Toegang tot ten minste één model/aanbieder (API-sleutels of abonnementsauthenticatie, afhankelijk van de aanbieder). Lokale opties zoals Ollama of llama.cpp werken zonder API-sleutels als je een compatibele server lokaal uitvoert.
OpenCode installeren (kopieer-plak)
Officiële installatiescript (Linux/macOS/WSL):
curl -fsSL https://opencode.ai/install | bash
Opties voor pakketbeheer (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
Windows-opmerkingen (officiële richtlijnen adviseren doorgaans 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 uitvoer (varieert per versie):
# Voorbeeld:
# <print een versienummer, bijv. vX.Y.Z>
# <print hulp met beschikbare commando's/subcommando's>
Een aanbieder verbinden (twee praktische paden)
Pad A: TUI /connect (interactief)
Start OpenCode:
opencode
Vervolgens uitvoeren:
/connect
Volg de stappen in de UI om een aanbieder te selecteren en te authenticeren (sommige flows openen een browser/apparaat-login).
Pad B: CLI opencode auth login (aanbiedersleutels)
OpenCode ondersteunt het configureren van aanbieders via:
opencode auth login
Opmerkingen:
- Aanmeldgegevens 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 voeren veel gebruikers Ollama uit en wijzen OpenCode daarop. Ik heb onlangs zeer goede ervaringen gehad met het configureren en uitvoeren 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 fijnkorrelige controle wilt over geheugen en runtime, of een lichtere stack zonder Python wilt (overigens is ollama geïmplementeerd in Go), is llama.cpp de moeite waard om te proberen. Ik heb echt genoten van de mogelijkheid om offgeladen lagen te configureren, het gebruiksgemak van de modellen in GGUF-formaat en de veel betere/snelder geïmplementeerde compatibiliteit met nieuwe modellen, zoals Qwen3.5. Als je wilt weten welke modellen daadwerkelijk goed presteren binnen OpenCode — over coding-taken en structuur-uitvoer nauwkeurigheid heen — zie mijn praktische LLM-vergelijking voor OpenCode.
Start een project correct (aanbevolen eerste run)
Vanaf je repo:
cd /path/to/your/repo
opencode
Vervolgens initialiseren:
/init
Dit analyseert je project en maakt een AGENTS.md-bestand in de projectroot. Het is doorgaans de moeite waard om dit bestand te committen zodat OpenCode (en teamleden) consistente projectcontext delen.
Kern CLI-workflows (kopieer-plak 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). Het zou de omgevingsvariabele moeten lezen, een int parsen, valideren op 1-65535 en defaultPort teruggeven als leeg. Voeg 3 table-driven tests toe."
Verwachte uitvoer:
- Een uitleg plus codeblokken (functie + tests). Exacte code varieert per model/aanbieder 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 de complexiteit te verminderen. Uitvoer: (1) een kort plan, (2) een unified diff patch, (3) risico's/edge-cases om te testen. Voer geen commando's uit."
Verwachte uitvoer:
- Een plan-sectie + een
diff --git ...patch-blok + een test-checklist. - Inhoud varieert. Als het geen diff produceert, prompt opnieuw: “Geef alleen een unified diff terug” of “Gebruik
diff --gitformaat.”
Workflow: repo-vragen stellen (CLI)
Doel: implementatiedetails snel lokaliseren.
opencode run --agent explore \
"In deze repository, waar wordt authenticatie gevalideerd voor API-aanvragen? Lijst waarschijnlijke bestanden op en leg de flow uit. Als je onzeker bent, zeg dan wat je hebt gecontroleerd."
Verwachte uitvoer:
- Een korte kaart van bestandslocaties + flow-beschrijving.
- Uitvoer hangt af van de repo-grootte en model/aanbieder context-tools.
Workflow: versneld uitvoeren van herhaalde CLI-runs met een persistente server
Als je scripten of meerdere opencode run-oproepen 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 "Vat de repo-structuur en belangrijkste entrypoints samen."
opencode run --attach http://localhost:4096 "Stel nu 3 high-impact refactors voor en leg uit waarom."
Verwachte uitvoer:
- Dezelfde als
opencode run, maar doorgaans met minder herhaalde start-overhead.
Programmatisch gebruik (officiële JS/TS SDK)
OpenCode exposeert een HTTP-server (OpenAPI) en biedt een type-veilige JS/TS-client.
Installeren:
npm install @opencode-ai/sdk
Voorbeeld: server + client starten, vervolgens prompten
Maak scripts/opencode-sdk-demo.mjs aan:
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 gezondheids-/versiecontrole
const health = await opencode.client.global.health();
console.log("Gezond:", health.data.healthy, "Versie:", health.data.version);
// Een sessie maken en prompten
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 klein README-sectie die deze repo beschrijft." }],
},
});
console.log(result.data);
// Server sluiten als klaar
opencode.server.close();
Uitvoeren:
node scripts/opencode-sdk-demo.mjs
Verwachte uitvoerstructuur:
- “Server draait op …”
- Een gezondheidsreactie inclusief een versiestring
- Een sessie-prompt reactieobject (exacte structuur hangt af van
responseStyleen SDK-versie)
Minimale OpenCode-configuratie om te kopiëren
OpenCode ondersteunt JSON en JSONC-configuratie. Dit is een redelijk startpunt voor een project-lokale configuratie.
Maak opencode.jsonc aan in je repo-root:
{
"$schema": "https://opencode.ai/config.json",
// Kies een standaardmodel (provider/model). Houd dit afgestemd op wat `opencode models` toont.
"model": "provider/model",
// Optioneel: een goedkoper "klein model" voor lichtgewicht taken (titels, enz.)
"small_model": "provider/small-model",
// Optioneel: OpenCode server-standaardwaarden (gebruikt door serve/web)
"server": {
"port": 4096,
"hostname": "127.0.0.1"
},
// Optionele veiligheid: bevestiging vereisen 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 "..." # bestanden aan prompt koppelen
opencode models --refresh # modellenlijst verversen
opencode auth login # aanbieder-credentials configureren
opencode serve # headless HTTP-server (OpenAPI)
opencode web # headless server + web-UI
opencode session list # sessies tonen
opencode stats # token/kosten statistieken
TUI-commando’s om te onthouden
/connect # een aanbieder verbinden
/init # repo analyseren, AGENTS.md genereren
/share # een sessie delen (indien ingeschakeld)
/undo # een wijziging ongedaan maken
/redo # een wijziging ongedaan maken
/help # hulp/sneltoetsen
Standaard “leader key”-concept (TUI)
OpenCode gebruikt een configureerbare “leader”-toets (vaak ctrl+x) om terminal-conflicten te voorkomen. Veel sneltoetsen zijn “Leader + toets”.
Eenzijdige printbare OpenCode cheatsheet tabel
Deze versie is opzettelijk compact en “printvriendelijk”. (Je kunt het later plakken in een dedicate /ai-devtools/opencode/cheatsheet/-pagina.)
| Taak | Commando / sneltoets | Opmerkingen |
|---|---|---|
| Start TUI | opencode |
Standaardgedrag is de terminal-UI lanceren |
| One-shot prompt uitvoeren | opencode run "..." |
Niet-interactieve modus voor scripting/automatisering |
| Bestand(en) aan prompt koppelen | opencode run --file path/to/file "..." |
Gebruik meerdere --file-vlaggen voor meerdere bestanden |
| Model kiezen voor een run | opencode run --model provider/model "..." |
Modelstrings zijn provider/model |
| Agent kiezen | opencode run --agent plan "..." |
Plan is ontworpen voor veiliger “geen wijzigingen” werk (machtiging-beperkt) |
| Modellen tonen | opencode models [provider] |
Gebruik --refresh om de gecachte lijst bij te werken |
| Aanbieder-credentials configureren | opencode auth login |
Opslaan credentials in ~/.local/share/opencode/auth.json |
| Gecertificeerde aanbieders tonen | opencode auth list / opencode auth ls |
Bevestigt wat OpenCode ziet |
| Headless server starten | opencode serve --port 4096 --hostname 127.0.0.1 |
OpenAPI-spec op http://host:port/doc |
| Runs koppelen aan server | opencode run --attach http://localhost:4096 "..." |
Handig om herhaalde koude starts te voorkomen |
| Basisauth inschakelen | OPENCODE_SERVER_PASSWORD=... opencode serve |
Gebruikersnaam is standaard opencode tenzij overruled |
| Web-UI modus | opencode web |
Start server + opent browser |
| Sessie exporteren | opencode export [sessionID] |
Handig voor archiveren of context delen |
| Sessie importeren | opencode import session.json |
Kan ook importeren van een deel-URL |
| Globale CLI-vlaggen bekijken | opencode --help / opencode --version |
--print-logs + --log-level voor debuggen |
| TUI leader key concept | standaard leader toets vaak ctrl+x |
Aanpasbaar in tui.json |
Oh My Opencode — neem OpenCode verder met multi-agent orchestratie
Zodra OpenCode draait, is de natuurlijke volgende stap Oh My Opencode — een community-plugin die OpenCode omhult in een multi-agent harnas. Het hoofdbegrip: typ ultrawork (of ulw) in een sessie en een orchestrator (Sisyphus) neemt over, delegeert sub-taken aan gespecialiseerde agents die parallel draaien, elk op de model-familie waarvoor hun prompts zijn afgezet.
Drie artikelen bespreken het in diepte:
-
Oh My Opencode Quickstart
Installeren viabunx oh-my-opencode install, aanbieders configureren en je eerste ultrawork-taak uitvoeren in minder dan tien minuten. -
Specialised Agents Deep Dive
Alle 11 agents uitgelegd — Sisyphus, Hephaestus, Oracle, Prometheus, Librarian, en meer — met model-routing, fallback-ketens en praktische richtlijnen voor self-hosted modellen. -
Oh My Opencode Experience: Eerlijke Resultaten en Factureringsrisico’s
Echte benchmarks, een $350 Gemini oneindige-loop incident, en een duidelijk oordeel over wanneer OMO zijn overhead verdient.
Bronnen (eerst officiële)
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
Autoriteit integratieresource:
- GitHub Changelog (Copilot ondersteunt OpenCode): https://github.blog/changelog/2026-01-16-github-copilot-now-supports-opencode/
Gereputeerde 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/