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 inopenadapt-flow. This repository provides the unifiedopenadaptCLI and compatibility surface, not a second engine. Lifecycle: Beta.
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 quickstartYou now have:
openadapt-quickstart/recording/: the demonstrated interaction and retained target evidenceopenadapt-quickstart/bundle/: the inspectable compiled workflowopenadapt-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/bundleThe 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.
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 runThe 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 scrubbingFor the visual authoring and review experience, install OpenAdapt Desktop.
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.
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.
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.
Repairs are versioned changes, not permission to improvise. Candidate repairs can be reviewed, tested against the workflow’s qualification contract, promoted, and rolled back.
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.
| 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 | 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.
- 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.
Launcher, packaging, and unified-CLI changes belong here. Compiler, runtime,
verification, repair, and backend changes belong in openadapt-flow.
- Contribution guide
- Open an issue
- GitHub Discussions
- Discord community
- Report a vulnerability privately
OpenAdapt is maintained by OpenAdaptAI and released under the MIT License.
