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
91 changes: 32 additions & 59 deletions components/InstallSection.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,13 @@ export default function InstallSection() {
>
<div className={styles.header}>
<FontAwesomeIcon icon={faTerminal} className={styles.terminalIcon} />
<h3 className={styles.title}>Install the OpenAdapt workflow CLI</h3>
<h3 className={styles.title}>Install OpenAdapt</h3>
</div>

<p className={styles.subtitle}>
One command installs the OpenAdapt launcher and governed
workflow compiler. The same CLI records, compiles, and replays
across browser, Windows, macOS, Linux, RDP, and Citrix under one
governed loop; browser runs in production today, and the desktop
and remote surfaces run through customer-controlled
qualification. No account or hosted service is required.
One command installs the launcher, compiler, governed runtime,
and browser driver used by the local tutorial. No account, API
key, or hosted service is required.
</p>

<div className={styles.codeContainer}>
Expand Down Expand Up @@ -93,71 +90,47 @@ export default function InstallSection() {
{/* Quick Start: the full loop */}
<div className={styles.quickStart}>
<h4 className={styles.quickStartTitle}>
The end-to-end workflow loop
Get a verified result, then test the safety gate
</h4>
<p className={styles.note} style={{ marginBottom: '0.75rem' }}>
Try the whole loop right now against the bundled demo app,
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 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.
The bundled tutorial records, compiles, certifies, and runs
a synthetic task. A separate read-only API verifies the
saved result before OpenAdapt reports <code>VERIFIED</code>.
The first browser action downloads matching Chromium once.
</p>
<div className={styles.commandGrid}>
<div className={styles.commandItem}>
<code>pip install openadapt</code>
<span>Install OpenAdapt</span>
</div>
<div className={styles.commandItem}>
<code>openadapt flow demo-record --out rec</code>
<span>Record yourself doing the task</span>
</div>
<div className={styles.commandItem}>
<code>
openadapt flow compile rec --out bundle --name
my-task
</code>
<span>Turn the recording into a workflow</span>
</div>
<div className={styles.commandItem}>
<code>openadapt flow lint bundle</code>
<span>Inspect identity, assertion, and risk coverage gaps</span>
<code>openadapt quickstart</code>
<span>
Complete the local lifecycle and write the bundle,
report, and privacy-safe receipt.
</span>
</div>
<div
className={`${styles.commandItem} ${styles.commandItemHalt}`}
>
<div className={`${styles.commandItem} ${styles.commandItemHalt}`}>
<code>
openadapt flow certify bundle --policy clinical-write
openadapt quickstart --break-it --out
openadapt-quickstart-broken
</code>
<span>
The clinical gate refuses this demo bundle and
exits non-zero — on purpose. Safeguards refuse
instead of guessing. Re-run with{' '}
<code>--policy permissive</code> to see a clean
pass.
Make the demo screen claim success without saving.
The independent verifier detects the mismatch and
returns <code>HALTED</code>.
</span>
</div>
<div className={styles.commandItem}>
<code>openadapt flow replay bundle</code>
<span>Replay it locally, with zero AI calls</span>
</div>
<div className={styles.commandItem}>
<code>openadapt flow replay bundle --drift theme</code>
<span>Exercise deterministic re-resolution on bundled test drift</span>
</div>
<div className={styles.commandItem}>
<code>pip uninstall openadapt</code>
<span>Remove the launcher when you are finished</span>
</div>
</div>
<p className={styles.note} style={{ marginTop: '0.75rem' }}>
Every replay writes a step-by-step run report: what ran,
what it saw, what re-resolved, and what halted.
Compiler/runtime source and measured limits are in{' '}
Healthy tutorial runs make zero model or Cloud calls. The
report shows what ran, what OpenAdapt verified, and why it
halted. Record your own workflow in the{' '}
<a
href="https://docs.openadapt.ai/get-started/first-workflow/"
target="_blank"
rel="noopener noreferrer"
style={{ textDecoration: 'underline' }}
>
five-minute walkthrough
</a>
. Compiler source and measured limits are in{' '}
<a
href="https://github.com/OpenAdaptAI/openadapt-flow"
target="_blank"
Expand Down
5 changes: 2 additions & 3 deletions components/InstallSection.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -275,9 +275,8 @@
border-color: rgba(134, 217, 168, 0.35);
}

/* The certify step is an intentional refusal: mark it with the same drift
amber the run report uses for halts, so "the gate says no here" reads as
a feature, not a broken quickstart. */
/* The fault test is an intentional refusal. Use the same amber that run
reports use for halts, so the safety result does not look like an error. */
.commandItemHalt {
border-left: 2px solid #e3b34f;
}
Expand Down
4 changes: 4 additions & 0 deletions components/MastHead.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,10 @@ export default function Home({ githubStats: initialGithubStats }) {
<code className="rounded border border-hairline bg-panel px-2 py-1 text-ink">
pip install openadapt
</code>
<span aria-hidden="true"> → </span>
<code className="rounded border border-hairline bg-panel px-2 py-1 text-ink">
openadapt quickstart
</code>
<span aria-hidden="true"> · </span>
<Link
href="/start"
Expand Down
2 changes: 1 addition & 1 deletion 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</code>
<code>{`pip install openadapt\nopenadapt quickstart`}</code>
</pre>

<div className="mt-6 flex flex-wrap gap-3">
Expand Down
16 changes: 15 additions & 1 deletion pages/start.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import { EVENTS, track } from 'utils/analytics'

const INSTALL = 'python -m pip install --upgrade openadapt'
const QUICKSTART = 'openadapt quickstart'
const BREAK_IT =
'openadapt quickstart --break-it --out openadapt-quickstart-broken'

function Command({ command, event }) {
const [copyState, setCopyState] = useState('idle')
Expand Down Expand Up @@ -111,11 +113,23 @@ export default function StartPage() {
event={EVENTS.LOCAL_QUICKSTART_RUN_COPIED}
/>
</div>
<div className="mt-5">
<p className="eyebrow">
3 · Watch it catch a false success
</p>
<Command
command={BREAK_IT}
event={EVENTS.LOCAL_QUICKSTART_RUN_COPIED}
/>
</div>
<p className="mt-5 text-xs leading-relaxed text-ink-3">
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.
once. The fault test makes the screen claim
success without saving. The independent verifier
detects the mismatch and returns HALTED. Native,
RDP, and Citrix runs do not use Chromium.
</p>
<div className="mt-auto pt-6">
<a
Expand Down
6 changes: 3 additions & 3 deletions public/llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ It is built by MLDSAI Inc. The compiler and runtime are MIT-licensed; the hosted
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`
- Install route: https://github.com/OpenAdaptAI/OpenAdapt, then `pip install openadapt` and `openadapt quickstart`
- Current published versions: launcher 1.15.0, Flow 1.33.0, capture 1.2.2, desktop 0.15.0
- Product lifecycle: Beta

Expand Down Expand Up @@ -418,7 +418,7 @@ interface is the only integration point.

## Q: How do I try it, and how long does it take?

1. `pip install openadapt`, or install the Desktop cockpit. Both lanes are
1. Run `pip install openadapt` and `openadapt quickstart`, or install the Desktop cockpit. Both lanes are
first-class and produce the same portable recording, workflow bundle, and run
evidence. https://openadapt.ai/start
2. Run a bundled reference workflow end to end against a real open-source
Expand Down Expand Up @@ -464,7 +464,7 @@ Stated by the project itself, not extracted from it:

- OpenAdapt is MIT-licensed open source, built by MLDSAI Inc.
- Engine repository: https://github.com/OpenAdaptAI/openadapt-flow
- Install: `pip install openadapt`, then `openadapt flow ...`
- Install: `pip install openadapt`, then `openadapt quickstart`
- Website https://openadapt.ai · Docs https://docs.openadapt.ai · Blog https://blog.openadapt.ai
- Community: https://discord.gg/yF527cQbDG · https://www.linkedin.com/company/openadapt-ai · https://x.com/OpenAdaptAI
- One-line description: *OpenAdapt compiles demonstrated GUI workflows into deterministic, locally executable programs. Healthy runs make no model calls. When interfaces drift, OpenAdapt re-resolves from retained evidence or proposes a governed repair, and halts when verification fails.*
4 changes: 2 additions & 2 deletions public/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Availability below is the released capability. It is distinct from the deploymen
## Start here

- [Run it locally, free](https://openadapt.ai/start): The CLI and the Desktop cockpit are equal first-class local lanes. Both produce the same portable recording, workflow bundle, and run evidence. Cloud is an optional handoff after local success.
- [Install](https://openadapt.ai/download): Installers and `pip install openadapt`, then `openadapt flow ...`.
- [Install](https://openadapt.ai/download): Run `pip install openadapt`, then `openadapt quickstart` for an effect-verified local tutorial.
- [How it works](https://openadapt.ai/how-it-works): Record and compile, replay deterministically, then resolve, repair, or halt under drift. The page shows what a compiled program contains and where repair stops.
- [Documentation](https://docs.openadapt.ai): Installation, quick start, CLI reference, and what works today.

Expand Down Expand Up @@ -94,7 +94,7 @@ Every template corresponds to something that actually runs. Proven references ex
- [openadapt-privacy](https://github.com/OpenAdaptAI/openadapt-privacy): PII/PHI scrubbing.
- [openadapt-evals](https://github.com/OpenAdaptAI/openadapt-evals): Benchmark tooling, including Windows Agent Arena integration.
- [openadapt-desktop](https://github.com/OpenAdaptAI/openadapt-desktop): The desktop cockpit and tray.
- [PyPI: openadapt](https://pypi.org/project/openadapt/): `pip install openadapt`, then `openadapt flow ...`.
- [PyPI: openadapt](https://pypi.org/project/openadapt/): `pip install openadapt`, then `openadapt quickstart`.
- [Technical paper source](https://github.com/OpenAdaptAI/openadapt-flow/tree/main/paper): LaTeX, figures, machine-checked constants.

## Company and community
Expand Down
Loading