Naar hoofdinhoud gaan

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 kan lokale modellen aanbieden achter een OpenAI-compatibele /v1-API. OpenClaw werkt met inferrs via het generieke openai-completions-pad.
EigenschapWaarde
Provider-idinferrs (aangepast; configureer onder models.providers.inferrs)
Plugingeen — inferrs is geen gebundelde OpenClaw-provider-Plugin
Auth-env-varOptioneel. Elke waarde werkt als je inferrs-server geen auth heeft
APIOpenAI-compatibel (openai-completions)
Voorgestelde base-URLhttp://127.0.0.1:8080/v1 (of waar je inferrs-server ook draait)
inferrs kan momenteel het beste worden behandeld als een aangepaste, zelf gehoste OpenAI-compatibele backend, niet als een speciale OpenClaw-provider-Plugin. Je configureert dit via models.providers.inferrs in plaats van een onboarding-keuzevlag. Als je een echte gebundelde Plugin met automatische detectie nodig hebt, zie SGLang of vLLM.

Aan de slag

1

Start inferrs met een model

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

Controleer of de server bereikbaar is

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

Voeg een OpenClaw-providervermelding toe

Voeg een expliciete providervermelding toe en laat je standaardmodel ernaar verwijzen. Zie het volledige configuratievoorbeeld hieronder.

Volledig configuratievoorbeeld

Dit voorbeeld gebruikt Gemma 4 op een lokale 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,
            },
          },
        ],
      },
    },
  },
}

Opstarten op aanvraag

Inferrs kan ook alleen door OpenClaw worden gestart wanneer een inferrs/...-model is geselecteerd. Voeg localService toe aan dezelfde providervermelding:
{
  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 moet absoluut zijn. Gebruik which inferrs op de Gateway-host en zet dat pad in de configuratie. Zie voor de volledige veldreferentie Lokale modelservices.

Geavanceerde configuratie

Sommige inferrs Chat Completions-routes accepteren alleen string messages[].content, geen gestructureerde arrays met contentonderdelen.
Als OpenClaw-runs mislukken met een fout zoals:
messages[1].content: invalid type: sequence, expected a string
stel dan compat.requiresStringContent: true in je modelvermelding in.
compat: {
  requiresStringContent: true
}
OpenClaw maakt van pure tekstcontentonderdelen platte strings voordat het verzoek wordt verzonden.
Sommige huidige combinaties van inferrs + Gemma accepteren kleine directe /v1/chat/completions-verzoeken, maar mislukken nog steeds bij volledige OpenClaw agent-runtime beurten.Als dat gebeurt, probeer dan eerst dit:
compat: {
  requiresStringContent: true,
  supportsTools: false
}
Dat schakelt OpenClaw’s toolschema-oppervlak voor het model uit en kan de promptdruk op strengere lokale backends verlagen.Als heel kleine directe verzoeken nog steeds werken, maar normale OpenClaw-agentbeurten blijven crashen binnen inferrs, ligt het resterende probleem meestal bij upstream model-/servergedrag en niet bij OpenClaw’s transportlaag.
Test na configuratie beide lagen:
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
Als de eerste opdracht werkt maar de tweede mislukt, raadpleeg dan de probleemoplossingssectie hieronder.
inferrs wordt behandeld als een proxy-achtige OpenAI-compatibele /v1-backend, niet als een native OpenAI-eindpunt.
  • Native OpenAI-specifieke request shaping is hier niet van toepassing
  • Geen service_tier, geen Responses store, geen prompt-cache-hints en geen OpenAI reasoning-compat payload shaping
  • Verborgen OpenClaw-attributieheaders (originator, version, User-Agent) worden niet geïnjecteerd op aangepaste inferrs base-URL’s

Probleemoplossing

inferrs draait niet, is niet bereikbaar of is niet gebonden aan de verwachte host/poort. Zorg dat de server is gestart en luistert op het adres dat je hebt geconfigureerd.
Stel compat.requiresStringContent: true in de modelvermelding in. Zie de sectie requiresStringContent hierboven voor details.
Probeer compat.supportsTools: false in te stellen om het toolschema-oppervlak uit te schakelen. Zie de kanttekening bij Gemma-toolschema’s hierboven.
Als OpenClaw geen schemafouten meer krijgt, maar inferrs nog steeds crasht bij grotere agentbeurten, behandel dit dan als een upstream inferrs- of modelbeperking. Verminder de promptdruk of stap over op een andere lokale backend of een ander model.
Zie voor algemene hulp Probleemoplossing en FAQ.

Gerelateerd

Lokale modellen

OpenClaw uitvoeren tegen lokale modelservers.

Lokale modelservices

Lokale modelservers op aanvraag starten voor geconfigureerde providers.

Gateway-probleemoplossing

Lokale OpenAI-compatibele backends debuggen die probes doorstaan maar agent-runs laten mislukken.

Modelselectie

Overzicht van alle providers, modelrefs en failovergedrag.