Coming soonOOMU is launching soon. Downloads will open at launch.
← All documentation

How-to guides

Smart Model Routing

Balancing speed, cost, and intelligence.

OOMU's routing is the quiet engine that keeps your costs low and your answers fast. It decides; for every message; whether to answer on your Mac for free, reach for a premium cloud model, or work directly with your files. This guide shows you how to set it up so it behaves the way you want.


The two decisions OOMU makes

For every message you send, OOMU makes two routing decisions:

  1. How should this be handled? A direct conversational answer, or a planned set of local actions on your workspace?
  2. Which engine should answer? Your local model, or a cloud provider?

You don't have to manage these by hand; OOMU has sensible defaults, but understanding them lets you tune for your priorities.


Decision 1; Conversation vs. local action

When you send a message, OOMU classifies your *intent*:

  • Conversational; a question, a draft, an explanation. OOMU answers directly and streams the reply. You'll see a status like *"...is typing..."*.
  • Local action; anything that needs to read, write, or operate on files in your workspace, run a command, or search the web for current facts. OOMU compiles a plan and runs it through its approval-gated process. You'll see *"...is planning local actions..."* or *"...is planning a web search..."*.

OOMU makes this call using a combination of clear signals (explicit file paths, system file types, attachments) and a lightweight classifier that weighs the wording of your request. Phrases like *"run tests," "read file," "git commit," "install,"* or *"search"* push toward local action; conversational openers push toward a direct answer.

Why this saves you money and time. Most messages are conversational and can be answered locally; instantly and for free. OOMU only escalates to the heavier, gated path when your request genuinely calls for it. You get the right behaviour without paying for it on every turn.

Tuning it

  • Be explicit when you want action. Wording like *"read the file at…"* or *"run…"* reliably routes to the local-action path.
  • Attach context for read-only analysis. If you attach a document and just ask OOMU to analyse it, OOMU keeps it on the fast conversational path instead of planning file operations; because the content is already in front of it.

Decision 2; Which engine answers

You choose an engine for each assistant, and you have three options: Local, a specific Cloud model, or Auto.

Local and cloud

  • Local; runs on your Mac via OOMU's built-in engine. No API key, no per-question cost. The default.
  • Cloud; a provider you've configured with your own API key. OOMU supports Anthropic, OpenAI, Google Gemini, xAI (Grok), Mistral, OpenRouter, and Synthetic, among others. Add a key in the Models area, and the models you list become selectable.

Auto-Route: let OOMU pick, per message

Auto is the smartest setting for balancing cost and quality. Instead of pinning an assistant to one engine, Auto evaluates each message's complexity and routes accordingly:

  • Simple prompts stay local. Below a complexity threshold, OOMU answers on your Mac; free and private.
  • Harder prompts escalate to the cloud. Above the threshold, OOMU sends the message to the cloud model you've nominated as your Auto-Route target.

You set this up in two moves:

  1. Choose the engine "Auto" for an assistant (or for a session).
  2. Nominate one cloud provider as your Auto-Route target in the Models area. This is the model Auto will escalate the hard prompts to.

A few rules worth knowing:

  • Only one provider can be the Auto-Route target at a time.
  • The target must be a cloud provider; the local engine is always the "easy prompt" tier, so it can't also be the escalation tier.
  • If Auto decides a prompt is complex but you haven't nominated a target, OOMU falls back to a fast, cost-efficient cloud model (Gemini Flash) so you still get an answer.

Auto-Route is the hybrid model made automatic. You don't have to judge each message yourself; OOMU keeps the routine majority on free local inference and reserves your paid cloud model for the genuinely demanding minority. See Hybrid AI Economics.

Turning Auto on or off for a conversation

Auto-Route can be toggled per conversation. If you want a particular chat to stay on a fixed engine; say, entirely local for a sensitive matter, or entirely on a frontier model for a hard analysis; switch dynamic routing off for that session and OOMU will hold the engine you picked.

A Project's data policy always wins. If you're working inside a Project set to *"Keep everything on this device,"* OOMU will not escalate to the cloud no matter what Auto-Route judges; the Project policy is enforced before any network call. A Project set to *"Ask before using cloud models"* shows you a redacted preview and waits for approval before escalating. Routing decides what *would* be ideal; the Project policy decides what's *allowed*.


Decision 3; How hard should it think? (the reasoning level)

Independent of *which* engine answers, the reasoning level controls *how much effort* it spends.

  • On the local engine, reasoning is a simple Off / On switch.
  • On cloud models, reasoning is a graded scale: Off → Low → Medium → High → XHigh → Ultra. Lower is faster and cheaper; higher deliberates more.

OOMU keeps this honest: if you request a level a given model doesn't support, OOMU automatically steps down to the highest level that model genuinely offers, rather than charging you for an illusion. Set this per assistant; see Setting Up Custom Assistants.


Web search grounding (optional, off by default)

OOMU can answer questions about current or remote facts by running a private web search and reading the results; a feature called web grounding. It uses a sovereign DuckDuckGo Lite search: OOMU fetches results, attaches them to the turn as grounded context, and the model answers from real sources instead of guessing.

This is off by default. OOMU will not reach the internet on its own initiative unless you turn it on:

  1. Open Settings → Privacy.
  2. Enable automated web grounding.

With it on, prompts that clearly ask for current facts (wording like *"latest," "today," "current price,"* or *"search the web for…"*) will trigger a grounded search. With it off, OOMU answers those same prompts directly from what the model already knows, without going online. Either way, you can always ask explicitly and control it per conversation.


  1. Engine: Auto, with a trusted cloud provider set as your Auto-Route target. Routine work stays free and local; hard work escalates automatically.
  2. Reasoning: Off/On locally; Medium on the cloud target for general work, High only for analysis you'll act on.
  3. Web grounding: enable it in Privacy if you want current facts; leave it off for strict locality.

With this, the overwhelming majority of your messages cost nothing and stay private, while the genuinely hard questions still get elite reasoning.