inferrs
inferrs can serve local models behind an OpenAI-compatible/v1 API. OpenClaw works with inferrs through the generic
openai-completions path.
inferrs is currently best treated as a custom self-hosted OpenAI-compatible
backend, not a dedicated OpenClaw provider plugin.
Getting started
Full config example
This example uses Gemma 4 on a localinferrs server.
Advanced
Why requiresStringContent matters
Why requiresStringContent matters
Some OpenClaw will flatten pure text content parts into plain strings before sending
the request.
inferrs Chat Completions routes accept only string
messages[].content, not structured content-part arrays.Gemma and tool-schema caveat
Gemma and tool-schema caveat
Some current That disables OpenClaw’s tool schema surface for the model and can reduce prompt
pressure on stricter local backends.If tiny direct requests still work but normal OpenClaw agent turns continue to
crash inside
inferrs + Gemma combinations accept small direct
/v1/chat/completions requests but still fail on full OpenClaw agent-runtime
turns.If that happens, try this first:inferrs, the remaining issue is usually upstream model/server
behavior rather than OpenClaw’s transport layer.Manual smoke test
Manual smoke test
Once configured, test both layers:If the first command works but the second fails, check the troubleshooting section below.
Proxy-style behavior
Proxy-style behavior
inferrs is treated as a proxy-style OpenAI-compatible /v1 backend, not a
native OpenAI endpoint.- Native OpenAI-only request shaping does not apply here
- No
service_tier, no Responsesstore, no prompt-cache hints, and no OpenAI reasoning-compat payload shaping - Hidden OpenClaw attribution headers (
originator,version,User-Agent) are not injected on custominferrsbase URLs
Troubleshooting
curl /v1/models fails
curl /v1/models fails
inferrs is not running, not reachable, or not bound to the expected
host/port. Make sure the server is started and listening on the address you
configured.messages[].content expected a string
messages[].content expected a string
Set
compat.requiresStringContent: true in the model entry. See the
requiresStringContent section above for details.Direct /v1/chat/completions calls pass but openclaw infer model run fails
Direct /v1/chat/completions calls pass but openclaw infer model run fails
Try setting
compat.supportsTools: false to disable the tool schema surface.
See the Gemma tool-schema caveat above.inferrs still crashes on larger agent turns
inferrs still crashes on larger agent turns
If OpenClaw no longer gets schema errors but
inferrs still crashes on larger
agent turns, treat it as an upstream inferrs or model limitation. Reduce
prompt pressure or switch to a different local backend or model.See also
Local models
Running OpenClaw against local model servers.
Gateway troubleshooting
Debugging local OpenAI-compatible backends that pass probes but fail agent runs.
Model providers
Overview of all providers, model refs, and failover behavior.