Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

inferrs kann lokale Modelle hinter einer OpenAI-kompatiblen /v1-API bereitstellen. OpenClaw funktioniert mit inferrs über den generischen openai-completions-Pfad.
EigenschaftWert
Provider-IDinferrs (benutzerdefiniert; unter models.providers.inferrs konfigurieren)
Pluginkeines — inferrs ist kein gebündeltes OpenClaw-Provider-Plugin
Auth-UmgebungsvariableOptional. Jeder Wert funktioniert, wenn Ihr inferrs-Server keine Authentifizierung hat
APIOpenAI-kompatibel (openai-completions)
Empfohlene Basis-URLhttp://127.0.0.1:8080/v1 (oder dort, wo Ihr inferrs-Server läuft)
inferrs sollte derzeit am besten als benutzerdefiniertes, selbst gehostetes OpenAI-kompatibles Backend behandelt werden, nicht als dediziertes OpenClaw-Provider-Plugin. Sie konfigurieren es über models.providers.inferrs und nicht über ein Auswahl-Flag beim Onboarding. Wenn Sie ein echtes gebündeltes Plugin mit automatischer Erkennung benötigen, siehe SGLang oder vLLM.

Erste Schritte

1

inferrs mit einem Modell starten

inferrs serve google/gemma-4-E2B-it \
  --host 127.0.0.1 \
  --port 8080 \
  --device metal
2

Prüfen, ob der Server erreichbar ist

curl http://127.0.0.1:8080/health
curl http://127.0.0.1:8080/v1/models
3

Einen OpenClaw-Provider-Eintrag hinzufügen

Fügen Sie einen expliziten Provider-Eintrag hinzu und richten Sie Ihr Standardmodell darauf aus. 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,
            },
          },
        ],
      },
    },
  },
}

Start bei Bedarf

Inferrs kann auch von OpenClaw nur dann gestartet werden, wenn ein inferrs/...-Modell ausgewählt ist. Fügen Sie localService demselben Provider-Eintrag hinzu:
{
  models: {
    providers: {
      inferrs: {
        baseUrl: "http://127.0.0.1:8080/v1",
        apiKey: "inferrs-local",
        api: "openai-completions",
        timeoutSeconds: 300,
        localService: {
          command: "/opt/homebrew/bin/inferrs",
          args: [
            "serve",
            "google/gemma-4-E2B-it",
            "--host",
            "127.0.0.1",
            "--port",
            "8080",
            "--device",
            "metal",
          ],
          healthUrl: "http://127.0.0.1:8080/v1/models",
          readyTimeoutMs: 180000,
          idleStopMs: 0,
        },
        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,
            },
          },
        ],
      },
    },
  },
}
command muss absolut sein. Verwenden Sie which inferrs auf dem Gateway-Host und tragen Sie diesen Pfad in die Konfiguration ein. Die vollständige Feldreferenz finden Sie unter Lokale Modelldienste.

Erweiterte Konfiguration

Einige inferrs-Chat-Completions-Routen akzeptieren nur stringbasierte messages[].content, keine strukturierten Content-Part-Arrays.
Wenn OpenClaw-Läufe mit einem Fehler wie diesem fehlschlagen:
messages[1].content: invalid type: sequence, expected a string
setzen Sie compat.requiresStringContent: true in Ihrem Modelleintrag.
compat: {
  requiresStringContent: true
}
OpenClaw fasst reine Text-Content-Parts vor dem Senden der Anfrage zu einfachen Zeichenketten zusammen.
Einige aktuelle Kombinationen aus inferrs und Gemma akzeptieren kleine direkte /v1/chat/completions-Anfragen, schlagen aber weiterhin bei vollständigen OpenClaw-Agent-Runtime- Turns fehl.Wenn das geschieht, versuchen Sie zuerst Folgendes:
compat: {
  requiresStringContent: true,
  supportsTools: false
}
Dadurch wird die Tool-Schema-Oberfläche von OpenClaw für das Modell deaktiviert und die Prompt- Belastung für strengere lokale Backends kann reduziert werden.Wenn sehr kleine direkte Anfragen weiterhin funktionieren, normale OpenClaw-Agent-Turns jedoch innerhalb von inferrs abstürzen, liegt das verbleibende Problem in der Regel am Upstream-Modell- oder Serververhalten und nicht an der Transportschicht von OpenClaw.
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 jedoch fehlschlägt, prüfen Sie den Abschnitt zur Fehlerbehebung unten.
inferrs wird als Proxy-artiges OpenAI-kompatibles /v1-Backend behandelt, nicht als nativer OpenAI-Endpunkt.
  • Native, nur für OpenAI geltende Anfrageformung wird hier nicht angewendet
  • Kein service_tier, kein Responses-store, keine Prompt-Cache-Hinweise und keine OpenAI-Reasoning-Kompatibilitäts-Payload-Formung
  • Verborgene OpenClaw-Attributions-Header (originator, version, User-Agent) werden bei benutzerdefinierten inferrs-Basis-URLs nicht eingefügt

Fehlerbehebung

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.
Setzen Sie compat.requiresStringContent: true im Modelleintrag. Details finden Sie im Abschnitt zu requiresStringContent oben.
Versuchen Sie, compat.supportsTools: false zu setzen, um die Tool-Schema-Oberfläche zu deaktivieren. Siehe den Hinweis zum Gemma-Tool-Schema oben.
Wenn OpenClaw keine Schemafehler mehr erhält, inferrs bei größeren Agent-Turns aber weiterhin abstürzt, behandeln Sie dies als Upstream-inferrs- oder Modellbeschränkung. Reduzieren Sie die Prompt-Belastung oder wechseln Sie zu einem anderen lokalen Backend oder Modell.
Allgemeine Hilfe finden Sie unter Fehlerbehebung und FAQ.

Verwandte Themen

Lokale Modelle

OpenClaw mit lokalen Modellservern ausführen.

Lokale Modelldienste

Lokale Modellserver bei Bedarf für konfigurierte Provider starten.

Gateway-Fehlerbehebung

Debugging lokaler OpenAI-kompatibler Backends, die Probes bestehen, aber bei Agent-Läufen fehlschlagen.

Modellauswahl

Überblick über alle Provider, Modellreferenzen und Failover-Verhalten.