OpenClaw integruje się z natywnym API Ollama (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) dla hostowanych modeli w chmurze oraz lokalnych/samodzielnie hostowanych serwerów Ollama. Ollama można używać w trzech trybach: Cloud + Local przez osiągalny host Ollama, Cloud only z https://ollama.com albo Local only z osiągalnym hostem Ollama.
Konfiguracja providera Ollama używa baseUrl jako klucza kanonicznego. OpenClaw akceptuje też baseURL dla zgodności z przykładami w stylu OpenAI SDK, ale nowa konfiguracja powinna preferować baseUrl.
Reguły uwierzytelniania
Hosty lokalne i LAN
Hosty lokalne i LAN
ollama-local tylko dla adresów URL bazowych Ollama typu loopback, sieci prywatnej, .local oraz samych nazw hostów.Hosty zdalne i Ollama Cloud
Hosty zdalne i Ollama Cloud
https://ollama.com) wymagają prawdziwych danych uwierzytelniających przez OLLAMA_API_KEY, profil uwierzytelniania albo apiKey providera.Niestandardowe identyfikatory providerów
Niestandardowe identyfikatory providerów
api: "ollama", stosują te same reguły. Na przykład provider ollama-remote, który wskazuje na prywatny host LAN Ollama, może używać apiKey: "ollama-local", a podagenci rozwiążą ten znacznik przez hook providera Ollama zamiast traktować go jako brakujące dane uwierzytelniające. Wyszukiwanie w pamięci może też ustawić agents.defaults.memorySearch.provider na ten niestandardowy identyfikator providera, aby embeddingi używały pasującego endpointu Ollama.Profile uwierzytelniania
Profile uwierzytelniania
auth-profiles.json przechowuje dane uwierzytelniające dla identyfikatora providera. Ustawienia endpointu (baseUrl, api, identyfikatory modeli, nagłówki, limity czasu) umieść w models.providers.<id>. Starsze płaskie pliki profili uwierzytelniania, takie jak { "ollama-windows": { "apiKey": "ollama-local" } }, nie są formatem runtime; uruchom openclaw doctor --fix, aby przepisać je do kanonicznego profilu klucza API ollama-windows:default z kopią zapasową. baseUrl w tym pliku to szum zgodności i należy go przenieść do konfiguracji providera.Zakres embeddingów pamięci
Zakres embeddingów pamięci
- Klucz na poziomie providera jest wysyłany tylko do hosta Ollama tego providera.
agents.*.memorySearch.remote.apiKeyjest wysyłany tylko do swojego zdalnego hosta embeddingów.- Czysta wartość env
OLLAMA_API_KEYjest traktowana jako konwencja Ollama Cloud i domyślnie nie jest wysyłana do hostów lokalnych ani samodzielnie hostowanych.
Pierwsze kroki
Wybierz preferowaną metodę konfiguracji i tryb.- Onboarding (zalecane)
- Konfiguracja ręczna
Wybierz tryb
- Cloud + Local — lokalny host Ollama plus modele chmurowe routowane przez ten host
- Cloud only — hostowane modele Ollama przez
https://ollama.com - Local only — tylko modele lokalne
Wybierz model
Cloud only prosi o OLLAMA_API_KEY i sugeruje domyślne wartości dla hostowanej chmury. Cloud + Local i Local only proszą o bazowy adres URL Ollama, wykrywają dostępne modele i automatycznie pobierają wybrany model lokalny, jeśli nie jest jeszcze dostępny. Gdy Ollama zgłosi zainstalowany tag :latest, taki jak gemma4:latest, konfiguracja pokazuje ten zainstalowany model raz, zamiast pokazywać zarówno gemma4, jak i gemma4:latest albo ponownie pobierać goły alias. Cloud + Local sprawdza też, czy ten host Ollama jest zalogowany do dostępu do chmury.Tryb nieinteraktywny
Modele chmurowe
- Cloud + Local
- Cloud only
- Local only
Cloud + Local używa osiągalnego hosta Ollama jako punktu sterowania zarówno dla modeli lokalnych, jak i chmurowych. To preferowany przez Ollama przepływ hybrydowy.Użyj Cloud + Local podczas konfiguracji. OpenClaw prosi o bazowy adres URL Ollama, wykrywa modele lokalne z tego hosta i sprawdza, czy host jest zalogowany do dostępu do chmury przez ollama signin. Gdy host jest zalogowany, OpenClaw sugeruje też domyślne hostowane modele chmurowe, takie jak kimi-k2.5:cloud, minimax-m2.7:cloud i glm-5.1:cloud.Jeśli host nie jest jeszcze zalogowany, OpenClaw utrzymuje konfigurację jako tylko lokalną, dopóki nie uruchomisz ollama signin.Wykrywanie modeli (provider niejawny)
Gdy ustawiszOLLAMA_API_KEY (albo profil uwierzytelniania) i nie zdefiniujesz models.providers.ollama ani innego niestandardowego zdalnego providera z api: "ollama", OpenClaw wykrywa modele z lokalnej instancji Ollama pod http://127.0.0.1:11434.
| Zachowanie | Szczegóły |
|---|---|
| Zapytanie katalogu | Wysyła zapytanie do /api/tags |
| Wykrywanie możliwości | Używa najlepszej dostępnej metody z zapytaniami /api/show, aby odczytać contextWindow, rozwinięte parametry Modelfile num_ctx oraz możliwości, w tym vision/tools |
| Modele wizyjne | Modele z możliwością vision zgłoszoną przez /api/show są oznaczane jako obsługujące obrazy (input: ["text", "image"]), więc OpenClaw automatycznie wstrzykuje obrazy do promptu |
| Wykrywanie rozumowania | Używa możliwości z /api/show, gdy są dostępne, w tym thinking; wraca do heurystyki nazwy modelu (r1, reasoning, think), gdy Ollama pomija możliwości |
| Limity tokenów | Ustawia maxTokens na domyślny limit maksymalnej liczby tokenów Ollama używany przez OpenClaw |
| Koszty | Ustawia wszystkie koszty na 0 |
ollama/<pulled-model>:latest, w lokalnym infer model run; OpenClaw rozwiązuje ten zainstalowany model z katalogu live Ollama bez wymagania ręcznie napisanego wpisu models.json.
Dla zalogowanych hostów Ollama niektóre modele :cloud mogą być używalne przez /api/chat
i /api/show, zanim pojawią się w /api/tags. Gdy jawnie wybierzesz
pełną referencję ollama/<model>:cloud, OpenClaw waliduje dokładnie ten brakujący model przez
/api/show i dodaje go do katalogu runtime tylko wtedy, gdy Ollama potwierdzi metadane
modelu. Literówki nadal kończą się błędem nieznanego modelu, zamiast być automatycznie tworzone.
infer model run z pełną referencją modelu Ollama:
infer model run. Wysyła to prompt i obraz bezpośrednio do
wybranego modelu wizyjnego Ollama bez ładowania narzędzi czatu, pamięci ani wcześniejszego
kontekstu sesji:
model run --file akceptuje pliki wykryte jako image/*, w tym popularne wejścia PNG,
JPEG i WebP. Pliki niebędące obrazami są odrzucane przed wywołaniem Ollama.
Do rozpoznawania mowy użyj zamiast tego openclaw infer audio transcribe.
Gdy przełączysz rozmowę za pomocą /model ollama/<model>, OpenClaw traktuje
to jako dokładny wybór użytkownika. Jeśli skonfigurowany baseUrl Ollama jest
nieosiągalny, kolejna odpowiedź zakończy się błędem providera zamiast po cichu
odpowiedzieć z innego skonfigurowanego modelu fallback.
Izolowane zadania Cron wykonują jedno dodatkowe lokalne sprawdzenie bezpieczeństwa przed rozpoczęciem tury agenta. Jeśli wybrany model rozwiązuje się do lokalnego dostawcy Ollama, dostawcy w sieci prywatnej lub .local, a /api/tags jest nieosiągalne, OpenClaw zapisuje to uruchomienie Cron jako skipped z wybranym ollama/<model> w tekście błędu. Wstępne sprawdzenie endpointu jest buforowane przez 5 minut, więc wiele zadań Cron wskazujących na tego samego zatrzymanego demona Ollama nie uruchamia kolejno nieudanych żądań modelu.
Zweryfikuj na żywo lokalną ścieżkę tekstową, natywną ścieżkę strumieniowania i embeddingi względem lokalnego Ollama za pomocą:
models.providers.ollama albo skonfigurujesz niestandardowego zdalnego dostawcę, takiego jak models.providers.ollama-cloud z api: "ollama", automatyczne wykrywanie zostanie pominięte i trzeba zdefiniować modele ręcznie. Niestandardowi dostawcy loopback, tacy jak http://127.0.0.2:11434, nadal są traktowani jako lokalni. Zobacz sekcję jawnej konfiguracji poniżej.Wizja i opis obrazu
Dołączony Plugin Ollama rejestruje Ollama jako dostawcę rozumienia multimediów obsługującego obrazy. Pozwala to OpenClaw kierować jawne żądania opisu obrazu i skonfigurowane domyślne modele obrazu przez lokalne lub hostowane modele wizyjne Ollama. Dla lokalnej wizji pobierz model obsługujący obrazy:--model musi być pełnym odwołaniem <provider/model>. Gdy jest ustawione, openclaw infer image describe uruchamia ten model bezpośrednio, zamiast pomijać opis, ponieważ model obsługuje natywną wizję.
Użyj infer image describe, gdy chcesz przepływu dostawcy rozumienia obrazu OpenClaw, skonfigurowanego agents.defaults.imageModel i kształtu danych wyjściowych opisu obrazu. Użyj infer model run --file, gdy chcesz surowej próby modelu multimodalnego z niestandardowym promptem i jednym lub wieloma obrazami.
Aby ustawić Ollama jako domyślny model rozumienia obrazu dla przychodzących multimediów, skonfiguruj agents.defaults.imageModel:
ollama/<model>. Jeśli ten sam model jest wymieniony w models.providers.ollama.models z input: ["text", "image"] i żaden inny skonfigurowany dostawca obrazu nie udostępnia tego bazowego identyfikatora modelu, OpenClaw normalizuje też bazowe odwołanie imageModel, takie jak qwen2.5vl:7b, do ollama/qwen2.5vl:7b. Jeśli więcej niż jeden skonfigurowany dostawca obrazu ma ten sam bazowy identyfikator, jawnie użyj prefiksu dostawcy.
Wolne lokalne modele wizyjne mogą potrzebować dłuższego limitu czasu rozumienia obrazu niż modele chmurowe. Mogą też ulec awarii lub zatrzymać się, gdy Ollama próbuje przydzielić pełny deklarowany kontekst wizyjny na ograniczonym sprzęcie. Ustaw limit czasu zdolności i ogranicz num_ctx we wpisie modelu, gdy potrzebujesz tylko zwykłej tury opisu obrazu:
image, które agent może wywołać podczas tury. models.providers.ollama.timeoutSeconds na poziomie dostawcy nadal kontroluje bazową osłonę czasową żądania HTTP Ollama dla zwykłych wywołań modelu.
Zweryfikuj na żywo jawne narzędzie obrazu względem lokalnego Ollama za pomocą:
models.providers.ollama.models, oznacz modele wizyjne jako obsługujące wejście obrazu:
/api/show zgłasza zdolność wizyjną.
Konfiguracja
- Podstawowa (niejawne wykrywanie)
- Jawna (ręczne modele)
- Niestandardowy bazowy URL
Typowe przepisy
Użyj ich jako punktów wyjścia i zastąp identyfikatory modeli dokładnymi nazwami zollama list lub openclaw models list --provider ollama.
Model lokalny z automatycznym wykrywaniem
Model lokalny z automatycznym wykrywaniem
models.providers.ollama, chyba że chcesz definiować modele ręcznie.Host Ollama w sieci LAN z ręcznymi modelami
Host Ollama w sieci LAN z ręcznymi modelami
/v1.contextWindow to budżet kontekstu po stronie OpenClaw. params.num_ctx jest wysyłane do Ollama dla żądania. Utrzymuj je spójne, gdy Twój sprzęt nie może uruchomić pełnego deklarowanego kontekstu modelu.Tylko Ollama Cloud
Tylko Ollama Cloud
Chmura plus lokalnie przez zalogowanego demona
Chmura plus lokalnie przez zalogowanego demona
ollama signin i ma obsługiwać zarówno modele lokalne, jak i modele :cloud.Wiele hostów Ollama
Wiele hostów Ollama
ollama-large/qwen3.5:27b dociera do Ollama jako qwen3.5:27b.Odchudzony profil modelu lokalnego
Odchudzony profil modelu lokalnego
compat.supportsTools: false tylko wtedy, gdy model lub serwer niezawodnie zawodzi na schematach narzędzi. Zamienia możliwości agenta na stabilność.
localModelLean usuwa narzędzia przeglądarki, cron i wiadomości z powierzchni agenta, ale nie zmienia kontekstu wykonania ani trybu myślenia Ollama. Połącz to z jawnymi params.num_ctx i params.thinking: false dla małych modeli myślących w stylu Qwen, które wpadają w pętle lub zużywają budżet odpowiedzi na ukryte rozumowanie.Wybór modelu
Po skonfigurowaniu dostępne są wszystkie Twoje modele Ollama:ollama-spark/qwen3:32b, OpenClaw usuwa tylko ten
prefiks przed wywołaniem Ollama, aby serwer otrzymał qwen3:32b.
Dla wolnych modeli lokalnych preferuj dostrajanie żądań w zakresie dostawcy przed zwiększaniem
limitu czasu wykonania całego agenta:
timeoutSeconds ma zastosowanie do żądania HTTP modelu, w tym konfiguracji połączenia,
nagłówków, strumieniowania treści i całkowitego przerwania chronionego pobierania. params.keep_alive
jest przekazywane do Ollama jako najwyższego poziomu keep_alive w natywnych żądaniach /api/chat;
ustawiaj je dla konkretnego modelu, gdy czas ładowania pierwszej tury jest wąskim gardłem.
Szybka weryfikacja
127.0.0.1 hostem używanym w baseUrl. Jeśli curl działa, ale OpenClaw nie, sprawdź, czy Gateway działa na innej maszynie, w kontenerze lub na innym koncie usługi.
Wyszukiwanie w sieci Ollama
OpenClaw obsługuje Wyszukiwanie w sieci Ollama jako wbudowanego dostawcęweb_search.
| Właściwość | Szczegóły |
|---|---|
| Host | Używa skonfigurowanego hosta Ollama (models.providers.ollama.baseUrl, gdy jest ustawione, w przeciwnym razie http://127.0.0.1:11434); https://ollama.com używa bezpośrednio hostowanego API |
| Uwierzytelnianie | Bez klucza dla zalogowanych lokalnych hostów Ollama; OLLAMA_API_KEY lub skonfigurowane uwierzytelnianie dostawcy dla bezpośredniego wyszukiwania przez https://ollama.com albo hostów chronionych uwierzytelnianiem |
| Wymaganie | Hosty lokalne/samodzielnie hostowane muszą być uruchomione i zalogowane przez ollama signin; bezpośrednie hostowane wyszukiwanie wymaga baseUrl: "https://ollama.com" oraz rzeczywistego klucza API Ollama |
openclaw onboard lub openclaw configure --section web, albo ustaw:
/api/experimental/web_search. Dla https://ollama.com wywołuje bezpośrednio hostowany punkt końcowy /api/web_search.
Konfiguracja zaawansowana
Starszy tryb zgodny z OpenAI
Starszy tryb zgodny z OpenAI
api: "openai-completions":params: { streaming: false } w konfiguracji modelu.Gdy api: "openai-completions" jest używane z Ollama, OpenClaw domyślnie wstrzykuje options.num_ctx, aby Ollama nie wracała po cichu do okna kontekstu 4096. Jeśli Twoje proxy/upstream odrzuca nieznane pola options, wyłącz to zachowanie:Okna kontekstu
Okna kontekstu
PARAMETER num_ctx z niestandardowych Modelfiles. W przeciwnym razie wraca do domyślnego okna kontekstu Ollama używanego przez OpenClaw.Możesz ustawić domyślne wartości contextWindow, contextTokens i maxTokens na poziomie dostawcy dla każdego modelu pod tym dostawcą Ollama, a następnie nadpisywać je dla poszczególnych modeli w razie potrzeby. contextWindow to budżet promptu i Compaction w OpenClaw. Natywne żądania Ollama pozostawiają options.num_ctx nieustawione, chyba że jawnie skonfigurujesz params.num_ctx, dzięki czemu Ollama może zastosować własny model, OLLAMA_CONTEXT_LENGTH lub domyślne ustawienie oparte na VRAM. Aby ograniczyć lub wymusić kontekst wykonania na żądanie Ollama bez przebudowywania Modelfile, ustaw params.num_ctx; wartości nieprawidłowe, zerowe, ujemne i nieskończone są ignorowane. Adapter Ollama zgodny z OpenAI nadal domyślnie wstrzykuje options.num_ctx ze skonfigurowanego params.num_ctx lub contextWindow; wyłącz to za pomocą injectNumCtxForOpenAICompat: false, jeśli upstream odrzuca options.Wpisy natywnych modeli Ollama akceptują także typowe opcje wykonania Ollama w params, w tym temperature, top_p, top_k, min_p, num_predict, stop, repeat_penalty, num_batch, num_thread i use_mmap. OpenClaw przekazuje tylko klucze żądań Ollama, więc parametry wykonania OpenClaw, takie jak streaming, nie są ujawniane Ollama. Użyj params.think lub params.thinking, aby wysłać najwyższego poziomu Ollama think; false wyłącza myślenie na poziomie API dla modeli myślących w stylu Qwen.agents.defaults.models["ollama/<model>"].params.num_ctx dla konkretnego modelu. Jeśli skonfigurowano oba ustawienia, jawny wpis modelu dostawcy ma pierwszeństwo przed domyślnym ustawieniem agenta.Sterowanie myśleniem
Sterowanie myśleniem
think, a nie options.think. Modele wykryte automatycznie, których odpowiedź /api/show zawiera możliwość thinking, udostępniają /think low, /think medium, /think high i /think max; modele niemyślące udostępniają tylko /think off.params.think lub params.thinking dla konkretnego modelu może wyłączyć lub wymusić myślenie API Ollama dla konkretnego skonfigurowanego modelu. OpenClaw zachowuje te jawne parametry modelu, gdy aktywne uruchomienie ma tylko niejawne domyślne off; polecenia wykonania inne niż off, takie jak /think medium, nadal nadpisują aktywne uruchomienie.Modele rozumujące
Modele rozumujące
deepseek-r1, reasoning lub think jako zdolne do rozumowania.Koszty modeli
Koszty modeli
Embeddings pamięci
Embeddings pamięci
/api/embed oraz grupuje
wiele fragmentów pamięci w jedno żądanie input, gdy to możliwe.| Właściwość | Wartość |
|---|---|
| Model domyślny | nomic-embed-text |
| Automatyczne pobieranie | Tak — model embeddingów jest pobierany automatycznie, jeśli nie występuje lokalnie |
nomic-embed-text, qwen3-embedding i mxbai-embed-large. Partie dokumentów pamięci pozostają surowe, więc istniejące indeksy nie wymagają migracji formatu.Aby wybrać Ollama jako dostawcę embeddingów wyszukiwania pamięci:Konfiguracja streamingu
Konfiguracja streamingu
/api/chat), które w pełni obsługuje jednocześnie streaming i wywoływanie narzędzi. Nie jest wymagana żadna specjalna konfiguracja.W przypadku natywnych żądań /api/chat OpenClaw przekazuje też kontrolę thinking bezpośrednio do Ollama: /think off i openclaw agent --thinking off wysyłają think: false najwyższego poziomu, chyba że skonfigurowano jawną wartość modelu params.think/params.thinking, natomiast /think low|medium|high wysyłają odpowiadający ciąg effort think najwyższego poziomu. /think max mapuje się na najwyższy natywny effort Ollama, think: "high".Rozwiązywanie problemów
Pętla awarii WSL2 (powtarzające się restarty)
Pętla awarii WSL2 (powtarzające się restarty)
ollama.service z Restart=always. Jeśli ta usługa uruchamia się automatycznie i ładuje model wspierany przez GPU podczas startu WSL2, Ollama może przypiąć pamięć hosta w trakcie ładowania modelu. Odzyskiwanie pamięci Hyper-V nie zawsze może odzyskać te przypięte strony, więc Windows może zakończyć maszynę wirtualną WSL2, systemd ponownie uruchamia Ollama i pętla się powtarza.Typowe dowody:- powtarzające się restarty lub zakończenia WSL2 po stronie Windows
- wysokie użycie CPU w
app.slicelubollama.servicekrótko po uruchomieniu WSL2 - SIGTERM od systemd zamiast zdarzenia zabójcy OOM Linuksa
ollama.service z Restart=always oraz widoczne znaczniki CUDA.Ograniczenie problemu:%USERPROFILE%\.wslconfig po stronie Windows, a następnie uruchom wsl --shutdown:Ollama nie wykryto
Ollama nie wykryto
OLLAMA_API_KEY (lub profil uwierzytelniania) oraz że nie zdefiniowano jawnego wpisu models.providers.ollama:Brak dostępnych modeli
Brak dostępnych modeli
models.providers.ollama.Odmowa połączenia
Odmowa połączenia
Zdalny host działa z curl, ale nie z OpenClaw
Zdalny host działa z curl, ale nie z OpenClaw
baseUrlwskazuje nalocalhost, ale Gateway działa w Dockerze lub na innym hoście.- URL używa
/v1, co wybiera zachowanie zgodne z OpenAI zamiast natywnego Ollama. - Zdalny host wymaga zmian w zaporze lub powiązaniu LAN po stronie Ollama.
- Model jest obecny w demonie na Twoim laptopie, ale nie w zdalnym demonie.
Model zwraca JSON narzędzia jako tekst
Model zwraca JSON narzędzia jako tekst
compat.supportsTools: false w tym wpisie modelu i przetestuj ponownie.Kimi lub GLM zwraca zniekształcone symbole
Kimi lub GLM zwraca zniekształcone symbole
Cloud + Local czy Cloud only, a następnie spróbuj świeżej sesji i modelu fallback:Zimny model lokalny przekracza limit czasu
Zimny model lokalny przekracza limit czasu
timeoutSeconds rozszerza również chroniony limit czasu połączenia Undici dla tego dostawcy.Model z dużym kontekstem jest zbyt wolny lub kończy mu się pamięć
Model z dużym kontekstem jest zbyt wolny lub kończy mu się pamięć
params.num_ctx. Ogranicz zarówno budżet OpenClaw, jak i kontekst żądania Ollama, gdy chcesz przewidywalnego opóźnienia do pierwszego tokena:contextWindow, jeśli OpenClaw wysyła zbyt dużo promptu. Zmniejsz params.num_ctx, jeśli Ollama ładuje kontekst środowiska uruchomieniowego zbyt duży dla tej maszyny. Zmniejsz maxTokens, jeśli generowanie trwa zbyt długo.