Skip to main content

AbstractFramework

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.

AbstractFramework is an ecosystem of composable packages for building AI systems that work in operational reality:

  • Durable by default: workflows pause and resume safely (survive crashes and restarts)
  • Observable: an append-only ledger so any UI can reconstruct state by replaying history
  • Controlled actions: explicit boundaries for tool execution, approvals, and evidence
  • Multimodal: capability plugins (voice, vision, music) that stay out of your way until you need them

Think of it as an agentic OS: durable runs + replay-first observability + multimodal capabilities — write once, run across providers and deployment modes.

Prerequisites: Python 3.10+. Node.js 18+ for browser UIs. An LLM backend (Ollama, LM Studio, vLLM, or a cloud API key).


Two entrypoints

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

1) AbstractCore — LLM SDK + OpenAI-compatible /v1 server

Start here if you need a lightweight LLM library for scripts, notebooks, or existing applications. No infrastructure required — just pip install and call. Add multimodal capabilities with plugins as you grow.

  • 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)
pip install abstractcore
from abstractcore import create_llm

llm = create_llm("ollama", model="qwen3:4b-instruct")
resp = llm.generate("Explain durable execution in 3 bullets.")
print(resp.content)

AbstractCore gives you one interface for provider switching, tools, structured output, and media — as a Python SDK or via /v1 for any OpenAI-compatible client.

2) AbstractGateway — durable run control plane (HTTP/SSE APIs)

Start here if you're building persistent AI applications — agents that run for hours, workflows that survive crashes, scheduled tasks. The gateway is your AI control plane: durable runs with ledger replay/streaming and thin clients that can attach/detach across devices.

  • Durable execution that survives crashes and restarts
  • Append-only ledger (replay-first) for auditability
  • Scheduled workflows (cron-style, recurring)
  • Multi-client: terminal, browser, tray, Telegram, email
  • Start on one device, continue on another
pip install abstractgateway

export ABSTRACTGATEWAY_USER_AUTH=1
export ABSTRACTGATEWAY_ALLOWED_ORIGINS="http://localhost:*,http://127.0.0.1:*"
export ABSTRACTGATEWAY_WORKFLOW_SOURCE=bundle
export ABSTRACTGATEWAY_DATA_DIR="$PWD/runtime/gateway"

# Optional: set only to serve your own bundle registry instead of the
# workflows Gateway ships with.
# export ABSTRACTGATEWAY_FLOWS_DIR="$PWD/bundles"

abstractgateway serve --host 127.0.0.1 --port 8080

Out of the box this serves a ready set of workflows — a verify-gated coding agent, deep-research, and co-scientist among them. See shipped workflows.

On first local start, Gateway creates default/admin, writes the browser-login token to runtime/gateway/auth/bootstrap-admin-token, and prints the token in the terminal. Use that admin user token in the built-in web console at http://127.0.0.1:8080/console, AbstractFlow, AbstractCode Web, or AbstractObserver. ABSTRACTGATEWAY_AUTH_TOKEN remains a legacy server/operator bearer token; it is not a browser sign-in token.

Monitor runs from a browser, or from a terminal with the gateway console:

npx @abstractframework/observer   # open http://localhost:3001

cargo install abstractgateway-console   # Rust 1.87+
ABSTRACTGATEWAY_AUTH_TOKEN=<token> abstractgateway-console --url http://127.0.0.1:8080

Container images are published for the gateway and the AbstractCore server: ghcr.io/lpalbou/abstractgateway:0.2.30 (0.2.30-gpu is an experimental NVIDIA image) and ghcr.io/lpalbou/abstractcore:2.13.42.

For artifact and runtime-resource investigation, see docs/guide/runtime-artifacts.md.


Author once, run everywhere (AbstractFlow)

AbstractFlow lets you author complex agentic orchestration as portable .flow bundles:

  1. Open the Flow Editor (npx @abstractframework/flow)
  2. Build a workflow: LLM steps, tool steps, branching, loops, subflows
  3. Export a .flow bundle into your own bundle directory and point ABSTRACTGATEWAY_FLOWS_DIR at it (or publish it through the Gateway API)
  4. Run it from any gateway-backed client (Observer, AbstractAssistant, Code Web UI, your app)

