Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion components/Developers.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export default function Developers({ buildWarnings = [], githubStats = null }) {
</div>
)}
<p className="mt-2 mb-6 mx-auto text-center max-w-2xl text-sm text-ink-2">
<code>pip install 'openadapt[browser]'</code> is the stable
<code>pip install openadapt</code> is the stable
end-user entry point. The <code>openadapt-flow</code>{' '}
engine records a workflow, compiles it into a
reviewable program, and replays it locally with no model
Expand Down
8 changes: 4 additions & 4 deletions components/InstallSection.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { faCopy, faCheck, faTerminal } from '@fortawesome/free-solid-svg-icons';
import styles from './InstallSection.module.css';
import { track, EVENTS } from 'utils/analytics';

const INSTALL_COMMAND = "pip install 'openadapt[browser]'";
const INSTALL_COMMAND = 'pip install openadapt';

function CopyButton({ text, className, onCopied }) {
const [copied, setCopied] = useState(false);
Expand Down Expand Up @@ -100,16 +100,16 @@ export default function InstallSection() {
which runs in the browser: record, compile, inspect, certify,
replay, and induce known test drift. No account or cloud
service. Once it is installed, your workflow data stays on
your machine. The browser extra is not part of native, RDP,
or Citrix-only installs. On first web use,{' '}
your machine. The base install includes browser support. On
first web use,{' '}
<code>demo-record</code> or{' '}
<code>replay</code> downloads a bundled Chromium (~150&nbsp;MB)
once, so that step takes a few minutes, and on Linux you may
need <code>playwright install-deps</code> first.
</p>
<div className={styles.commandGrid}>
<div className={styles.commandItem}>
<code>pip install 'openadapt[browser]'</code>
<code>pip install openadapt</code>
<span>Install OpenAdapt</span>
</div>
<div className={styles.commandItem}>
Expand Down
2 changes: 1 addition & 1 deletion components/MastHead.js
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ export default function Home({ githubStats: initialGithubStats }) {
</p>
<p className="mb-8 text-sm leading-relaxed text-ink-3">
<code className="rounded border border-hairline bg-panel px-2 py-1 text-ink">
pip install 'openadapt[browser]'
pip install openadapt
</code>
<span aria-hidden="true"> · </span>
<Link
Expand Down
2 changes: 1 addition & 1 deletion components/Pricing.js
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ export default function Pricing({ hostedOffer = null }) {
Run the open-source demo
</a>
<p className="mt-3 text-center font-mono text-xs text-ink-3">
pip install 'openadapt[browser]'
pip install openadapt
</p>
</EntryCard>

Expand Down
6 changes: 3 additions & 3 deletions data/published-version-claims.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,16 @@
"kind": "pypi-latest",
"source_of_truth": "public/status.json#/versions",
"release_source_of_truth": "public/status.json#/releases",
"verified_on": "2026-08-25",
"evidence": "Published package and GitHub release records on 2026-08-25: openadapt 1.14.0, openadapt-flow 1.33.0, openadapt-capture 1.2.2, openadapt-desktop 0.15.0.",
"verified_on": "2026-08-26",
"evidence": "Published package and GitHub release records on 2026-08-26: openadapt 1.15.0, openadapt-flow 1.33.0, openadapt-capture 1.2.2, openadapt-desktop 0.15.0.",
"packages": {
"launcher": "openadapt",
"flow": "openadapt-flow",
"capture": "openadapt-capture",
"desktop": "openadapt-desktop"
},
"versions": {
"launcher": "1.14.0",
"launcher": "1.15.0",
"flow": "1.33.0",
"capture": "1.2.2",
"desktop": "0.15.0"
Expand Down
4 changes: 2 additions & 2 deletions data/templates.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const FLOW_REPO = 'https://github.com/OpenAdaptAI/openadapt-flow'
// The canonical end-user quickstart enters through the flagship OpenAdapt
// package while source links below continue to point to the engine repository.
const DEMO_QUICKSTART = [
{ cmd: "pip install 'openadapt[browser]'", what: 'Install the OpenAdapt launcher, compiler, and browser capability.' },
{ cmd: 'pip install openadapt', what: 'Install the OpenAdapt launcher, compiler, and included browser capability.' },
{ cmd: 'openadapt flow demo-record --out rec', what: 'Serve the bundled MockMed clinic app locally and record the canonical triage demonstration.' },
{ cmd: 'openadapt flow compile rec --out bundle --name triage-note', what: 'Compile the recording into a deterministic, locally executable bundle.' },
{ cmd: 'openadapt flow lint bundle', what: 'Report the bundle’s coverage gaps — expected: it finds the demo’s unarmed irreversible final click.' },
Expand All @@ -33,7 +33,7 @@ const DEMO_QUICKSTART = [
]

const RECORD_YOUR_OWN = [
{ cmd: "pip install 'openadapt[browser]'", what: 'Install the OpenAdapt launcher, compiler, and browser capability.' },
{ cmd: 'pip install openadapt', what: 'Install the OpenAdapt launcher, compiler, and included browser capability.' },
{ cmd: 'openadapt flow record --url https://your.app --out rec', what: 'Open a headed browser on your app and demonstrate the workflow once; Ctrl-C to finish.' },
{ cmd: 'openadapt flow compile rec --out bundle --name my-task', what: 'Compile the recording into a deterministic bundle with auto-classified risk per step.' },
{ cmd: 'openadapt flow lint bundle && openadapt flow certify bundle --policy permissive', what: 'Surface coverage gaps, then gate the bundle against a policy before it ever deploys.' },
Expand Down
4 changes: 2 additions & 2 deletions data/templates/batch-worklist-loop.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
"bounded max_iterations halt"
],
"install": {
"command": "pip install 'openadapt[browser]'",
"note": "Installs the OpenAdapt launcher, compiler, and browser capability."
"command": "pip install openadapt",
"note": "Installs the OpenAdapt launcher, compiler, and included browser capability."
},
"tryItCommand":
"openadapt flow for-each <single-demo-bundle> --records worklist.csv --out my-loop-bundle --map note=note",
Expand Down
4 changes: 2 additions & 2 deletions data/templates/exception-routing-human-approval.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
}
],
"install": {
"command": "pip install 'openadapt[browser]'",
"note": "Installs the OpenAdapt launcher, compiler, and browser capability."
"command": "pip install openadapt",
"note": "Installs the OpenAdapt launcher, compiler, and included browser capability."
},
"faq": []
}
4 changes: 2 additions & 2 deletions data/templates/frappe-loan-application.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
"demonstrates":
"A loan application entered once on a pinned Frappe Lending v16.2.0 fixture and accepted only when three independent oracles - a separately authenticated read-only REST session, a direct SQL read-back, and an exact table-delta audit - agree that exactly one application was written.",
"install": {
"command": "pip install 'openadapt[browser]'",
"note": "Installs the OpenAdapt launcher, compiler, and browser capability."
"command": "pip install openadapt",
"note": "Installs the OpenAdapt launcher, compiler, and included browser capability."
},
"tryItCommand":
"openadapt flow record --url http://localhost:8000/app/loan-application --out rec && openadapt flow compile rec --out bundle --name loan-application",
Expand Down
2 changes: 1 addition & 1 deletion data/templates/native-desktop-data-entry.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
}
],
"install": {
"command": "pip install 'openadapt[browser]'",
"command": "pip install openadapt",
"note": "Installs the OpenAdapt launcher, compiler, and capture capability."
},
"faq": []
Expand Down
4 changes: 2 additions & 2 deletions data/templates/openemr-create-patient-record.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@
"non-target table-delta audit (exactly one new patient, nothing else changed)"
],
"install": {
"command": "pip install 'openadapt[browser]'",
"note": "Installs the OpenAdapt launcher, compiler, and browser capability."
"command": "pip install openadapt",
"note": "Installs the OpenAdapt launcher, compiler, and included browser capability."
},
"tryItCommand":
"openadapt flow record --url http://localhost/openemr --out rec && openadapt flow compile rec --out bundle --name create-patient",
Expand Down
4 changes: 2 additions & 2 deletions data/templates/openemr-patient-note.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
"demonstrates":
"An 18-step add-patient-note workflow on the real third-party OpenEMR public demo: log in, find the patient, open the chart, navigate to Patient Messages, enter a parameterized note, save - with each replay substituting a distinct note value.",
"install": {
"command": "pip install 'openadapt[browser]'",
"note": "Installs the OpenAdapt launcher, compiler, and browser capability."
"command": "pip install openadapt",
"note": "Installs the OpenAdapt launcher, compiler, and included browser capability."
},
"tryItCommand":
"openadapt flow record --url https://demo.openemr.io/openemr --out rec && openadapt flow compile rec --out bundle --name add-note",
Expand Down
4 changes: 2 additions & 2 deletions data/templates/openimis-claim-intake.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
"demonstrates":
"A health-facility claim entered once in openIMIS - the open-source system used by national health-insurance schemes - compiled, and replayed with a fresh claim number, accepted only when a direct SQL read shows exactly one new claim row in status Entered for the right policyholder and facility.",
"install": {
"command": "pip install 'openadapt[browser]'",
"note": "Installs the OpenAdapt launcher, compiler, and browser capability."
"command": "pip install openadapt",
"note": "Installs the OpenAdapt launcher, compiler, and included browser capability."
},
"tryItCommand":
"openadapt flow record --url http://localhost:8000/ --out rec && openadapt flow compile rec --out bundle --name claim-intake",
Expand Down
4 changes: 2 additions & 2 deletions data/templates/openimis-eligibility-enquiry.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
"declared-effect check with explicit halt path"
],
"install": {
"command": "pip install 'openadapt[browser]'",
"note": "Installs the OpenAdapt launcher, compiler, and browser capability."
"command": "pip install openadapt",
"note": "Installs the OpenAdapt launcher, compiler, and included browser capability."
},
"tryItCommand":
"openadapt flow record --url http://localhost:8000/ --out rec && openadapt flow compile rec --out bundle --name eligibility-enquiry",
Expand Down
4 changes: 2 additions & 2 deletions data/templates/patient-triage-note.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
"demonstrates":
"A nurse's triage-note workflow demonstrated once in a synthetic clinic app, compiled into a deterministic local program, and replayed with the note text as a parameter - including five injected fault classes that must halt instead of proceeding.",
"install": {
"command": "pip install 'openadapt[browser]'",
"note": "Installs the OpenAdapt launcher, compiler, and browser capability."
"command": "pip install openadapt",
"note": "Installs the OpenAdapt launcher, compiler, and included browser capability."
},
"tryItCommand": "openadapt flow replay bundle --param note=\"Triage note from $(date +%F)\"",
"runStats": {
Expand Down
2 changes: 1 addition & 1 deletion data/templates/rdp-citrix-hosted-app-update.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
}
],
"install": {
"command": "pip install 'openadapt[browser]'",
"command": "pip install openadapt",
"note": "Installs the OpenAdapt launcher, compiler, and capture capability."
},
"faq": []
Expand Down
6 changes: 3 additions & 3 deletions pages/download.js
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ export default function DownloadPage({ release, fetchFailed }) {
Windows, macOS, and Linux.
</p>
<pre className="mt-6 max-w-2xl overflow-x-auto rounded-xl border border-hairline bg-panel p-4 font-mono text-sm text-ink">
<code>pip install 'openadapt[browser]'</code>
<code>pip install openadapt</code>
</pre>

<div className="mt-6 flex flex-wrap gap-3">
Expand Down Expand Up @@ -269,7 +269,7 @@ export default function DownloadPage({ release, fetchFailed }) {
<p className="mt-2 max-w-2xl text-sm text-ink-2">
The next complete Beta set has not been
published yet. Use{' '}
<code>pip install 'openadapt[browser]'</code>, or watch the
<code>pip install openadapt</code>, or watch the
desktop releases page for the native build.
</p>
<div className="mt-4 flex flex-wrap gap-3">
Expand Down Expand Up @@ -522,7 +522,7 @@ export default function DownloadPage({ release, fetchFailed }) {
Need the working workflow engine?
</h2>
<p className="mx-auto mt-3 max-w-2xl text-sm text-ink-2 md:text-base">
Start with <code>pip install 'openadapt[browser]'</code>, or bring the workflow
Start with <code>pip install openadapt</code>, or bring the workflow
you most want to automate to a 30-minute call.
</p>
<div className="mt-5 flex flex-wrap justify-center gap-3">
Expand Down
10 changes: 5 additions & 5 deletions pages/start.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import Link from 'next/link'
import Footer from '@components/Footer'
import { EVENTS, track } from 'utils/analytics'

const INSTALL = "python -m pip install --upgrade 'openadapt[browser]'"
const INSTALL = 'python -m pip install --upgrade openadapt'
const QUICKSTART = 'openadapt quickstart'

function Command({ command, event }) {
Expand Down Expand Up @@ -112,10 +112,10 @@ export default function StartPage() {
/>
</div>
<p className="mt-5 text-xs leading-relaxed text-ink-3">
Requires Python 3.10–3.12. The browser extra is
only for this web tutorial; its first web action
downloads matching Chromium once. Native, RDP,
and Citrix installs do not need it.
Requires Python 3.10–3.12. The base install
includes the browser support for this tutorial.
Its first web action downloads matching Chromium
once. Native, RDP, and Citrix runs do not use it.
</p>
<div className="mt-auto pt-6">
<a
Expand Down
11 changes: 4 additions & 7 deletions public/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
# OpenAdapt installer — https://openadapt.ai
#
# curl -fsSL https://openadapt.ai/install.sh | sh
# curl -fsSL https://openadapt.ai/install.sh | sh -s -- browser
#
# Installs uv (a fast Python toolchain) if you don't have it, then installs
# OpenAdapt as a persistent `openadapt` command. Safe to re-run: it upgrades
Expand Down Expand Up @@ -32,19 +31,17 @@ if ! command -v uv >/dev/null 2>&1; then
fi

case "${1:-}" in
"")
""|browser)
# Keep the historical browser argument compatible with saved commands.
package='openadapt'
;;
browser)
package='openadapt[browser]'
;;
*)
err "Unknown capability '$1'. Use no argument, or: browser"
err "Unknown capability '$1'. Use no argument."
exit 2
;;
esac

info "Installing OpenAdapt${1:+ with browser support}…"
info "Installing OpenAdapt…"
uv tool install --upgrade "$package"

# Make sure the installed `openadapt` command is on PATH in future shells.
Expand Down
2 changes: 1 addition & 1 deletion public/llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ control plane is a separate commercial product.

- Engine source: https://github.com/OpenAdaptAI/openadapt-flow
- Install route: https://github.com/OpenAdaptAI/OpenAdapt and `pip install openadapt`
- Current published versions: launcher 1.14.0, Flow 1.33.0, capture 1.2.2, desktop 0.15.0
- Current published versions: launcher 1.15.0, Flow 1.33.0, capture 1.2.2, desktop 0.15.0
- Product lifecycle: Beta

---
Expand Down
2 changes: 1 addition & 1 deletion public/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ OpenAdapt fits repetitive, consequential work where the application has no pract
## Canonical machine-readable status

- [status.json](https://openadapt.ai/status.json): The single source of truth for product lifecycle, released component versions, per-substrate availability, delivery boundary, and the linked acceptance evidence for each substrate. Public surfaces render their labels from this file. Prefer it over any prose on this site if the two ever disagree.
- Current published versions: launcher 1.14.0, Flow (compiler/runtime) 1.33.0, capture 1.2.2, desktop 0.15.0. Product lifecycle: Beta.
- Current published versions: launcher 1.15.0, Flow (compiler/runtime) 1.33.0, capture 1.2.2, desktop 0.15.0. Product lifecycle: Beta.

## Execution substrates and their evidence boundary

Expand Down
24 changes: 12 additions & 12 deletions public/status.json
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
{
"$comment": "Canonical machine-readable release, capability, evidence, and deployment status for OpenAdapt. Served at https://openadapt.ai/status.json and consumed by status-aware public surfaces and tests. OpenAdapt is one Beta product across browser, Windows, macOS, Linux, RDP, and Citrix/VDI. Capability availability is distinct from the deployment boundary and from the bounded evidence scope recorded for each substrate.",
"generated_at": "2026-08-22",
"generated_at": "2026-08-26",
"product_lifecycle": "Beta",
"versions": {
"launcher": "1.14.0",
"launcher": "1.15.0",
"flow": "1.33.0",
"capture": "1.2.2",
"desktop": "0.15.0"
},
"releases": {
"launcher": {
"package": "openadapt",
"version": "1.14.0",
"version": "1.15.0",
"source": "pypi",
"github_repository": "OpenAdaptAI/OpenAdapt",
"tag": "v1.14.0",
"release_commit": "b9e096535224e0cb4b62d89f097a6b09c318bfe5",
"qualified_source_commit": "5de18046d4c63d57eddbe827259818b31d24ecd3",
"tag": "v1.15.0",
"release_commit": "083414d89f282631071d6914c865f0175b6d8c84",
"qualified_source_commit": "8d5627a69b86565a4eabe71929820fd573f1bb88",
"artifacts": [
{
"type": "bdist_wheel",
"filename": "openadapt-1.14.0-py3-none-any.whl",
"url": "https://files.pythonhosted.org/packages/d8/9a/2ac1a9748901c11109bf82ee4a37708f03bfe857dfdd25dcc98957acb6fc/openadapt-1.14.0-py3-none-any.whl",
"sha256": "ac79ccb3b502f6a6c309fd05fa965ed874bee3470e45cf9ac919ef4df6c0bc8f"
"filename": "openadapt-1.15.0-py3-none-any.whl",
"url": "https://files.pythonhosted.org/packages/92/2e/ce94bea08065173e038f0d61c574ae0c25037cb9f6b78f18510c3da16a49/openadapt-1.15.0-py3-none-any.whl",
"sha256": "c7b20b231ba5bdd36e99188f535bdec92af0697ade61b8c76e92336613dde79c"
},
{
"type": "sdist",
"filename": "openadapt-1.14.0.tar.gz",
"url": "https://files.pythonhosted.org/packages/5e/20/eed353c2356b01fb608f6f472b241c3200eec310b054ff28154f6d7cfb5f/openadapt-1.14.0.tar.gz",
"sha256": "0a5456faa6769a2186cd653050134bb3c91cb202e9a147fcd611b0671c52370f"
"filename": "openadapt-1.15.0.tar.gz",
"url": "https://files.pythonhosted.org/packages/af/12/2e80151231dfbff6fa5324f48722d90f4bbc02833fb8eb2f179f6582f070/openadapt-1.15.0.tar.gz",
"sha256": "db73a1d0bed9a96b58cf795146aecfe40ceae12fa147d4bf7ecd106872a4a81f"
}
]
},
Expand Down
Loading
Loading