OpenClaw-konfiguration

Konfigurera OpenClaw med staik för att använda alla modeller direkt via Telegram, Discord eller terminalen.

Konfiguration

Lägg till följande i din openclaw.json:

JSONopenclaw.json
{
  "models": {
    "providers": {
      "staik": {
        "baseUrl": "https://api.staik.se/v1",
        "apiKey": "sk-st-your-key",
        "api": "openai-completions",
        "models": [
          {
            "id": "gemma4:31b",
            "name": "Gemma 4 31B",
            "contextWindow": 262144,
            "contextTokens": 64000,
            "maxTokens": 8192
          },
          {
            "id": "qwen3.6:35b-a3b",
            "name": "Qwen 3.5 35B A3B",
            "contextWindow": 262144,
            "contextTokens": 64000,
            "maxTokens": 8192
          },
          {
            "id": "qwen3.5:9b",
            "name": "Qwen 3.5 9B",
            "contextWindow": 32768,
            "contextTokens": 28000,
            "maxTokens": 4096
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "staik/gemma4:31b",
        "fallbacks": ["staik/qwen3.6:35b-a3b", "staik/qwen3.5:9b"]
      },
      "compaction": {
        "mode": "safeguard",
        "keepRecentTokens": 20000,
        "reserveTokens": 24000
      }
    }
  }
}

Tillgängliga modeller

ModellBäst förKontextfönsterVision
gemma4:31bGranskning, noggrannhet, språk, vision262 144
qwen3.6:35b-a3bKodning, komplexa uppgifter, vision262 144
qwen3.5:9bSnabba svar, enklare uppgifter32 768

Växla modell med /models i OpenClaw. fallbacks ger automatisk failover om primärmodellen är otillgänglig.

Finjustera kontexthantering

Dessa parametrar styr hur OpenClaw hanterar konversationshistorik och modellens svar.

ParameterVarBeskrivning
contextTokensper modellMax tokens konversationshistorik per request. Sänk om modellen tar timeout.
maxTokensper modellMax tokens i modellens svar. Sänk om svaren avbryts eller tar för lång tid.
keepRecentTokenscompactionAntal tokens av senaste meddelanden som aldrig komprimeras. Höj för mer kontext i korta konversationer.
reserveTokenscompactionTokens reserverade för modellens svar vid komprimering. Höj om svaren kapas.
contextWindowper modellModellens totala kontextfönster (262K för alla staik-modeller). Ändra ej.

Tips

  • Om modellen slutar svara mitt i en konversation — sänk contextTokens.
  • Om svaren kapas — höj reserveTokens.
  • Om modellen glömmer vad ni just pratat om — höj keepRecentTokens.

Konfiguration per plan

Varje request räknar både prompt-tokens (konversationshistorik) och completion-tokens (modellens svar). Nyckeln till att hålla dig inom budgeten är contextTokens — den styr hur mycket historik som skickas med varje request.

Early Adopter 100 000 tokens / dag

Med 100K tokens per dag behöver du vara sparsam. Använd den snabba 9b-modellen och håll kontexten kort.

Early Adopteropenclaw.json
{
  "models": {
    "providers": {
      "staik": {
        "baseUrl": "https://api.staik.se/v1",
        "apiKey": "sk-st-your-key",
        "api": "openai-completions",
        "models": [
          {
            "id": "qwen3.5:9b",
            "name": "Qwen 3.5 9B",
            "contextWindow": 32768,
            "contextTokens": 12000,
            "maxTokens": 2048
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "staik/qwen3.5:9b"
      },
      "compaction": {
        "mode": "safeguard",
        "keepRecentTokens": 6000,
        "reserveTokens": 8000,
        "maxHistoryShare": 0.3
      }
    }
  }
}

Budget: ~12K tokens/request → ~8 konversationsrundor per dag

  • qwen3.5:9b är 3x snabbare och drar mindre tokens
  • contextTokens: 12K (inte 64K) — 5x färre prompt-tokens per request
  • maxTokens: 2048 — tillräckligt för de flesta svar
  • maxHistoryShare: 0.3 — komprimerar tidigt för att spara tokens

Hobby 250 000 tokens / dag

Mer utrymme för längre konversationer. Du kan använda större modeller och mer kontext.

Hobbyopenclaw.json
{
  "models": {
    "providers": {
      "staik": {
        "baseUrl": "https://api.staik.se/v1",
        "apiKey": "sk-st-your-key",
        "api": "openai-completions",
        "models": [
          {
            "id": "qwen3.6:35b-a3b",
            "name": "Qwen 3.5 35B",
            "contextWindow": 262144,
            "contextTokens": 24000,
            "maxTokens": 4096
          },
          {
            "id": "qwen3.5:9b",
            "name": "Qwen 3.5 9B",
            "contextWindow": 32768,
            "contextTokens": 16000,
            "maxTokens": 4096
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "staik/qwen3.5:9b",
        "fallbacks": ["staik/qwen3.6:35b-a3b"]
      },
      "compaction": {
        "mode": "safeguard",
        "keepRecentTokens": 10000,
        "reserveTokens": 16000,
        "maxHistoryShare": 0.4
      }
    }
  }
}

Budget: ~16K tokens/request → ~15 konversationsrundor per dag

  • 9b som primary, 35b som fallback för komplexa uppgifter
  • contextTokens: 24K på 35b ger bra kontext utan att spräcka budgeten

Agent 500 000 tokens / timme (rullande)

Agent-planen har rullande fönster istället för daglig gräns — perfekt för intensiva sessioner. Full kontext och alla modeller.

Agentopenclaw.json
{
  "models": {
    "providers": {
      "staik": {
        "baseUrl": "https://api.staik.se/v1",
        "apiKey": "sk-st-your-key",
        "api": "openai-completions",
        "models": [
          {
            "id": "gemma4:31b",
            "name": "Gemma 4 31B",
            "contextWindow": 262144,
            "contextTokens": 48000,
            "maxTokens": 8192
          },
          {
            "id": "qwen3.6:35b-a3b",
            "name": "Qwen 3.5 35B",
            "contextWindow": 262144,
            "contextTokens": 48000,
            "maxTokens": 8192
          },
          {
            "id": "qwen3.5:9b",
            "name": "Qwen 3.5 9B",
            "contextWindow": 32768,
            "contextTokens": 28000,
            "maxTokens": 4096
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "staik/gemma4:31b",
        "fallbacks": ["staik/qwen3.6:35b-a3b", "staik/qwen3.5:9b"]
      },
      "compaction": {
        "mode": "safeguard",
        "keepRecentTokens": 20000,
        "reserveTokens": 24000,
        "maxHistoryShare": 0.6
      }
    }
  }
}

Budget: ~50K tokens/request → ~10 requests per timme (kapacitet återvinns kontinuerligt)

  • Gemma 4 som primary — bäst på granskning och språk
  • Alla tre modeller tillgängliga med automatisk fallback
  • 48K kontext — tillräckligt för stora kodprojekt
  • Rullande fönster: tokens från en timme sedan räknas inte längre

Snabbreferens

PlancontextTokensmaxTokensModellKapacitet
Early Adopter12 0002 048qwen3.5:9b~8 / dag
Hobby Mini8 0002 048qwen3.5:9b~5 / dag
Hobby24 0004 096qwen3.5:9b + 35b~15 / dag
Agent Mini24 0004 096qwen3.6:35b~4 / h
Agent48 0008 192gemma4 + 35b + 9b~10 / h
Agent Pro64 0008 192gemma4 + 35b + 9b~20 / h

Sub-agenter (ACP)

När din agent jobbar med större projekt (t.ex. en HTML/CSS/JS-onepage med flera filer) bryter OpenClaw normalt upp jobbet i sub-agenter via ACP (Agent Coordination Protocol). Varje sub-agent får isolerad kontext, vilket dramatiskt sänker tokenanvändningen.

Varför det är viktigt

Utan ACP måste main-agenten hålla hela projektets state i sin kontext mellan varje filgenerering. Med 5 filer och 30k tokens kontext per request brinner du 150k+ tokens på en enda omgång. Med ACP får varje sub-agent bara sin egen filspecifika kontext, vilket kan sänka tokenanvändningen med 70-80%.

Konfiguration

Lägg till följande i din openclaw.json:

ACPopenclaw.json
{
  "agents": {
    "list": [{
      "id": "<your_agent_id>",
      "runtime": {
        "type": "acp",
        "acp": {
          "agent": "codex",
          "backend": "acpx",
          "mode": "persistent"
        }
      }
    }]
  },
  "session": {
    "threadBindings": {
      "enabled": true,
      "spawnSubagentSessions": true
    }
  }
}

Verifiera att ACP fungerar

Kör följande direkt i din chat (t.ex. Telegram) för att starta en sub-agent manuellt:

/acp spawn <agent_id>

För att se exakt vad OpenClaw håller på med i realtid (vilka sub-agenter som spawnas, var fel uppstår), aktivera utförlig loggning direkt i din chat:

/verbose

Vanliga problem

"Jag kan inte starta sub-agent (gateway-kopplingen är stängd)"

Detta är OpenClaws interna gateway, inte staiks API-gateway. Kolla att:

  • acpx-backenden är installerad
  • gateway.mode: "local" är satt
  • OpenClaw-gateway:n körs på den port som anges i gateway.port
  • Inga andra processer blockerar porten (t.ex. tidigare instanser som inte avslutades)

När ACP fallerar fallback:ar main-agenten till att göra allt själv, vilket är därför hela projektkontexten skickas i varje request — och du brinner tokens snabbt.

Felsökning

OpenClaw ger inget svar

Om OpenClaw inte producerar något svar alls, prova att stänga av streaming i din provider-konfiguration. Lägg till "streaming": "off" i ditt provider-block:

Fixopenclaw.json
{
  "models": {
    "providers": {
      "staik": {
        "baseUrl": "https://api.staik.se/v1",
        "apiKey": "sk-st-your-key",
        "api": "openai-completions",
        "streaming": "off",
        "models": [...]
      }
    }
  }
}

Varför hjälper detta?

Vissa kanaler och konfigurationer kan ha problem med streaming-svar från OpenAI-kompatibla API:er. Genom att stänga av streaming skickar OpenClaw ett vanligt request och väntar på hela svaret innan det visas — vilket kringgår eventuella streaming-relaterade problem.

Agenten frågar "Ska jag köra?" mellan steg

Vid stora flerstegsuppgifter kan agenten dela upp arbetet i batches och be om bekräftelse mellan dem. Det kommer från OpenClaws egen agent-prompt eller modellens default-beteende — inte från staik-gatewayen. OpenClaw saknar en inbyggd flagga för att stänga av detta, men du kan override:a det med en system prompt.

Alternativ 1: per Telegram-grupp

Fixopenclaw.json
{
  "channels": {
    "telegram": {
      "groups": {
        "<your_chat_id>": {
          "systemPrompt": "Du är en autonom agent. Utför ALLA steg i en uppgift i en följd utan att fråga mellan stegen. Stoppa endast vid (1) explicit fel som kräver beslut, eller (2) när hela uppgiften är klar. Använd aldrig formuleringar som \"Ska jag köra?\" eller \"Vill du fortsätta?\" — utför bara nästa steg."
        }
      }
    }
  }
}

Alternativ 2: workspace-filer (gäller globalt)

OpenClaw läser agentens persona från markdown-filer i workspace-mappen (t.ex. ~/.openclaw/workspace/). Skapa eller redigera IDENTITY.md eller SOUL.md med samma instruktion — då gäller den globalt, inte bara per kanal.

Andra orsaker

  • Sub-agent kunde inte starta: Om OpenClaw rapporterar att gateway-kopplingen är stängd har dess interna sub-agent-system fallerat (det är OpenClaws eget gateway, inte vår API-gateway). Då tvingas main-agenten serialisera arbetet och bryter ofta upp det i batches.
  • För stor uppgift för ett svar: Om uppgiften kräver mer output än maxTokens tillåter, måste agenten dela upp den. Höj maxTokens till 8192 om budget tillåter.

429 Too Many Requests mitt i en session

Du har slagit din tokengräns (daglig för Hobby/EA, timvis rullande för Agent). Stora kontexter (~30k tokens/request) räcker för att slå Agent (500k/h) på 16 requests. Lösningar:

  • Sänk contextTokens från 64000 → 16000–32000
  • Använd qwen3.5:9b som primary istället för 35b
  • Uppgradera till en plan med högre gräns — se prissidan

Använd X-RateLimit-Used-Tokens-headern i svaret för att övervaka din användning i realtid.

Nästa steg