Adopt

Add one capability across operating systems, libraries, and services

Applications already use abstractions for files, windows, networks, and libraries. OA extends that idea to running capabilities such as downloads, model calls, logging, storage, configuration, and application tools. Choose the capability, add its client, run the OA service, and connect an available implementation.

Release notes list available packages, included features and installation verification. For source integrations, Coverage shows which capability, language and operating-system combinations were tested.

For people who use applications

Install the shared runtime

Install the latest shared runtime. The release notes list each asset's contents and package verification, including Panel availability.

Historical 0.2.0 platform evidence remains in the previous release record.

Windows

Download the latest x64 MSI or ARM64 MSI. The installer defaults to Just me. Everyone requires administrator access. Adding commands to PATH is optional. Open the installed Panel to inspect runtime readiness and permissions.

Linux

Download the amd64 or ARM64 archive from the latest runtime release, extract it and follow its install.sh instructions for the current user. See the release notes for installation verification and platform limits.

macOS

Download the universal package from the latest runtime release. Its notes identify the signing state, tested systems and installation checks. The retained 0.3.0 evidence records that earlier package's arm64 installation, runtime/XPC readiness, reinstall and removal checks. Older-system qualification remains open.

Windows and Linux packages are unsigned; Windows may show a SmartScreen warning. ARM64 packages are cross-built and are not installation-tested. Check the release SHA256SUMS before installing. Current macOS source uses XPC for program identity; the installed-package acceptance does not establish crash-recovery behavior.

Windows Panel: one approved native start on WebView2 runtime 153.0.4234.48 rendered the Panel and coincided with one Windows Event 4625 naming msedgewebview2.exe with bad-password status. The event’s initiating code path is unknown. No supported mitigation or repeated-start safety is established. Avoid repeated native starts on affected systems; runtime commands remain available.

After installation, check the runtime from a terminal. If you left PATH unchanged, use the installed executable’s full path.

openabstractions status --json
openabstractions probe --json

status reports readiness; probe checks bounded service reads. status --json prints each capability's readiness as one JSON document. probe --json prints one JSON document per probe result. An application still needs permission for its requested actions and a compatible provider. The installation guide describes setup; the 0.2.0 upgrade report records migration from 0.1.7.

Installed runtime features

The Windows installer offers feature choices. Check the release notes to see which optional tools are included in each asset before configuring an assistant.

FeatureInstallsDefaultWhat it does
RuntimeThe service, Panel and command lineOn—
Local model storesinventoryd.exe and the declaration file that registers it as an abstraction.storage/inventory-source@1 providerOnFinds the model files your other apps already downloaded.
MCP gatewayopenabstractions-mcp, with no runtime declaration (unlike the other features, it installs no declaration file in tools\declarations\, so the runtime does not know it exists or start it; an assistant launches it directly by its path, and it holds no rights until granted)OffLets an AI assistant use OA's tools.
Model hostmodelhostd.exe only; openabstractions models host writes its provider declaration laterOffServes chat and embeddings from a model file on this machine with the pinned llama.cpp build, which modelhostd engine install stages from the publisher's archive you download.
NAS downloadsNothing; the delegator runs inside the download service alreadyHeld, hidden, never installed—

Local model stores are on in this development feature set because they only read directory listings and write nothing. The MCP gateway and model host default to off. Selecting either installs its program but grants it no rights; the gateway has no runtime declaration, and a model-host declaration is written when an operator configures a model.

What changes after installing

The runtime starts as a background service. On Windows, a Panel icon sits in the notification area at sign-in, and the Panel also opens from the Start menu. The first time an application asks for a new permission, the Panel shows the question. Install the runtime once from the links above. See what works with it today. No application bundles the runtime yet.

The Panel's status page on Windows, listing runtime health, accepted work, permission questions, rights, logs and identity.
The Panel on Windows: what is running, what each app may do, and the questions apps ask you. Open full size.
The Panel's status page on macOS, listing runtime health, accepted work, permission questions, rights, logs and identity.
The same Panel on macOS. Open full size.

Manage credentials from the Panel

The Panel's Credentials page stores secrets your applications use, without ever showing, logging or sending a value back to you. Its own "Learn more" and "?" links open the anchors below; the same steps are available from the command line.

Saved credentials

Lists every credential registered on this account by name, kind, state, target and consumer; the secret itself is never shown, logged or sent back.

openabstractions credentials list

Add credential

Registers a new secret under a name that is not already in use, scoped to the hosts it may be sent to and the services allowed to apply it. The credential manager binds the caller the same way for every write (CRED-H1).

openabstractions credentials add <name> --target HOST --for CONSUMER

Rotate

Replaces the secret and expiry of a credential you have already listed, at the revision the list showed.

openabstractions credentials rotate <name>

Revoke

Deletes a credential's secret immediately and keeps a tombstone recording that it existed, at the revision you already listed.

openabstractions credentials revoke <name>

App access

Sets whether one application on one account may apply a named credential, using the same rights rule editor as the Panel's Questions and permissions page. Check and Apply evaluate the rights rule before the request is ever sent (CRED-A2).

