How citrolabs/ego-lite works
ego-browser is the JavaScript connection layer that lets external agents automate ego lite’s browser. The documented workflow is: an agent submits browser-side JavaScript, the runtime operates in a page within an isolated task Space, and the agent receives structured results such as snapshots or extracted data. Page navigation, observation, interaction, and result delivery are distinct stages; page-model orchestration and reference tracking support them internally. The README documents parallel Spaces and high-quality snapshots. Source excerpts confirm selected page-action and learning-tool wiring, but do not expose every API dispatch, so uncertain links are omitted.
Main entry points: page-model.ts Task Spaces · browser-runtime.ts Browser runtime · run.ts Task runner · page-waits.ts Navigation and waits
Components 20
Agent interface
- Public API
package/ego-browser/src/index.ts - Task runner
package/ego-browser/src/run.ts - Output sink
package/ego-browser/src/output-sink.ts
Spaces and pages
- Task Spaces
package/ego-browser/src/page-model.ts - Browser runtime
package/ego-browser/src/browser-runtime.ts - Page state
package/ego-browser/src/state.ts - Page ledger
package/ego-browser/src/page-ledger.ts - Page discovery
package/ego-browser/src/page-discovery.ts - Page references
package/ego-browser/src/page-ref-registry.ts
Page automation
- Snapshots
package/ego-browser/src/snapshot-result.ts - Page observation
package/ego-browser/src/driver/observe.ts - Navigation and waits
package/ego-browser/src/driver/page-waits.ts - Page actions
package/ego-browser/src/driver/page-actions.ts - Element resolution
package/ego-browser/src/element-resolver.ts - Keyboard input
package/ego-browser/src/driver/page-keyboard.ts - Downloads
package/ego-browser/src/driver/downloads.ts
Site skills
- Learning loader
package/ego-browser/src/learning/index.ts - Site tools
skills/ego-browser/learnings
Other components
- Agent
- ego lite browser
Connections 22
- Agent → Public API: calls tools
- Public API → Task runner: executes code
- Task runner → Task Spaces: runs in Space
- Task runner → Output sink: emits results
- Task Spaces → Browser runtime: controls browser
- Browser runtime → ego lite browser: uses runtime
- Task Spaces → Page state: tracks state
- Task Spaces → Page ledger: tracks pages
- Task Spaces → Page discovery: discovers pages
- Task Spaces → Page references: tracks refs
- Task Spaces → Navigation and waits: navigates and waits
- Task Spaces → Snapshots: creates snapshots
- Task Spaces → Page actions: dispatches actions
- Task Spaces → Keyboard input: dispatches keys
- Task Spaces → Downloads: handles downloads
- Task Spaces → Page observation: observes pages
- Page actions → Element resolution: resolves targets
- Page actions → Browser runtime: sends CDP commands
- Navigation and waits → Element resolution: resolves selectors
- Navigation and waits → Browser runtime: sends CDP commands
- Learning loader → Site tools: loads site tools
- Agent → Learning loader: requests learned context