Providers
Ollama
OpenClaw, Ollama'nın OpenAI uyumlu /v1 uç noktasıyla değil, yerel API'siyle (/api/chat) iletişim kurar. Üç mod desteklenir:
| Mod | Kullandığı |
|---|---|
| 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 arka plan programı 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 bölümüne bakın. Bulut yönlendirmesini
yerel bir ollama sağlayıcısından ayrı tutmak istediğinizde
ollama-cloud/<model> başvurularını kullanın.
Standart yapılandırma anahtarı baseUrl'dir. OpenAI SDK tarzı örnekler için
baseURL de kabul edilir ancak yeni yapılandırmalarda baseUrl kullanılmalıdır.
Kimlik doğrulama kuralları
Yerel ve LAN ana makineleri
local loopback, özel ağ, .local ve yalnızca ana makine adından oluşan Ollama URL'leri gerçek bir taşıyıcı belirteci gerektirmez. OpenClaw bunlar için ollama-local işaretçisini kullanır.
Uzak ve Ollama Cloud ana makineleri
Genel 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önlendirilmiş ollama-remote sağlayıcısı apiKey: "ollama-local" kullanabilir; alt aracılar bu işaretçiyi eksik kimlik bilgisi olarak değerlendirmek yerine Ollama sağlayıcı kancası üzerinden çözümler. agents.defaults.memorySearch.provider da gömmelerin bu Ollama uç noktasını kullanması için özel bir sağlayıcı kimliğine işaret edebilir.
Kimlik doğrulama profilleri
auth-profiles.json, bir sağlayıcı kimliğinin kimlik bilgisini depolar; 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 bir çalışma zamanı biçimi değildir; openclaw doctor --fix, bunları yedek oluşturarak 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 taşıyıcı kimlik doğrulaması, bildirildiği ana makineyle sınırlıdır:
- Sağlayıcı düzeyindeki bir anahtar yalnızca o sağlayıcının ana makinesine gönderilir.
agents.*.memorySearch.remote.apiKeyyalnızca kendi uzak gömme ana makinesine gönderilir.- Tek başına kullanılan bir
OLLAMA_API_KEYortam değişkeni Ollama Cloud kuralı olarak değerlendirilir ve varsayılan olarak yerel/kendi barındırdığınız ana makinelere gönderilmez.
Başlarken
İlk kurulum (önerilen)
İlk kurulumu çalıştırın
openclaw onboardOllama seçeneğini belirleyin, ardından bir mod seçin: Bulut + Yerel, Yalnızca bulut veya Yalnızca yerel.
Bir model seçin
Yalnızca bulut, OLLAMA_API_KEY değerini ister ve barındırılan bulut varsayılanlarını önerir. Bulut + Yerel ve Yalnızca yerel, bir Ollama temel URL'si ister, kullanılabilir modelleri keşfeder ve seçilen yerel model eksikse otomatik olarak indirir. gemma4:latest gibi kurulu bir :latest etiketi, gemma4 yinelenmeden bir kez gösterilir. Bulut + Yerel 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, varsayılan yerel ana makineyi ve önerilen gemma4 modelini kullanır.
Elle kurulum
Ollama'yı kurun ve başlatın
ollama.com/download adresinden edinin, ardından bir model indirin:
ollama pull gemma4Karma bulut erişimi için aynı ana makinede ollama signin komutunu ç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
Bulut + Yerel, hem yerel hem de :cloud modellerini erişilebilir tek bir
Ollama ana makinesi üzerinden yönlendirir. Bu, Ollama'nın karma akışıdır ve
her ikisini de istediğinizde kurulum sırasında seçmeniz gereken moddur.
OpenClaw temel URL'yi ister, yerel modelleri keşfeder ve ollama signin
durumunu denetler. Oturum açıldığında 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 komutunu çalıştırana kadar kurulum
yalnızca yerel olarak kalır.
Yerel bir arka plan programı olmadan yalnızca bulut erişimi için openclaw onboard --auth-choice ollama-cloud komutunu kullanın ve Ollama Cloud bölümüne 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 model listesi,
https://ollama.com/api/tags adresinden 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. Kurulum sırasında ollama.com erişilemez durumdaysa veya hiç model
döndürmezse OpenClaw, ilk kurulumun yine 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
adresinden keşfeder:
| Davranış | Ayrıntı |
|---|---|
| Katalog sorgusu | /api/tags |
| Yetenek algılama | En iyi çabayla yapılan /api/show çağrısı; contextWindow, num_ctx Modelfile parametrelerini ve yetenekleri (görüntü/araçlar/düşünme) okur |
| Görüntü modelleri | /api/show yanıtındaki vision yeteneği, modeli görüntü destekli (input: ["text", "image"]) olarak işaretler |
| Akıl yürütme algılama | Kullanılabildiğinde /api/show yanıtındaki thinking yeteneğini kullanır; Ollama yetenekleri sağlamadığında 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 kabul edilir. |
| Belirteç sınırları | maxTokens, varsayılan olarak OpenClaw'ın Ollama azami belirteç sınırını kullanır |
| Maliyetler | Tüm maliyetler 0'dır |
ollama listopenclaw models listAçık bir models dizisiyle models.providers.ollama ayarlamak veya
api: "ollama" ve local loopback olmayan bir baseUrl kullanan özel bir
sağlayıcı tanımlamak otomatik keşfi devre dışı bırakır; bu durumda modeller
elle tanımlanmalıdır (Yapılandırma bölümüne bakın).
Barındırılan https://ollama.com adresine yönlendirilmiş 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 local loopback
özel sağlayıcılar yine yerel kabul edilir ve otomatik keşfi sürdürür.
Elle yazılmış bir models.json girdisi olmadan ollama/<pulled-model>:latest
gibi tam bir başvuru kullanabilirsiniz; OpenClaw bunu canlı olarak çözümler.
Oturum açılmış ana makinelerde, listede olmayan bir ollama/<model>:cloud
başvurusu seçildiğinde söz konusu model /api/show ile doğrulanır ve yalnızca
Ollama meta verileri onaylarsa çalışma zamanı kataloğuna eklenir; yazım
hataları yine bilinmeyen model hatası verir.
Hızlı kontroller
Tam aracı araç yüzeyini atlayan dar kapsamlı bir metin yoklaması için:
OLLAMA_API_KEY=ollama-local \ openclaw infer model run \ --local \ --model ollama/llama3.2:latest \ --prompt "Reply with exactly: pong" \ --jsonHafif bir görüntü modeli yoklaması için görüntü içeren --file seçeneğini
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 "Describe this image in one sentence." \ --file ./photo.jpg \ --jsonHer iki yol da sohbet araçlarını, belleği veya oturum bağlamını yüklemez. Normal aracı yanıtları başarısız olurken bu işlem başarılı olursa sorun büyük olasılıkla uç noktada değil, modelin araç/aracı kapasitesindedir.
/model ollama/<model> ile bir model seçmek kesin bir kullanıcı seçimidir:
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, aracı turunu başlatmadan önce bir yerel güvenlik
denetimi ekler: seçilen model bir 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 makine 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 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önlendirin (varsayılan olarak
gömmeleri atlar; bir bulut anahtarı /api/embed için yetki sağlamayabileceğ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; model otomatik olarak keşfedilir:
ollama pull mistralNode üzerinde yerel çıkarım
Aracılar, eşleştirilmiş bir masaüstü veya sunucu Node'undaki bir Ollama modeline
kısa bir görev devredebilir. İstem ve yanıt, mevcut kimliği doğrulanmış
Gateway/Node bağlantısından geçer; istek, Node'un kendi loopback 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 makinesini bağlayın
openclaw node run \ --host <gateway-host> \ --port 18789 \ --display-name "Local inference"Gateway ana makinesinde 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ını ekleyen bir yükseltme, Node komutu
onayını tetikleyebilir. Node, ollama.models ve ollama.chat özelliklerini
duyurmadan bağlanırsa openclaw nodes pending komutunu yeniden kontrol edin.
Bir aracıdan kullanın
Birlikte gelen Ollama Plugin'i, node_inference aracını kullanıma sunar. Aracılar
önce action: "discover" çağrısını, ardından bu sonuçtaki bir Node ve modelle
action: "run" çağrısını yapar (tam olarak bir uygun 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üklü en hızlı modeli kullan."
Keşif, /api/tags verilerini okur, /api/show yeteneklerini denetler ve mümkün
olduğunda önceden yüklenmiş modelleri ilk sıraya koymak için /api/ps kullanır.
Yalnızca Ollama'nın sohbet özelliğ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. Araç çağrısı farklı bir maxTokens istemediği sürece
her çalıştırma model düşünmesini devre dışı bırakır ve çıktıyı varsayılan olarak
512 token ile sınırlar (kesin üst sınır 8192); bazı modeller (örneğin GPT-OSS)
düşünmenin devre dışı bırakılmasını desteklemez ve yine de akıl yürütme token'ları
üretebilir.
Ollama'yı aracı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 (ön plandaki bir oturum için openclaw node restart
komutunu kullanın veya 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. Yeniden etkinleştirmek
için değeri tekrar true olarak ayarlayıp yeniden başlatın; değişen komut yüzeyi,
yeniden bağlantının ardından tekrar openclaw nodes pending onayı gerektirebilir.
Aracı turu olmadan Node komutlarını 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 ise genel Gateway çağrısını sınırlar ve daha büyük olmalıdır.
Node üzerindeki yerel çıkarım her zaman Node'un kendi loopback uç noktasını
kullanır; yapılandırılmış bir uzak/bulut models.providers.ollama.baseUrl
değerini yeniden kullanmaz. Node komutları macOS, Linux ve Windows Node ana
makinelerinde varsayılan olarak kullanılabilir ve normal Node eşleştirme/komut
politikasına tabi olmaya devam eder.
Görsel algılama ve görüntü açıklaması
Birlikte gelen Ollama Plugin'i, Ollama'yı görüntü destekli bir medya anlama sağlayıcısı olarak kaydeder; böylece OpenClaw, açık görüntü açıklama isteklerini ve yapılandırılmış görüntü modeli varsayılanlarını yerel veya barındırılan Ollama görsel algılama 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, yerel görsel algılamayı zaten destekleyen modellerde 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 komutunu; özel istemli
ham bir çok kipli yoklama için infer model run --file komutunu kullanın.
Ollama'yı gelen medya 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 sağlayıcı
belirtilmemiş bir imageModel başvurusu, yalnızca 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ı sağlayıcısız kimliği
sunmuyorsa ollama/qwen2.5vl:7b olarak normalleştirilir; aksi takdirde sağlayıcı
önekini açıkça kullanın.
Yavaş yerel görsel algılama modelleri, bulut modellerinden daha uzun bir görüntü
anlama zaman aşımına ihtiyaç duyabilir ve Ollama, modelin duyurulan tam görsel
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ında temel Ollama
HTTP isteği korumasını yönetmeye 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örsel algılama
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ü destekli olarak işaretlenmemiş modellere yönelik görüntü açıklama
isteklerini reddeder. Örtük keşifte bu bilgi, /api/show uç noktasının görsel algılama
yeteneğinden gelir.
Yapılandırma
Temel (örtük keşif)
export OLLAMA_API_KEY="ollama-local"Açık (elle belirtilen modeller)
Barındırılan bulut kurulumu, varsayılan olmayan bir ana makine/bağlantı noktası, zorunlu bağlam pencereleri veya tamamen elle oluşturulan 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 komutundaki 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 model belirtmeniz gerekmiyorsa bir models.providers.ollama bloğu eklemeyin.
Elle belirtilen modellere sahip LAN Ollama ana makinesi
{ 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ıramıyorsa 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ğini kullanmak için
Ollama Cloud sayfasına bakın.
Oturum açılmış bir arka plan programı üzerinden bulut ve yerel kullanım
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 birinin kendi sunucusu, modelleri, kimlik doğrulaması ve zaman aşımı vardır.
{ 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 (önek yoksa
düz 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 aracın tüm özellikleriyle çalışmakta zorlanır. Genel çalışma zamanı ayarlarına dokunmadan önce araçları ve bağlamı sınırlandırı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ğinden ödün verir. localModelLean, açıkça gerekmedikleri sürece
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ç Araması'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 modellerinde 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 başvuru 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ı kurulumunu, üstbilgilerini,
gövde akışını ve korumalı getirme işleminin toplam iptal süresini kapsar.
params.keep_alive, yerel /api/chat isteklerinde üst düzey keep_alive
olarak iletilir; ilk tur yükleme süresi darboğaz olduğunda bunu model başına ayarlayın.
Hızlı doğrulama
# Ollama daemon visible to this machinecurl http://127.0.0.1:11434/api/tags # OpenClaw catalog and selected modelopenclaw models list --provider ollamaopenclaw models status # Direct model smokeopenclaw infer model run \ --model ollama/gemma4 \ --prompt "Reply with exactly: ok"Uzak sunucular için 127.0.0.1 yerine baseUrl sunucusunu kullanın. curl
çalışıyor ancak OpenClaw çalışmıyorsa Gateway'in farklı bir makinede,
kapsayıcıda veya hizmet hesabıyla çalışıp çalışmadığını kontrol edin.
Ollama Web Araması
OpenClaw, Ollama Web Araması özelliğini bir web_search sağlayıcısı olarak paketler.
| Özellik | Ayrıntı |
|---|---|
| Sunucu | Ayarlandığında models.providers.ollama.baseUrl, aksi hâlde 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 sunucu için anahtar gerekmez; 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 sunucunuzda barındırılan sunucular çalışıyor olmalı ve ollama signin ile oturum açılmalıdır; doğrudan barındırılan arama için baseUrl: "https://ollama.com" ve 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 sunucunuzda barındırılan bir sunucuda OpenClaw önce yerel
/api/experimental/web_search vekilini dener, ardından aynı sunucudaki
barındırılan /api/web_search yoluna geri döner; oturum açılmış yerel daemon
normalde yerel vekil ü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 modu
/v1/chat/completions arkasındaki bir vekil 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, // default: true apiKey: "ollama-local", models: [...] } } }}Bu mod, akış ve araç çağırmayı aynı anda desteklemeyebilir; modelde
params: { streaming: false } ayarını kullanmanız gerekebilir.
OpenClaw bu modda varsayılan olarak options.num_ctx ekler; böylece Ollama
sessizce 4096 belirteçli bağlama geri dönmez. Vekiliniz 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 dosyalarındaki daha
büyük PARAMETER num_ctx değerleri dâhil olmak üzere /api/show tarafından
bildirilen bağlam penceresini kullanır; aksi hâlde 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 bazında
geçersiz kılınabilir. contextWindow, OpenClaw'ın kendi istem/Compaction
bütçesidir. params.num_ctx değerini açıkça ayarlamadığınız sürece yerel
/api/chat istekleri 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. Eski bir yapılandırma, yerel istek bağlamını zorlamak
için yalnızca contextWindow/maxTokens kullandıysa bunları params.num_ctx
alanına kopyalamak üzere openclaw doctor --fix komutunu çalıştırın.
OpenAI uyumlu bağdaştırıcı, yapılandırılan params.num_ctx veya
contextWindow değerinden varsayılan olarak yine options.num_ctx ekler;
üst sistem options alanını 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 ve bunları yerel /api/chat options alanı olarak
iletir: 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ı
ilettiğinden streaming gibi yalnızca çalışma zamanına özgü parametreler
hiçbir zaman Ollama'ya 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üşünme ayarını Ollama'nın beklediği şekilde iletir: options.think
değil, üst düzey think. /api/show yanıtı thinking yeteneği bildiren
otomatik keşfedilmiş modeller /think low, /think medium, /think high
ve /think max seçeneklerini sunar; düşünme özelliği olmayan modeller
yalnızca /think off seçeneğini sunar.
openclaw agent --model ollama/gemma4 --thinking offopenclaw agent --model ollama/gemma4 --thinking lowYa da bir model varsayılanı ayarlayın:
{ agents: { defaults: { models: { "ollama/gemma4": { thinking: "low", }, }, }, },}Model bazında 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 asla 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 çalışır ve ücretsizdir; bu nedenle hem otomatik keşfedilen
hem de elle tanımlanan modeller için tüm model maliyetleri 0 değerindedir.
Bellek gömmeleri
Paketle 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 makineye ait local loopback 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ının kendisi localhost veya bir loopback IP
değişmezi olmalıdır — yalnızca loopback'e çö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; başka bir ana makineye/bağlantı noktasına
yapılan yönlendirmeler güveni devralmaz. proxy.loopbackMode: "proxy" yine de
loopback trafiğini proxy üzerinden yönlendirir; proxy.loopbackMode: "block"
ise bağlantı kurulmadan önce bunu reddeder — bkz.
Yönetilen proxy.
| Özellik | Değer |
|---|---|
| Varsayılan model | nomic-embed-text |
| Otomatik indirme | 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 değer 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 biçimde kalır; dolayısıyla mevcut
dizinler için biçim geçişi gerekmez.
{ agents: { defaults: { memorySearch: { provider: "ollama", remote: { // Default for Ollama. Raise on larger hosts if reindexing is too slow. nonBatchConcurrency: 1, }, }, }, },}Uzak bir gömme ana makinesi için kimlik doğrulamayı o ana makineyle sınırlı tutun:
{ agents: { defaults: { memorySearch: { 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ış ile araç çağırmayı birlikte destekleyen
yerel API'yi (/api/chat) kullanır — özel bir yapılandırma gerekmez.
Yerel isteklerde düşünme denetimi doğrudan iletilir: açık bir
params.think/params.thinking yapılandırılmamışsa /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 kilitlenme döngüsü (tekrarlanan yeniden başlatmalar)
NVIDIA/CUDA kullanılan WSL2'de resmi Ollama Linux yükleyicisi,
Restart=always ayarlı bir ollama.service systemd birimi oluşturur. Bu
hizmet otomatik olarak başlar ve WSL2 önyüklemesi sırasında GPU destekli bir
model yüklerse Ollama yükleme sırasında ana makine belleğini sabitleyebilir;
Hyper-V bellek geri kazanımı bu sayfaları her zaman geri alamaz. Bunun
sonucunda Windows, WSL2 sanal makinesini sonlandırabilir, systemd Ollama'yı
yeniden başlatır ve döngü tekrarlanır.
Kanıtlar: tekrarlanan WSL2 yeniden başlatmaları/sonlandırmaları, WSL2
başlatıldıktan hemen sonra app.slice veya ollama.service içinde yüksek
CPU kullanımı ve Linux OOM sonlandırıcısı yerine systemd kaynaklı SIGTERM.
OpenClaw; WSL2'yi, Restart=always ile etkinleştirilmiş ollama.service
hizmetini ve görünür CUDA işaretlerini algıladığında başlangıçta bir uyarı
kaydeder.
Geçici çözüm:
sudo systemctl disable ollamaWindows tarafında %USERPROFILE%\.wslconfig dosyasına şunu ekleyin,
ardından wsl --shutdown komutunu çalıştırın:
[experimental]autoMemoryReclaim=disabledAlternatif olarak canlı tutma süresini kısaltın veya 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 indirin veya models.providers.ollama içinde açıkça
tanımlayın:
ollama list # See what's installedollama pull gemma4ollama pull gpt-oss:20bollama pull llama3.3 # Or another modelBağlantı reddedildi
# Check if Ollama is runningps aux | grep ollama # Or restart Ollamaollama 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 içinde veya başka bir ana makinede çalışıyor.- URL, yerel Ollama davranışı yerine OpenAI uyumlu davranışı seçen
/v1yolunu kullanıyor. - Uzak ana makinede güvenlik duvarı veya LAN bağlama değişiklikleri gerekiyor.
- Model dizüstü bilgisayarınızdaki arka plan programında bulunuyor ancak uzak arka plan programında bulunmuyor.
Model, araç JSON'unu metin olarak çıkarı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 hâlâ başarısız oluyorsa o model
girdisinde compat.supportsTools: false ayarlayın ve yeniden test edin.
Kimi veya GLM bozuk semboller döndürüyor
Uzun ve dilsel olmayan sembol dizilerinden oluşan barındırılan Kimi/GLM yanıtları başarılı yanıt olarak değil, başarısız sağlayıcı çağrısı olarak değerlendirilir. Böylece bozuk metin oturuma kalıcı olarak yazılmak yerine normal yeniden deneme/geri dönüş/hata işleme devreye girer.
Sorun tekrarlanırsa model adını, geçerli oturum dosyasını ve çalıştırmada
Cloud + Local mı yoksa Cloud only mı kullanıldığını kaydedin; ardından
yeni bir oturum ve geri dönüş modeli 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 etkileşimler 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ının 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 büyük
bağlamların desteklendiğini belirtir. 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 bütçesini hem de Ollama 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
Özel 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ı için eksiksiz kurulum ve davranış ayrıntıları.
Eksiksiz yapılandırma referansı.