Technology · FlashBrain

The reflex layer.

Zaelar's own orchestration code — not a general-purpose reasoning agent. It starts answering within a second or two — set phrases in milliseconds — drives the canvas, and decides what's worth escalating.

Zaelar's own code Pluggable executor Cloud API Local / free
Fullscreen
View full diagram →

Every input — a voice turn, a connector message, a UI click, a message from another agent on the network — passes an attention gate before it ever reaches a model: is this actually directed at the agent, or ambient noise? With the mic always open (no wake word needed), a cold turn — the start of a session, or after a silence — is judged by a fast model reading the sentence itself, not just a timer; inside a live exchange, every turn counts. Does it need a hard interrupt ("stop", "close everything")? That check stays a deterministic rule — it can never wait on a model. And some turns are answered before the prompt is ever built: a known command, a greeting, "thanks", "are you there?" — set phrases that carry no request, answered from a per-language table in milliseconds instead of seconds. Only what's left goes to the prompt.

The same reflex loop drives a conversation with another agent over the agent network — but in a stricter profile: no tools, no memory of the operator, unless explicitly opted in.

One small prompt, composed live

The prompt isn't a static persona — it's assembled per turn from live state: identity and mission, what's on screen right now, a synthesized slice of recent conversation, plus a terse layer of available tools. A small, fast, non-reasoning model reads it and responds with either spoken text or a tool call. Which model that is ships as a sensible default and is yours to change from the config UI — never baked in.

A fourth kind of content can ride that prompt: phase context. Some instructions belong to a stretch of the relationship rather than to the agent forever — the first conversation, where the agent leads you both toward actually meeting, is the one that ships today. A phase carries its own block, is re-judged every turn, and archives itself the moment it is over: the text stops being sent, and the agent goes back to being what it always was. It is deliberately kept out of the cached part of the prompt, because a cached phase is one that keeps talking after its phase has ended.

A second opinion that never blocks

A few calls in a turn are genuinely hard for a small model and trivial for a specialist: is this an errand worth a Brain Worker, or just chatter? Does this sentence license opening or closing a card? With three cards open, which one is "close that" about — and with two of the SAME kind open, which of those? Those go to a choice classifier — a different kind of model, one that never writes text: it is handed an enumerated list of options and returns one of them with a calibrated confidence.

Three properties make that safe to put on a live voice turn. It is asked once: every question the turn needs travels in a single round trip, because the cost is the trip, not the questions. It is asked the moment your sentence is complete — not on the first fragment of it — and read after the model has answered, so nothing ever waits on it — a verdict that comes back late, unsure, or not at all leaves the deterministic path exactly as it was. And its options are always declared capabilities — the actions an app on screen actually publishes, the two sides of the escalate decision — never free text, so even a confident wrong answer can only pick a path that already exists and is already gated. Nothing it answers executes anything by itself. Switch it off and the engine behaves as it did before it existed.

The same classifier does one job off the turn entirely. Ask for "the flat search you had me do last week" and a full-text index narrows your past commissions to at most five candidates with no model involved; the classifier picks the one you meant out of those. When several fit equally well it asks — opening the wrong report looks exactly like opening the right one, and you would read it before noticing.

Tool catalog

The model decides what to do by calling a function, not by matching keywords. That keeps the decision reliable even on a small, cheap model. The tools offered change with context — most only appear when they're actually relevant.

toolwhat it doeswhen it's offered
escalateLaunches a Brain Workeralways
web_searchOne factual answer from the search service, resolved in the turnalways
search_listingsA fast listing pass — options side by side on a results sheetalways
show_imagesFinds pictures and shows them on the canvasalways
reopen_taskReopens a past commission with its resultsalways
need_capabilityAsks for a tool the turn's narrowed catalog left outalways
recallReaches into durable long-term memory mid-turnalways
reveal_secretFetches an encrypted operator secret, out-of-bandwhen a vault exists
play_musicFuzzy music requests, resolved in-turnalways
play_videoLoads a video in the video appwhen that app exists
show_widgetOpens an app by its name or an alias — never a guesswhen apps exist
close_widget / arrange_canvas / fullscreen_widgetCloses or minimizes, arranges, or goes full screenwhen apps are open
read_widgetReads what an open app is showing, to answer about itwhen apps are open
restore_widgetBrings back a deleted app or itemwhen there is something to restore
show_panelOpens the native side panel — chat, processes, schedules or networksalways
widget_dataRuns one declared action on an open appwhen apps are open
manage_widget_aliasAdds or removes a name/alias an app answers towhen apps exist
reply_messageDrafts a reply, gated by a confirm step before sendingwhen a messaging channel is linked
delete_widgetDeletes an app for good, with confirmationwhen apps are open
set_style_directiveApplies and persists a standing behavior rulealways
authenticate_webOpens the browser to log in to a sitealways
connect_clusterJoins an agent network — private, or public with no credentialsalways, behind a Yes/No confirm
cluster_sendSays something to a network, or to one agent in itonly when a network is connected
set_cluster_objectiveSets what a conversation with a network is foronly when a network is connected
send_to_worker / stop_worker / answer_workerSteers a live Brain Workeronly with live workers
Canvas moves — show, close, arrange, full screen — are tool calls too; inline text tags remain only as a fallback path. The catalog is narrowed to each turn, and if something was trimmed the model can ask for it back with need_capability. The FlashBrain never touches the executor directly. Anything that needs real reasoning goes through escalate to a Brain Worker.