How maaxyz/maaframework works
MaaFramework is a cross-platform, image-recognition automation and black-box testing framework. A caller supplies pipeline definitions and connects a controller; resources load and parse the pipeline, the tasker runs recognition and actions against screenshots, and the controller dispatches input to a device or desktop. The repository also exposes language bindings, device/window discovery, agent-based remote access, and recording/replay controllers. Edges follow the sampled runtime behavior and documented capabilities; some subsystem internals are represented by their exact enclosing directories because their source was not sampled.
Main entry points: ResourceMgr.cpp Resource manager · Tasker.cpp Tasker · PipelineTask.cpp Pipeline task · ControllerAgent.cpp Controller agent
Components 18
Automation runtime
- Framework API
source/MaaFramework/API/MaaFramework.cpp - Tasker
source/MaaFramework/Tasker/Tasker.cpp - Pipeline task
source/MaaFramework/Task/PipelineTask.cpp
Resources and vision
- Resource manager
source/MaaFramework/Resource/ResourceMgr.cpp - Pipeline parser
source/MaaFramework/Resource/PipelineParser.cpp - Recognition engine
source/MaaFramework/Vision - Models and templates
source/MaaFramework/Resource
Controllers
- Controller agent
source/MaaFramework/Controller/ControllerAgent.cpp - Platform control units
Integration
- Device discovery
source/MaaToolkit - Language bindings
source/binding
Remote and replay
- Agent client
source/MaaAgentClient - Agent server
source/MaaAgentServer - Recording controller
source/MaaRecordControlUnit/RecordController.cpp - Replay controller
source/MaaReplayControlUnit/ReplayRecording
Other components
- Framework caller
- Pipeline definition
- Device or desktop
Connections 17
- Framework caller → Framework API: calls
- Framework caller → Pipeline definition: provides
- Framework API → Tasker: creates and controls
- Tasker → Resource manager: uses resources
- Tasker → Pipeline task: runs
- Resource manager → Pipeline parser: parses pipeline
- Pipeline definition → Resource manager: loaded by
- Pipeline task → Recognition engine: recognizes image
- Resource manager → Models and templates: loads assets
- Pipeline task → Controller agent: dispatches actions
- Controller agent → Platform control units: forwards control
- Platform control units → Device or desktop: captures and inputs
- Framework caller → Device discovery: discovers devices
- Framework caller → Language bindings: uses API
- Agent client → Agent server: exchanges messages
- Controller agent → Recording controller: wrapped by
- Replay controller → Platform control units: replays input