Home
Explore¶
-
Chat & agents
Per-chat model, mode and security pickers (or
auto, with a governance-aware fallback chain). Sub-agents, a/goalloop, slash commands, voice in/out, checkpoint/rewind and best-of-N attempts. -
Surfaces
A chat is a configurable layout of regions — the thread plus editor, terminal or dashboard-card panels — not a fixed mode. standard and coding are just builtin surfaces; define your own, and the same model powers chat-less dashboards.
-
World-state memory
A bitemporal, causal entity-state graph — not a flat note store. Live integration entities and long-term memory are one graph: two time axes, provenance, and a read / propose / write split.
-
Integrations
Drop a
manifest.yaml+ config flow underintegrations/and it contributes its tools — plus agents, surfaces, dashboard cards, entities and message providers. Capability providers, and MCP & OpenAPI in both directions. -
Unified inbox
Email, Signal, Matrix, Zulip and WhatsApp triaged into one cockpit, with human-approved draft replies and cross-channel contact threads.
-
Your data & agenda
First-class Notes, Files, Calendar and Contacts pages, plus an agenda merging commitments and events — with hourly proactive nudges in your main chat.
-
Workflows
Sandboxed scripts run durably on Temporal. A workflow with triggers is an automation — schedules plus event and entity-state conditions.
-
Dashboards
Card dashboards — the chat-less Surfaces — over your entities: cards, sections, conditions, scenes and a logbook.
-
Devices
A cross-platform Rust device agent (Linux/macOS/Windows) hosting jailed workspaces (e.g. for coding), a real browser device (Chrome extension or on-demand cloud), your phone, and fire-and-review cloud coding tasks (sandbox → diff → PR).
-
Skills
User-authored capability packages with progressive disclosure, and a marketplace of curated catalogs.
-
Security & governance
Per-chat security modes, untrusted-content gating, BYOK envelope encryption, RLS tenancy, monthly budget caps, and fail-closed ABAC data-classification — no path to an uncleared provider.
-
Clients
A web SPA + PWA, Android and desktop shells, a Chrome extension, and a native Rust terminal client (TUI) — all over the same HTTP/SSE API.
How it fits together¶
A chat turn runs either inline (a FastAPI background task) or durable (a Temporal workflow); both emit identical AG-UI events onto a per-run Redis Stream that the API relays to clients over SSE. A single fail-closed data-classification gate runs at every model-resolution entry, so there is no path to an uncleared provider.
Read the user guide · Architecture overview · Frozen contracts · Get started · Self-hosting guide