OpenClaw integreert met Ollama’s native API (Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
/api/chat) voor gehoste cloudmodellen en lokale/zelfgehoste Ollama-servers. Je kunt Ollama in drie modi gebruiken: Cloud + Local via een bereikbare Ollama-host, Cloud only tegen https://ollama.com, of Local only tegen een bereikbare Ollama-host.
Ollama-providerconfiguratie gebruikt baseUrl als canonieke sleutel. OpenClaw accepteert ook baseURL voor compatibiliteit met voorbeelden in OpenAI SDK-stijl, maar nieuwe configuratie moet bij voorkeur baseUrl gebruiken.
Auth-regels
Lokale en LAN-hosts
Lokale en LAN-hosts
ollama-local-markering alleen voor loopback, private-network-, .local- en kale hostnaam-Ollama-base-URL’s.Externe en Ollama Cloud-hosts
Externe en Ollama Cloud-hosts
https://ollama.com) vereisen een echte credential via OLLAMA_API_KEY, een auth-profiel of de apiKey van de provider.Aangepaste provider-id's
Aangepaste provider-id's
api: "ollama" instellen, volgen dezelfde regels. Bijvoorbeeld: een ollama-remote-provider die naar een private LAN Ollama-host wijst, kan apiKey: "ollama-local" gebruiken en sub-agents zullen die markering via de Ollama-providerhook oplossen in plaats van deze als een ontbrekende credential te behandelen. Geheugenzoekopdrachten kunnen ook agents.defaults.memorySearch.provider instellen op die aangepaste provider-id, zodat embeddings het overeenkomende Ollama-endpoint gebruiken.Auth-profielen
Auth-profielen
auth-profiles.json slaat de credential voor een provider-id op. Plaats endpointinstellingen (baseUrl, api, model-id’s, headers, timeouts) in models.providers.<id>. Oudere platte auth-profielbestanden zoals { "ollama-windows": { "apiKey": "ollama-local" } } zijn geen runtime-indeling; voer openclaw doctor --fix uit om ze te herschrijven naar het canonieke ollama-windows:default API-key-profiel met een back-up. baseUrl in dat bestand is compatibiliteitsruis en moet naar providerconfiguratie worden verplaatst.Bereik van geheugenembeddings
Bereik van geheugenembeddings
- Een sleutel op providerniveau wordt alleen naar de Ollama-host van die provider verzonden.
agents.*.memorySearch.remote.apiKeywordt alleen naar de externe embeddinghost ervan verzonden.- Een pure
OLLAMA_API_KEY-omgevingswaarde wordt behandeld als de Ollama Cloud-conventie en wordt standaard niet naar lokale of zelfgehoste hosts verzonden.
Aan de slag
Kies je gewenste installatiemethode en modus.- Onboarding (aanbevolen)
- Handmatige installatie
Kies je modus
- Cloud + Local — lokale Ollama-host plus cloudmodellen die via die host worden gerouteerd
- Cloud only — gehoste Ollama-modellen via
https://ollama.com - Local only — alleen lokale modellen
Selecteer een model
Cloud only vraagt om OLLAMA_API_KEY en stelt gehoste cloudstandaarden voor. Cloud + Local en Local only vragen om een Ollama-base-URL, ontdekken beschikbare modellen en halen het geselecteerde lokale model automatisch op als het nog niet beschikbaar is. Wanneer Ollama een geïnstalleerde :latest-tag meldt, zoals gemma4:latest, toont de installatie dat geïnstalleerde model één keer in plaats van zowel gemma4 als gemma4:latest te tonen of de kale alias opnieuw op te halen. Cloud + Local controleert ook of die Ollama-host is aangemeld voor cloudtoegang.Niet-interactieve modus
Cloudmodellen
- Cloud + Local
- Cloud only
- Local only
Cloud + Local gebruikt een bereikbare Ollama-host als controlepunt voor zowel lokale als cloudmodellen. Dit is Ollama’s aanbevolen hybride stroom.Gebruik Cloud + Local tijdens de installatie. OpenClaw vraagt om de Ollama-base-URL, ontdekt lokale modellen van die host en controleert of de host met ollama signin is aangemeld voor cloudtoegang. Wanneer de host is aangemeld, stelt OpenClaw ook gehoste cloudstandaarden voor, zoals kimi-k2.5:cloud, minimax-m2.7:cloud en glm-5.1:cloud.Als de host nog niet is aangemeld, houdt OpenClaw de installatie alleen lokaal totdat je ollama signin uitvoert.Modeldetectie (impliciete provider)
Wanneer jeOLLAMA_API_KEY (of een auth-profiel) instelt en geen models.providers.ollama of een andere aangepaste externe provider met api: "ollama" definieert, ontdekt OpenClaw modellen vanuit de lokale Ollama-instantie op http://127.0.0.1:11434.
| Gedrag | Detail |
|---|---|
| Catalogusquery | Vraagt /api/tags op |
| Detectie van mogelijkheden | Gebruikt best-effort /api/show-lookups om contextWindow, uitgebreide num_ctx Modelfile-parameters en mogelijkheden inclusief vision/tools te lezen |
| Vision-modellen | Modellen met een door /api/show gerapporteerde vision-mogelijkheid worden gemarkeerd als image-capable (input: ["text", "image"]), zodat OpenClaw automatisch afbeeldingen in de prompt injecteert |
| Redeneerdetectie | Gebruikt /api/show-mogelijkheden wanneer beschikbaar, inclusief thinking; valt terug op een modelnaamheuristiek (r1, reasoning, think) wanneer Ollama mogelijkheden weglaat |
| Tokenlimieten | Stelt maxTokens in op de standaard Ollama max-token-limiet die door OpenClaw wordt gebruikt |
| Kosten | Stelt alle kosten in op 0 |
ollama/<pulled-model>:latest gebruiken in lokale infer model run; OpenClaw lost dat geïnstalleerde model op vanuit Ollama’s livecatalogus zonder dat een handgeschreven models.json-item nodig is.
Voor aangemelde Ollama-hosts kunnen sommige :cloud-modellen bruikbaar zijn via /api/chat
en /api/show voordat ze in /api/tags verschijnen. Wanneer je expliciet een
volledige ollama/<model>:cloud-ref selecteert, valideert OpenClaw dat exacte ontbrekende model met
/api/show en voegt het alleen toe aan de runtimecatalogus als Ollama modelmetadata
bevestigt. Typefouten mislukken nog steeds als onbekende modellen in plaats van automatisch te worden aangemaakt.
infer model run met een volledige Ollama-modelref:
infer model run. Dit verzendt de prompt en afbeelding rechtstreeks naar
het geselecteerde Ollama vision-model zonder chattools, geheugen of eerdere
sessiecontext te laden:
model run --file accepteert bestanden die als image/* worden gedetecteerd, inclusief gangbare PNG-,
JPEG- en WebP-invoer. Niet-afbeeldingsbestanden worden geweigerd voordat Ollama wordt aangeroepen.
Gebruik voor spraakherkenning in plaats daarvan openclaw infer audio transcribe.
Wanneer je een gesprek omschakelt met /model ollama/<model>, behandelt OpenClaw
dat als een exacte gebruikersselectie. Als de geconfigureerde Ollama baseUrl
onbereikbaar is, mislukt het volgende antwoord met de providerfout in plaats van stilzwijgend
te antwoorden vanuit een ander geconfigureerd fallbackmodel.
Geïsoleerde Cron-taken voeren één extra lokale veiligheidscontrole uit voordat ze de agentbeurt starten. Als het geselecteerde model wordt omgezet naar een lokale, privé-netwerk- of .local Ollama-provider en /api/tags onbereikbaar is, registreert OpenClaw die Cron-run als skipped met het geselecteerde ollama/<model> in de fouttekst. De endpoint-preflight wordt 5 minuten gecachet, zodat meerdere Cron-taken die naar dezelfde gestopte Ollama-daemon wijzen niet allemaal mislukte modelverzoeken starten.
Verifieer live het lokale tekstpad, het native streampad en embeddings met lokale Ollama met:
models.providers.ollama expliciet instelt, of een aangepaste externe provider configureert zoals models.providers.ollama-cloud met api: "ollama", wordt automatische ontdekking overgeslagen en moet je modellen handmatig definiëren. Aangepaste loopback-providers zoals http://127.0.0.2:11434 worden nog steeds als lokaal behandeld. Zie de sectie expliciete configuratie hieronder.Visie en afbeeldingsbeschrijving
De meegeleverde Ollama-Plugin registreert Ollama als een mediabegrip-provider met afbeeldingsondersteuning. Hierdoor kan OpenClaw expliciete afbeeldingsbeschrijvingsverzoeken en geconfigureerde standaardwaarden voor afbeeldingsmodellen routeren via lokale of gehoste Ollama-visiemodellen. Voor lokale visie haal je een model op dat afbeeldingen ondersteunt:--model moet een volledige <provider/model>-ref zijn. Wanneer deze is ingesteld, voert openclaw infer image describe dat model rechtstreeks uit in plaats van beschrijving over te slaan omdat het model native visie ondersteunt.
Gebruik infer image describe wanneer je OpenClaw’s providerflow voor afbeeldingsbegrip, de geconfigureerde agents.defaults.imageModel en de uitvoervorm voor afbeeldingsbeschrijving wilt. Gebruik infer model run --file wanneer je een ruwe multimodale modelprobe wilt met een aangepaste prompt en één of meer afbeeldingen.
Om Ollama het standaardmodel voor afbeeldingsbegrip voor inkomende media te maken, configureer je agents.defaults.imageModel:
ollama/<model>-ref. Als hetzelfde model onder models.providers.ollama.models staat met input: ["text", "image"] en geen andere geconfigureerde afbeeldingsprovider die kale model-ID blootstelt, normaliseert OpenClaw ook een kale imageModel-ref zoals qwen2.5vl:7b naar ollama/qwen2.5vl:7b. Als meer dan één geconfigureerde afbeeldingsprovider dezelfde kale ID heeft, gebruik dan expliciet het providerprefix.
Trage lokale visiemodellen kunnen een langere timeout voor afbeeldingsbegrip nodig hebben dan cloudmodellen. Ze kunnen ook crashen of stoppen wanneer Ollama probeert de volledige geadverteerde visiecontext toe te wijzen op beperkte hardware. Stel een capability-timeout in en beperk num_ctx op de modelvermelding wanneer je alleen een normale afbeeldingsbeschrijvingsbeurt nodig hebt:
image-tool die de agent tijdens een beurt kan aanroepen. models.providers.ollama.timeoutSeconds op providerniveau bestuurt nog steeds de onderliggende Ollama HTTP-verzoekbeveiliging voor normale modelaanroepen.
Verifieer live de expliciete afbeeldingstool met lokale Ollama met:
models.providers.ollama.models handmatig definieert, markeer visiemodellen dan met ondersteuning voor afbeeldingsinvoer:
/api/show een visie-capability rapporteert.
Configuratie
- Basic (implicit discovery)
- Explicit (manual models)
- Custom base URL
Veelvoorkomende recepten
Gebruik deze als uitgangspunt en vervang model-ID’s door de exacte namen uitollama list of openclaw models list --provider ollama.
Local model with auto-discovery
Local model with auto-discovery
models.providers.ollama-blok toe tenzij je modellen handmatig wilt definiëren.LAN Ollama host with manual models
LAN Ollama host with manual models
/v1 toe.contextWindow is het contextbudget aan de OpenClaw-kant. params.num_ctx wordt voor het verzoek naar Ollama gestuurd. Houd ze op elkaar afgestemd wanneer je hardware de volledige geadverteerde context van het model niet kan draaien.Ollama Cloud only
Ollama Cloud only
Cloud plus local through a signed-in daemon
Cloud plus local through a signed-in daemon
ollama signin en zowel lokale modellen als :cloud-modellen moet bedienen.Multiple Ollama hosts
Multiple Ollama hosts
ollama-large/qwen3.5:27b Ollama bereikt als qwen3.5:27b.Lean local model profile
Lean local model profile
compat.supportsTools: false alleen wanneer het model of de server betrouwbaar faalt op toolschema’s. Het ruilt agentcapaciteit in voor stabiliteit.
localModelLean verwijdert de browser-, cron- en berichttools uit het agentoppervlak, maar verandert de runtimecontext of denkmodus van Ollama niet. Combineer het met expliciete params.num_ctx en params.thinking: false voor kleine Qwen-achtige denkmodellen die in een lus terechtkomen of hun responsbudget besteden aan verborgen redenering.Modelselectie
Zodra alles is geconfigureerd, zijn al je Ollama-modellen beschikbaar:ollama-spark/qwen3:32b, verwijdert OpenClaw alleen dat
prefix voordat Ollama wordt aangeroepen, zodat de server qwen3:32b ontvangt.
Voor trage lokale modellen geef je de voorkeur aan providergebonden requesttuning voordat je de
timeout van de volledige agent-runtime verhoogt:
timeoutSeconds geldt voor het HTTP-request naar het model, inclusief het opzetten van de verbinding,
headers, body-streaming en de totale bewaakte fetch-afbreking. params.keep_alive
wordt doorgestuurd naar Ollama als top-level keep_alive bij native /api/chat-requests;
stel dit per model in wanneer de laadtijd van de eerste beurt de bottleneck is.
Snelle verificatie
127.0.0.1 door de host die in baseUrl wordt gebruikt. Als curl werkt maar OpenClaw niet, controleer dan of de Gateway op een andere machine, container of serviceaccount draait.
Ollama Web Search
OpenClaw ondersteunt Ollama Web Search als een gebundeldeweb_search-provider.
| Eigenschap | Detail |
|---|---|
| Host | Gebruikt je geconfigureerde Ollama-host (models.providers.ollama.baseUrl wanneer ingesteld, anders http://127.0.0.1:11434); https://ollama.com gebruikt de gehoste API rechtstreeks |
| Auth | Zonder sleutel voor aangemelde lokale Ollama-hosts; OLLAMA_API_KEY of geconfigureerde providerauthenticatie voor rechtstreeks zoeken via https://ollama.com of met auth beschermde hosts |
| Vereiste | Lokale/zelfgehoste hosts moeten actief zijn en aangemeld zijn met ollama signin; rechtstreeks gehost zoeken vereist baseUrl: "https://ollama.com" plus een echte Ollama-API-sleutel |
openclaw onboard of openclaw configure --section web, of stel in:
/api/experimental/web_search-proxy van de daemon. Voor https://ollama.com roept het rechtstreeks het gehoste /api/web_search-endpoint aan.
Geavanceerde configuratie
Verouderde OpenAI-compatibele modus
Verouderde OpenAI-compatibele modus
api: "openai-completions" dan expliciet in:params: { streaming: false } in de modelconfiguratie.Wanneer api: "openai-completions" met Ollama wordt gebruikt, injecteert OpenClaw standaard options.num_ctx, zodat Ollama niet stil terugvalt op een contextvenster van 4096. Als je proxy/upstream onbekende options-velden weigert, schakel dit gedrag dan uit:Contextvensters
Contextvensters
PARAMETER num_ctx-waarden uit aangepaste Modelfiles. Anders valt het terug op het standaard Ollama-contextvenster dat door OpenClaw wordt gebruikt.Je kunt standaardwaarden op providerniveau instellen voor contextWindow, contextTokens en maxTokens voor elk model onder die Ollama-provider, en ze daarna per model overschrijven wanneer nodig. contextWindow is het prompt- en Compaction-budget van OpenClaw. Native Ollama-requests laten options.num_ctx leeg tenzij je expliciet params.num_ctx configureert, zodat Ollama zijn eigen model, OLLAMA_CONTEXT_LENGTH of op VRAM gebaseerde standaard kan toepassen. Stel params.num_ctx in om Ollama’s runtimecontext per request te begrenzen of af te dwingen zonder een Modelfile opnieuw te bouwen; ongeldige, nul-, negatieve en niet-eindige waarden worden genegeerd. De OpenAI-compatibele Ollama-adapter injecteert nog steeds standaard options.num_ctx vanuit de geconfigureerde params.num_ctx of contextWindow; schakel dat uit met injectNumCtxForOpenAICompat: false als je upstream options weigert.Native Ollama-modelvermeldingen accepteren ook de algemene Ollama-runtimeopties onder params, waaronder temperature, top_p, top_k, min_p, num_predict, stop, repeat_penalty, num_batch, num_thread en use_mmap. OpenClaw stuurt alleen Ollama-requestsleutels door, zodat OpenClaw-runtimeparams zoals streaming niet naar Ollama lekken. Gebruik params.think of params.thinking om top-level Ollama think te versturen; false schakelt denken op API-niveau uit voor Qwen-achtige denkmodellen.agents.defaults.models["ollama/<model>"].params.num_ctx werkt ook. Als beide zijn geconfigureerd, wint de expliciete providermodelvermelding van de agentstandaard.Denkcontrole
Denkcontrole
think, niet options.think. Automatisch ontdekte modellen waarvan de /api/show-respons de thinking-capaciteit bevat, bieden /think low, /think medium, /think high en /think max; niet-denkende modellen bieden alleen /think off.params.think of params.thinking kan Ollama-API-denken uitschakelen of afdwingen voor een specifiek geconfigureerd model. OpenClaw behoudt die expliciete modelparams wanneer de actieve run alleen de impliciete standaard off heeft; niet-off runtimecommando’s zoals /think medium overschrijven de actieve run nog steeds.Redeneermodellen
Redeneermodellen
deepseek-r1, reasoning of think standaard als redeneercapabel.Modelkosten
Modelkosten
Geheugen-embeddings
Geheugen-embeddings
/api/embed-endpoint aan en bundelt
meerdere geheugenfragmenten waar mogelijk in één input-request.| Eigenschap | Waarde |
|---|---|
| Standaardmodel | nomic-embed-text |
| Automatisch ophalen | Ja — het embeddingmodel wordt automatisch opgehaald als het niet lokaal aanwezig is |
nomic-embed-text, qwen3-embedding en mxbai-embed-large. Geheugendocumentbatches blijven onbewerkt, zodat bestaande indexen geen formaatmigratie nodig hebben.Om Ollama te selecteren als embeddingprovider voor geheugenzoekopdrachten:Streamingconfiguratie
Streamingconfiguratie
/api/chat), die streaming en toolaanroepen tegelijk volledig ondersteunt. Er is geen speciale configuratie nodig.Voor native /api/chat-verzoeken stuurt OpenClaw denkbesturing ook rechtstreeks door naar Ollama: /think off en openclaw agent --thinking off sturen top-level think: false, tenzij een expliciete modelwaarde params.think/params.thinking is geconfigureerd, terwijl /think low|medium|high de overeenkomende top-level think-inspanningstekenreeks sturen. /think max wordt gekoppeld aan Ollama’s hoogste native inspanning, think: "high".Probleemoplossing
WSL2-crashlus (herhaalde herstarts)
WSL2-crashlus (herhaalde herstarts)
ollama.service systemd-unit met Restart=always. Als die service automatisch start en een GPU-ondersteund model laadt tijdens het opstarten van WSL2, kan Ollama hostgeheugen vastzetten terwijl het model wordt geladen. Hyper-V-geheugenterugwinning kan die vastgezette pagina’s niet altijd terugwinnen, waardoor Windows de WSL2-VM kan beëindigen, systemd Ollama opnieuw start en de lus zich herhaalt.Veelvoorkomend bewijs:- herhaalde WSL2-herstarts of beëindigingen vanaf de Windows-kant
- hoge CPU in
app.sliceofollama.servicekort na het opstarten van WSL2 - SIGTERM van systemd in plaats van een Linux OOM-killer-gebeurtenis
ollama.service ingeschakeld is met Restart=always en zichtbare CUDA-markeringen aanwezig zijn.Beperking:%USERPROFILE%\.wslconfig aan de Windows-kant en voer daarna wsl --shutdown uit:Ollama niet gedetecteerd
Ollama niet gedetecteerd
OLLAMA_API_KEY (of een auth-profiel) hebt ingesteld, en dat je geen expliciete models.providers.ollama-vermelding hebt gedefinieerd:Geen modellen beschikbaar
Geen modellen beschikbaar
models.providers.ollama.Verbinding geweigerd
Verbinding geweigerd
Externe host werkt met curl maar niet met OpenClaw
Externe host werkt met curl maar niet met OpenClaw
baseUrlverwijst naarlocalhost, maar de Gateway draait in Docker of op een andere host.- De URL gebruikt
/v1, waardoor OpenAI-compatibel gedrag wordt geselecteerd in plaats van native Ollama. - De externe host heeft firewall- of LAN-bindingswijzigingen nodig aan de Ollama-kant.
- Het model is aanwezig op de daemon van je laptop, maar niet op de externe daemon.
Model geeft tool-JSON als tekst weer
Model geeft tool-JSON als tekst weer
compat.supportsTools: false in voor die modelvermelding en test opnieuw.Kimi of GLM retourneert verminkte symbolen
Kimi of GLM retourneert verminkte symbolen
Cloud + Local of Cloud only gebruikte vast, en probeer daarna een nieuwe sessie en een fallbackmodel:Koud lokaal model krijgt een time-out
Koud lokaal model krijgt een time-out
timeoutSeconds ook de bewaakte Undici-verbindingstime-out voor deze provider.Model met grote context is te traag of raakt zonder geheugen
Model met grote context is te traag of raakt zonder geheugen
params.num_ctx instelt. Beperk zowel het budget van OpenClaw als de aanvraagcontext van Ollama wanneer je voorspelbare first-token-latentie wilt:contextWindow als OpenClaw te veel prompt verstuurt. Verlaag params.num_ctx als Ollama een runtimecontext laadt die te groot is voor de machine. Verlaag maxTokens als generatie te lang duurt.