Lokale Modelle

Lokale Modelle sind machbar, aber OpenClaw braucht viel Context und starke Abwehr gegen Prompt Injection. Kleine Grafikkarten kürzen den Context und schwächen die Sicherheit. Ziel hoch: mindestens 2 voll ausgestattete Mac Studios oder ein vergleichbares GPU-Rig (~30.000 $+). Eine einzelne 24 GB GPU reicht nur für leichtere Prompts mit höherer Latenz. Nimm die größte / vollständige Modellvariante, die du laufen lassen kannst; stark quantisierte oder “kleine” Checkpoints erhöhen das Prompt-Injection-Risiko (siehe Sicherheit).

Empfohlen: LM Studio + MiniMax M2.1 (Responses API, Vollversion)

Der beste aktuelle lokale Stack. Lade MiniMax M2.1 in LM Studio, aktiviere den lokalen Server (Standard http://127.0.0.1:1234) und nutze die Responses API, um Reasoning vom finalen Text zu trennen.

{
  agents: {
    defaults: {
      model: { primary: "lmstudio/minimax-m2.1-gs32" },
      models: {
        "anthropic/claude-opus-4-5": { alias: "Opus" },
        "lmstudio/minimax-m2.1-gs32": { alias: "Minimax" },
      },
    },
  },
  models: {
    mode: "merge",
    providers: {
      lmstudio: {
        baseUrl: "http://127.0.0.1:1234/v1",
        apiKey: "lmstudio",
        api: "openai-responses",
        models: [
          {
            id: "minimax-m2.1-gs32",
            name: "MiniMax M2.1 GS32",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 196608,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

Setup-Checkliste

  • LM Studio installieren: https://lmstudio.ai
  • In LM Studio den größten verfügbaren MiniMax M2.1 Build herunterladen (vermeide “small”/stark quantisierte Varianten), Server starten und prüfen, ob http://127.0.0.1:1234/v1/models das Modell anzeigt.
  • Modell geladen lassen; Kaltstart verursacht Startverzögerung.
  • contextWindow/maxTokens anpassen, falls dein LM Studio Build abweicht.
  • Für WhatsApp bei der Responses API bleiben, damit nur der finale Text gesendet wird.

Behalte gehostete Modelle konfiguriert, auch wenn du lokal arbeitest; nutze models.mode: "merge", damit Fallbacks verfügbar bleiben.

Hybrid-Konfiguration: gehostetes Primärmodell, lokaler Fallback

{
  agents: {
    defaults: {
      model: {
        primary: "anthropic/claude-sonnet-4-5",
        fallbacks: ["lmstudio/minimax-m2.1-gs32", "anthropic/claude-opus-4-5"],
      },
      models: {
        "anthropic/claude-sonnet-4-5": { alias: "Sonnet" },
        "lmstudio/minimax-m2.1-gs32": { alias: "MiniMax Local" },
        "anthropic/claude-opus-4-5": { alias: "Opus" },
      },
    },
  },
  models: {
    mode: "merge",
    providers: {
      lmstudio: {
        baseUrl: "http://127.0.0.1:1234/v1",
        apiKey: "lmstudio",
        api: "openai-responses",
        models: [
          {
            id: "minimax-m2.1-gs32",
            name: "MiniMax M2.1 GS32",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 196608,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

Local-first mit gehostetem Sicherheitsnetz

Tausche die Reihenfolge von Primary und Fallback; behalte den gleichen Providers-Block und models.mode: "merge", damit du auf Sonnet oder Opus zurückfallen kannst, wenn die lokale Box nicht läuft.

Regionales Hosting / Daten-Routing

  • Gehostete MiniMax/Kimi/GLM-Varianten gibt es auch auf OpenRouter mit regionalen Endpoints (z.B. US-gehostet). Wähle dort die regionale Variante, um den Traffic in deiner gewünschten Jurisdiktion zu halten, während du weiterhin models.mode: "merge" für Anthropic/OpenAI-Fallbacks nutzt.
  • Rein lokal bleibt der stärkste Datenschutz-Pfad; gehostetes regionales Routing ist der Mittelweg, wenn du Provider-Features brauchst, aber die Kontrolle über den Datenfluss behalten willst.

Andere OpenAI-kompatible lokale Proxies

vLLM, LiteLLM, OAI-proxy oder eigene Gateways funktionieren, wenn sie einen OpenAI-kompatiblen /v1 Endpoint bereitstellen. Ersetze den Provider-Block oben mit deinem Endpoint und deiner Model-ID:

{
  models: {
    mode: "merge",
    providers: {
      local: {
        baseUrl: "http://127.0.0.1:8000/v1",
        apiKey: "sk-local",
        api: "openai-responses",
        models: [
          {
            id: "my-local-model",
            name: "Local Model",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 120000,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

Behalte models.mode: "merge", damit gehostete Modelle als Fallbacks verfügbar bleiben.

Troubleshooting

  • Gateway erreicht den Proxy? curl http://127.0.0.1:1234/v1/models.
  • LM Studio Modell entladen? Neu laden; Kaltstart ist eine häufige Ursache für “hängende” Anfragen.
  • Context-Fehler? contextWindow verringern oder das Server-Limit erhöhen.
  • Sicherheit: Lokale Modelle umgehen Provider-seitige Filter; halte Agents eng gefasst und Compaction aktiviert, um den Blast Radius bei Prompt Injection zu begrenzen.