OpenCode Quickstart: Installeer, configureer en gebruik de Terminal AI-codeagent
Hoe te installeren, configureren en gebruiken van OpenCode
OpenCode is een open source AI-coderingsagent die je kunt uitvoeren in de terminal (TUI + CLI) met optionele desktop- en IDE-oppervlakken. Dit is de OpenCode Quickstart: installeer, controleer, verbind met een model/leverancier en voer werkelijke workflows uit (CLI + API).
Versieopmerking: OpenCode komt snel uit. De opdrachten “latest” hier zijn stabiel, maar de uitvoer en standaardwaarden kunnen veranderen — controleer altijd de officiële CLI-documentatie en changelog (onderaan vermeld).
Dit artikel is onderdeel van AI Developer Tools: The Complete Guide to AI-Powered Development.
Wat OpenCode is (en waar het past)
OpenCode is ontworpen voor terminal-first, agente codering, terwijl het zich flexibel houdt op leverancier/model. In de praktijk is het een workflow-laag die kan:
- een terminal UI starten wanneer je
opencodeuitvoert - niet-interactive “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 beheerd via de officiële JS/TS SDK
@opencode-ai/sdk

Als je een /ai-devtools/ cluster bouwt, is OpenCode een sterke kandidaat voor een subcluster omdat het natuurlijk uitbreidt naar:
- CLI diepgang
- model/leverancier gedrag en kosten (LLM-vergelijking binnen OpenCode)
- configuratie & agents
- integraties (GitHub/GitLab/Copilot)
- cheatheet
Voorwaarden
Je zal willen hebben:
- Een moderne terminal-emulator (belangrijk voor de TUI-ervaring).
- Toegang tot ten minste één model/leverancier (API-sleutels of abonnementsauthenticatie, afhankelijk van de leverancier).
Installeer OpenCode (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 (aangeraden door OpenCode voor de meest up-to-date 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 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
Controleer de installatie
opencode --version
opencode --help
Verwachte uitvoer (varieert per versie):
# Voorbeeld:
# <print een versienummer, bijvoorbeeld vX.Y.Z>
# <print hulp met beschikbare opdrachten/subopdrachten>
Verbind een leverancier (twee praktische paden)
Pad A: TUI /connect (interactief)
Start OpenCode:
opencode
Dan voer je uit:
/connect
Volg de UI-stappen om een leverancier te selecteren en te authenticeren (sommige flows openen een browser/apparaatlogin).
Pad B: CLI opencode auth login (leverancierssleutels)
OpenCode ondersteunt het configureren van leveranciers via:
opencode auth login
Opmerkingen:
- Referenties worden opgeslagen in
~/.local/share/opencode/auth.json. - OpenCode kan ook sleutels laden vanuit omgevingsvariabelen of een
.env-bestand in je project.
Start een project correct (aangeraden eerste uitvoering)
Vanuit je repo:
cd /pad/naar/je/repo
opencode
Dan initialiseren:
/init
Dit analyseert je project en maakt een AGENTS.md-bestand in de projectroot. Het is meestal waard om dit bestand te committeren zodat OpenCode (en collega’s) een consistente projectcontext delen.
Kern CLI workflows (kopieer-plakvoorbeelden)
OpenCode ondersteunt niet-interactive uitvoeringen:
opencode run "Leg uit hoe closures werken in JavaScript"
Workflow: code genereren (CLI)
Doel: genereer een kleine, testbare functie 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 op 1-65535 en defaultPort retourneren als leeg. Voeg 3 tabelgedreven tests toe."
Verwachte uitvoer:
- Een uitleg plus codeblokken (functie + tests). Exacte code varieert per model/leverancier 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. Uitvoer: (1) een korte plan, (2) een gecombineerde diff-patch, (3) risico's/edge-cases om te testen. Voer geen opdrachten uit."
Verwachte uitvoer:
- Een plansectie + een
diff --git ...patchblok + een testchecklist. - Inhoud varieert. Als het geen diff produceert, herprompt: “Retourneer alleen een gecombineerde diff” of “Gebruik
diff --gitformaat.”
Workflow: vragen stellen over een repo (CLI)
Doel: snel implementatiedetails lokaliseren.
opencode run --agent explore \
"In deze repository, waar wordt authenticatie gevalideerd voor API-aanvragen? Lijst waarschijnlijke bestanden en leg de stroom uit. Als onzeker, zeg wat je hebt gecontroleerd."
Verwachte uitvoer:
- Een korte kaart van bestandspaden + stroombeschrijving.
- Uitvoer hangt af van repo-grootte en model/leverancier contexttools.
Workflow: versneld herhaalde CLI-uitvoeringen met een aanhoudende server
Als je scripts of meerdere opencode run-aanroepen 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 "Samenvat de repostructuur en hoofdentrypoints."
opencode run --attach http://localhost:4096 "Stel nu drie hoge-impact refactoren voor en waarom."
Verwachte uitvoer:
- Dezelfde als
opencode run, maar meestal met minder herhaalde opstartoverhead.
Programmatieke gebruik (officiële JS/TS SDK)
OpenCode blootst een HTTP-server (OpenAPI) en biedt een typesafe JS/TS-client.
Installeer:
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 (voorbeeld alleen)
// model: "anthropic/claude-3-5-sonnet-20241022",
},
});
console.log(`Server draait op: ${opencode.server.url}`);
// Basisgezondheid/versiecheck
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 klein README-deel dat dit repo beschrijft." }],
},
});
console.log(result.data);
// Sluit server wanneer klaar
opencode.server.close();
Uitvoeren:
node scripts/opencode-sdk-demo.mjs
Verwachte uitvoer:
- “Server draait op …”
- Een gezondheidsreactie met een versienummer
- Een sessiepromptreactieobject (exacte structuur hangt af van
responseStyleen SDK-versie)
Minimal OpenCode configuratie die je kunt kopiëren
OpenCode ondersteunt JSON en JSONC configuratie. Dit is een redelijke startpunt voor een projectlokale configuratie.
Maak opencode.jsonc in je repo root:
{
"$schema": "https://opencode.ai/config.json",
// Kies een standaardmodel (provider/model). Houd dit gelijk aan wat `opencode models` toont.
"model": "provider/model",
// Optioneel: een goedkoper “klein model” voor lichte taken (titels, etc.)
"small_model": "provider/small-model",
// Optioneel: standaardwaarden voor OpenCode-server (gebruikt door serve/web)
"server": {
"port": 4096,
"hostname": "127.0.0.1"
},
// Optionele veiligheid: vereist bevestiging voor bewerkingen/opdrachten
"permission": {
"edit": "ask",
"bash": "ask"
}
}
Korte cheatheet (snel overzicht)
Opdrachten die je dagelijks gebruikt
opencode # start TUI
opencode run "..." # niet-interactieve uitvoering (automatisering)
opencode run --file path "..." # bestanden toevoegen aan prompt
opencode models --refresh # vernieuw lijst met modellen
opencode auth login # configureer leveranciersreferenties
opencode serve # headless HTTP-server (OpenAPI)
opencode web # headless server + web UI
opencode session list # lijst met sessies
opencode stats # token/kostenstatistieken
TUI-opdrachten waardig om te onthouden
/connect # verbind met een leverancier
/init # analyseer repo, genereer AGENTS.md
/share # deel een sessie (als ingeschakeld)
/undo # ongedaan maken van een wijziging
/redo # opnieuw doen van een wijziging
/help # hulp/kortingen
Standaard “leader key” concept (TUI)
OpenCode gebruikt een aanpasbare “leader”-toets (meestal ctrl+x) om conflicten met de terminal te vermijden. Veel snelkoppelingen zijn “Leader + toets”.
FAQ (schema-klar)
Wat is OpenCode?
OpenCode is een open source AI-coderingsagent ontworpen om te werken in je terminal (TUI + CLI) met aanvullende desktop/IDE-oppervlakken.
Is OpenCode gratis?
Het gereedschap is open source. Gebruikskosten hangen af van het model/leverancier dat je verbindt. Sommige leveranciers kunnen abonnementgebonden authenticatie of gratis niveaus bieden.
Hoe voer ik OpenCode uit zonder de TUI te openen?
Gebruik opencode run "..." voor niet-interactieve modus (handig voor scripts/automatisering).
Waar slaat OpenCode leveranciersreferenties op?
opencode auth login slaat referenties op in ~/.local/share/opencode/auth.json.
Heeft OpenCode een API / SDK?
Ja. OpenCode kan een headless HTTP-server draaien (opencode serve) met een OpenAPI-spec op /doc, en biedt een officiële JS/TS SDK: @opencode-ai/sdk.
Kan ik GitHub Copilot gebruiken met OpenCode?
GitHub heeft aangekondigd dat Copilot ondersteuning biedt voor authenticatie met OpenCode via een formele integratie. De exacte beschikbaarheid hangt af van je Copilot-plan en de huidige leveranciersauthenticatiestroom.
Eénpagina-printbare OpenCode cheatheet-tabel
Deze versie is opzetten op dichtheid en “printvriendelijk.” (Je kunt het plakken in een specifieke /ai-devtools/opencode/cheatsheet/ pagina later.)
| Taak | Opdracht / sneltoets | Opmerkingen |
|---|---|---|
| Start TUI | opencode |
Standaardgedrag is het starten van de terminal UI |
| Een one-shot prompt uitvoeren | opencode run "..." |
Niet-interactieve modus voor scripting/automatisering |
| Bestand(s) aan prompt koppelen | opencode run --file pad/naar/bestand "..." |
Gebruik meerdere --file-vlaggen voor meerdere bestanden |
| Model kiezen voor een uitvoering | opencode run --model provider/model "..." |
Modelstrings zijn provider/model |
| Agent kiezen | opencode run --agent plan "..." |
Plan is ontworpen voor veiligere “geen wijzigingen” werk (toegangsbeperkt) |
| Modellenlijst tonen | opencode models [provider] |
Gebruik --refresh om de gecachete lijst bij te werken |
| Leveranciersreferenties configureren | opencode auth login |
Slaat referenties op in ~/.local/share/opencode/auth.json |
| Geverifieerde leverancierslijst tonen | 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 |
| Uitvoeringen koppelen aan server | opencode run --attach http://localhost:4096 "..." |
Handig om herhaalde koudstarten te vermijden |
| Basisauth inschakelen | OPENCODE_SERVER_PASSWORD=... opencode serve |
Gebruikersnaam is standaard opencode tenzij overschreven |
| Web UI-modus | opencode web |
Start server + opent browser |
| Sessie exporteren | opencode export [sessionID] |
Handig voor archivering of contextdeling |
| Sessie importeren | opencode import session.json |
Kan ook worden geïmporteerd vanuit een delen-URL |
| Globale CLI-flags bekijken | opencode --help / opencode --version |
--print-logs + --log-level voor debugging |
| TUI leader key concept | standaard leader toets vaak ctrl+x |
Aanpasbaar in tui.json |
Bronnen (officieel eerste)
Officieel:
- OpenCode documentatie (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 integratieverwijzing:
- GitHub Changelog (Copilot ondersteunt OpenCode): https://github.blog/changelog/2026-01-16-github-copilot-now-supports-opencode/
Reputabel 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