Flowork is presented as a self-hosted AI stack built from two components: Flowork Agent and Flow Router. Flowork Agent is described as a microkernel-based “agent OS” that runs offline and keeps data under user control. The architecture centers on a small, “frozen” Go microkernel compiled into a single static binary. This core enforces a stable interface—called the “loket”—through which modules request capabilities by name, with permission checks and routing to the appropriate provider. Agents are implemented as WebAssembly modules executed in isolation using wazero, and the kernel detects failures so one agent does not crash the host. Each agent is said to have its own private SQLite database (with FTS5) for memory, and its own workspace, with access controlled via the grants system.

Flowork also supports extensibility through pluggable modules packaged as .fwpack archives, including agents, apps, channels, scanners, and tools. Apps and agents use manifests to declare operations and capabilities. Flowork is additionally described as a two-way MCP participant, acting both as an MCP client (routing calls to external MCP servers) and an MCP server (exposing agents/tools to other MCP clients). The control panel UI is embedded in the binary and served over a local HTTP address.