AbstractAgent provides ready-made agent patterns (ReAct, CodeAct, MemAct) that can be used inside flows or standalone. The workflows Gateway ships with are authored the same way — their editable sources are documented in shipped workflow sources.


Monitor and schedule with AbstractObserver

  • Observe: replay the full ledger of any run, or watch one live over SSE
  • Control: cancel, resume, or inspect runs from the browser
  • Schedule: durable schedules (cron-style) owned by the gateway — they survive restarts

Package map

The ecosystem, grouped by layer. Each name links to the package's own README.

Foundation

Package What it is
abstractcore Unified LLM interface: 9+ providers, tools, structured output, media, embeddings, /v1 server, capability plugins
abstractsemantics Central semantics registry (predicates + entity types) with JSON-Schema helpers
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; the VisualFlow compiler (visual graphs → executable workflows); the entity identity lane (homes, chat/life/visit drivers)
abstractagent Agent patterns (ReAct / CodeAct / MemAct) composing Runtime + Core
abstractflow Visual workflow editor + portable .flow bundles — author once, run anywhere

Control plane

Package What it is
abstractgateway Deployable control plane: durable runs over HTTP/SSE, scheduling + run commands (cancel/steer), workflow catalog, artifact/ledger serving, multi-user auth with per-user runtimes, the summoned-entity lifecycle (create / summon / visit / state / blueprint), and the operator consoles (web + TUI)

Multimodal capabilities

Package What it is
abstractvoice Voice I/O (TTS / STT), local and remote backends
abstractvision Model-agnostic generative vision (images, optional video)
abstractmusic Text-to-music / text-to-audio (Core capability plugin)
abstract3d Local-first 3D generation
abstractcamera Camera control and capture tools
abstractsound, abstractvideo, abstractspatial, abstractgeometry, abstractcognition Reserved capability packages (namespaces held; APIs landing incrementally)

Apps and clients

App What it does Install
AbstractCode Terminal agentic dev client (Rust, on the AbstractTUI engine) — durable sessions, tool approvals, /workflow support cargo install abstractcode, or a prebuilt binary from the GitHub release
AbstractAssistant macOS tray client — gateway-native, workflow picker per session, voice support pip install abstractassistant
AbstractObserver Browser UI — monitor, control, and schedule gateway runs npx @abstractframework/observer
AbstractEntity Summoned-entity manager — roster, blueprint (cognition map + editing), chat drawer, live replay npx @abstractframework/entity
AbstractContinuum Continuous iterative development and deployment console npx @abstractframework/continuum
Gateway consoles Operator consoles for a running gateway: web at /console, terminal via abstractgateway-console built into abstractgateway; cargo install abstractgateway-console
Code Web UI Browser client of AbstractCode (gateway-backed) npx @abstractframework/code
Flow Editor Visual workflow authoring in the browser npx @abstractframework/flow

Shared libraries

Package What it is
abstracttui Rust terminal-UI engine built on fine-grained reactive signals
abstractuic Reusable UI kit for framework clients (React components + Web Components)
abstractskill Shared library for Agent Skills (SKILL.md folders: load, trust-gate, activate)

Install the pinned ecosystem profile

Light / Apple / GPU profiles

Choose how the framework runs based on your hardware and constraints. All profiles keep the same interfaces; they mainly change which local inference stacks are available.

Light (default) — endpoint-only inference (cloud APIs or local OpenAI-compatible servers), no in-process ML engine stacks:

pip install abstractframework

Apple — native Apple Silicon local stacks (MLX/Metal) in addition to endpoint providers:

pip install "abstractframework[apple]"

GPU — native GPU local stacks (CUDA/ROCm) in addition to endpoint providers:

pip install "abstractframework[gpu]"
Profile Command Platforms Python
Light pip install abstractframework macOS, Linux, Windows 3.10–3.13
Apple pip install "abstractframework[apple]" macOS 14+ on Apple Silicon 3.10–3.13 (F5-TTS voice cloning needs 3.11+)
GPU pip install "abstractframework[gpu]" Linux / Windows with a CUDA or ROCm GPU 3.10–3.13 (F5-TTS voice cloning needs 3.11+)

Release matrix (abstractframework 0.1.12)

abstractframework pins every Python package with ==, so one version of the meta-package always installs the same stack. The browser apps and Rust tools are distributed through npm and crates.io; the versions below are the ones released and tested together.

Registry Package Version
PyPI abstractgateway 0.2.30
PyPI abstractassistant 0.5.0
PyPI abstractcore 2.13.42
PyPI AbstractRuntime 0.4.32
PyPI abstractagent 0.3.13
PyPI AbstractMemory 0.3.0
PyPI abstractsemantics 0.0.5
PyPI abstractvoice 0.11.3
PyPI abstractvision 0.3.29
PyPI abstractmusic 0.1.15
npm @abstractframework/flow 0.3.20
npm @abstractframework/code 0.4.2
npm @abstractframework/observer 0.1.12
npm @abstractframework/continuum 0.2.0
npm @abstractframework/entity 0.1.0
crates.io abstractcode 0.5.1
crates.io abstractgateway-console 0.6.0
crates.io abstracttui 0.6.0
GHCR ghcr.io/lpalbou/abstractgateway 0.2.30 (0.2.30-gpu experimental)
GHCR ghcr.io/lpalbou/abstractcore 2.13.42

Optional add-ons that are not part of any profile install separately: pip install abstract3d (0.3.1), pip install abstractcamera (0.2.0) and pip install abstractskill (0.2.1).

See docs/install.md for the full install chooser, uv/venv guidance, abstractframework doctor, and the generated installer manifest contract.


Documentation

Page What it covers
docs/README.md Documentation hub — pick your starting point
docs/install.md Light / Apple / GPU install chooser and first checks
docs/getting-started.md Two entry points + first end-to-end run
docs/architecture.md Layered model, durable execution primitives, comparisons
docs/configuration.md Minimal config, where defaults live, Core vs Gateway
docs/glossary.md Shared terminology (run, ledger, effect, wait, bundle, …)
docs/faq.md Common questions, comparisons, troubleshooting
docs/api.md Meta-package API (pins, helpers, re-exports)

Developer setup (from source)

Clone all sibling repos and build everything in editable mode:

./scripts/clone.sh           # clone every sibling repository next to this one
source ./scripts/build.sh    # editable installs into .venv (use `source` to stay in the venv)

Then configure:

abstractcore --config
abstractcore --install

License

MIT. See LICENSE.

Release files for abstractframework 0.1.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for abstractframework 0.1.12
File Size Uploaded
abstractframework-0.1.12.tar.gz 541.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for abstractframework 0.1.12
File Interpreter ABI Platform
abstractframework-0.1.12-py3-none-any.whl Python 3 none any Details

Total release size: 556.0 kB

Release files / abstractframework-0.1.12.tar.gz

Download URL abstractframework-0.1.12.tar.gz
Size 541.6 kB
Tags Source
SHA-256 checksum
How to use checksums
355a05e265adeadf65aacc98f3002d9a3590d10f37fc2ef05fdf90ec49ac6a3b
BLAKE2b-256 checksum
How to use checksums
92deaf21a058eff6de6c6e99f587cd35b72df2898a1a8979bb0f290b3a45c81a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / abstractframework-0.1.12-py3-none-any.whl

Download URL abstractframework-0.1.12-py3-none-any.whl
Size 14.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5885511e0f57e09ee2487a209d796ae6a2110d05557165c659b45f2c5998c195
BLAKE2b-256 checksum
How to use checksums
7607419cd038530f6c8d2be46cecb970aff0b08830fbe25362e38c902d709a39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

This release

0.1.12 This release

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page