Auto-capture AI-provider
Auto-capture draait een achtergrond-AI-verzoek om technisch werk samen te vatten en als geheugen op te slaan. Het heeft een van de onderstaande providerconfiguraties nodig.
Aanbevolen: Gebruik een provider die al in opencode is geauthenticeerd en structured output ondersteunt:
"opencodeProvider": "anthropic","opencodeModel": "claude-haiku-4-5-20251001",De plugin stuurt structured-output-verzoeken naar de session-API van opencode in plaats van providerendpoints rechtstreeks aan te roepen, zodat opencode auth, tokenvernieuwing en providerrouting beheert. De providernaam moet overeenkomen met een entry uit opencode providers list, en het geselecteerde model moet structured JSON-output via opencode ondersteunen.
Optioneel kun je een model-reasoningvariant vastzetten met "opencodeVariant": "xhigh" (bijv. voor grok-4.7). Die wordt toegepast op de interne LLM-calls van de plugin (auto-capture-samenvattingen, profiel-leren, profielopschoning), ook wanneer opencodeModel "inherit" is, zodat achtergrondwerk een ander reasoningniveau kan gebruiken dan de interactieve sessie.
Trage reasoningmodellen (of zeer grote profielprompts) kunnen het standaard 90 s structured-output-budget overschrijden. Stel "opencodeTimeoutMs" (milliseconden) in om het te verlengen voor interne structured-output-calls (auto-capture-samenvattingen, profiel-leren) — bijv. "opencodeTimeoutMs": 180000 voor 3 minuten. Waarden worden geclampt tot 10000..600000; de standaard blijft 90000. Numerieke strings worden gecoeerd. Profielopschoning gebruikt een aparte, langere timeout.
Ondersteunde providers: elke provider uit opencode providers list (bijv. anthropic, openai, github-copilot, …).
Als opencodeProvider en opencodeModel zijn ingesteld, hebben ze voorrang op de handmatige memoryProvider-instellingen hieronder.
Volg het sessiermodel: stel "opencodeModel": "inherit" in om op call-tijd een concreet OpenCode-model te gebruiken in plaats van een vastgezette id. Voor auto-capture wordt elke prompt via de chat.params-hook vastgelegd en hergebruikt het capture-verzoek provider/model van die prompt. Voor profiel-leren en andere structured-output-paden (die niet aan één gebruikersbericht zijn gebonden) hergebruikt inherit eerst het laatste model dat de host via chat.params / de V2-context-hook meldde, en valt daarna terug op OpenCode’s model.json-recentelijst indien aanwezig (met voorkeur voor de geconfigureerde opencodeProvider). OpenCode v2 schrijft model.json niet meer; daar is het in-process-sessiemodel de primaire fallback. Het letterlijke model-id inherit versturen is nooit geldig en veroorzaakte eerder ProviderModelNotFoundError: Model not found: <provider>/inherit op die paden. opencodeProvider blijft vereist als normale configgate.
Fallback: Handmatige API-configuratie (als je geen opencodeProvider gebruikt):
"memoryProvider": "openai-chat","memoryModel": "gpt-4o-mini","memoryApiUrl": "https://api.openai.com/v1","memoryApiKey": "sk-...",API-sleutelformaten:
"memoryApiKey": "sk-...""memoryApiKey": "file://~/.config/opencode/api-key.txt""memoryApiKey": "env://OPENAI_API_KEY"Handmatige memoryProvider-modi:
openai-chat: OpenAI Chat Completions-compatibele API met tool/function calling. Dit kan werken met compatibele proxies zoals LiteLLM alleen wanneer het geselecteerde upstream-model en de proxy tool calls behouden.openai-responses: OpenAI Responses API met function-call-output.anthropic: Anthropic Messages API met tool use.minimax: MiniMax Anthropic Messages-compatibel endpoint. StelmemoryApiUrlin op het globale endpoint (https://api.minimax.io) of het China-endpoint (https://api.minimax.cn); het pad/anthropic/v1/messagesen de headerx-api-keyworden automatisch toegepast. GebruikMiniMax-M3.1-Flash(aanbevolen) ofMiniMax-M3, beide met een 1.000.000-token context. Flash denkt altijd; stel optioneelmemoryExtraParamsin op{ "output_config": { "effort": "max" } }metlow,medium,high,xhighofmax(standaard). Flash weigert uitgeschakeld thinking en effortnone, en ondersteunt geenservice_tier. M3-thinking staat op dit endpoint standaard uit; zet het aan met{ "thinking": { "type": "adaptive" } }. Model-ID’s blijven expliciet geconfigureerd; bestaande custom of legacy-ID’s worden ongewijzigd doorgestuurd. Zie de MiniMax-compatibiliteitsreferentie.orcarouter: OpenAI-compatibele modelgateway met namespaced model-ID’s.memoryApiUrlenmemoryModelzijn optioneel — ze defaulten naarhttps://api.orcarouter.ai/v1enorcarouter/auto(een routingalias die per verzoek een capabel model kiest). Als jememoryModelinstelt, gebruik een namespaced ID zoalsopenai/gpt-5.5ofdeepseek/deepseek-v4-flash; OrcaRouter weigert bare modelnamen. Voorbeeld:OrcaRouter draait ook gateway-level, zero-trust security voor AI-agents op hetzelfde endpoint — screening van elke prompt/response en governance van elke tool call op default-deny-basis, zonder wijzigingen in applicatiecode."memoryProvider": "orcarouter","memoryApiKey": "<OrcaRouter API key>",atlas-cloud: OpenAI-compatibel Chat Completions-preset voor Atlas Cloud.memoryApiUrlenmemoryModelzijn optioneel — ze defaulten naarhttps://api.atlascloud.ai/v1endeepseek-ai/deepseek-v4-pro. AlsmemoryApiKeywordt weggelaten, wordtATLASCLOUD_API_KEYuit de omgeving gebruikt. Voorbeeld:Wanneer deze provider is geselecteerd, worden auto-capture- / profielprompts, modelantwoorden en relevante conversatiecontext verzonden naar"memoryProvider": "atlas-cloud","memoryApiKey": "env://ATLASCLOUD_API_KEY",https://api.atlascloud.ai.cheaper-inference: OpenAI-compatibel Chat Completions-preset voor Cheaper Inference.memoryApiUrlenmemoryModelzijn optioneel — ze defaulten naarhttps://api.cheaperinference.com/v1engpt-5.4-mini. AlsmemoryApiKeywordt weggelaten, wordtCHEAPER_INFERENCE_API_KEYuit de omgeving gebruikt. Voorbeeld:Wanneer deze provider is geselecteerd, worden auto-capture- / profielprompts, modelantwoorden en relevante conversatiecontext verzonden naar"memoryProvider": "cheaper-inference","memoryApiKey": "env://CHEAPER_INFERENCE_API_KEY",https://api.cheaperinference.com.api-route: OpenAI-compatibel Chat Completions-preset voor API Route.memoryApiUrlenmemoryModelzijn optioneel — ze defaulten naarhttps://global.api-route.com/v1engpt-6.1-sol. AlsmemoryApiKeywordt weggelaten, wordtAPI_ROUTE_API_KEYuit de omgeving gebruikt. Voorbeeld:Wanneer deze provider is geselecteerd, worden auto-capture- / profielprompts, modelantwoorden en relevante conversatiecontext verzonden naar"memoryProvider": "api-route","memoryApiKey": "env://API_ROUTE_API_KEY",https://global.api-route.com.runcrate: OpenAI-compatibel Chat Completions-preset voor Runcrate.memoryApiUrlenmemoryModelzijn optioneel — ze defaulten naarhttps://api.runcrate.ai/v1endeepseek-ai/DeepSeek-V4.1-Flash. AlsmemoryApiKeywordt weggelaten, wordtRUNCRATE_API_KEYuit de omgeving gebruikt. Voorbeeld:Wanneer deze provider is geselecteerd, worden auto-capture- / profielprompts, modelantwoorden en relevante conversatiecontext verzonden naar"memoryProvider": "runcrate","memoryApiKey": "env://RUNCRATE_API_KEY",https://api.runcrate.ai.cloudgpu: OpenAI-compatibel Chat Completions-preset voor CloudGPU.memoryApiUrlenmemoryModelzijn optioneel — ze defaulten naarhttps://cloudgpu.app/v1endeepseek-v4.1-flash. AlsmemoryApiKeywordt weggelaten, wordtCLOUDGPU_API_KEYuit de omgeving gebruikt (maak een key aan via https://cloudgpu.app/api/console; API-docs: https://cloudgpu.app/api/docs). Voorbeeld:Wanneer deze provider is geselecteerd, worden auto-capture- / profielprompts, modelantwoorden en relevante conversatiecontext verzonden naar"memoryProvider": "cloudgpu","memoryApiKey": "env://CLOUDGPU_API_KEY",https://cloudgpu.app.
Probleemoplossing:
- Auto-capture-fouten blokkeren handmatig
memory-toolgebruik niet. - Als auto-capture meldt dat een provider niet verbonden is, bevestig de providernaam met
opencode providers listen configureer die provider eerst in opencode. - Als een proxy of custom provider platte tekst teruggeeft in plaats van structured/tool-output, kies een ander model/provider of gebruik een van de handmatige providermodi hierboven.
- Voor modellen die
temperatureweigeren, voeg"memoryTemperature": falsetoe bij handmatige API-configuratie. - Voor modellen die geforceerde tool calls weigeren (
tool_choice: "required", bijv. sommige thinking-modi), voeg"forceToolChoice": falsetoe bijopenai-chat/orcarouter/atlas-cloud/cheaper-inference/api-route/runcrate/cloudgpu. - Voor
opencodeProvider/opencodeModel(bijv. DeepSeek V4 thinking) stuurt OpenCode nog steeds geforceerdetool_choicevoor structured output. opencode-mem schakelt thinking uit op de interneopencode-mem-structured-agent (en past dat opnieuw toe inchat.paramsna variant-merge) zodat auto-capture en profiel-leren kunnen voltooien. Je interactieve chatagent blijft ongewijzigd. Als capture nog steeds faalt met een thinking/tool_choice-fout, kies een non-thinking model vooropencodeModelof configureer een complete handmatige fallback (memoryModel+memoryApiUrl). opencode-claude-auth/ Claude Code: auto-capture gebruikt OpenCode met je geauthenticeerdeanthropic-provider. Geforceerdeformat: json_schemaloopt vaak vast met Claude-auth, dus opencode-mem gebruikt een auth-behoudend text-JSON-pad vooropencodeProvider: "anthropic"(geen geforceerdeStructuredOutput-tools; antwoord wordt met Zod geparsed). Een step-watchdog breekt runaway interne sessies nog steeds af na 2 stappen. Als capture nog steeds faalt, configureer een complete handmatige Anthropic API-key-fallback (memoryProvider: "anthropic"+memoryModel+memoryApiUrl+memoryApiKey) — Claude Pro/Max OAuth kan niet buiten OpenCode worden hergebruikt.- Niet-ondersteunde platforms: Intel Mac (
darwin/x64) wordt niet ondersteund —@tursodatabase/databaseen vasteonnxruntime-node-releases (vastgezet1.31.1) leveren geen x64 native binding. Gebruik Apple Silicon, Linux of Windows, of een remote embedding-endpoint viaembeddingApiUrl+embeddingApiKey. MLX wordt niet ondersteund.