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 Snelstartgids: installeren, verifiëren, een model/aanbieder koppelen en echte workflows uitvoeren (CLI + API).
Versie-opmerking: OpenCode komt snel uit met updates. De “laatste” commando’s hier zijn stabiel, maar output en standaarden kunnen veranderen – controleer altijd de officiële CLI-documentatie en het changelog (hieronder gelinkt).
Dit artikel maakt deel uit van AI Developer Tools: De Complete Gids voor AI-aangedreven Development.
Wat OpenCode is (en waar het past)
OpenCode is ontworpen voor terminal-first, agentisch coderen, terwijl het flexibel blijft qua aanbieder en model. In de praktijk is het een workflow-laag die het volgende kan doen:
- 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) - programmatiek beheerd worden via de officiële JS/TS SDK
@opencode-ai/sdk
Als je het wilt vergelijken met een andere open source agentische assistent die meervoudige stappenplannen kan uitvoeren in een geïsoleerde omgeving, bekijk dan OpenHands Coding Assistant Snelstart.

Als je een /ai-devtools/ cluster aan het bouwen bent, is OpenCode een sterke kandidaat voor een subcluster, omdat het natuurlijk uitbreidt naar:
- CLI diepte
- model/aanbieder gedrag en kosten (LLM-vergelijking binnen OpenCode)
- configuratie & agents
- integraties (GitHub/GitLab/Copilot)
- cheat sheet
- Oh My Opencode — een multi-agent orchestratielaag gebouwd bovenop OpenCode
Vereisten
Je hebt het volgende nodig:
- Een moderne terminal-emulator (belangrijk voor de TUI-ervaring).
- Toegang tot minimaal één model/aanbieder (API-sleutels of abonnementsauthenticatie, afhankelijk van de aanbieder). Lokale opties zoals Ollama of llama.cpp werken zonder API-sleutels als je lokaal een compatibele server draait.
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 van AUR)
paru -S opencode-bin
Windows-opmerkingen (officiële richtlijn adviseert 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 (zal variëren per versie):
# Voorbeeld:
# <print een versienummer, bijv. vX.Y.Z>
# <print hulp met beschikbare commando's/subcommando's>
Een aanbieder koppelen (twee praktische paden)
Pad A: TUI /connect (interactief)
Start OpenCode:
opencode
Voer vervolgens uit:
/connect
Volg de UI-stappen om een aanbieder te selecteren en te authenticeren (sommige flows openen een browser/apparaat-login).
Pad B: CLI opencode auth login (aanbieder-sleutels)
OpenCode ondersteunt het configureren van aanbieders via:
opencode auth login
Opmerkingen:
- Inloggegevens worden opgeslagen in
~/.local/share/opencode/auth.json. - OpenCode kan ook sleutels laden van omgevingsvariabelen of een
.envbestand in je project.
Lokale LLM-hosting (Ollama, llama.cpp)
OpenCode werkt met elke OpenAI-compatibele API. Voor lokaal development draaien veel gebruikers Ollama en wijzen OpenCode daarop. Onlangs heb ik zeer goede ervaringen gehad met het configureren en uitvoeren van OpenCode met llama.cpp in plaats daarvan—llama-server exposeert OpenAI-compatibele endpoints, dus je kunt GGUF-modellen gebruiken met dezelfde workflow. Als je voorkeur geeft aan fijne controle over geheugen en runtime, of een lichtere stack wilt zonder Python (overigens is ollama geïmplementeerd in Go), is llama.cpp het proberen waard. Ik heb veel plezier gehad met het configureren van offgeladen lagen, het gebruiksgemak van 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 — voor coding-taken en structuur-output nauwkeurigheid — bekijk dan mijn hands-on LLM-vergelijking voor OpenCode.
Een project correct starten (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 in je commit te zetten, 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 moet de omgevingsvariabele lezen, een int parsen, valideren 1-65535, en defaultPort teruggeven als leeg. Inclusief 3 tabel-gedreven tests."
Verwachte output:
- Een uitleg plus code-blokken (functie + tests). De exacte code varieert per model/aanbieder en prompt.
Workflow: een bestand veilig refactoren (CLI + Plan-agent)
Doel: refactoren zonder onbedoelde bewerkingen 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-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 vinden.
opencode run --agent explore \
"In deze repository, waar wordt authenticatie gevalideerd voor API-aanvragen? Lijst waarschijnlijke bestanden en leg de flow uit. Als je onzeker bent, zeg dan wat je hebt gecontroleerd."
Verwachte output:
- Een korte kaart van bestandslocaties + flow-beschrijving.
- Output hangt af van repo-grootte en model/aanbieder context-tools.
Workflow: herhaalde CLI-runs versnellen met een persistente server
Als je scripts maakt 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 "Samenvatten van de repo-structuur en hoofdingangen."
opencode run --attach http://localhost:4096 "Stel nu 3 high-impact refactoringen voor en waarom."
Verwachte output:
- Dezelfde als
opencode run, maar meestal met minder herhaalde startup-overhead.
Programmatiek gebruik (officiële JS/TS SDK)
OpenCode exposeert een HTTP-server (OpenAPI) en biedt een typeveilige JS/TS client.
Installeren:
npm install @opencode-ai/sdk
Voorbeeld: server + client starten, dan prompten
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 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 snelstart 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);
// Sluit server af wanneer klaar
opencode.server.close();
Uitvoeren:
node scripts/opencode-sdk-demo.mjs
Verwachte output:
- “Server draait op …”
- Een gezondheidsrespons inclusief een versiestring
- Een sessie prompt-respons object (exacte structuur hangt af van
responseStyleen SDK-versie)
Minimale OpenCode configuratie die je kunt kopiëren
OpenCode ondersteunt JSON en JSONC configuratie. Dit is een redelijk startpunt voor een project-lokale configuratie.
Maak opencode.jsonc in je repo-root:
{
"$schema": "https://opencode.ai/config.json",
// Kies een standaard model (provider/model). Houd dit afgestemd op wat `opencode models` toont.
"model": "provider/model",
// Optioneel: een goedkoper "klein model" voor lichte taken (titels, enz.)
"small_model": "provider/small-model",
// Optioneel: OpenCode server standaarden (gebruikt door serve/web)
"server": {
"port": 4096,
"hostname": "127.0.0.1"
},
// Optionele veiligheid: bevestiging vereisen voor bewerkingen/commando's
"permission": {
"edit": "ask",
"bash": "ask"
}
}
Korte cheat sheet (snelle naslag)
Commando’s die je dagelijks gebruikt
opencode # start TUI
opencode run "..." # niet-interactieve run (automatisering)
opencode run --file path "..." # bestanden aan prompt toevoegen
opencode models --refresh # modellenlijst vernieuwen
opencode auth login # aanbieder-inloggegevens configureren
opencode serve # headless HTTP-server (OpenAPI)
opencode web # headless server + web-UI
opencode session list # sessies lijsten
opencode stats # token/kost statistieken
TUI-commando’s om te onthouden
/connect # een aanbieder koppelen
/init # repo analyseren, AGENTS.md genereren
/share # een sessie delen (als ingeschakeld)
/undo # een wijziging ongedaan maken
/redo # een wijziging opnieuw doen
/help # hulp/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 cheat sheet tabel
Deze versie is opzettelijk dicht en “printvriendelijk”. (Je kunt dit later plakken in een dedicated /ai-devtools/opencode/cheatsheet/ pagina.)
| Taak | Commando / sneltoets | Opmerkingen |
|---|---|---|
| Start TUI | opencode |
Standaardgedrag is de terminal-UI lanceren |
| 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 veiliger “geen wijzigingen” werk (permissie-gerestrict) |
| Lijst modellen | opencode models [provider] |
Gebruik --refresh om de cached lijst bij te werken |
| Configureer aanbieder-inloggegevens | opencode auth login |
Opslaan 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 |
| Runs koppelen aan server | opencode run --attach http://localhost:4096 "..." |
Handig om herhaalde koude starts te voorkomen |
| Basis auth inschakelen | OPENCODE_SERVER_PASSWORD=... opencode serve |
Gebruikersnaam default is opencode tenzij overruled |
| Web-UI modus | opencode web |
Start server + opent browser |
| Exporteer een sessie | opencode export [sessionID] |
Handig voor archiveren of delen van context |
| Importeer een sessie | opencode import session.json |
Kan ook importeren van een deel-URL |
| Bekijk globale CLI vlaggen | opencode --help / opencode --version |
--print-logs + --log-level voor debugging |
| TUI leader key concept | default leader toets 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 omhult in een multi-agent harnas. Het hoofdidee: typ ultrawork (of ulw) in een sessie en een orchestrator (Sisyphus) neemt het over, delegeert sub-taken aan specialist agents die parallel draaien, elk op de modelfamilie waarvoor hun prompts zijn getuned.
Drie artikelen behandelen dit diepgaand:
-
Oh My Opencode Snelstart
Installeer viabunx oh-my-opencode install, configureer aanbieders en voer je eerste ultrawork-taak uit in minder dan tien minuten. -
Gespecialiseerde Agents Diepte-inzicht
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 Ervaring: 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 officieel)
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
Autoritatieve integratie-referentie:
- 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/