inferrs
inferrs può servire modelli locali dietro un’API/v1 compatibile con OpenAI. OpenClaw funziona con inferrs tramite il percorso generico
openai-completions.
Attualmente inferrs è trattato al meglio come backend personalizzato self-hosted compatibile con OpenAI,
non come un plugin provider dedicato di OpenClaw.
Avvio rapido
- Avvia
inferrscon un modello.
- Verifica che il server sia raggiungibile.
- Aggiungi una voce provider OpenClaw esplicita e fai puntare a essa il tuo modello predefinito.
Esempio completo di configurazione
Questo esempio usa Gemma 4 su un serverinferrs locale.
Perché requiresStringContent è importante
Alcuni percorsi Chat Completions di inferrs accettano solo
messages[].content come stringa, non array strutturati di parti di contenuto.
Se le esecuzioni OpenClaw falliscono con un errore come:
Gemma e limitazione dello schema degli strumenti
Alcune combinazioni attuali diinferrs + Gemma accettano piccole richieste dirette
/v1/chat/completions ma continuano a fallire nei turni completi del runtime agent di OpenClaw.
Se succede, prova prima questo:
inferrs, il problema rimanente è di solito un comportamento upstream del modello/server
più che del livello di trasporto di OpenClaw.
Smoke test manuale
Una volta configurato, testa entrambi i livelli:Risoluzione dei problemi
curl /v1/modelsfallisce:inferrsnon è in esecuzione, non è raggiungibile oppure non è associato all’host/porta previsti.messages[].content ... expected a string: impostacompat.requiresStringContent: true.- Le piccole chiamate dirette a
/v1/chat/completionspassano, maopenclaw infer model runfallisce: provacompat.supportsTools: false. - OpenClaw non riceve più errori di schema, ma
inferrscontinua ad andare in crash su turni agent più grandi: trattalo come una limitazione upstream diinferrso del modello e riduci la pressione del prompt oppure cambia backend/modello locale.
Comportamento in stile proxy
inferrs è trattato come backend /v1 compatibile con OpenAI in stile proxy, non come
endpoint OpenAI nativo.
- qui non si applica la modellazione delle richieste solo OpenAI native
- niente
service_tier, nientestoredi Responses, niente hint per la prompt-cache e nessuna modellazione del payload di compatibilità reasoning di OpenAI - gli header di attribuzione nascosti di OpenClaw (
originator,version,User-Agent) non vengono iniettati su URL baseinferrspersonalizzati