OpenCode met Kimi K3, GLM 5.3 en GLM 5.3 Flash: een aanbieder in de EU instellen

Modelkiezerkaart met het OpenCode-logo en Kimi K3, GLM 5.3 en GLM 5.3 Flash met de iconen van hun labs, Kimi K3 geselecteerd met een groen vinkje

In het kort

  • OpenCode gebruikt Nodion als zelf ingestelde aanbieder: een blok in opencode.json met @ai-sdk/openai-compatible, de base-URL https://api.nodion.ai/v1 en de sleutel uit {env:NODION_AI_KEY}, in het V1-configformaat dat OpenCode 2 ook accepteert.
  • Je geeft modellen aan met een aanbieder-ID plus een model-ID, bijvoorbeeld nodion/moonshot/kimi-k3. limit.context en limit.output stel je handmatig in, omdat Nodion niet op models.dev staat.
  • In de Nodion-catalogus hebben Kimi K3, GLM 5.3 en GLM 5.3 Flash elk een context van 1.048.576 tokens en de redeneerniveaus low, high en max; GLM 5.3 accepteert alleen tekst. Prijzen en aanbieders staan in de AI Inference-catalogus.
  • De Nodion AI Gateway routeert alleen naar aanbieders die in de EU gevestigd zijn, allemaal met zero data retention, en een sleutel van een AI Coding Plan werkt met dezelfde config.

OpenCode werkt met elke OpenAI-compatibele API via een zelf ingestelde aanbieder in opencode.json. Richt die op de Nodion AI Gateway (https://api.nodion.ai/v1) en je kunt coderen met Kimi K3, GLM 5.3 en GLM 5.3 Flash. De gateway routeert alleen naar aanbieders die in de EU gevestigd zijn, allemaal met zero data retention. Je hebt geen account bij die aanbieders nodig: OpenCode doet alle aanroepen met je API-sleutel van Nodion.

Eerst iets over versies: OpenCode heeft nu twee versielijnen. OpenCode 1 is de huidige release op GitHub (v1.19.5, oktober 2026), gedocumenteerd op opencode.ai/docs. OpenCode 2 installeer je apart, met eigen documentatie en andere ingebouwde configuratiesleutels. Het voorbeeld hieronder gebruikt het V1-configformaat. Dat werkt in de huidige release en OpenCode 2 accepteert het ook; de migratiegids zegt: “The V1 config format remains supported.” (het V1-formaat blijft dus ondersteund).

Wat je nodig hebt

  • Een Nodion-account en een project met AI Inference.
  • Een API-sleutel: een inference-sleutel uit AI Inference → Keys (begint met nodion_ai_ en wordt één keer getoond), of een sleutel die je op je AI Coding Plan aanmaakt. Sleutels voor de API van het Nodion-platform werken hier niet.
  • Prepaid tegoed, tenzij de sleutel bij een AI Coding Plan hoort.

Exporteer de sleutel in de shell waarin je OpenCode start:

export NODION_AI_KEY=nodion_ai_your_key

De aanbieder toevoegen aan opencode.json

Gebruik het globale bestand ~/.config/opencode/opencode.json of een opencode.json in de root van het project:

{
  "$schema": "https://opencode.ai/config.json",
  "model": "nodion/moonshot/kimi-k3",
  "provider": {
    "nodion": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Nodion",
      "options": {
        "baseURL": "https://api.nodion.ai/v1",
        "apiKey": "{env:NODION_AI_KEY}"
      },
      "models": {
        "moonshot/kimi-k3": {
          "name": "Kimi K3",
          "limit": { "context": 1048576, "output": 32768 }
        },
        "z-ai/glm-5.3": {
          "name": "GLM 5.3",
          "limit": { "context": 1048576, "output": 131072 }
        },
        "z-ai/glm-5.3-flash": {
          "name": "GLM 5.3 Flash",
          "limit": { "context": 1048576, "output": 131072 }
        }
      }
    }
  }
}
  • npm: de documentatie van OpenCode noemt @ai-sdk/openai-compatible voor OpenAI-compatibele aanbieders op /v1/chat/completions. Gebruik deze route. Voor /v1/responses verwijst de documentatie naar @ai-sdk/openai, maar die aanbieder uit de AI SDK zet store standaard op true, en het Responses-endpoint van Nodion slaat niets op.
  • apiKey: {env:NODION_AI_KEY} leest de sleutel uit de omgeving. Is de variabele niet gezet, dan vult OpenCode een lege string in en krijg je een authenticatiefout in plaats van een configuratiefout.
  • models: de sleutels zijn de model-id's van Nodion, inclusief schuine streep. OpenCode verwijst naar een model met aanbieder-id plus model-id, dus Kimi K3 wordt nodion/moonshot/kimi-k3. De documentatie toont dezelfde structuur met lmstudio/google/gemma-3n-e4b.
  • limit: voor standaardaanbieders haalt OpenCode de context- en outputlimieten van models.dev. Nodion staat daar niet in (gecontroleerd op 29 oktober 2026), dus stel beide met de hand in op basis van de catalogus. Daaraan ziet OpenCode hoeveel context er nog over is.

