Skip to content

Latest commit

 

History

History
175 lines (130 loc) · 10.3 KB

README.md

File metadata and controls

175 lines (130 loc) · 10.3 KB

AbstractFramework documentation

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:

  1. How to pick the right entry point (AbstractCore SDK vs AbstractGateway control plane)
  2. 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 here

Choose your entry point

Start lightweight with just the LLM library, or go all-in with a production gateway. Both paths lead to the same ecosystem.

AbstractCore (SDK + optional /v1)

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.

AbstractGateway (durable control plane)

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.


How the pieces fit (one picture)

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
Loading

The full component diagram, with memory, semantics and the consoles, is in Architecture.


Doc map

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

Package map by layer

The root README is the fuller package catalog. This shorter map keeps the docs hub cross-linked to the package owners' entrypoints.

Foundation

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)

Durable execution

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

Control plane

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

Multimodal capabilities

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

Apps and clients

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

Shared libraries

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

Example apps

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

More docs

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