openabstractions credentials allow <name> --program PATH, or add --deny

For developers

Write a log. Read it back from OA.

Start with one small application. It sends a structured event to OA, then retrieves that event from the service’s retained history. You grant history access to that application’s executable. OA keeps the record independently of the application.

The Go example includes Windows PowerShell and Linux commands for building the app, starting an isolated development runtime, and granting access. It uses a unique event ID to check that each run retrieves its own event.

wrote: worker started (quickstart-…)
read back: worker started (component=quickstart)

Open the logging quickstart and source

Use the example and runtime from the same release revision. The isolated write/read path has been exercised on Windows. Installed applications use discovery to verify the runtime; this example uses an explicit development endpoint.

Choose your starting point

Add a capability to an application

Pick downloads, inference, logging, storage, or another capability below. Add the facade client for your language and call the matching Resolve* method.

Facade source and language setup

Use an existing engine

Connect an existing downloader, model server, or content store through a provider or adapter. Register what it can do with OA; applications continue using the capability API.

Provider boundary

Run and configure OA

Start the runtime, choose which programs may do what, register providers and applications, save provider credentials, and inspect readiness.

See the example

Connect an assistant through MCP

Give an assistant access to model discovery, inference, durable inference jobs and visible application listings through OA’s development gateway.

Gateway setup and permissions

Choose a capability

Work and data

Jobs retain accepted work. Downloads dedupe by digest in one job table and delegate the transfer. Storage finds content-addressed bytes.

Example: an image editor can recover the same model download after it restarts.

Application services

Logging carries structured events. Configuration exposes effective OA settings and the source of each value. Credentials keep secrets inside approved services.

Example: the OA Panel follows logs and configuration changes while an application runs.

Models and inference

Model describes model lookup. Router selects eligible hosts. Inference carries chat, embeddings, speech, transcription, live sessions, and image generation.

A chat completion needs inference alone.

Example: a coding assistant keeps its chat API while OA changes the selected provider.

People, programs, and apps

Identity identifies the connected program and account. Rights chooses what that program may do. Asks carries specific human decisions. The facade can list visible apps and open a registered app with permission.

Example: an assistant opens an image editor and ties later actions to its current document.

For provider authors

Compare-and-set (CAS) replaces shared bytes only when they still match the version a provider read. Watch turns polled or pushed values into current snapshots, reports quiet after a chosen budget, and can collapse a burst into one settled callback.

Providers use these development utilities directly through their language packages. CAS has no behavioral contract page or capability claim.

Explore the full catalogue

The generated catalogue connects each responsibility to its contracts, language clients, source route, and recorded platform declaration.

Open the capability catalogue

Resolve a service

ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()

sink, err := facade.Discover().ResolveLog(
    ctx,
    facade.Requirements{Scope: facade.ScopeLocal},
)
  1. Choose an explicit deadline and execution scope.
  2. Request only the guarantees your feature requires.
  3. Handle resolution errors and capability outcomes as normal product states.
  4. Save the returned work reference and use the same request identity when a submission reply is lost.
  5. Exercise forbidden, unavailable, interruption, restart, and stale-context behavior for your integration.

Choose a language client

All five languages can use the shared native connection. Go, Python and C++ include it in the default facade entry point. Rust and JavaScript use separate native connector packages; their installed-runtime paths select and verify runtime identity. The facade repository gives revision-specific setup. The coverage page records capability-level checks. Runtime packaging and release qualification remain separate from these source paths.

JavaScript and Python packages for the resource, model bridge, model host and local-stores capabilities are not published to npm or PyPI in 0.3.0. The capability source remains available in its repository; registry artifacts have separate publication from the runtime.

ComfyUI: install the node

The node ships as an ordinary ComfyUI custom node, described by its own pyproject.toml: a [tool.comfy] table names the Comfy Registry publisher and display name, and requires-comfyui names the ComfyUI version this node was run against.

[tool.comfy]
PublisherId = "openabstractions"
DisplayName = "OpenAbstractions Downloads"
requires-comfyui = ">=0.35.0"

If OA is not running, Manager keeps working as before and the node explains what is missing rather than failing silently.

OpenCode: one command

The adapter ships its own configure.js. One command writes OpenCode's provider block from what this machine can actually serve.

node adopters/opencode/configure.js configure

It reads the router's servable chat families through the runtime and writes or updates the provider.<id> block. If no default model is set, it also selects one of those families. Other configuration keys stay untouched, and running it again with nothing changed leaves the file unchanged.

Connect an assistant through the MCP gateway

The MCP gateway is a separate optional stdio program. When the selected asset includes it, an assistant launches it directly. The gateway source and guide describe its tools and permission model.

The gateway guide includes source-build commands, permission setup and an OpenCode configuration example. Check the release notes to confirm whether the selected asset contains the optional program.

Application editing requires an application-specific adapter. For example, the ComfyUI experiment supplies preview, apply and readback tools tied to a document revision. The gateway’s application-listing tool exposes discovery metadata. See how application interaction fits together.