In plaats van {env:...} kun je de sleutel opslaan met /connect: scrol naar Other, vul nodion in als aanbieder-id en plak de sleutel. Het configuratieblok voor de aanbieder in opencode.json heb je dan nog steeds nodig.

Bronnen, gecontroleerd in oktober 2026: OpenCode-providers, modellen, configuratie, providers in OpenCode 2, OpenAI-provider van de AI SDK, models.dev.

Kies het model

Het veld model op het hoogste niveau bepaalt het standaardmodel. In de TUI toont /models je zelf ingestelde aanbieder en diens modellen. Op de commandoregel wissel je met -m, opencode run werkt zonder de TUI, en opencode models nodion laat zien welke modellen OpenCode voor de aanbieder kent:

opencode -m nodion/z-ai/glm-5.3
opencode run -m nodion/z-ai/glm-5.3-flash "Explain the build setup of this repo"
opencode models nodion

Bronnen: OpenCode CLI, modellen.

De drie modellen naast elkaar

Waarden uit de publieke Nodion-catalogus op 29 oktober 2026:

ModelIDContextMax. outputInvoerRedeneerniveaus
Kimi K3moonshot/kimi-k31.048.57632.768Tekst, afbeelding, videolow, high, max
GLM 5.3z-ai/glm-5.31.048.576131.072Tekstlow, high, max
GLM 5.3 Flashz-ai/glm-5.3-flash1.048.576131.072Tekst, afbeelding, video, bestandlow, high, max

Alle drie ondersteunen tools, JSON-modus, structured outputs en reasoning. GLM 5.3 accepteert alleen tekst, dus voor screenshots en andere afbeeldingen heb je Kimi K3 of GLM 5.3 Flash nodig. De redeneerniveaus zijn de waarden die de API accepteert voor reasoning_effort. Prijzen en aanbieders staan op de pagina van elk model.

Gebruik een sleutel van een coding plan

AI Coding Plans (Go, Pro en Max) dekken het gebruik van chatmodellen en tools. De requests van OpenCode zijn chat completions, dus ze tellen mee voor het plan. De projecteigenaar koopt één plan per developer en wijst het toe aan een projectlid, dat op dat plan sleutels aanmaakt in AI Inference. Zet die sleutel in NODION_AI_KEY; de config blijft hetzelfde.

Het gebruik telt mee in een venster van 5 uur, een weekvenster en een maandvenster. Is één van die limieten bereikt, dan gaan requests alleen verder op het prepaid tegoed als het plan dat toestaat. Gebruik met sleutels zonder plan wordt betaald uit het prepaid tegoed. Details op AI Coding Plans.

Problemen oplossen

  • 401: NODION_AI_KEY is niet gezet in de shell die OpenCode heeft gestart (de waarde {env:...} is dan leeg), of bevat een platformsleutel. Gebruik een inference-sleutel (nodion_ai_…) of een plansleutel.
  • 404 model not found: een sleutel onder models is geen exacte Nodion-id. curl https://api.nodion.ai/v1/models toont de id's en heeft geen sleutel nodig.
  • Model ontbreekt in /models: controleer of het onder provider.nodion.models staat. opencode models nodion laat zien wat OpenCode ziet.
  • OpenCode weet niet hoeveel context er over is: limit.context en limit.output ontbreken voor dat model.
  • 402: het tegoed dekt het request niet, of er is een bestedingslimiet bereikt.
  • 503: geen gezonde route voor het model past bij de AI-instellingen van het project, bijvoorbeeld omdat de aanbieders ervan daar zijn uitgesloten.

Bronnen: AI-API-referentie: fouten en limieten, documentatie van AI Inference, AI Coding Plans.

Volgende stappen

Veelgestelde vragen

Hoe voeg ik zelf een aanbieder toe aan OpenCode?

Voeg een configuratieblok voor de aanbieder toe aan opencode.json met npm op @ai-sdk/openai-compatible, options.baseURL, options.apiKey en een models-map. Voor Nodion is de base-URL https://api.nodion.ai/v1 en kan de sleutel uit {env:NODION_AI_KEY} komen.

Hoe kies ik een zelf toegevoegd model in OpenCode?

Gebruik de ID van de aanbieder gevolgd door de model-ID, bijvoorbeeld nodion/moonshot/kimi-k3. Stel die in als model op het hoogste niveau, geef hem mee met opencode -m of kies hem uit de lijst /models in de TUI.

Waarom kent OpenCode het contextvenster van mijn zelf toegevoegde model niet?

Voor standaardaanbieders haalt OpenCode de limieten van models.dev. Voor een zelf ingestelde aanbieder zoals Nodion stel je limit.context en limit.output per model in opencode.json in.

Kan ik een sleutel van een AI Coding Plan gebruiken in OpenCode?

Ja. Maak een sleutel aan op je AI Coding Plan van Nodion en zet die in NODION_AI_KEY; de config blijft hetzelfde. Chat- en toolgebruik telt dan mee in de vensters van het plan: 5 uur, week en maand.

Geef je agent een cloud.

Ontvang tot € 15 welkomsttegoed bij je registratie.

Doorgaan met GitHub

of met e-mail

Blijf op de hoogte.

Productnieuws, geen spam. Je kunt je altijd weer afmelden.