OpenCode

Senast uppdaterad:

På denna sida

Kör OpenCode mot staik via Anthropic-endpointen — svensk GPU-infrastruktur med prompt caching på återanvänd kontext.

Konfiguration

Lägg till staik som Anthropic-provider i ~/.config/opencode/opencode.json:

json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "staik": {
      "npm": "@ai-sdk/anthropic",
      "name": "staik",
      "options": {
        "baseURL": "https://api.staik.se/v1",
        "apiKey": "{env:STAIK_API_KEY}"
      },
      "models": {
        "qwen3.6:35b-a3b": {
          "name": "Qwen 35B (staik)",
          "limit": { "context": 262144, "output": 32768 }
        },
        "qwen3.5:9b": {
          "name": "Qwen 9B (staik)",
          "limit": { "context": 262144, "output": 8192 }
        },
        "gemma4:31b": {
          "name": "Gemma 4 31B (staik)",
          "limit": { "context": 262144, "output": 32768 }
        }
      }
    }
  }
}
bash
export STAIK_API_KEY=sk-st-your-key

Nyckeln skickas som x-api-key. baseURL pekar på /v1 — OpenCode lägger själv på /messages. Inga andra ändringar behövs.

Prompt caching

Agent-loopar skickar tillbaka samma stora kontext (systemprompt, repo-filer, historik) varje tur. Via Anthropic-endpointen märker OpenCode den stabila delen med cache_control, och staik billar den som rabatterad cache_read i stället för fullpris varje gång. Du ser det i svaret:

json
"usage": {
  "input_tokens": 101,
  "output_tokens": 2,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 560
}

Detaljer om TTL och breakpoints finns i Messages-referensen.

Modeller

qwen3.6:35b-a3b (standard) har 262K kontextfönster — räcker för stora repo-kontexter. qwen3.5:9b för snabba enklare uppgifter, gemma4:31b för granskning. Se Modeller.

Thinking-alias på /v1/messages

Thinking-aliasen (…-thinking) strippas i Anthropic-översättningen — de beter sig som basmodellen utan separat reasoning-output. Vill du ha thinking, använd chat completions för det anropet.

Vill du köra Claude Code eller Anthropic SDK i stället? Se Claude Code.