Providers
Leitet ab
inferrs kann lokale Modelle hinter einer OpenAI-kompatiblen /v1-API bereitstellen. OpenClaw funktioniert mit inferrs über den generischen openai-completions-Pfad.
| Eigenschaft | Wert |
|---|---|
| Provider-ID | inferrs (benutzerdefiniert; unter models.providers.inferrs konfigurieren) |
| Plugin | keines — inferrs ist kein gebündeltes OpenClaw-Provider-Plugin |
| Auth-Umgebungsvariable | Optional. Jeder Wert funktioniert, wenn Ihr inferrs-Server keine Authentifizierung verwendet |
| API | OpenAI-kompatibel (openai-completions) |
| Vorgeschlagene Basis-URL | http://127.0.0.1:8080/v1 (oder dort, wo Ihr inferrs-Server läuft) |
Erste Schritte
inferrs mit einem Modell starten
inferrs serve google/gemma-4-E2B-it \
--host 127.0.0.1 \
--port 8080 \
--device metal
Prüfen, ob der Server erreichbar ist
curl http://127.0.0.1:8080/health
curl http://127.0.0.1:8080/v1/models
Einen OpenClaw-Provider-Eintrag hinzufügen
Fügen Sie einen expliziten Provider-Eintrag hinzu und verweisen Sie mit Ihrem Standardmodell darauf. Siehe das vollständige Konfigurationsbeispiel unten.
Vollständiges Konfigurationsbeispiel
Dieses Beispiel verwendet Gemma 4 auf einem lokalen inferrs-Server.
{
agents: {
defaults: {
model: { primary: "inferrs/google/gemma-4-E2B-it" },
models: {
"inferrs/google/gemma-4-E2B-it": {
alias: "Gemma 4 (inferrs)",
},
},
},
},
models: {
mode: "merge",
providers: {
inferrs: {
baseUrl: "http://127.0.0.1:8080/v1",
apiKey: "inferrs-local",
api: "openai-completions",
models: [
{
id: "google/gemma-4-E2B-it",
name: "Gemma 4 E2B (inferrs)",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 131072,
maxTokens: 4096,
compat: {
requiresStringContent: true,
},
},
],
},
},
},
}
Erweiterte Konfiguration
Warum requiresStringContent wichtig ist
Einige inferrs-Chat-Completions-Routen akzeptieren nur string
messages[].content, keine strukturierten Content-Part-Arrays.
compat: {
requiresStringContent: true
}
OpenClaw reduziert reine Text-Content-Parts auf einfache Strings, bevor die Anfrage gesendet wird.
Hinweis zu Gemma und Tool-Schema
Einige aktuelle Kombinationen aus inferrs und Gemma akzeptieren kleine direkte
/v1/chat/completions-Anfragen, schlagen aber bei vollständigen OpenClaw-Agent-Runtime-
Durchläufen weiterhin fehl.
Wenn das passiert, versuchen Sie zuerst Folgendes:
compat: {
requiresStringContent: true,
supportsTools: false
}
Dadurch wird die Tool-Schema-Oberfläche von OpenClaw für das Modell deaktiviert und kann den Prompt- Druck auf strengere lokale Backends verringern.
Wenn sehr kleine direkte Anfragen weiterhin funktionieren, normale OpenClaw-Agent-Durchläufe aber
weiterhin innerhalb von inferrs abstürzen, liegt das verbleibende Problem meist am Verhalten des
Upstream-Modells oder -Servers und nicht an der Transportschicht von OpenClaw.
Manueller Smoke-Test
Testen Sie nach der Konfiguration beide Ebenen:
curl http://127.0.0.1:8080/v1/chat/completions \
-H 'content-type: application/json' \
-d '{"model":"google/gemma-4-E2B-it","messages":[{"role":"user","content":"What is 2 + 2?"}],"stream":false}'
openclaw infer model run \
--model inferrs/google/gemma-4-E2B-it \
--prompt "What is 2 + 2? Reply with one short sentence." \
--json
Wenn der erste Befehl funktioniert, der zweite aber fehlschlägt, prüfen Sie den Abschnitt zur Fehlerbehebung unten.
Proxy-ähnliches Verhalten
inferrs wird als Proxy-ähnliches OpenAI-kompatibles /v1-Backend behandelt, nicht als
nativer OpenAI-Endpunkt.
- Nur für natives OpenAI geltende Anfrageformung gilt hier nicht
- Kein
service_tier, kein Responses-store, keine Prompt-Cache-Hinweise und keine OpenAI-Reasoning-Kompatibilitäts-Payload-Formung - Versteckte OpenClaw-Attributions-Header (
originator,version,User-Agent) werden bei benutzerdefinierteninferrs-Basis-URLs nicht injiziert
Fehlerbehebung
curl /v1/models schlägt fehl
inferrs läuft nicht, ist nicht erreichbar oder ist nicht an den erwarteten
Host/Port gebunden. Stellen Sie sicher, dass der Server gestartet ist und auf der von Ihnen
konfigurierten Adresse lauscht.
messages[].content erwartet einen string
Setzen Sie compat.requiresStringContent: true im Modelleintrag. Weitere Details finden Sie
oben im Abschnitt requiresStringContent.
Direkte /v1/chat/completions-Aufrufe funktionieren, aber openclaw infer model run schlägt fehl
Versuchen Sie, compat.supportsTools: false zu setzen, um die Tool-Schema-Oberfläche zu deaktivieren.
Siehe den Hinweis zum Gemma-Tool-Schema oben.
inferrs stürzt bei größeren Agent-Durchläufen weiterhin ab
Wenn OpenClaw keine Schemafehler mehr erhält, inferrs aber bei größeren
Agent-Durchläufen weiterhin abstürzt, behandeln Sie dies als Upstream-inferrs- oder Modellbeschränkung. Verringern Sie
den Prompt-Druck oder wechseln Sie zu einem anderen lokalen Backend oder Modell.