Technology · Architecture
The full system, end to end.
A hybrid, event-driven design. FlashBrain is the single orchestrator — it answers in real time and launches and tracks longer jobs; each of those is carried out by a Brain Worker with its own memory and tools. Solid lines are direct calls (hot path); dashed lines are events on the shared bus.
Everything runs as a single process, one per machine — a self-hosted install serves itself on localhost and has nothing running anywhere you don't control; the hosted version runs the same engine on a private machine of its own. Above the bus sit the senses and reflexes: the UI, voice, stateless connectors and the orchestrator loop. Below it are the slower organs: apps, Brain Workers and the central memory. Outside the process boundary: a pluggable code executor and the cloud APIs it rents — language models, speech-to-text and text-to-speech, embeddings and search indexes. Each of those is called by name with your key, and the important ones have a stand-in that takes over when the first one fails.
Hot path vs. the nervous system
Every voice turn is answered by the FlashBrain over a direct, synchronous call — no event bus in the loop, because that path has to start speaking within a second or two. Everything else — a connector message arriving, an app finishing a background refresh, memory being updated, a Brain Worker reporting progress — travels as an event on an in-process pub/sub bus: no external broker, just async fan-out plus a durable log and a live stream to the UI.
Where work escalates
The FlashBrain resolves the moment-to-moment on its own — conversation, controlling what's on screen, a quick factual lookup. When a request needs real reasoning, multiple steps, or tool use, it hands off to a Brain Worker: a live session that plans and executes with its own memory access, then reports back through the same bus. Every request that acts leaves one durable row with your own words and its outcome, so a restart or an hour of silence never makes the agent forget what it just did. See the FlashBrain and Brain Workers pages for the detail.
Search is a service
Looking things up has one door. A request — a fact, a listing, a local business, a picture — is routed to the cheapest index that is live right now, and the rows that come back are checked against what you actually asked (the price ceiling, the city, the spec) before they reach a sheet. A task that needs a real browser or a longer hunt comes back as work for a Brain Worker, and some errands go to external services instead — agents on the MeshKore network, external MCP servers and APIs — which answer without opening a browser at all.
Models are sensible defaults — you choose
No model is hardcoded. Each layer — the fast reflex model, the Brain Worker executor, the memory distiller, the embeddings — ships with a sensible default and is picked per invocation, never by one global switch. You change any of them from the config UI, and a built-in benchmarks panel shows why each default was chosen and what you trade off by swapping it. Bring your own keys — it's all self-hosted, so which models ever see your data stays your call.
Staying healthy on its own
Think of it as three layers, and only two of them think. The FlashBrain is the mind — it decides and talks. The self-audit layer is a conscience — it reviews whether a conversation is going well (optional, off by default). The third is an autonomic layer: like a heartbeat, it isn't a decision — it just runs, keeping the machine itself healthy so nothing degrades over time. It uses no model at all. If the real-time voice engine wedges, it recycles it — but only when you're not in the middle of talking; otherwise it just tells you. It rotates its own logs and trims stale state so a system left running for weeks stays as responsive as one just started. It lives beside the brain, never inside it, so the intelligence stays simple.