How moreveal/mimic works
Mimic is a browser-execution runtime for automation: a CDP client commands pages, which load resources and execute website JavaScript while maintaining observable browser state, then expose results through CDP. The graph preserves the documented profile, proxy, storage, worker, and layout capabilities. Source excerpts are limited, so some subsystem connections are based on the README and module structure rather than inspected call sites.
Main entry points: page.go Page execution · context_registry.go Contexts and pages · server.go CDP server · catalog.go Web APIs
Components 19
Automation control
- Mimic entry
cmd/mimic/main.go - CDP server
internal/cdp/server.go
Page runtime
- Browser manager
internal/browser/browser.go - Contexts and pages
internal/browser/context_registry.go - Page execution
internal/browser/page.go - JavaScript engines
internal/engine/engine.go
Web behavior
- DOM and parser
internal/dom/dom.go - HTML streaming
internal/htmlstream/parse.go - Web APIs
internal/webapi/catalog.go - Style and geometry
internal/layoutblitz/document.go
Identity and state
- Environment profiles
internal/profile/profile.go - Cookie state
internal/network/cookies.go - Cache Storage
internal/browser/cache_storage.go - Browser storage APIs
internal/browser/indexeddb.go
Resource access
- Resource loader
internal/network/loader.go - Network policy
internal/network/policy.go - HTTP and proxy transport
internal/network/session.go
Other components
- CDP client
- Web origins
Connections 20
- CDP client → Mimic entry: starts
- CDP client → CDP server: sends CDP commands
- Mimic entry → Browser manager: creates
- CDP server → Browser manager: manages targets
- CDP server → Contexts and pages: creates page
- Contexts and pages → Page execution: owns
- Page execution → JavaScript engines: executes scripts
- Page execution → HTML streaming: parses documents
- HTML streaming → DOM and parser: builds DOM
- Page execution → Web APIs: exposes APIs
- Page execution → Style and geometry: maintains geometry
- Page execution → Resource loader: loads resources
- Resource loader → Network policy: checks requests
- Resource loader → HTTP and proxy transport: sends requests
- HTTP and proxy transport → Web origins: fetches resources
- Contexts and pages → Environment profiles: configures identity
- Contexts and pages → Cookie state: shares cookie state
- Web APIs → Cache Storage: accesses Cache Storage
- Web APIs → Browser storage APIs: accesses storage APIs
- Environment profiles → HTTP and proxy transport: configures proxy