55[ ![ Downloads] ( https://img.shields.io/pypi/dm/openadapt.svg )] ( https://pypi.org/project/openadapt/ )
66[ ![ License: MIT] ( https://img.shields.io/badge/License-MIT-yellow.svg )] ( https://opensource.org/licenses/MIT )
77[ ![ Python 3.10+] ( https://img.shields.io/badge/python-3.10%2B-blue )] ( https://www.python.org/downloads/ )
8+ [ ![ Discord] ( https://img.shields.io/discord/1084481804896374814?color=7289da&label=Discord&logo=discord&logoColor=white )] ( https://discord.gg/yF527cQbDG )
89
910** OpenAdapt** is the ** open** source software ** adapt** er between Large Multimodal Models (LMMs) and traditional desktop and web GUIs.
1011
@@ -28,6 +29,14 @@ OpenAdapt v1.0+ uses a **modular meta-package architecture**. The main `openadap
2829| ` openadapt-grounding ` | UI element localization | [ openadapt-grounding] ( https://github.com/OpenAdaptAI/openadapt-grounding ) |
2930| ` openadapt-retrieval ` | Multimodal demo retrieval | [ openadapt-retrieval] ( https://github.com/OpenAdaptAI/openadapt-retrieval ) |
3031| ` openadapt-privacy ` | PII/PHI scrubbing | [ openadapt-privacy] ( https://github.com/OpenAdaptAI/openadapt-privacy ) |
32+ | ` openadapt-wright ` | Dev automation | [ openadapt-wright] ( https://github.com/OpenAdaptAI/openadapt-wright ) |
33+ | ` openadapt-herald ` | Social media from git history | [ openadapt-herald] ( https://github.com/OpenAdaptAI/openadapt-herald ) |
34+ | ` openadapt-crier ` | Telegram approval bot | [ openadapt-crier] ( https://github.com/OpenAdaptAI/openadapt-crier ) |
35+ | ` openadapt-consilium ` | Multi-model consensus | [ openadapt-consilium] ( https://github.com/OpenAdaptAI/openadapt-consilium ) |
36+ | ` openadapt-desktop ` | Desktop GUI application | [ openadapt-desktop] ( https://github.com/OpenAdaptAI/openadapt-desktop ) |
37+ | ` openadapt-tray ` | System tray app | [ openadapt-tray] ( https://github.com/OpenAdaptAI/openadapt-tray ) |
38+ | ` openadapt-agent ` | Production execution engine | [ openadapt-agent] ( https://github.com/OpenAdaptAI/openadapt-agent ) |
39+ | ` openadapt-telemetry ` | Error tracking | [ openadapt-telemetry] ( https://github.com/OpenAdaptAI/openadapt-telemetry ) |
3140
3241---
3342
@@ -77,6 +86,36 @@ openadapt capture view my-task
7786
7887---
7988
89+ ## Ecosystem
90+
91+ ### Core Platform Components
92+
93+ | Package | Description | Repository |
94+ | ---------| -------------| ------------|
95+ | ` openadapt ` | Meta-package with unified CLI | This repo |
96+ | ` openadapt-capture ` | Event recording and storage | [ openadapt-capture] ( https://github.com/OpenAdaptAI/openadapt-capture ) |
97+ | ` openadapt-ml ` | ML engine, training, inference | [ openadapt-ml] ( https://github.com/OpenAdaptAI/openadapt-ml ) |
98+ | ` openadapt-evals ` | Benchmark evaluation | [ openadapt-evals] ( https://github.com/OpenAdaptAI/openadapt-evals ) |
99+ | ` openadapt-viewer ` | HTML visualization | [ openadapt-viewer] ( https://github.com/OpenAdaptAI/openadapt-viewer ) |
100+ | ` openadapt-grounding ` | UI element localization | [ openadapt-grounding] ( https://github.com/OpenAdaptAI/openadapt-grounding ) |
101+ | ` openadapt-retrieval ` | Multimodal demo retrieval | [ openadapt-retrieval] ( https://github.com/OpenAdaptAI/openadapt-retrieval ) |
102+ | ` openadapt-privacy ` | PII/PHI scrubbing | [ openadapt-privacy] ( https://github.com/OpenAdaptAI/openadapt-privacy ) |
103+
104+ ### Applications and Tools
105+
106+ | Package | Description | Repository |
107+ | ---------| -------------| ------------|
108+ | ` openadapt-desktop ` | Desktop GUI application | [ openadapt-desktop] ( https://github.com/OpenAdaptAI/openadapt-desktop ) |
109+ | ` openadapt-tray ` | System tray app | [ openadapt-tray] ( https://github.com/OpenAdaptAI/openadapt-tray ) |
110+ | ` openadapt-agent ` | Production execution engine | [ openadapt-agent] ( https://github.com/OpenAdaptAI/openadapt-agent ) |
111+ | ` openadapt-wright ` | Dev automation | [ openadapt-wright] ( https://github.com/OpenAdaptAI/openadapt-wright ) |
112+ | ` openadapt-herald ` | Social media from git history | [ openadapt-herald] ( https://github.com/OpenAdaptAI/openadapt-herald ) |
113+ | ` openadapt-crier ` | Telegram approval bot | [ openadapt-crier] ( https://github.com/OpenAdaptAI/openadapt-crier ) |
114+ | ` openadapt-consilium ` | Multi-model consensus | [ openadapt-consilium] ( https://github.com/OpenAdaptAI/openadapt-consilium ) |
115+ | ` openadapt-telemetry ` | Error tracking | [ openadapt-telemetry] ( https://github.com/OpenAdaptAI/openadapt-telemetry ) |
116+
117+ ---
118+
80119## CLI Reference
81120
82121```
@@ -106,184 +145,24 @@ See the full [Architecture Evolution](docs/architecture-evolution.md) for detail
106145
107146### Three-Phase Pipeline
108147
109- ``` mermaid
110- flowchart TB
111- %% ═══════════════════════════════════════════════════════════════════════
112- %% DATA SOURCES (Multi-Source Ingestion)
113- %% ═══════════════════════════════════════════════════════════════════════
114- subgraph DataSources["Data Sources"]
115- direction LR
116- HUMAN["Human Demos"]
117- SYNTH["Synthetic Data"]:::future
118- BENCH_DATA["Benchmark Tasks"]
119- end
120-
121- %% ═══════════════════════════════════════════════════════════════════════
122- %% PHASE 1: DEMONSTRATE (Observation Collection)
123- %% ═══════════════════════════════════════════════════════════════════════
124- subgraph Demonstrate["1. DEMONSTRATE (Observation Collection)"]
125- direction TB
126- CAP["Capture<br/>openadapt-capture"]
127- PRIV["Privacy<br/>openadapt-privacy"]
128- STORE[("Demo Library")]
129-
130- CAP --> PRIV
131- PRIV --> STORE
132- end
133-
134- %% ═══════════════════════════════════════════════════════════════════════
135- %% PHASE 2: LEARN (Policy Acquisition)
136- %% ═══════════════════════════════════════════════════════════════════════
137- subgraph Learn["2. LEARN (Policy Acquisition)"]
138- direction TB
139-
140- subgraph RetrievalPath["Retrieval Path"]
141- EMB["Embed"]
142- IDX["Index"]
143- SEARCH["Search"]
144- EMB --> IDX --> SEARCH
145- end
146-
147- subgraph TrainingPath["Training Path"]
148- LOADER["Load"]
149- TRAIN["Train"]
150- CKPT[("Checkpoint")]
151- LOADER --> TRAIN --> CKPT
152- end
153-
154- subgraph ProcessMining["Process Mining"]
155- ABSTRACT["Abstract"]:::future
156- PATTERNS["Patterns"]:::future
157- ABSTRACT --> PATTERNS
158- end
159- end
160-
161- %% ═══════════════════════════════════════════════════════════════════════
162- %% PHASE 3: EXECUTE (Agent Deployment)
163- %% ═══════════════════════════════════════════════════════════════════════
164- subgraph Execute["3. EXECUTE (Agent Deployment)"]
165- direction TB
166-
167- subgraph AgentCore["Agent Core"]
168- OBS["Observe"]
169- POLICY["Policy<br/>(Demo-Conditioned)"]
170- GROUND["Grounding<br/>openadapt-grounding"]
171- ACT["Act"]
172-
173- OBS --> POLICY
174- POLICY --> GROUND
175- GROUND --> ACT
176- end
177-
178- subgraph SafetyGate["Safety Gate"]
179- VALIDATE["Validate"]
180- CONFIRM["Confirm"]:::future
181- VALIDATE --> CONFIRM
182- end
183-
184- subgraph Evaluation["Evaluation"]
185- EVALS["Evals<br/>openadapt-evals"]
186- METRICS["Metrics"]
187- EVALS --> METRICS
188- end
189-
190- ACT --> VALIDATE
191- VALIDATE --> EVALS
192- end
193-
194- %% ═══════════════════════════════════════════════════════════════════════
195- %% THE ABSTRACTION LADDER (Side Panel)
196- %% ═══════════════════════════════════════════════════════════════════════
197- subgraph AbstractionLadder["Abstraction Ladder"]
198- direction TB
199- L0["Literal<br/>(Raw Events)"]
200- L1["Symbolic<br/>(Semantic Actions)"]
201- L2["Template<br/>(Parameterized)"]
202- L3["Semantic<br/>(Intent)"]:::future
203- L4["Goal<br/>(Task Spec)"]:::future
204-
205- L0 --> L1
206- L1 --> L2
207- L2 -.-> L3
208- L3 -.-> L4
209- end
210-
211- %% ═══════════════════════════════════════════════════════════════════════
212- %% MODEL LAYER
213- %% ═══════════════════════════════════════════════════════════════════════
214- subgraph Models["Model Layer (VLMs)"]
215- direction TB
216- subgraph APIModels["API Models"]
217- direction LR
218- CLAUDE["Claude"]
219- GPT["GPT-4o"]
220- GEMINI["Gemini"]
221- end
222- subgraph OpenSource["Open Source / Fine-tuned"]
223- direction LR
224- QWEN3["Qwen3-VL"]
225- UITARS["UI-TARS"]
226- OPENCUA["OpenCUA"]
227- end
228- end
229-
230- %% ═══════════════════════════════════════════════════════════════════════
231- %% MAIN DATA FLOW
232- %% ═══════════════════════════════════════════════════════════════════════
233-
234- %% Data sources feed into phases
235- HUMAN --> CAP
236- SYNTH -.-> LOADER
237- BENCH_DATA --> EVALS
238-
239- %% Demo library feeds learning
240- STORE --> EMB
241- STORE --> LOADER
242- STORE -.-> ABSTRACT
243-
244- %% Learning outputs feed execution
245- SEARCH -->|"demo context"| POLICY
246- CKPT -->|"trained policy"| POLICY
247- PATTERNS -.->|"templates"| POLICY
248-
249- %% Model connections
250- POLICY --> Models
251- GROUND --> Models
252-
253- %% ═══════════════════════════════════════════════════════════════════════
254- %% FEEDBACK LOOPS (Evaluation-Driven)
255- %% ═══════════════════════════════════════════════════════════════════════
256- METRICS -->|"success traces"| STORE
257- METRICS -.->|"training signal"| TRAIN
258-
259- %% Retrieval in BOTH training AND evaluation
260- SEARCH -->|"eval conditioning"| EVALS
261-
262- %% ═══════════════════════════════════════════════════════════════════════
263- %% STYLING
264- %% ═══════════════════════════════════════════════════════════════════════
265-
266- %% Phase colors
267- classDef phase1 fill:#3498DB,stroke:#1A5276,color:#fff
268- classDef phase2 fill:#27AE60,stroke:#1E8449,color:#fff
269- classDef phase3 fill:#9B59B6,stroke:#6C3483,color:#fff
270-
271- %% Component states
272- classDef implemented fill:#2ECC71,stroke:#1E8449,color:#fff
273- classDef future fill:#95A5A6,stroke:#707B7C,color:#fff,stroke-dasharray: 5 5
274- classDef futureBlock fill:#f5f5f5,stroke:#95A5A6,stroke-dasharray: 5 5
275- classDef safetyBlock fill:#E74C3C,stroke:#A93226,color:#fff
276-
277- %% Model layer
278- classDef models fill:#F39C12,stroke:#B7950B,color:#fff
279-
280- %% Apply styles
281- class CAP,PRIV,STORE phase1
282- class EMB,IDX,SEARCH,LOADER,TRAIN,CKPT phase2
283- class OBS,POLICY,GROUND,ACT,VALIDATE,EVALS,METRICS phase3
284- class CLAUDE,GPT,GEMINI,QWEN models
285- class L0,L1,L2 implemented
286- ```
148+ OpenAdapt follows a streamlined ** Demonstrate → Learn → Execute** pipeline:
149+
150+ ** 1. DEMONSTRATE (Observation Collection)**
151+ - ** Capture** : Record user actions and screenshots with ` openadapt-capture `
152+ - ** Privacy** : Scrub PII/PHI from recordings with ` openadapt-privacy `
153+ - ** Store** : Build a searchable demonstration library
154+
155+ ** 2. LEARN (Policy Acquisition)**
156+ - ** Retrieval Path** : Embed demonstrations, index them, and enable semantic search
157+ - ** Training Path** : Load demonstrations and fine-tune Vision-Language Models (VLMs)
158+ - ** Abstraction** : Progress from literal replay to template-based automation
159+
160+ ** 3. EXECUTE (Agent Deployment)**
161+ - ** Observe** : Take screenshots and gather accessibility information
162+ - ** Policy** : Use demonstration context to decide actions via VLMs (Claude, GPT-4o, Qwen3-VL)
163+ - ** Ground** : Map intentions to specific UI coordinates with ` openadapt-grounding `
164+ - ** Act** : Execute validated actions with safety gates
165+ - ** Evaluate** : Measure success with ` openadapt-evals ` and feed results back for improvement
287166
288167### Core Approach: Demo-Conditioned Prompting
289168
@@ -305,8 +184,6 @@ OpenAdapt explores **demonstration-conditioned automation** - "show, don't tell"
305184- ** Abstraction Ladder** : Progressive generalization from literal replay to goal-level automation
306185- ** Evaluation-Driven Feedback** : Success traces become new training data
307186
308- ** Legend:** Solid = Implemented | Dashed = Future
309-
310187---
311188
312189## Terminology
@@ -324,8 +201,11 @@ OpenAdapt explores **demonstration-conditioned automation** - "show, don't tell"
324201
325202## Demos
326203
327- - https://twitter.com/abrichr/status/1784307190062342237
328- - https://www.loom.com/share/9d77eb7028f34f7f87c6661fb758d1c0
204+ ** Legacy Version (v0.46.0) Examples:**
205+ - [ Twitter Demo] ( https://twitter.com/abrichr/status/1784307190062342237 ) - Early OpenAdapt demonstration
206+ - [ Loom Video] ( https://www.loom.com/share/9d77eb7028f34f7f87c6661fb758d1c0 ) - Process automation walkthrough
207+
208+ * Note: These demos show the legacy monolithic version. For current v1.0+ modular architecture examples, see the [ documentation] ( https://docs.openadapt.ai ) .*
329209
330210---
331211
0 commit comments