OpenCode Quickstart: Installeren, configureren en gebruiken van de Terminal AI-codingagent

Hoe OpenCode te installeren, configureren en gebruiken

Inhoud

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 opencode uitvoert
  • niet-interactieve “one-shot”-prompts uitvoeren via opencode run (scripts/automatisering)
  • een headless HTTP-server blootstellen via opencode serve (en een web-UI via opencode 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.

opencode met self-hosted qwen3.5 27b LLM

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 --git formaat.”

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 responseStyle en 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:


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:

Autoritair integratie referentie:

Respectabele vergelijkingen/tutorials:

Abonneren

Ontvang nieuwe berichten over systemen, infrastructuur en AI-engineering.