OpenCode
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:
{
"$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.5: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": 98304, "output": 32768 }
}
}
}
}
}Nyckeln läses från miljövariabeln STAIK_API_KEY och skickas som x-api-key. baseURL pekar på /v1 — OpenCode lägger själv på /messages. Inga andra ändringar behövs.
export STAIK_API_KEY=sk-st-your-keyPrompt caching
Agent-loopar skickar tillbaka samma stora kontext (systemprompt, repo-filer, konversationshistorik) varje tur. Via Anthropic-endpointen märker OpenCode den stabila delen med cache_control, och staik billar den som cache_read med rabatt i stället för fullpris varje gång.
Du ser det i svaret: usage rapporterar cache_creation_input_tokens (första gången prefixen ses) och cache_read_input_tokens (efterföljande träffar).
"usage": {
"input_tokens": 101,
"output_tokens": 2,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 560
}Modeller
Sätt model-id i OpenCode till någon av staiks modeller. qwen3.5:35b-a3b (standard) kör på vLLM med 262k kontextfönster — räcker för stora repo-kontexter utan att falla tillbaka.
qwen3.5:35b-a3b— standard, 262k kontext, vLLMqwen3.5:9b— snabb, 262k kontextgemma4:31b— 96k kontext, vision
Att tänka på
Thinking-aliasen (…-thinking) strippas i Anthropic-översättningen på /v1/messages — de beter sig som basmodellen utan separat reasoning-output. Vill du ha thinking, använd den OpenAI-kompatibla endpointen för det specifika anropet.
Vill du köra Claude Code eller Anthropic SDK i stället? Se Claude Code-dokumentationen.