What actually works in our OpenClaw setup (and the pain it fixed)
If you're spinning up OpenClaw and hitting the usual walls (context overflow, wrong model for the job, forgotten conversations, flaky pipelines), here's the stack and discipline that got us past it.
1. MRDE: route before you prompt
We built a Model Routing Decision Engine so every request hits the right model tier first, not after trial and error.
• Local private: sensitive stuff stays on-device (gemma-4-26B-MLX, ornith:9b for fast local lanes).
• Local heavy: deep reasoning when latency doesn't matter (ornith:35b, qwen3.6-35b for legal).
• Cloud coding/synthesis: complex troubleshooting (kimi-k2.7-code:cloud, kimi-k2.6:cloud, deepseek-v4-flash:cloud).
• Cloud fast fallback: quick answers when local is cold (gemma4:31b-cloud).
Pain solved: no more asking a 2.8T-parameter cloud model to grep logs, and no more running private queries through cloud APIs by accident.
2. Two-tier memory + RAG
• Immutable corpus: law sources, primary docs, transcripts. Append-only, never rewritten.
• Evolving memory: daily notes, decisions, lessons, atomic reports. Rewritten and refined.
• RAG v2: 10 corpora, ~66k chunks, all embedded. The assistant recalls before answering, then writes back compact, cited notes.
Pain solved: the system stops hallucinating continuity. It actually remembers yesterday, last week, and the source of the claim.
3. The loop: capture → recall → act → write back
Everything runs on a small, durable loop:
• Capture: drop it in the inbox (AirDrop, Telegram, share sheet, cron).
• Recall: search memory + RAG before any real work.
• Act: use the right tool/model for the task.
• Write back: one compact note with provenance (file path, source ID, or daily note).
For bigger tasks we add a gauntlet: run the output through critic models, check facts, verify file hashes, then keep or repair.
Pain solved: slop dies here. The system produces fewer, higher-quality artifacts instead of endless chat noise.
4. Scheduled pipelines (the nightshift)
A single cron at 02:00 dispatches phased jobs: I/O-bound tasks, then cloud API tasks, then local ML/vision, then reflection/audit. Local-ML concurrency is capped at 1 so vision models don't fight for the GPU.
Pain solved: long-running jobs finish overnight instead of interrupting the day, and the Mac doesn't melt.
5. Voice as default input
Whisper STT → local LLM → Kokoro TTS. Zero API cost, hands-free, and it actually gets used.
Pain solved: typing long prompts on mobile is miserable. Voice removes friction.
Advice for new OpenClaw builders
• Lock your default model before you build a dozen workflows. Routing is cheaper than re-prompting.
• Write memory back immediately after meaningful work, not at end of day.
• Use small verification loops (syntax checks, dry runs, file hashes) before trusting any autonomous edit.
• Run heavy/local-ML jobs in a single queue with concurrency caps, not in parallel cron storms.
• Prefer local TTS/STT once it's good enough. The cost and latency win is real.
The big shift: stop treating OpenClaw like a chatbot and start treating it like an operating system with memory, scheduling, and routing. The rest follows.
#OpenClaw #LocalAI #AIAgents #ai