Providers
Ollama
OpenClaw, OpenAI uyumlu
/v1 uç noktasıyla değil, Ollama'nın yerel API'siyle (/api/chat) iletişim kurar. Üç mod desteklenir:
| Mod | Kullandığı kaynak |
|---|---|
| Bulut + Yerel | Yerel modelleri ve (oturum açılmışsa) :cloud modellerini sunan, erişilebilir bir Ollama ana makinesi |
| Yalnızca bulut | Doğrudan https://ollama.com; yerel daemon yok |
| Yalnızca yerel | Erişilebilir bir Ollama ana makinesi; yalnızca yerel modeller |
Özel ollama-cloud sağlayıcı kimliğiyle yalnızca bulut kurulumu için
Ollama Cloud sayfasına bakın. Bulut yönlendirmesini
yerel bir ollama sağlayıcısından ayrı tutmak istediğinizde
ollama-cloud/<model> referanslarını kullanın.
Standart yapılandırma anahtarı baseUrl şeklindedir. OpenAI SDK tarzı
örnekler için baseURL da kabul edilir ancak yeni yapılandırmalarda
baseUrl kullanılmalıdır.
Kimlik doğrulama kuralları
Yerel ve LAN ana makineleri
Geri döngü, özel ağ, .local ve yalın ana makine adlı Ollama URL'leri gerçek bir bearer token gerektirmez. OpenClaw bunlar için ollama-local işaretçisini kullanır.
Uzak ve Ollama Cloud ana makineleri
Herkese açık uzak ana makineler ve https://ollama.com gerçek bir kimlik bilgisi gerektirir: OLLAMA_API_KEY, bir kimlik doğrulama profili veya sağlayıcının apiKey değeri. Doğrudan barındırılan kullanım için ollama-cloud sağlayıcısını tercih edin.
Özel sağlayıcı kimlikleri
api: "ollama" kullanan özel bir sağlayıcı aynı kurallara uyar. Örneğin, özel bir LAN ana makinesine yönlendirilen ollama-remote sağlayıcısı apiKey: "ollama-local" kullanabilir; alt ajanlar bu işaretçiyi eksik bir kimlik bilgisi olarak değerlendirmek yerine Ollama sağlayıcı kancası üzerinden çözümler. memory.search.provider ayrıca özel bir sağlayıcı kimliğine yönlendirilebilir; böylece gömmeler söz konusu Ollama uç noktasını kullanır.
Kimlik doğrulama profilleri
auth-profiles.json, bir sağlayıcı kimliğinin kimlik bilgisini saklar; uç nokta ayarlarını (baseUrl, api, modeller, üstbilgiler, zaman aşımları) models.providers.<id> içine koyun. { "ollama-windows": { "apiKey": "ollama-local" } } gibi eski düz dosyalar çalışma zamanı biçimi değildir; openclaw doctor --fix bunları bir yedekle birlikte standart bir ollama-windows:default API anahtarı profiline dönüştürür. Bu eski dosyadaki bir baseUrl değeri gereksizdir ve sağlayıcı yapılandırmasına taşınmalıdır.
Bellek gömme kapsamı
Ollama bellek gömmeleri için bearer kimlik doğrulamasının kapsamı, bildirildiği ana makineyle sınırlıdır:
- Sağlayıcı düzeyindeki bir anahtar yalnızca söz konusu sağlayıcının ana makinesine gönderilir.
memory.search.remote.apiKeyve ajan başına geçersiz kılmalar yalnızca kendi uzak gömme ana makinelerine gönderilir.- Yalnızca
OLLAMA_API_KEYortam değişkeni değeri, Ollama Cloud kuralı olarak değerlendirilir ve varsayılan olarak yerel/kendi kendine barındırılan ana makinelere gönderilmez.
Başlarken
İlk kurulum (önerilen)
İlk kurulumu çalıştırın
openclaw onboardOllama seçeneğini, ardından bir mod seçin: Bulut + Yerel, Yalnızca bulut veya Yalnızca yerel.
Yeni bir yönlendirmeli kurulumda OpenClaw önce varsayılan veya yapılandırılmış
Ollama ana makinesini denetler. Yüklü bir model yalnızca
/api/show araç desteğini ve en az 16K bağlam penceresini
doğruladığında otomatik olarak sunulur; eksik veya daha küçük bağlam
meta verileri, manuel kurulum yolunda kalır. Paylaşılan CLI/macOS kurulum
sıralaması, seçilen rotayı kaydetmeden önce gerçek bir tamamlama ile
doğrulamaya devam eder. Bu otomatik denetim hiçbir zaman model indirmez;
uygun bir yüklü model yoksa ilk kurulum normal Ollama seçicisiyle devam eder.
Bir model seçin
Cloud only, OLLAMA_API_KEY için istem gösterir ve barındırılan bulut varsayılanlarını önerir. Cloud + Local ve Local only, bir Ollama temel URL'si için istem gösterir, kullanılabilir modelleri keşfeder ve seçilen yerel model eksikse otomatik olarak indirir. gemma4:latest gibi yüklü bir :latest etiketi, gemma4 değerini yinelemek yerine bir kez gösterilir. Cloud + Local ayrıca ana makinede bulut erişimi için oturum açılıp açılmadığını denetler.
Doğrulayın
openclaw models list --provider ollamaEtkileşimsiz:
openclaw onboard --non-interactive \ --auth-choice ollama \ --custom-base-url "http://ollama-host:11434" \ --custom-model-id "qwen3.5:27b" \ --accept-risk--custom-base-url ve --custom-model-id isteğe bağlıdır; bunların belirtilmemesi yerel varsayılan ana makineyi ve önerilen gemma4 modelini kullanır.
Manuel kurulum
Ollama'yı yükleyin ve başlatın
ollama.com/download adresinden edinin, ardından bir model indirin:
ollama pull gemma4Hibrit bulut erişimi için aynı ana makinede ollama signin çalıştırın.
Bir kimlik bilgisi ayarlayın
export OLLAMA_API_KEY="ollama-local" # yerel/LAN ana makinesi, herhangi bir değer çalışırexport OLLAMA_API_KEY="your-real-key" # yalnızca https://ollama.comYa da yapılandırmada: openclaw config set models.providers.ollama.apiKey "OLLAMA_API_KEY".
Modeli seçin
openclaw models listopenclaw models set ollama/gemma4Ya da yapılandırmada:
{ agents: { defaults: { model: { primary: "ollama/gemma4" }, }, },}Yerel bir ana makine üzerinden bulut modelleri
Cloud + Local, hem yerel hem de :cloud modellerini erişilebilir tek
bir Ollama ana makinesi üzerinden yönlendirir. Bu, Ollama'nın hibrit akışıdır ve
her ikisini de istediğinizde kurulum sırasında seçmeniz gereken moddur.
OpenClaw temel URL için istem gösterir, yerel modelleri keşfeder ve
ollama signin durumunu denetler. Oturum açılmışsa barındırılan varsayılanları
(kimi-k2.5:cloud, minimax-m2.7:cloud, glm-5.1:cloud, glm-5.2:cloud)
önerir. Oturum açılmamışsa ollama signin çalıştırılana kadar kurulum yalnızca
yerel modda kalır.
Yerel bir daemon olmadan yalnızca bulut erişimi için openclaw onboard --auth-choice ollama-cloud kullanın
ve Ollama Cloud sayfasına bakın. Bu yol
ollama signin veya çalışan bir sunucu gerektirmez:
openclaw onboard --auth-choice ollama-cloudopenclaw models set ollama-cloud/kimi-k2.5:cloudopenclaw onboard sırasında gösterilen bulut modeli listesi,
https://ollama.com/api/tags kaynağından canlı olarak doldurulur ve 500 girdiyle
sınırlandırılır; böylece seçici güncel barındırılan kataloğu yansıtır.
ollama.com erişilemez durumdaysa veya kurulum sırasında hiç model
döndürmezse OpenClaw, ilk kurulumun tamamlanabilmesi için sabit kodlanmış
öneri listesine geri döner.
Model keşfi (örtük sağlayıcı)
OLLAMA_API_KEY (veya bir kimlik doğrulama profili) ayarlandığında ve ne
models.providers.ollama ne de api: "ollama" kullanan başka bir özel sağlayıcı
tanımlandığında OpenClaw, modelleri http://127.0.0.1:11434 üzerinden keşfeder:
| Davranış | Ayrıntı |
|---|---|
| Katalog sorgusu | /api/tags |
| Yetenek algılama | En iyi çabayla yapılan /api/show; contextWindow, num_ctx Modelfile parametrelerini ve yetenekleri (görsel/araçlar/düşünme) okur |
| Görsel modeller | /api/show kaynağındaki bir vision yeteneği, modeli görüntü destekli (input: ["text", "image"]) olarak işaretler |
| Akıl yürütme algılama | Varsa /api/show kaynağındaki thinking yeteneğini kullanır; Ollama yetenekleri belirtmediğinde ad sezgisine (r1, reason, reasoning, think) geri döner. glm-5.2:cloud ve deepseek-v4-flash|pro:cloud, bildirilen yeteneklerden bağımsız olarak her zaman akıl yürütme modeli sayılır. |
| Token sınırları | maxTokens, varsayılan olarak OpenClaw'ın Ollama azami token sınırını kullanır |
| Maliyetler | Tüm maliyetler 0 değerindedir |
ollama listopenclaw models listAçık bir models dizisiyle models.providers.ollama ayarlamak veya
api: "ollama" kullanan ve geri döngü olmayan bir baseUrl
değerine sahip özel sağlayıcı tanımlamak otomatik keşfi devre dışı bırakır;
bu durumda modeller manuel olarak tanımlanmalıdır
(Yapılandırma bölümüne bakın). Barındırılan
https://ollama.com adresine yönlendirilen bir models.providers.ollama girdisi de
keşfi atlar çünkü Ollama Cloud modelleri sağlayıcı tarafından yönetilir.
http://127.0.0.2:11434 gibi geri döngü kullanan özel sağlayıcılar yerel sayılmaya
devam eder ve otomatik keşfi korur.
Elle yazılmış bir models.json girdisi olmadan
ollama/<pulled-model>:latest gibi tam bir referans kullanabilirsiniz; OpenClaw bunu canlı
olarak çözümler. Oturum açılmış ana makinelerde, listelenmeyen bir
ollama/<model>:cloud referansının seçilmesi, söz konusu modeli
/api/show ile doğrular ve yalnızca Ollama meta verileri doğrularsa
çalışma zamanı kataloğuna ekler; yazım hataları yine bilinmeyen model hatası verir.
Duman testleri
Tam ajan araç yüzeyini atlayan dar kapsamlı bir metin denemesi için:
OLLAMA_API_KEY=ollama-local \ openclaw infer model run \ --local \ --model ollama/llama3.2:latest \ --prompt "Tam olarak şu yanıtı ver: pong" \ --jsonHafif bir görsel modeli denemesi için bir görüntüyle birlikte
--file ekleyin (PNG/JPEG/WebP kabul edilir; görüntü olmayan dosyalar
Ollama çağrılmadan önce reddedilir; ses için openclaw infer audio transcribe kullanın):
OLLAMA_API_KEY=ollama-local \ openclaw infer model run \ --local \ --model ollama/qwen2.5vl:7b \ --prompt "Bu görüntüyü tek cümleyle açıklayın." \ --file ./photo.jpg \ --jsonHer iki yol da sohbet araçlarını, belleği veya oturum bağlamını yüklemez. Bunlar başarılı olurken normal ajan yanıtları başarısız oluyorsa sorun büyük olasılıkla uç noktada değil, modelin araç/ajan kapasitesindedir.
/model ollama/<model> ile bir model seçmek kesin bir kullanıcı tercihidir: yapılandırılmış
baseUrl erişilemez durumdaysa sonraki yanıt, yapılandırılmış başka bir modele
sessizce geri dönmek yerine sağlayıcı hatasıyla başarısız olur.
Yalıtılmış cron işleri, agent turunu başlatmadan önce bir yerel güvenlik denetimi ekler:
seçilen model yerel/özel ağ/.local Ollama
sağlayıcısına çözümleniyorsa ve /api/tags erişilemez durumdaysa OpenClaw, hata
metninde modelle birlikte bu çalıştırmayı skipped olarak kaydeder. Bu uç nokta denetimi
ana bilgisayar başına 5 dakika önbelleğe alınır; böylece durdurulmuş bir arka plan programına yönelik tekrarlanan cron işleri
başarısız olacak isteklerin tümünü başlatmaz.
Canlı doğrulama:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_OLLAMA=1 OPENCLAW_LIVE_OLLAMA_WEB_SEARCH=0 \ pnpm test:live -- extensions/ollama/ollama.live.test.tsOllama Cloud için aynı canlı testi barındırılan uç noktaya yöneltin (varsayılan olarak
gömmeleri atlar; bir bulut anahtarı /api/embed için yetki vermeyebileceğinden
OPENCLAW_LIVE_OLLAMA_EMBEDDINGS=1 ile zorlayın):
export OLLAMA_API_KEY='<your-ollama-cloud-api-key>'OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_OLLAMA=1 \OPENCLAW_LIVE_OLLAMA_BASE_URL=https://ollama.com \OPENCLAW_LIVE_OLLAMA_MODEL=glm-5.1:cloud \OPENCLAW_LIVE_OLLAMA_WEB_SEARCH=1 \pnpm test:live -- extensions/ollama/ollama.live.test.tsBir model eklemek için modeli çekin; otomatik olarak keşfedilir:
ollama pull mistralNode üzerinde yerel çıkarım
Agent'lar kısa bir görevi eşleştirilmiş bir masaüstü veya
sunucu Node'u üzerindeki Ollama modeline devredebilir. İstem ve yanıt, mevcut kimliği doğrulanmış
Gateway/Node bağlantısından geçer; istek Node'un kendi geri döngü Ollama
uç noktasında (http://127.0.0.1:11434) çalışır.
Node üzerinde Ollama'yı başlatın
ollama pull qwen3:0.6bollama listNode ana bilgisayarını bağlayın
openclaw node run \ --host <gateway-host> \ --port 18789 \ --display-name "Local inference"Gateway ana bilgisayarında cihazı ve Node komutlarını onaylayın, ardından doğrulayın:
openclaw devices listopenclaw devices approve <deviceRequestId>openclaw nodes pendingopenclaw nodes approve <nodeRequestId>openclaw nodes status --connectedİlk bağlantı veya Ollama komutları ekleyen bir yükseltme,
Node komutu onayını tetikleyebilir. Node, ollama.models ve
ollama.chat özelliklerini duyurmadan bağlanırsa openclaw nodes pending değerini yeniden denetleyin.
Bir agent üzerinden kullanın
Birlikte gelen Ollama Plugin'i node_inference aracını sunar. Agent'lar
önce action: "discover", ardından bu sonuçtaki bir Node ve modelle
action: "run" çağrısını yapar (tam olarak bir yetenekli Node
bağlıysa run Node'u atlayabilir). Örneğin: "Node'larımdaki Ollama modellerini keşfet,
ardından bu metni özetlemek için yüklenmiş en hızlı modeli kullan."
Keşif, /api/tags değerini okur, /api/show yeteneklerini denetler ve
mevcut olduğunda zaten yüklenmiş modelleri önce sıralamak için /api/ps kullanır. Yalnızca
Ollama'nın sohbet yeteneğine sahip (completion yeteneği) olarak bildirdiği yerel modelleri döndürür —
Ollama Cloud satırları ve yalnızca gömme modelleri hariç tutulur. Her çalıştırma
model düşünmesini devre dışı bırakır ve araç çağrısı farklı bir maxTokens
istemediği sürece çıktıyı varsayılan olarak 512 token ile sınırlar (kesin üst sınır 8192); bazı modeller
(örneğin GPT-OSS) düşünmeyi devre dışı bırakmayı desteklemez ve yine de akıl yürütme token'ları üretebilir.
Ollama'yı agent'lara açmadan bir Node üzerinde çalışır durumda tutmak için:
openclaw config set plugins.entries.ollama.config.nodeInference.enabled falseNode'u yeniden başlatın (openclaw node restart veya ön plandaki bir oturum için
openclaw node run işlemini durdurup yeniden çalıştırın). Node, ollama.models ve
ollama.chat özelliklerini duyurmayı durdurur; Ollama'nın kendisi ve Gateway'in Ollama sağlayıcısı bundan etkilenmez.
Değeri yeniden true olarak ayarlayıp etkinleştirmek için yeniden başlatın; değişmiş bir komut
yüzeyi, yeniden bağlandıktan sonra openclaw nodes pending onayını tekrar gerektirebilir.
Node komutlarını bir agent turu olmadan doğrudan doğrulayın:
openclaw nodes invoke \ --node "Local inference" \ --command ollama.models \ --params '{}' \ --invoke-timeout 90000 \ --timeout 100000 openclaw nodes invoke \ --node "Local inference" \ --command ollama.chat \ --params '{"model":"qwen3:0.6b","prompt":"Reply with exactly: pong","maxTokens":32,"timeoutMs":120000}' \ --invoke-timeout 130000 \ --timeout 140000--invoke-timeout, Node'un komutu çalıştırmak için sahip olduğu süreyi sınırlar;
--timeout, genel Gateway çağrısını sınırlar ve daha büyük olmalıdır.
Node üzerinde yerel çıkarım her zaman Node'un kendi geri döngü uç noktasını kullanır —
yapılandırılmış uzak/bulut models.providers.ollama.baseUrl değerini yeniden kullanmaz. Node
komutları macOS, Linux ve Windows Node ana bilgisayarlarında varsayılan olarak kullanılabilir
ve normal Node eşleştirme/komut politikasına tabi olmaya devam eder.
Görüntü ve resim açıklaması
Birlikte gelen Ollama Plugin'i, Ollama'yı görüntü yetenekli bir medya anlama sağlayıcısı olarak kaydeder; böylece OpenClaw açık resim açıklama isteklerini ve yapılandırılmış görüntü modeli varsayılanlarını yerel veya barındırılan Ollama görüntü modelleri üzerinden yönlendirebilir.
ollama pull qwen2.5vl:7bexport OLLAMA_API_KEY="ollama-local"openclaw infer image describe --file ./photo.jpg --model ollama/qwen2.5vl:7b --json--model tam bir <provider/model> başvurusu olmalıdır; ayarlandığında infer image describe, zaten yerel görüntü desteğine sahip modeller için
açıklamayı atlamak yerine önce bu modeli dener. Çağrı başarısız olursa OpenClaw,
agents.defaults.imageModel.fallbacks üzerinden devam edebilir; dosya/URL hazırlama hataları
geri dönüş denenmeden önce başarısız olur. OpenClaw'ın görüntü anlama akışı ve
yapılandırılmış imageModel için infer image describe; özel bir istemle ham çok modlu
bir yoklama için infer model run --file kullanın.
Ollama'yı gelen medyalar için varsayılan görüntü anlama sağlayıcısı yapmak üzere:
{ agents: { defaults: { imageModel: { primary: "ollama/qwen2.5vl:7b", }, }, },}Tam ollama/<model> başvurusunu tercih edin. qwen2.5vl:7b gibi yalın bir
imageModel başvurusu, yalnızca tam olarak bu model models.providers.ollama.models altında
input: ["text", "image"] ile listelenmişse ve yapılandırılmış başka hiçbir görüntü sağlayıcısı
aynı yalın kimliği sunmuyorsa ollama/qwen2.5vl:7b olarak normalleştirilir; aksi takdirde sağlayıcı ön ekini açıkça kullanın.
Yavaş yerel görüntü modelleri, bulut modellerinden daha uzun bir görüntü anlama zaman aşımına
ihtiyaç duyabilir ve Ollama modelin duyurulan tam görüntü bağlamını
ayırmaya çalışırsa kısıtlı donanımlarda çökebilir. Bir yetenek
zaman aşımı ayarlayın ve num_ctx değerini sınırlayın:
{ models: { providers: { ollama: { models: [ { id: "qwen2.5vl:7b", name: "qwen2.5vl:7b", input: ["text", "image"], params: { num_ctx: 2048, keep_alive: "1m" }, }, ], }, }, }, tools: { media: { image: { timeoutSeconds: 180, models: [{ provider: "ollama", model: "qwen2.5vl:7b", timeoutSeconds: 300 }], }, }, },}Bu zaman aşımı, gelen görüntülerin anlaşılmasına ve açık
image aracına uygulanır. models.providers.ollama.timeoutSeconds, normal model çağrıları için
temeldeki Ollama HTTP istek korumasını denetlemeye devam eder.
Canlı doğrulama:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_OLLAMA_IMAGE=1 \ pnpm test:live -- src/agents/tools/image-tool.ollama.live.test.tsmodels.providers.ollama.models değerini elle tanımlarsanız görüntü modellerini
açıkça işaretleyin:
{ id: "qwen2.5vl:7b", name: "qwen2.5vl:7b", input: ["text", "image"], contextWindow: 128000, maxTokens: 8192,}OpenClaw, görüntü yetenekli olarak işaretlenmemiş modeller için resim açıklama
isteklerini reddeder. Örtük keşifte bu, /api/show görüntü
yeteneğinden gelir.
Yapılandırma
Temel (örtük keşif)
export OLLAMA_API_KEY="ollama-local"Açık (elle tanımlanan modeller)
Barındırılan bulut kurulumu, varsayılan olmayan bir ana bilgisayar/port, zorunlu bağlam pencereleri veya tamamen elle tanımlanan model listeleri için açık yapılandırma kullanın:
{ models: { providers: { ollama: { baseUrl: "https://ollama.com", apiKey: "OLLAMA_API_KEY", api: "ollama", models: [ { id: "kimi-k2.5:cloud", name: "kimi-k2.5:cloud", reasoning: false, input: ["text", "image"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 128000, maxTokens: 8192 } ] } } }}Özel temel URL
Açık yapılandırma otomatik keşfi devre dışı bırakır; bu nedenle modeller listelenmelidir:
{ models: { providers: { ollama: { apiKey: "ollama-local", baseUrl: "http://ollama-host:11434", // /v1 yok - yerel Ollama API URL'si api: "ollama", // Açık: yerel araç çağırma davranışını garanti eder timeoutSeconds: 300, // İsteğe bağlı: soğuk yerel modeller için daha uzun bağlantı/akış bütçesi models: [ { id: "qwen3:32b", name: "qwen3:32b", params: { keep_alive: "15m", // İsteğe bağlı: modeli turlar arasında yüklü tutar }, }, ], }, }, },}Yaygın tarifler
Model kimliklerini ollama list veya
openclaw models list --provider ollama kaynaklarındaki tam adlarla değiştirin.
Otomatik keşifli yerel model
Gateway ile aynı makinedeki Ollama otomatik olarak keşfedilir:
ollama serveollama pull gemma4export OLLAMA_API_KEY="ollama-local"openclaw models list --provider ollamaopenclaw models set ollama/gemma4Elle tanımlanan modellere ihtiyacınız yoksa bir models.providers.ollama bloğu eklemeyin.
Elle tanımlanan modellere sahip LAN Ollama ana bilgisayarı
{ models: { providers: { ollama: { baseUrl: "http://gpu-box.local:11434", apiKey: "ollama-local", api: "ollama", timeoutSeconds: 300, contextWindow: 32768, maxTokens: 8192, models: [ { id: "qwen3.5:9b", name: "qwen3.5:9b", reasoning: true, input: ["text"], params: { num_ctx: 32768, thinking: false, keep_alive: "15m", }, }, ], }, }, }, agents: { defaults: { model: { primary: "ollama/qwen3.5:9b" }, }, },}contextWindow, OpenClaw'ın bağlam bütçesidir; params.num_ctx,
Ollama'ya gönderilir. Donanım modelin duyurulan tam bağlamını çalıştıramadığında
bunları uyumlu tutun.
Yalnızca Ollama Cloud
Yerel arka plan programı olmadan doğrudan barındırılan modeller:
export OLLAMA_API_KEY="your-ollama-api-key"{ models: { providers: { ollama: { baseUrl: "https://ollama.com", apiKey: "OLLAMA_API_KEY", api: "ollama", models: [ { id: "kimi-k2.5:cloud", name: "kimi-k2.5:cloud", reasoning: false, input: ["text", "image"], contextWindow: 128000, maxTokens: 8192, }, ], }, }, }, agents: { defaults: { model: { primary: "ollama/kimi-k2.5:cloud" }, }, },}Bu yapı yerine özel ollama-cloud sağlayıcı kimliği için
Ollama Cloud bölümüne bakın.
Oturum açılmış bir daemon üzerinden bulut ve yerel
ollama signinollama pull gemma4{ models: { providers: { ollama: { baseUrl: "http://127.0.0.1:11434", apiKey: "ollama-local", api: "ollama", timeoutSeconds: 300, models: [ { id: "gemma4", name: "gemma4", input: ["text"] }, { id: "kimi-k2.5:cloud", name: "kimi-k2.5:cloud", input: ["text", "image"] }, ], }, }, }, agents: { defaults: { model: { primary: "ollama/gemma4", fallbacks: ["ollama/kimi-k2.5:cloud"], }, }, },}Birden fazla Ollama sunucusu
Birden fazla Ollama sunucusu çalıştırırken özel sağlayıcı kimlikleri kullanılır; her biri kendi sunucusuna, modellerine, kimlik doğrulamasına ve zaman aşımına sahip olur.
{ models: { providers: { "ollama-fast": { baseUrl: "http://mini.local:11434", apiKey: "ollama-local", api: "ollama", contextWindow: 32768, models: [{ id: "gemma4", name: "gemma4", input: ["text"] }], }, "ollama-large": { baseUrl: "http://gpu-box.local:11434", apiKey: "ollama-local", api: "ollama", timeoutSeconds: 420, contextWindow: 131072, maxTokens: 16384, models: [{ id: "qwen3.5:27b", name: "qwen3.5:27b", input: ["text"] }], }, }, }, agents: { defaults: { model: { primary: "ollama-fast/gemma4", fallbacks: ["ollama-large/qwen3.5:27b"], }, }, },}OpenClaw, Ollama'yı çağırmadan önce etkin sağlayıcı önekini kaldırır (yalın bir
ollama/ önekine geri döner); böylece ollama-large/qwen3.5:27b,
Ollama'ya qwen3.5:27b olarak ulaşır.
Hafif yerel model profili
Bazı yerel modeller basit istemleri işleyebilir ancak eksiksiz ajan araç yüzeyinde zorlanır. Genel çalışma zamanı ayarlarına dokunmadan önce araçları ve bağlamı sınırlayın:
{ agents: { list: [ { id: "local", experimental: { localModelLean: true, }, model: { primary: "ollama/gemma4" }, }, ], }, models: { providers: { ollama: { baseUrl: "http://127.0.0.1:11434", apiKey: "ollama-local", api: "ollama", contextWindow: 32768, models: [ { id: "gemma4", name: "gemma4", input: ["text"], params: { num_ctx: 32768 }, compat: { supportsTools: false }, }, ], }, }, },}compat.supportsTools: false seçeneğini yalnızca model veya sunucu araç şemalarında
güvenilir biçimde başarısız olduğunda kullanın; bu seçenek kararlılık karşılığında ajan yeteneğini azaltır.
localModelLean, açıkça gerekmedikçe ağır tarayıcı, cron, mesaj, medya oluşturma,
ses ve PDF araçlarını doğrudan ajan yüzeyinden kaldırır ve daha büyük katalogları
Araç Arama'nın arkasına yerleştirir. Ollama'nın çalışma zamanı bağlamını veya düşünme modunu
değiştirmez. Döngüye giren ya da bütçesini gizli akıl yürütmeye
harcayan küçük Qwen tarzı düşünme modelleri için bunu params.num_ctx ve
params.thinking: false ile birlikte kullanın.
Model seçimi
{ agents: { defaults: { model: { primary: "ollama/gpt-oss:20b", fallbacks: ["ollama/llama3.3", "ollama/qwen2.5-coder:32b"], }, }, },}Özel sağlayıcı kimlikleri de aynı şekilde çalışır: ollama-spark/qwen3:32b gibi etkin sağlayıcı
önekini kullanan bir referans için OpenClaw, Ollama'yı çağırmadan önce bu öneki kaldırır
ve qwen3:32b gönderir.
Yavaş yerel modellerde tüm ajan çalışma zamanı zaman aşımını artırmadan önce sağlayıcı kapsamlı ayarlamayı tercih edin:
{ models: { providers: { ollama: { timeoutSeconds: 300, models: [ { id: "gemma4:26b", name: "gemma4:26b", params: { keep_alive: "15m" }, }, ], }, }, },}timeoutSeconds, model HTTP isteğinin bağlantı kurulumu, üstbilgiler,
gövde akışı ve korumalı getirmenin toplam iptali dâhil tamamını kapsar. params.keep_alive,
yerel /api/chat isteklerinde üst düzey keep_alive olarak iletilir; ilk turdaki
yükleme süresi darboğaz olduğunda bunu model başına ayarlayın.
Hızlı doğrulama
# Ollama daemon'u bu makine tarafından görülebiliyorcurl http://127.0.0.1:11434/api/tags # OpenClaw kataloğu ve seçilen modelopenclaw models list --provider ollamaopenclaw models status # Doğrudan model duman testiopenclaw infer model run \ --model ollama/gemma4 \ --prompt "Tam olarak şununla yanıt ver: ok"Uzak sunucular için 127.0.0.1 değerini baseUrl sunucusuyla değiştirin. curl
çalışıyor ancak OpenClaw çalışmıyorsa Gateway'in farklı bir makine, konteyner veya
hizmet hesabında çalışıp çalışmadığını kontrol edin.
Ollama Web Arama
OpenClaw, Ollama Web Arama özelliğini bir web_search sağlayıcısı olarak paketler.
| Özellik | Ayrıntı |
|---|---|
| Sunucu | Ayarlandığında models.providers.ollama.baseUrl, aksi takdirde http://127.0.0.1:11434; https://ollama.com barındırılan API'yi doğrudan kullanır |
| Kimlik doğrulama | Oturum açılmış yerel bir sunucu için anahtarsız; doğrudan https://ollama.com araması veya kimlik doğrulama korumalı sunucular için OLLAMA_API_KEY ya da yapılandırılmış sağlayıcı kimlik doğrulaması |
| Gereksinim | Yerel/kendi barındırılan sunucular çalışıyor ve ollama signin ile oturum açılmış olmalıdır; doğrudan barındırılan arama için baseUrl: "https://ollama.com" ile gerçek bir API anahtarı gerekir |
Bunu openclaw onboard veya openclaw configure --section web sırasında seçin ya da şunu ayarlayın:
{ tools: { web: { search: { provider: "ollama", }, }, },}Ollama Cloud üzerinden doğrudan barındırılan arama için:
{ models: { providers: { ollama: { baseUrl: "https://ollama.com", apiKey: "OLLAMA_API_KEY", api: "ollama", models: [{ id: "kimi-k2.5:cloud", name: "kimi-k2.5:cloud", input: ["text"] }], }, }, }, tools: { web: { search: { provider: "ollama" }, }, },}Kendi barındırdığınız bir sunucuda OpenClaw önce yerel /api/experimental/web_search
proxy'sini dener, ardından aynı sunucudaki barındırılan /api/web_search yoluna geri döner;
oturum açılmış yerel bir daemon normalde yerel proxy üzerinden yanıt verir. Doğrudan
https://ollama.com çağrıları her zaman barındırılan /api/web_search uç noktasını kullanır.
Gelişmiş yapılandırma
Eski OpenAI uyumlu mod
/v1/chat/completions arkasındaki bir proxy için api: "openai-completions" değerini
açıkça ayarlayın:
{ models: { providers: { ollama: { baseUrl: "http://ollama-host:11434/v1", api: "openai-completions", injectNumCtxForOpenAICompat: true, // varsayılan: true apiKey: "ollama-local", models: [...] } } }}Bu mod, akış ve araç çağırmayı aynı anda desteklemeyebilir; modelde
params: { streaming: false } kullanmanız gerekebilir.
OpenClaw, Ollama'nın sessizce 4096 token'lık bir bağlama geri dönmemesi için
bu modda varsayılan olarak options.num_ctx ekler. Proxy'niz bilinmeyen
options alanlarını reddediyorsa bunu devre dışı bırakın:
{ models: { providers: { ollama: { baseUrl: "http://ollama-host:11434/v1", api: "openai-completions", injectNumCtxForOpenAICompat: false, apiKey: "ollama-local", models: [...] } } }}Bağlam pencereleri
Otomatik keşfedilen modellerde OpenClaw, özel Modelfile'lardan gelen daha büyük
PARAMETER num_ctx değerleri de dâhil olmak üzere /api/show tarafından bildirilen
bağlam penceresini kullanır; aksi takdirde OpenClaw'ın varsayılan Ollama bağlam
penceresine geri döner.
Sağlayıcı düzeyindeki contextWindow, contextTokens ve maxTokens,
bu sağlayıcı altındaki her model için varsayılanları belirler ve model başına geçersiz kılınabilir.
contextWindow, OpenClaw'ın kendi istem/Compaction bütçesidir. Yerel
/api/chat istekleri, params.num_ctx açıkça ayarlanmadıkça
options.num_ctx değerini ayarlanmamış bırakır; böylece Ollama kendi model,
OLLAMA_CONTEXT_LENGTH veya VRAM tabanlı varsayılanını uygular. Geçersiz, sıfır, negatif
veya sonlu olmayan params.num_ctx değerleri yok sayılır. Daha eski bir yapılandırma,
yerel istek bağlamını zorlamak için yalnızca contextWindow/maxTokens
kullandıysa bunları params.num_ctx içine kopyalamak için openclaw doctor --fix
komutunu çalıştırın. OpenAI uyumlu bağdaştırıcı, yapılandırılmış params.num_ctx
veya contextWindow değerinden varsayılan olarak hâlâ options.num_ctx
ekler; üst sistem options değerini reddediyorsa injectNumCtxForOpenAICompat: false
ile devre dışı bırakın.
Yerel model girdileri ayrıca params altında yaygın Ollama çalışma zamanı
seçeneklerini kabul eder; bunlar yerel /api/chat options olarak iletilir: num_keep, seed,
num_predict, top_k, top_p, min_p, typical_p, repeat_last_n,
temperature, repeat_penalty, presence_penalty, frequency_penalty,
stop, num_batch, num_gpu, main_gpu, use_mmap ve num_thread.
Birkaç anahtar (format, keep_alive, truncate, shift), iç içe
options yerine üst düzey istek alanları olarak iletilir. OpenClaw yalnızca
bu Ollama istek anahtarlarını iletir; dolayısıyla streaming gibi yalnızca çalışma
zamanına ait parametreler Ollama'ya hiçbir zaman gönderilmez. Üst düzey think
değerini ayarlamak için params.think (veya params.thinking) kullanın;
false, Qwen tarzı düşünme modellerinde API düzeyindeki düşünmeyi devre dışı bırakır.
{ models: { providers: { ollama: { contextWindow: 32768, models: [ { id: "llama3.3", contextWindow: 131072, maxTokens: 65536, params: { num_ctx: 32768, temperature: 0.7, top_p: 0.9, thinking: false, }, } ] } } }}Model başına agents.defaults.models["ollama/<model>"].params.num_ctx da
çalışır; ikisi de ayarlanmışsa açık sağlayıcı model girdisi önceliklidir.
Düşünme denetimi
OpenClaw, düşünmeyi Ollama'nın beklediği şekilde iletir: üst düzey think,
options.think değil. /api/show değeri bir
thinking yeteneği bildiren otomatik keşfedilmiş modeller /think low, /think medium, /think high
ve /think max seçeneklerini sunar; düşünmeyen modeller yalnızca /think off seçeneğini sunar.
openclaw agent --model ollama/gemma4 --thinking offopenclaw agent --model ollama/gemma4 --thinking lowAlternatif olarak bir model varsayılanı ayarlayın:
{ agents: { defaults: { models: { "ollama/gemma4": { thinking: "low", }, }, }, },}Model başına params.think/params.thinking, belirli bir model için API
düşünmesini devre dışı bırakabilir veya zorunlu kılabilir. Etkin çalıştırmada yalnızca örtük
off varsayılanı bulunduğunda OpenClaw bu açık yapılandırmayı
korur; /think medium gibi kapalı olmayan bir çalışma zamanı komutu yine de bunu geçersiz kılar. Doğru değerli
bir düşünme isteği, açıkça reasoning: false olarak işaretlenmiş
bir modele hiçbir zaman gönderilmez; think: false isteği ise her durumda gönderilir.
Akıl yürütme modelleri
deepseek-r1, reasoning, reason veya think adlı modeller varsayılan olarak
akıl yürütme yeteneğine sahip kabul edilir; ek yapılandırma gerekmez:
ollama pull deepseek-r1:32bModel maliyetleri
Ollama yerel olarak ve ücretsiz çalıştığından, hem otomatik keşfedilen hem de
elle tanımlanan modellerin tüm model maliyetleri 0 değerindedir.
Bellek gömmeleri
Paketle birlikte gelen Ollama Plugin'i, bellek araması için
bir bellek gömme sağlayıcısı kaydeder. Yapılandırılmış Ollama temel URL'sini
ve API anahtarını kullanır, /api/embed çağrısı yapar ve mümkün olduğunda
birden fazla bellek parçasını tek bir input isteğinde toplar.
proxy.enabled=true olduğunda, yapılandırılmış baseUrl değerinden türetilen
tam ana makine yerel geri döngü kaynağına yönelik gömme istekleri, yönetilen iletme proxy'si
yerine OpenClaw'ın korumalı doğrudan yolunu kullanır. Yapılandırılmış
ana makine adı bizzat localhost veya bir geri döngü IP sabiti olmalıdır;
yalnızca geri döngüye çözümlenen DNS adları yine yönetilen proxy yolunu
kullanır. LAN, tailnet, özel ağ ve genel Ollama ana makineleri her zaman
yönetilen proxy yolunda kalır ve başka bir ana makineye/porta yönlendirmeler
güveni devralmaz. proxy.loopbackMode: "proxy", geri döngü trafiğini yine de
proxy üzerinden yönlendirir; proxy.loopbackMode: "block" ise bağlanmadan önce bunu reddeder;
bkz. Yönetilen proxy.
| Özellik | Değer |
|---|---|
| Varsayılan model | nomic-embed-text |
| Otomatik çekme | Evet, yerel olarak mevcut değilse |
| Varsayılan satır içi eşzamanlılık | 1 (diğer sağlayıcılarda varsayılan daha yüksektir; ana makine kaldırabiliyorsa nonBatchConcurrency ile artırın) |
Sorgu zamanı gömmeleri, bunları gerektiren veya öneren modeller için
getirme öneklerini kullanır: nomic-embed-text, qwen3-embedding ve
mxbai-embed-large. Belge grupları ham hâlde kalır, dolayısıyla mevcut dizinler
için biçim geçişi gerekmez.
{ memory: { search: { provider: "ollama", remote: { // Ollama için varsayılan. Yeniden dizinleme çok yavaşsa daha büyük ana makinelerde artırın. nonBatchConcurrency: 1, }, }, },}Uzak bir gömme ana makinesi için kimlik doğrulamayı o ana makineyle sınırlı tutun:
{ memory: { search: { provider: "ollama", model: "nomic-embed-text", remote: { baseUrl: "http://gpu-box.local:11434", apiKey: "ollama-local", nonBatchConcurrency: 2, }, }, },}Akış yapılandırması
Ollama varsayılan olarak, akış ve araç çağrısını birlikte destekleyen
yerel API'yi (/api/chat) kullanır; özel yapılandırma gerekmez.
Yerel isteklerde düşünme denetimi doğrudan iletilir: açık bir
params.think/params.thinking yapılandırılmadığı sürece /think off
ve openclaw agent --thinking off, üst düzey think: false gönderir; /think low|medium|high eşleşen efor dizesini gönderir; /think max, Ollama'nın en yüksek eforu olan
think: "high" değerine eşlenir.
Sorun giderme
WSL2 çökme döngüsü (yinelenen yeniden başlatmalar)
NVIDIA/CUDA kullanılan WSL2'de resmî Ollama Linux yükleyicisi,
Restart=always içeren bir ollama.service systemd birimi oluşturur. Bu hizmet
otomatik başlatılır ve WSL2 önyüklemesi sırasında GPU destekli bir model yüklerse Ollama,
yükleme esnasında ana makine belleğini sabitleyebilir; Hyper-V bellek geri kazanımı bu
sayfaları her zaman geri kazanamaz. Bunun sonucunda Windows WSL2 sanal makinesini
sonlandırabilir, systemd Ollama'yı yeniden başlatır ve döngü yinelenir.
Kanıtlar: yinelenen WSL2 yeniden başlatmaları/sonlandırmaları, WSL2 başlangıcından
hemen sonra app.slice veya ollama.service içinde yüksek CPU kullanımı ve
Linux OOM sonlandırıcısı yerine systemd'den gelen SIGTERM.
OpenClaw; WSL2'yi, Restart=always ile etkinleştirilmiş ollama.service
değerini ve görünür CUDA işaretlerini algıladığında bir başlangıç uyarısı kaydeder.
Azaltma:
sudo systemctl disable ollamaWindows tarafında bunu %USERPROFILE%\.wslconfig dosyasına ekleyin, ardından
wsl --shutdown komutunu çalıştırın:
[experimental]autoMemoryReclaim=disabledAlternatif olarak canlı tutma süresini kısaltın / Ollama'yı yalnızca gerektiğinde elle başlatın:
export OLLAMA_KEEP_ALIVE=5mollama serveBkz. ollama/ollama#11317.
Ollama algılanmıyor
Ollama'nın çalıştığını, OLLAMA_API_KEY değerinin (veya bir kimlik doğrulama profilinin)
ayarlandığını ve models.providers.ollama değerinin açıkça tanımlanmadığını doğrulayın:
ollama servecurl http://localhost:11434/api/tagsKullanılabilir model yok
Modeli yerel olarak çekin veya models.providers.ollama içinde
açıkça tanımlayın:
ollama list # Nelerin yüklü olduğunu görünollama pull gemma4ollama pull gpt-oss:20bollama pull llama3.3 # Veya başka bir modelBağlantı reddedildi
# Ollama'nın çalışıp çalışmadığını kontrol edinps aux | grep ollama # Veya Ollama'yı yeniden başlatınollama serveUzak ana makine curl ile çalışıyor ancak OpenClaw ile çalışmıyor
Gateway'i çalıştıran aynı makine ve çalışma zamanından doğrulayın:
openclaw gateway status --deepcurl http://ollama-host:11434/api/tagsYaygın nedenler:
baseUrl,localhostdeğerini gösteriyor ancak Gateway Docker'da veya başka bir ana makinede çalışıyor.- URL, yerel Ollama yerine OpenAI uyumlu davranışı seçen
/v1değerini kullanıyor. - Uzak ana makinede güvenlik duvarı veya LAN bağlama değişiklikleri gerekiyor.
- Model dizüstü bilgisayarınızdaki daemon'da bulunuyor ancak uzak daemon'da bulunmuyor.
Model, araç JSON'unu metin olarak çıktılıyor
Genellikle sağlayıcı OpenAI uyumlu moddadır veya model araç şemalarını işleyemiyordur. Yerel modu tercih edin:
{ models: { providers: { ollama: { baseUrl: "http://ollama-host:11434", api: "ollama", }, }, },}Küçük bir yerel model araç şemalarında yine başarısız olursa o model girdisinde
compat.supportsTools: false değerini ayarlayıp yeniden test edin.
Kimi veya GLM bozuk semboller döndürüyor
Uzun, dilsel olmayan sembol dizilerinden oluşan barındırılan Kimi/GLM yanıtları, başarılı bir yanıt yerine başarısız bir sağlayıcı çağrısı olarak değerlendirilir. Böylece bozuk metni oturuma kalıcı olarak yazmak yerine normal yeniden deneme/yedek/ hata işleme devreye girer.
Sorun yinelenirse model adını, geçerli oturum dosyasını ve çalıştırmanın
Cloud + Local mı yoksa Cloud only mı kullandığını kaydedin; ardından yeni
bir oturum ve yedek model deneyin:
openclaw infer model run --model ollama/kimi-k2.5:cloud --prompt "Reply with exactly: ok" --jsonopenclaw models set ollama/gemma4Soğuk yerel model zaman aşımına uğruyor
Büyük yerel modellerin ilk yüklemesi uzun sürebilir. Zaman aşımını Ollama sağlayıcısıyla sınırlayın ve isteğe bağlı olarak modeli dönüşler arasında yüklü tutun:
{ models: { providers: { ollama: { timeoutSeconds: 300, models: [ { id: "gemma4:26b", name: "gemma4:26b", params: { keep_alive: "15m" }, }, ], }, }, },}Ana makinenin bağlantıları kabul etmesi de yavaşsa timeoutSeconds,
bu sağlayıcı için korumalı bağlantı zaman aşımını da uzatır.
Geniş bağlamlı model çok yavaş veya belleği tükeniyor
Birçok model, donanımınızın rahatça çalıştırabileceğinden daha geniş bağlamlar
bildirir. params.num_ctx ayarlanmadığı sürece yerel Ollama kendi çalışma zamanı
varsayılanını kullanır. Öngörülebilir ilk token gecikmesi için hem OpenClaw'ın
bütçesini hem de Ollama'nın istek bağlamını sınırlayın:
{ models: { providers: { ollama: { contextWindow: 32768, maxTokens: 8192, models: [ { id: "qwen3.5:9b", name: "qwen3.5:9b", params: { num_ctx: 32768, thinking: false }, }, ], }, }, },}OpenClaw çok fazla istem gönderiyorsa contextWindow değerini düşürün.
Ollama'nın çalışma zamanı bağlamı makine için çok büyükse params.num_ctx
değerini düşürün. Üretim çok uzun sürüyorsa maxTokens değerini düşürün.
İlgili
Ayrılmış ollama-cloud sağlayıcısıyla yalnızca buluta yönelik kurulum.
Tüm sağlayıcılara, model referanslarına ve yük devretme davranışına genel bakış.
Modellerin nasıl seçileceği ve yapılandırılacağı.
Ollama destekli web aramasının tam kurulum ve davranış ayrıntıları.
Tam yapılandırma başvurusu.