Write once. Generate everything.
A modular, open-source ecosystem for building durable, observable, multimodal AI systems. Text, voice, image, video, music — one unified interface, any provider, any model, local or cloud.
This doc set focuses on two things:
- How to pick the right entry point (AbstractCore SDK vs AbstractGateway control plane)
- How the pieces compose (clients → Gateway → Agent / Runtime → Core → providers)
Most implementation lives in component repositories. This repo ships the abstractframework meta-package (a pinned install profile) and the cross-package docs you're reading now.
Start lightweight with just the LLM library, or go all-in with a production gateway. Both paths lead to the same ecosystem.
Start with AbstractCore:
- 9+ providers with identical API (local + cloud)
- Universal tool calling, structured output, streaming
- Media handling (images, PDFs, audio, video)
- OpenAI-compatible HTTP server mode (
/v1) - Multimodal via capability plugins (Voice, Vision, Music)
Read Getting Started → "Core-first" section.
Start with AbstractGateway + AbstractFlow:
- Durable execution that survives crashes and restarts
- Append-only ledger (replay-first) for auditability
- Automations: workflows that run on a fixed interval, when an email arrives, or on demand (Automations)
- Email for each user: your own mailbox for email automations, email notifications and sign-in by email (Email integration)
- Multi-client: terminal, browser, tray, Telegram, email
- Start on one device, continue on another: the web console and every browser app work on phones, tablets and any window size (Phones and tablets)
Read Getting Started → "Gateway-first" section.
flowchart LR
CL["Clients<br/>Observer · Flow Editor · Code · Entity<br/>Continuum · Assistant · consoles"]
GW["AbstractGateway<br/>runs · schedules · catalog · ledger"]
AG["AbstractAgent"]
RT["AbstractRuntime<br/>durable kernel"]
CO["AbstractCore<br/>LLM · tools · media"]
PL["voice · vision · music<br/>plugins"]
PR[("providers and<br/>local engines")]
CL -->|HTTP/SSE| GW
GW --> AG --> RT
GW --> RT --> CO
AG --> CO
CO -.-> PL
CO --> PR
The full component diagram, with memory, semantics and the consoles, is in Architecture.
| Page | What it covers |
|---|---|
| Install | Mac installer, one-line install (install.sh / install.ps1), start at login, headless or remote install, the local gateway pointer, options, Network setting and uninstall; Light / Apple / GPU chooser, abstractframework doctor, installer manifest contract |
| Getting Started | The two entry points + first end-to-end run |
| Agent sessions | What every client shares when it chats with an agent: the gateway's default agent workflow, the conversation workspace and its built-in protection, skills, live replies, opening the Assistant signed in |
| Automations | How automations work in practice and how to manage them: an automation is a durable run, each tick a turn; independent vs growing context; creating one from the Assistant, the Observer, AbstractCode or a workflow's defaults; email triggers and email notifications; two worked examples; reading results in every client; pause, run now, resume, edit, archive, discuss; notifications, typed waits, restart safety, limits, troubleshooting |
| Architecture | Component diagram, distribution by registry, how a turn flows and the live-reply lane, app proxies, model eject, framework identity, durable execution primitives, comparisons |
| Configuration | Minimal config, where defaults live, Core vs Gateway, email accounts |
| Email integration | Your email address and your own mailbox on the gateway: the account page, connecting a mailbox, recipient rules and send limits, agent email tools (off by default), email automations, notifications, sign-in by email, what administrators decide |
| Phones and tablets | Opening the console and the browser apps on a phone through the gateway's one address, and what adapts on a small screen |
| Workspace scripts | Working from source: package inventory and tiers, build.sh, status.sh, pull.sh, commit.sh, push.sh, launchers |
| Glossary | Shared terminology (run, ledger, effect, wait, bundle, …) |
| ADR index | Cross-package architectural decisions and accepted platform contracts |
| FAQ | Common questions, comparisons, limits |
| Troubleshooting | Symptoms, checks and fixes: installer blocked by macOS, sign-in links, ports, network access, providers |
| API | The abstractframework meta-package API (pins, helpers, re-exports, doctor, manifest) |
| Runtime artifacts and retrieval | Runtime, Gateway, Observer, ledger, and KG responsibility map for artifact/retrieval work |
| Shipped workflows | The workflows a packaged Gateway serves out of the box — coder, deep research, co-scientist — and how to run them |
The root README is the fuller package catalog. This shorter map keeps the docs hub cross-linked to the package owners' entrypoints.
| Package | What it is |
|---|---|
| abstractcore | Unified LLM interface: providers, tools, structured output, media, embeddings, /v1 server, capability plugins |
| abstractsemantics | Shared semantics registry for predicates and entity types |
| abstractmemory | Durable, append-only agent memory: usage-weighted graph + journal — recall, formation, consolidation (the entity mind engine) |
| Package | What it is |
|---|---|
| abstractruntime | Durable execution kernel: runs, effects, waits, append-only ledger, artifacts, and the entity identity lane |
| abstractagent | ReAct, CodeAct, and MemAct patterns on top of Runtime + Core |
| abstractflow | Visual workflow editor and portable .flow bundles |
| Package | What it is |
|---|---|
| abstractgateway | Deployable control plane: durable runs over HTTP/SSE, scheduling, workflow catalog, auth, artifact/ledger serving, and the summoned-entity door |
| Package | What it is |
|---|---|
| abstractvoice | Voice I/O (TTS / STT), local and remote backends |
| abstractvision | Model-agnostic image generation |
| abstractmusic | Text-to-music / text-to-audio capability plugin |
| abstract3d | Local-first 3D generation |
| abstractcamera | Camera control and capture tools |
| Package | What it is |
|---|---|
| abstractcode | Coding client with durable sessions and tool approvals: Rust terminal client (cargo install abstractcode) and browser client (npx @abstractframework/code) |
| abstractassistant | macOS tray client for gateway-native chat and voice |
| abstractobserver | Browser UI for monitoring, control, and scheduling |
| abstractentity | Summoned-entity manager and chat/replay UI |
| abstractcontinuum | Continuous iterative development and deployment console |
| Consoles | Web consoles built into abstractgateway serve and abstractcore serve (/console, with Models and Engines tabs); terminal consoles cargo install abstractgateway-console and cargo install abstractcore-console |
| Package | What it is |
|---|---|
| abstracttui | Reactive Rust terminal UI engine |
| abstractuic | Shared React/Web Components UI kit: chat panel with live replies, the About dialog, the app-server proxy |
| abstractskill | Shared Agent Skills (SKILL.md) loader, trust gate, and the curated skill shelf the gateway serves |
| App | What it does |
|---|---|
| AbstractCode | Terminal agentic dev client (local, durable sessions) |
| AbstractAssistant | macOS tray client (gateway-first, gateway default or picked workflow, live replies, voice); Open in the gateway console starts it signed in |
| AbstractObserver | Browser UI to monitor and control gateway runs and to create and manage automations |
| Code Web UI | Browser coding assistant (gateway-backed): workflow selector, Files tab, live replies; works on phones and tablets |
| Folder | What's inside |
|---|---|
| docs/guide/ | Focused "how it works" notes |
| docs/scenarios/ | End-to-end walkthroughs by use case |
| docs/installers/ | Install design: script bootstrap + gateway console, per-OS journeys, OS security, manifest, operations |
| docs/comparisons/ | Trade-offs vs other frameworks |
| docs/adr/ | Architecture decision records |
| CHANGELOG.md | Release history of the meta-package and its pins |
| CONTRIBUTING.md · SECURITY.md | Contributing to this repository; reporting a vulnerability |