Skip to main content

OpenAdapt

CI PyPI Downloads Python 3.10–3.12 License: MIT Discord

Automate the UI-only work your APIs can’t reach.

OpenAdapt is the verified execution layer for consequential work trapped behind human interfaces. It turns a demonstration into an inspectable workflow that runs across browser, Windows, macOS, Linux, RDP, and Citrix/VDI. Healthy runs use no generative-model calls. Consequential actions are identity-gated, declared results are verified, and uncertainty halts for review instead of becoming a wrong click.

Use a supported API when one fits. Use OpenAdapt when the interface is unavoidable and the outcome needs proof.

Website · Documentation · Desktop downloads · OpenAdapt Cloud · Qualify a workflow

Repository role: this is the flagship OpenAdapt project, the source of pip install openadapt, and the stable community entry point. The compiler and governed runtime are implemented in openadapt-flow. This repository provides the unified openadapt CLI and compatibility surface, not a second engine. Lifecycle: Beta.

Try it locally

OpenAdapt requires Python 3.10–3.12. Install the browser capability for the bundled tutorial:

python -m pip install --upgrade 'openadapt[browser]'

Run the complete bundled tutorial with one command. It needs no account, target application, API key, or operating-system automation permissions:

openadapt quickstart

You now have:

  • openadapt-quickstart/recording/: the demonstrated interaction and retained target evidence
  • openadapt-quickstart/bundle/: the inspectable compiled workflow
  • openadapt-quickstart/run/REPORT.md: the ordered actions, evidence, outcome, and any halt reason

Inspect the program and its deployment gaps:

openadapt flow visualize openadapt-quickstart/bundle --out graph.html
openadapt flow lint openadapt-quickstart/bundle

The bundled workflow is a tutorial, not a production certification. Qualifying a real workflow adds its application boundary, action risks, identities, effect verifiers, fault cases, and deployment policy. Continue with the five-minute walkthrough.

Record your workflow

The browser path is an explicit capability, so native and remote-only installs do not carry the Playwright driver:

openadapt flow record --backend web --url https://your-app.example --out rec
openadapt flow compile rec --out bundle --name my-workflow
openadapt flow replay bundle --url https://your-app.example --run-dir run

The first browser action downloads its matching Chromium build once. A native desktop, RDP, or Citrix workflow never downloads or imports it.

Install only the capabilities needed for native or remote work:

python -m pip install "openadapt[capture]"          # local human demonstration
python -m pip install "openadapt[capture,windows]"  # Windows UI Automation
python -m pip install "openadapt[capture,macos]"    # macOS Accessibility
python -m pip install "openadapt[capture,linux]"    # Linux AT-SPI
python -m pip install "openadapt[capture,rdp]"      # RDP transport
python -m pip install "openadapt[privacy]"          # PII/PHI scrubbing

For the visual authoring and review experience, install OpenAdapt Desktop.

OpenAdapt Desktop showing a completed compiled workflow with all 11 steps verified, an 8.2 second run, and no model calls

What makes it different

Verified business effects

A click succeeding is not proof that the intended transaction committed. OpenAdapt separates action delivery from outcome verification. Workflows can bind consequential writes to an independent interface, a separate read-only session, or persisted-state reacquisition before reporting VERIFIED.

Fail-closed execution

Before a consequential action, the runtime can check authorization, workflow state, record identity, target uniqueness, and the fresh application view. Afterward it waits for settled state and evaluates the declared effect. If the contract cannot be established, it returns evidence and halts.

Deterministic healthy runs

The compiler retains structural, accessibility, visual, OCR, spatial, and transition evidence from the demonstration. The runtime uses the strongest signals available on each surface. A generative model may propose a governed repair when explicitly allowed, but it is not on the healthy execution path.

Governed repair

Repairs are versioned changes, not permission to improvise. Candidate repairs can be reviewed, tested against the workflow’s qualification contract, promoted, and rolled back.

One workflow model, multiple surfaces

OpenAdapt keeps portable workflow intent separate from environment-specific bindings:

Product family Execution surfaces Strongest available evidence
Browser Chromium-based web applications DOM, accessibility, visual, OCR
Native desktop Windows, macOS, Linux UI Automation, Accessibility, AT-SPI, visual
Remote applications RDP, Citrix Workspace, VDI External pixels, OCR, anchors, keyboard, mouse

Remote execution operates from a customer-controlled runner through the visible client. It does not require OpenAdapt software inside the remote session. Every workflow is qualified against its exact application, version, environment, identity contract, and effect verifier rather than inheriting a blanket platform claim.

