Skip to content

Commit a029922

Browse files
authored
Merge pull request #967 from OpenAdaptAI/feature/improved-readme-architecture
docs: Enhance README architecture diagram with workflow phases and package integration
2 parents 2b3d80d + eaaade1 commit a029922

1 file changed

Lines changed: 105 additions & 15 deletions

File tree

README.md

Lines changed: 105 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -99,29 +99,59 @@ openadapt doctor Check system requirements
9999
See the full [Architecture Documentation](docs/architecture.md) for detailed diagrams.
100100

101101
```mermaid
102-
flowchart LR
103-
subgraph Record["1. Record"]
104-
A[User Demo] --> B[Capture]
102+
flowchart TB
103+
%% Main workflow phases
104+
subgraph Record["1. RECORD"]
105+
direction TB
106+
DEMO[User Demo] --> CAPTURE[openadapt-capture]
105107
end
106108
107-
subgraph Train["2. Train"]
108-
B --> C[ML Model]
109+
subgraph Train["2. TRAIN"]
110+
direction TB
111+
DATA[Captured Data] --> ML[openadapt-ml]
109112
end
110113
111-
subgraph Deploy["3. Deploy"]
112-
C --> D[Agent Policy]
113-
D --> E[Action Replay]
114+
subgraph Deploy["3. DEPLOY"]
115+
direction TB
116+
MODEL[Trained Model] --> AGENT[Agent Policy]
117+
AGENT --> REPLAY[Action Replay]
114118
end
115119
116-
subgraph Evaluate["4. Evaluate"]
117-
D --> F[Benchmark]
118-
F --> G[Metrics]
120+
subgraph Evaluate["4. EVALUATE"]
121+
direction TB
122+
BENCH[Benchmarks] --> EVALS[openadapt-evals]
123+
EVALS --> METRICS[Metrics]
119124
end
120125
121-
%% Optional enhancements
122-
GROUND[Grounding] -.-> E
123-
RETRIEVE[Retrieval] -.-> C
124-
PRIV[Privacy] -.-> B
126+
%% Main flow connections
127+
CAPTURE --> DATA
128+
ML --> MODEL
129+
AGENT --> BENCH
130+
131+
%% Viewer - independent component
132+
VIEWER[openadapt-viewer]
133+
VIEWER -.->|"view at any phase"| Record
134+
VIEWER -.->|"view at any phase"| Train
135+
VIEWER -.->|"view at any phase"| Deploy
136+
VIEWER -.->|"view at any phase"| Evaluate
137+
138+
%% Optional packages with integration points
139+
PRIVACY[openadapt-privacy]
140+
RETRIEVAL[openadapt-retrieval]
141+
GROUNDING[openadapt-grounding]
142+
143+
PRIVACY -.->|"PII/PHI scrubbing"| CAPTURE
144+
RETRIEVAL -.->|"demo retrieval"| ML
145+
GROUNDING -.->|"UI localization"| REPLAY
146+
147+
%% Styling
148+
classDef corePhase fill:#e1f5fe,stroke:#01579b
149+
classDef optionalPkg fill:#fff3e0,stroke:#e65100,stroke-dasharray: 5 5
150+
classDef viewerPkg fill:#e8f5e9,stroke:#2e7d32,stroke-dasharray: 3 3
151+
152+
class Record,Train,Deploy,Evaluate corePhase
153+
class PRIVACY,RETRIEVAL,GROUNDING optionalPkg
154+
class VIEWER viewerPkg
125155
```
126156

127157
OpenAdapt:
@@ -138,6 +168,66 @@ OpenAdapt:
138168

139169
---
140170

171+
## Key Concepts
172+
173+
### Meta-Package Structure
174+
175+
OpenAdapt v1.0+ uses a **modular architecture** where the main `openadapt` package acts as a meta-package that coordinates focused sub-packages:
176+
177+
- **Core Packages**: Essential for the main workflow
178+
- `openadapt-capture` - Records screenshots and input events
179+
- `openadapt-ml` - Trains models on demonstrations
180+
- `openadapt-evals` - Evaluates agents on benchmarks
181+
182+
- **Optional Packages**: Enhance specific workflow phases
183+
- `openadapt-privacy` - Integrates at **Record** phase for PII/PHI scrubbing
184+
- `openadapt-retrieval` - Integrates at **Train** phase for multimodal demo retrieval
185+
- `openadapt-grounding` - Integrates at **Deploy** phase for UI element localization
186+
187+
- **Independent Components**:
188+
- `openadapt-viewer` - HTML visualization that works with any phase
189+
190+
### Two Paths to Automation
191+
192+
1. **Custom Training Path**: Record demonstrations -> Train your own model -> Deploy agent
193+
- Best for: Repetitive tasks specific to your workflow
194+
- Requires: `openadapt[core]`
195+
196+
2. **API Agent Path**: Use pre-trained LMM APIs (Claude, GPT-4V, etc.) -> Evaluate on benchmarks
197+
- Best for: General-purpose automation, rapid prototyping
198+
- Requires: `openadapt[evals]`
199+
200+
---
201+
202+
## Installation Paths
203+
204+
Choose your installation based on your use case:
205+
206+
```
207+
What do you want to do?
208+
|
209+
+-- Just evaluate API agents on benchmarks?
210+
| +-- pip install openadapt[evals]
211+
|
212+
+-- Train custom models on your demonstrations?
213+
| +-- pip install openadapt[core]
214+
|
215+
+-- Full suite with all optional packages?
216+
| +-- pip install openadapt[all]
217+
|
218+
+-- Minimal CLI only (add packages later)?
219+
+-- pip install openadapt
220+
```
221+
222+
| Installation | Included Packages | Use Case |
223+
|-------------|-------------------|----------|
224+
| `openadapt` | CLI only | Start minimal, add what you need |
225+
| `openadapt[evals]` | + evals | Benchmark API agents (Claude, GPT-4V) |
226+
| `openadapt[core]` | + capture, ml, viewer | Full training workflow |
227+
| `openadapt[all]` | + privacy, retrieval, grounding | Everything including optional enhancements |
228+
229+
---
230+
141231
## Demos
142232

143233
- https://twitter.com/abrichr/status/1784307190062342237

0 commit comments

Comments
 (0)