Modelos locais
Local é viável, mas o OpenClaw espera um contexto grande + defesas fortes contra injeção de prompt. Placas pequenas truncam o contexto e enfraquecem a segurança. Mire alto: ≥2 Mac Studios no máximo ou um rig de GPU equivalente (~US$ 30 mil+). Uma única GPU de 24 GB funciona apenas para prompts mais leves, com latência maior. Use a maior variante de modelo / em tamanho completo que você conseguir executar; checkpoints agressivamente quantizados ou “pequenos” aumentam o risco de injeção de prompt (veja Segurança). Se você quer a configuração local com menos atrito, comece com LM Studio ou Ollama eopenclaw onboard. Esta página é o guia opinativo para stacks locais mais avançadas e servidores locais personalizados compatíveis com OpenAI.
Recomendado: LM Studio + modelo local grande (API Responses)
A melhor stack local atualmente. Carregue um modelo grande no LM Studio (por exemplo, uma build completa de Qwen, DeepSeek ou Llama), ative o servidor local (padrãohttp://127.0.0.1:1234) e use a API Responses para manter o raciocínio separado do texto final.
- Instale o LM Studio: https://lmstudio.ai
- No LM Studio, baixe a maior build de modelo disponível (evite variantes “small”/fortemente quantizadas), inicie o servidor e confirme que
http://127.0.0.1:1234/v1/modelso lista. - Substitua
my-local-modelpelo ID real do modelo mostrado no LM Studio. - Mantenha o modelo carregado; o carregamento a frio adiciona latência de inicialização.
- Ajuste
contextWindow/maxTokensse a sua build do LM Studio for diferente. - Para WhatsApp, mantenha a API Responses para que apenas o texto final seja enviado.
models.mode: "merge" para que os fallbacks continuem disponíveis.
Configuração híbrida: primário hospedado, fallback local
Local primeiro com rede de segurança hospedada
Troque a ordem do primário e dos fallbacks; mantenha o mesmo blocoproviders e models.mode: "merge" para poder recorrer ao Sonnet ou Opus quando a máquina local estiver fora do ar.
Hospedagem regional / roteamento de dados
- Variantes hospedadas de MiniMax/Kimi/GLM também existem no OpenRouter com endpoints fixados por região (por exemplo, hospedados nos EUA). Escolha a variante regional lá para manter o tráfego na jurisdição desejada, enquanto ainda usa
models.mode: "merge"para fallbacks de Anthropic/OpenAI. - Somente local continua sendo o caminho mais forte para privacidade; o roteamento regional hospedado é o meio-termo quando você precisa de recursos do provedor, mas quer controle sobre o fluxo de dados.
Outros proxies locais compatíveis com OpenAI
vLLM, LiteLLM, OAI-proxy ou gateways personalizados funcionam se expuserem um endpoint/v1 no estilo OpenAI. Substitua o bloco do provedor acima pelo seu endpoint e ID de modelo:
models.mode: "merge" para que os modelos hospedados continuem disponíveis como fallbacks.
Observação de comportamento para backends locais/proxy com /v1:
- O OpenClaw trata esses backends como rotas proxy compatíveis com OpenAI, não como endpoints nativos da OpenAI
- a modelagem de requisição exclusiva da OpenAI nativa não se aplica aqui: sem
service_tier, semstoreda Responses, sem modelagem de payload de compatibilidade de raciocínio da OpenAI e sem dicas de cache de prompt - cabeçalhos ocultos de atribuição do OpenClaw (
originator,version,User-Agent) não são injetados nesses URLs de proxy personalizados
- Alguns servidores aceitam apenas
messages[].contentcomo string em Chat Completions, e não arrays estruturados de partes de conteúdo. Definamodels.providers.<provider>.models[].compat.requiresStringContent: truepara esses endpoints. - Alguns backends locais menores ou mais rígidos são instáveis com o formato completo de prompt do runtime de agente do OpenClaw, especialmente quando esquemas de ferramentas estão incluídos. Se o backend funciona para chamadas diretas pequenas a
/v1/chat/completions, mas falha em turnos normais de agente do OpenClaw, primeiro tenteagents.defaults.experimental.localModelLean: truepara remover ferramentas padrão pesadas comobrowser,cronemessage; esta é uma flag experimental, não uma configuração estável do modo padrão. Veja Recursos experimentais. Se isso ainda falhar, tentemodels.providers.<provider>.models[].compat.supportsTools: false. - Se o backend ainda falhar apenas em execuções maiores do OpenClaw, o problema restante geralmente é capacidade do modelo/servidor upstream ou um bug do backend, não a camada de transporte do OpenClaw.
Solução de problemas
- O Gateway consegue alcançar o proxy?
curl http://127.0.0.1:1234/v1/models. - O modelo do LM Studio foi descarregado? Recarregue; inicialização a frio é uma causa comum de “travamento”.
- O OpenClaw avisa quando a janela de contexto detectada fica abaixo de 32k e bloqueia abaixo de 16k. Se você atingir essa verificação prévia, aumente o limite de contexto do servidor/modelo ou escolha um modelo maior.
- Erros de contexto? Reduza
contextWindowou aumente o limite do seu servidor. - O servidor compatível com OpenAI retorna
messages[].content ... expected a string? Adicionecompat.requiresStringContent: truenessa entrada do modelo. - Chamadas diretas pequenas a
/v1/chat/completionsfuncionam, masopenclaw infer model runfalha com Gemma ou outro modelo local? Primeiro desative os esquemas de ferramentas comcompat.supportsTools: falsee teste novamente. Se o servidor ainda falhar apenas com prompts maiores do OpenClaw, trate isso como uma limitação do servidor/modelo upstream. - Segurança: modelos locais ignoram filtros do lado do provedor; mantenha os agentes restritos e a Compaction ativada para limitar o raio de impacto da injeção de prompt.