See the substrate model, qualification evidence, and CLI reference for the full contracts.

Local, customer-controlled, or managed

Operating model Best for Where application data and execution live
Local / self-hosted Community use and local automation Your machine or infrastructure
Customer-controlled Sensitive data, native apps, RDP, Citrix, private networks Your declared boundary; Cloud can coordinate approved metadata and artifacts
Managed execution Approved browser and non-sensitive workflows OpenAdapt-managed runners and control plane

Raw recordings and live observations stay local by default. Artifacts cross a boundary only through explicit sanitization and exact-byte approval. Review the trust center before choosing a deployment.

The local launcher, compiler/runtime, Desktop application, substrate adapters, verification interfaces, and basic qualification tools are MIT licensed. OpenAdapt Cloud is the commercial multi-tenant control plane for managed operation, fleet governance, billing, and enterprise integrations. Local safety-critical verification is not paywalled.

Evidence

Evidence Result
Public OpenEMR reference workflow 20/20 effect-verified runs, 39.2s median, 0 model calls
Heart-care RVU audit customer case Approximately $75,000/year in recovered billables and several hours of monthly audit work saved

Read the benchmark method and comparison and the RVU audit case study. Results belong to their named task and environment; workflow qualification defines what can be claimed for a new deployment.

Project map

  • This repository: installer, unified CLI, release compatibility, and stable project URL
  • openadapt-flow: canonical compiler, governed runtime, CLI implementation, and conformance tests
  • Documentation: installation, workflow authoring, qualification, operation, deployment, and reference material
  • Desktop: native record, inspect, qualify, execute, and review application

The pre-1.0 monolith remains available under legacy/ for migration history. New product and engine development belongs in openadapt-flow.

Research and legacy history

These surfaces are preserved for continuity and are not part of the supported product. None of them are required to record, compile, replay, or verify a workflow, and the compiler makes no generative-model calls on its healthy path.

Research packages. A separate research line studies whether human demonstrations can improve the accuracy of general computer-use models. It is a different question from compiling one demonstration into a deterministic script.

Package Research focus Repository
openadapt-ml Training and inference for multimodal GUI-action models openadapt-ml
openadapt-evals Benchmark evaluation for GUI agents openadapt-evals
openadapt-retrieval Multimodal demonstration retrieval openadapt-retrieval
openadapt-grounding UI element localization / grounding models openadapt-grounding

Install with pip install "openadapt[ml,evals]". See the research thesis for methodology, results, and limits.

Development and operations tooling. openadapt-wright, openadapt-herald, openadapt-crier, openadapt-consilium, openadapt-telemetry, and openadapt-viewer support development and operations. They are not required by the compiler runtime.

Pre-1.0 monolith. The historical monolithic codebase (v0.46.0) is frozen under legacy/ and remains installable with pip install openadapt==0.46.0. See docs/LEGACY_FREEZE.md for the migration guide. Early demonstrations: Twitter and Loom.

Contributing and support

Launcher, packaging, and unified-CLI changes belong here. Compiler, runtime, verification, repair, and backend changes belong in openadapt-flow.

OpenAdapt is maintained by OpenAdaptAI and released under the MIT License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openadapt-1.10.2.tar.gz (40.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openadapt-1.10.2-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file openadapt-1.10.2.tar.gz.

File metadata

  • Download URL: openadapt-1.10.2.tar.gz
  • Upload date:
  • Size: 40.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for openadapt-1.10.2.tar.gz
Algorithm Hash digest
SHA256 cae5a1421213521c7d60f613024d8683b2cb0c118186202279c5cb03d2731a38
MD5 1b7aab60bb89e2e05bee5de35b65ba3d
BLAKE2b-256 418c5ee0de5ad16a3403646019b50b7479499f4f18374fd0bd4c191dd2384d95

See more details on using hashes here.

File details

Details for the file openadapt-1.10.2-py3-none-any.whl.

File metadata

  • Download URL: openadapt-1.10.2-py3-none-any.whl
  • Upload date:
  • Size: 18.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for openadapt-1.10.2-py3-none-any.whl
Algorithm Hash digest
SHA256 717adffae146a3dea22f82a57317e45d15c98b1f115285e60a93b01fe45464d6
MD5 1f73aa6602df83b56987cded06a07341
BLAKE2b-256 0b725d99b13bd81d684dd0d619c95cffff7a09b0553c7d7c18cb9c8a81374919

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page