About this project

AbstractGateway is the deployable Run Gateway host for AbstractRuntime runs and the control plane of an AbstractFramework installation. It is written in Python and installs via pip or Docker. Core capabilities described in the README: - Durable runs: start runs, accept a durable command inbox, and replay or stream a durable ledger (replay-first architecture with an append-only ledger). - Security baseline: user accounts, browser sessions, an origin allowlist, request limits and an audit log. - Management surfaces: a web console at /console, a terminal console (Rust app installed via cargo), the CLI, and an optional desktop tray icon. - Client contract over HTTP: clients such as AbstractFlow, AbstractCode, AbstractObserver, AbstractContinuum, AbstractEntity and AbstractAssistant talk to the gateway over HTTP, so none depends on the others. Runs are started with POST /api/gateway/runs/start, scheduled with POST /api/gateway/runs/schedule, controlled through durable commands (pause, resume, cancel, emit_event, update_schedule, compact_memory), and rendered by replaying or streaming the ledger (GET ledger, SSE ledger/stream). - Local engines and models: console tabs and CLI commands probe engines (Ollama, LM Studio, MLX, llama.cpp and others), install an engine, list models that fit the machine, and download or list installed models. Engine installs run on the gateway host and are governed by an allow_engine_install setting. - Browser apps and network exposure: install and launch browser apps from npm, open them with a one-time signed-in link, and set network exposure to localhost, lan or internet. - Multimodal routes: run-scoped endpoints for voice/TTS, audio transcription, image generation/edit/upscale, video generation and image-to-video, and music generation, plus discovery and catalog endpoints for capabilities, voices, audio models, music providers and vision, artifact search, KG queries and prompt-cache controls. - Deployment: GHCR images (a light server image and an experimental GPU image), Docker run examples, and configuration through environment variables and a config helper. Optional extras cover Apple-local engines, GPU profiles, local embeddings, the tray, docs tooling and dev dependencies. A first run with nothing configured binds 127.0.0.1:8080, enables user auth, creates an admin user and prints a one-time console claim link. The README also documents shipped workflows (including basic-agent, coding-agent, deep-research and co-scientist), authoring .flow bundles with AbstractFlow, and links to extensive documentation. License: MIT.