OpenClaw integra-se à API nativa do 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) para modelos em nuvem hospedados e servidores Ollama locais/auto-hospedados. Você pode usar o Ollama em três modos: Cloud + Local por meio de um host Ollama acessível, Cloud only contra https://ollama.com, ou Local only contra um host Ollama acessível.
A configuração do provedor Ollama usa baseUrl como chave canônica. O OpenClaw também aceita baseURL para compatibilidade com exemplos no estilo do SDK da OpenAI, mas novas configurações devem preferir baseUrl.
Regras de autenticação
Hosts locais e de LAN
Hosts locais e de LAN
ollama-local somente para URLs base do Ollama em loopback, redes privadas, .local e nomes de host simples.Hosts remotos e do Ollama Cloud
Hosts remotos e do Ollama Cloud
https://ollama.com) exigem uma credencial real por meio de OLLAMA_API_KEY, um perfil de autenticação ou o apiKey do provedor.IDs de provedor personalizados
IDs de provedor personalizados
api: "ollama" seguem as mesmas regras. Por exemplo, um provedor ollama-remote que aponta para um host Ollama em uma LAN privada pode usar apiKey: "ollama-local", e subagentes resolverão esse marcador por meio do gancho do provedor Ollama em vez de tratá-lo como uma credencial ausente. A busca de memória também pode definir agents.defaults.memorySearch.provider para esse ID de provedor personalizado para que os embeddings usem o endpoint Ollama correspondente.Perfis de autenticação
Perfis de autenticação
auth-profiles.json armazena a credencial para um ID de provedor. Coloque configurações de endpoint (baseUrl, api, IDs de modelo, cabeçalhos, tempos limite) em models.providers.<id>. Arquivos de perfil de autenticação planos mais antigos, como { "ollama-windows": { "apiKey": "ollama-local" } }, não são um formato de runtime; execute openclaw doctor --fix para reescrevê-los para o perfil de chave de API canônico ollama-windows:default com um backup. baseUrl nesse arquivo é ruído de compatibilidade e deve ser movido para a configuração do provedor.Escopo de embeddings de memória
Escopo de embeddings de memória
- Uma chave em nível de provedor é enviada somente para o host Ollama desse provedor.
agents.*.memorySearch.remote.apiKeyé enviada somente para seu host remoto de embeddings.- Um valor de env puro
OLLAMA_API_KEYé tratado como a convenção do Ollama Cloud, não enviado por padrão para hosts locais ou auto-hospedados.
Primeiros passos
Escolha seu método de configuração e modo preferidos.- Onboarding (recomendado)
- Configuração manual
Escolha seu modo
- Nuvem + Local — host Ollama local mais modelos em nuvem roteados por esse host
- Somente nuvem — modelos Ollama hospedados via
https://ollama.com - Somente local — somente modelos locais
Selecione um modelo
Cloud only solicita OLLAMA_API_KEY e sugere padrões de nuvem hospedada. Cloud + Local e Local only pedem uma URL base do Ollama, descobrem modelos disponíveis e fazem o pull automático do modelo local selecionado se ele ainda não estiver disponível. Quando o Ollama informa uma tag :latest instalada, como gemma4:latest, a configuração mostra esse modelo instalado uma vez, em vez de mostrar gemma4 e gemma4:latest ou fazer pull do alias simples novamente. Cloud + Local também verifica se esse host Ollama está conectado para acesso à nuvem.Modo não interativo
Modelos em nuvem
- Nuvem + Local
- Somente nuvem
- Somente local
Cloud + Local usa um host Ollama acessível como ponto de controle para modelos locais e em nuvem. Este é o fluxo híbrido preferido do Ollama.Use Nuvem + Local durante a configuração. O OpenClaw solicita a URL base do Ollama, descobre modelos locais desse host e verifica se o host está conectado para acesso à nuvem com ollama signin. Quando o host está conectado, o OpenClaw também sugere padrões de nuvem hospedada, como kimi-k2.5:cloud, minimax-m2.7:cloud e glm-5.1:cloud.Se o host ainda não estiver conectado, o OpenClaw mantém a configuração somente local até você executar ollama signin.Descoberta de modelos (provedor implícito)
Quando você defineOLLAMA_API_KEY (ou um perfil de autenticação) e não define models.providers.ollama nem outro provedor remoto personalizado com api: "ollama", o OpenClaw descobre modelos da instância local do Ollama em http://127.0.0.1:11434.
| Comportamento | Detalhe |
|---|---|
| Consulta ao catálogo | Consulta /api/tags |
| Detecção de capacidade | Usa consultas best-effort a /api/show para ler contextWindow, parâmetros num_ctx expandidos do Modelfile e capacidades incluindo visão/ferramentas |
| Modelos de visão | Modelos com uma capacidade vision relatada por /api/show são marcados como compatíveis com imagem (input: ["text", "image"]), então o OpenClaw injeta imagens automaticamente no prompt |
| Detecção de raciocínio | Usa capacidades de /api/show quando disponíveis, incluindo thinking; recorre a uma heurística pelo nome do modelo (r1, reasoning, think) quando o Ollama omite capacidades |
| Limites de tokens | Define maxTokens para o limite padrão máximo de tokens do Ollama usado pelo OpenClaw |
| Custos | Define todos os custos como 0 |
ollama/<pulled-model>:latest, no infer model run local; o OpenClaw resolve esse modelo instalado a partir do catálogo ao vivo do Ollama sem exigir uma entrada models.json escrita manualmente.
Para hosts Ollama conectados, alguns modelos :cloud podem ser utilizáveis por meio de /api/chat
e /api/show antes de aparecerem em /api/tags. Quando você seleciona explicitamente uma
referência completa ollama/<model>:cloud, o OpenClaw valida esse modelo ausente exato com
/api/show e o adiciona ao catálogo de runtime somente se o Ollama confirmar os
metadados do modelo. Erros de digitação ainda falham como modelos desconhecidos em vez de serem criados automaticamente.
infer model run local com uma referência completa de modelo Ollama:
infer model run. Isso envia o prompt e a imagem diretamente para
o modelo de visão Ollama selecionado sem carregar ferramentas de chat, memória ou contexto
de sessão anterior:
model run --file aceita arquivos detectados como image/*, incluindo entradas comuns PNG,
JPEG e WebP. Arquivos que não são imagem são rejeitados antes que o Ollama seja chamado.
Para reconhecimento de fala, use openclaw infer audio transcribe.
Quando você troca uma conversa com /model ollama/<model>, o OpenClaw trata
isso como uma seleção exata do usuário. Se o baseUrl configurado do Ollama estiver
inacessível, a próxima resposta falha com o erro do provedor em vez de responder silenciosamente
a partir de outro modelo de fallback configurado.
Trabalhos Cron isolados fazem uma verificação de segurança local extra antes de iniciarem o
turno do agente. Se o modelo selecionado resolver para um provedor Ollama local, de rede privada ou .local
e /api/tags estiver inacessível, o OpenClaw registra essa execução Cron
como skipped com o ollama/<model> selecionado no texto do erro. O preflight
do endpoint fica em cache por 5 minutos, então vários trabalhos Cron apontados para o mesmo
daemon Ollama parado não disparam todos solicitações de modelo com falha.
Verifique ao vivo o caminho de texto local, o caminho de stream nativo e os embeddings contra
o Ollama local com:
models.providers.ollama explicitamente, ou configurar um provedor remoto personalizado como models.providers.ollama-cloud com api: "ollama", a descoberta automática será ignorada e você precisará definir os modelos manualmente. Provedores personalizados de loopback, como http://127.0.0.2:11434, ainda são tratados como locais. Veja a seção de configuração explícita abaixo.Visão e descrição de imagem
O Plugin Ollama incluído registra o Ollama como um provedor de compreensão de mídia com suporte a imagens. Isso permite que o OpenClaw encaminhe solicitações explícitas de descrição de imagem e padrões configurados de modelos de imagem por meio de modelos de visão Ollama locais ou hospedados. Para visão local, puxe um modelo compatível com imagens:--model deve ser uma referência completa <provider/model>. Quando definido, openclaw infer image describe executa esse modelo diretamente em vez de ignorar a descrição porque o modelo oferece suporte nativo a visão.
Use infer image describe quando quiser o fluxo de provedor de compreensão de imagens do OpenClaw, o agents.defaults.imageModel configurado e o formato de saída de descrição de imagem. Use infer model run --file quando quiser uma sondagem multimodal bruta do modelo com um prompt personalizado e uma ou mais imagens.
Para tornar o Ollama o modelo padrão de compreensão de imagens para mídia recebida, configure agents.defaults.imageModel:
ollama/<model>. Se o mesmo modelo estiver listado em models.providers.ollama.models com input: ["text", "image"] e nenhum outro provedor de imagens configurado expuser esse ID de modelo simples, o OpenClaw também normaliza uma referência imageModel simples, como qwen2.5vl:7b, para ollama/qwen2.5vl:7b. Se mais de um provedor de imagens configurado tiver o mesmo ID simples, use explicitamente o prefixo do provedor.
Modelos de visão locais lentos podem precisar de um timeout de compreensão de imagem maior do que modelos em nuvem. Eles também podem travar ou parar quando o Ollama tenta alocar todo o contexto de visão anunciado em hardware limitado. Defina um timeout de capacidade e limite num_ctx na entrada do modelo quando você só precisar de um turno normal de descrição de imagem:
image que o agente pode chamar durante um turno. models.providers.ollama.timeoutSeconds no nível do provedor ainda controla a proteção da solicitação HTTP subjacente ao Ollama para chamadas normais de modelo.
Verifique ao vivo a ferramenta explícita de imagem contra o Ollama local com:
models.providers.ollama.models manualmente, marque os modelos de visão com suporte a entrada de imagem:
/api/show relata uma capacidade de visão.
Configuração
- Basic (implicit discovery)
- Explicit (manual models)
- Custom base URL
Receitas comuns
Use estas como pontos de partida e substitua os IDs de modelo pelos nomes exatos deollama list ou openclaw models list --provider ollama.
Local model with auto-discovery
Local model with auto-discovery
models.providers.ollama a menos que queira definir modelos manualmente.LAN Ollama host with manual models
LAN Ollama host with manual models
/v1.contextWindow é o orçamento de contexto no lado do OpenClaw. params.num_ctx é enviado ao Ollama para a solicitação. Mantenha-os alinhados quando seu hardware não conseguir rodar o contexto completo anunciado do modelo.Ollama Cloud only
Ollama Cloud only
Cloud plus local through a signed-in daemon
Cloud plus local through a signed-in daemon
ollama signin e deve servir tanto modelos locais quanto modelos :cloud.Multiple Ollama hosts
Multiple Ollama hosts
ollama-large/qwen3.5:27b chegue ao Ollama como qwen3.5:27b.Lean local model profile
Lean local model profile
compat.supportsTools: false only when the model or server reliably fails on tool schemas. It trades agent capability for stability.
localModelLean removes the browser, cron, and message tools from the agent surface, but it does not change Ollama’s runtime context or thinking mode. Pair it with explicit params.num_ctx and params.thinking: false for small Qwen-style thinking models that loop or spend their response budget on hidden reasoning.Seleção de modelo
Depois de configurados, todos os seus modelos Ollama ficam disponíveis:ollama-spark/qwen3:32b, o OpenClaw remove apenas esse prefixo antes de chamar o Ollama, para que o servidor receba qwen3:32b.
Para modelos locais lentos, prefira o ajuste de requisições no escopo do provedor antes de aumentar o tempo limite de runtime do agente inteiro:
timeoutSeconds se aplica à requisição HTTP do modelo, incluindo a configuração da conexão, cabeçalhos, streaming do corpo e o aborto total do fetch protegido. params.keep_alive é encaminhado ao Ollama como keep_alive de nível superior em requisições nativas de /api/chat; defina-o por modelo quando o tempo de carregamento no primeiro turno for o gargalo.
Verificação rápida
127.0.0.1 pelo host usado em baseUrl. Se curl funcionar, mas o OpenClaw não, verifique se o Gateway é executado em outra máquina, contêiner ou conta de serviço.
Pesquisa na Web do Ollama
O OpenClaw oferece suporte a Pesquisa na Web do Ollama como um provedorweb_search incluído.
| Propriedade | Detalhe |
|---|---|
| Host | Usa o host Ollama configurado (models.providers.ollama.baseUrl quando definido; caso contrário, http://127.0.0.1:11434); https://ollama.com usa diretamente a API hospedada |
| Auth | Sem chave para hosts Ollama locais autenticados; OLLAMA_API_KEY ou autenticação de provedor configurada para pesquisa direta em https://ollama.com ou hosts protegidos por autenticação |
| Requisito | Hosts locais/auto-hospedados devem estar em execução e autenticados com ollama signin; a pesquisa hospedada direta exige baseUrl: "https://ollama.com" mais uma chave de API Ollama real |
openclaw onboard ou openclaw configure --section web, ou defina:
/api/experimental/web_search do daemon. Para https://ollama.com, ele chama diretamente o endpoint hospedado /api/web_search.
Configuração avançada
Legacy OpenAI-compatible mode
Legacy OpenAI-compatible mode
api: "openai-completions" explicitamente:params: { streaming: false } na configuração do modelo.Quando api: "openai-completions" é usado com Ollama, o OpenClaw injeta options.num_ctx por padrão para que o Ollama não recue silenciosamente para uma janela de contexto de 4096. Se o seu proxy/upstream rejeitar campos options desconhecidos, desative este comportamento:Context windows
Context windows
PARAMETER num_ctx de Modelfiles personalizados. Caso contrário, ele recorre à janela de contexto padrão do Ollama usada pelo OpenClaw.Você pode definir padrões contextWindow, contextTokens e maxTokens no nível do provedor para todos os modelos sob esse provedor Ollama e, em seguida, substituí-los por modelo quando necessário. contextWindow é o orçamento de prompt e Compaction do OpenClaw. Requisições nativas do Ollama deixam options.num_ctx indefinido, a menos que você configure explicitamente params.num_ctx, para que o Ollama possa aplicar seu próprio padrão baseado no modelo, em OLLAMA_CONTEXT_LENGTH ou em VRAM. Para limitar ou forçar o contexto de runtime por requisição do Ollama sem reconstruir um Modelfile, defina params.num_ctx; valores inválidos, zero, negativos e não finitos são ignorados. O adaptador Ollama compatível com OpenAI ainda injeta options.num_ctx por padrão a partir do params.num_ctx ou contextWindow configurado; desative isso com injectNumCtxForOpenAICompat: false se o seu upstream rejeitar options.Entradas de modelos Ollama nativas também aceitam as opções comuns de runtime do Ollama em params, incluindo temperature, top_p, top_k, min_p, num_predict, stop, repeat_penalty, num_batch, num_thread e use_mmap. O OpenClaw encaminha apenas chaves de requisição do Ollama, portanto parâmetros de runtime do OpenClaw, como streaming, não vazam para o Ollama. Use params.think ou params.thinking para enviar think de nível superior do Ollama; false desativa o thinking no nível da API para modelos de thinking no estilo Qwen.agents.defaults.models["ollama/<model>"].params.num_ctx por modelo também funciona. Se ambos estiverem configurados, a entrada explícita de modelo do provedor vence o padrão do agente.Thinking control
Thinking control
think de nível superior, não options.think. Modelos descobertos automaticamente cuja resposta de /api/show inclui o recurso thinking expõem /think low, /think medium, /think high e /think max; modelos sem thinking expõem apenas /think off.params.think ou params.thinking por modelo pode desativar ou forçar o thinking da API Ollama para um modelo configurado específico. O OpenClaw preserva esses parâmetros explícitos do modelo quando a execução ativa tem apenas o padrão implícito off; comandos de runtime diferentes de off, como /think medium, ainda substituem a execução ativa.Reasoning models
Reasoning models
deepseek-r1, reasoning ou think como capazes de raciocínio por padrão.Model costs
Model costs
Memory embeddings
Memory embeddings
/api/embed do Ollama e agrupa
vários blocos de memória em uma requisição input quando possível.| Propriedade | Valor |
|---|---|
| Modelo padrão | nomic-embed-text |
| Pull automático | Sim — o modelo de embedding é baixado automaticamente se não estiver presente localmente |
nomic-embed-text, qwen3-embedding e mxbai-embed-large. Lotes de documentos de memória permanecem brutos para que índices existentes não precisem de uma migração de formato.Para selecionar o Ollama como o provedor de embedding de pesquisa de memória:Configuração de streaming
Configuração de streaming
/api/chat) por padrão, que oferece suporte completo a streaming e chamada de ferramentas simultaneamente. Nenhuma configuração especial é necessária.Para solicitações nativas de /api/chat, o OpenClaw também encaminha o controle de raciocínio diretamente ao Ollama: /think off e openclaw agent --thinking off enviam think: false no nível superior, a menos que um valor explícito de modelo params.think/params.thinking esteja configurado, enquanto /think low|medium|high enviam a string de esforço think correspondente no nível superior. /think max é mapeado para o maior esforço nativo do Ollama, think: "high".Solução de problemas
Loop de falha no WSL2 (reinicializações repetidas)
Loop de falha no WSL2 (reinicializações repetidas)
ollama.service com Restart=always. Se esse serviço iniciar automaticamente e carregar um modelo com GPU durante a inicialização do WSL2, o Ollama pode manter memória do host fixada enquanto o modelo carrega. A recuperação de memória do Hyper-V nem sempre consegue recuperar essas páginas fixadas, então o Windows pode encerrar a VM WSL2, o systemd inicia o Ollama novamente, e o loop se repete.Evidências comuns:- reinicializações ou encerramentos repetidos do WSL2 pelo lado do Windows
- CPU alta em
app.sliceouollama.servicepouco depois da inicialização do WSL2 - SIGTERM do systemd em vez de um evento do OOM-killer do Linux
ollama.service habilitado com Restart=always e marcadores CUDA visíveis.Mitigação:%USERPROFILE%\.wslconfig no lado do Windows, depois execute wsl --shutdown:Ollama não detectado
Ollama não detectado
OLLAMA_API_KEY (ou um perfil de autenticação) e que você não tenha definido uma entrada explícita models.providers.ollama:Nenhum modelo disponível
Nenhum modelo disponível
models.providers.ollama.Conexão recusada
Conexão recusada
Host remoto funciona com curl, mas não com OpenClaw
Host remoto funciona com curl, mas não com OpenClaw
baseUrlaponta paralocalhost, mas o Gateway é executado no Docker ou em outro host.- A URL usa
/v1, o que seleciona o comportamento compatível com OpenAI em vez do Ollama nativo. - O host remoto precisa de alterações de firewall ou vinculação à LAN no lado do Ollama.
- O modelo está presente no daemon do seu laptop, mas não no daemon remoto.
Modelo gera JSON de ferramenta como texto
Modelo gera JSON de ferramenta como texto
compat.supportsTools: false nessa entrada de modelo e teste novamente.Kimi ou GLM retorna símbolos ilegíveis
Kimi ou GLM retorna símbolos ilegíveis
Cloud + Local ou Cloud only; depois, tente uma sessão nova e um modelo de fallback:Modelo local frio atinge o tempo limite
Modelo local frio atinge o tempo limite
timeoutSeconds também estende o tempo limite protegido de conexão do Undici para este provedor.Modelo de contexto grande é lento demais ou fica sem memória
Modelo de contexto grande é lento demais ou fica sem memória
params.num_ctx. Limite tanto o orçamento do OpenClaw quanto o contexto de solicitação do Ollama quando quiser latência previsível até o primeiro token:contextWindow primeiro se o OpenClaw estiver enviando prompt demais. Reduza params.num_ctx se o Ollama estiver carregando um contexto de runtime grande demais para a máquina. Reduza maxTokens se a geração estiver demorando demais.