How maaend/maaend works
MaaEnd is a game-screen automation assistant: users select a preset or task, the MaaFramework-backed agent runs task actions using screen recognition, then issues controller input and reports completion. The repository separates Go task implementations, C++ recognition and navigation algorithms, and platform-specific control backends. README capabilities also include live combat/story assistance, farming, trading, inventory, puzzle solving, and account utilities. The tree and excerpts support these subsystem boundaries, but not detailed runtime wiring among most task packages, so uncertain call paths are omitted.
Main entry points: go-service Game Tasks · MapNavigator.cpp Map Navigator · agent.go Agent Runtime · outposttrading Outpost Trading
Components 25
Agent and Tasks
- Go Agent
agent/go-service/main.go - Agent Runtime
agent/go-service/agent.go - Game Tasks
agent/go-service - Live Assistance
agent/go-service/common/charactercontroller/controller.go - Essence Filter
agent/go-service/essencefilter - Outpost Trading
agent/go-service/outposttrading - Delivery Tasks
agent/go-service/autodelivery - Puzzle Solver
agent/go-service/puzzle-solver - Eco Farm
agent/go-service/autoecofarm
Recognition and Solving
- Grid Recognition
agent/cpp-algo/source/RecoGrid/GridRecognizer.cpp - Icon Recognition
agent/cpp-algo/source/IconRecognition/IconRecognizer.cpp - Map Location
agent/cpp-algo/source/MapLocator/MapLocator.cpp - World Map
agent/cpp-algo/source/WorldMap/WorldMapSolver.cpp
Navigation
- Map Navigator
agent/cpp-algo/source/MapNavigator/MapNavigator.cpp - Navmesh Planning
agent/cpp-algo/source/Navmesh/BaseNavPlanner.cpp - Zipline Data
agent/cpp-algo/source/Zipline/ZiplineStore.cpp
Device Control
- Control Backends
agent/go-service/pkg/control/adaptor.go - Navigation Inputs
agent/cpp-algo/source/MapNavigator/Backend/backend.cpp
Task State
- Item Cache
agent/go-service/ims/storage.go - Stockpile Records
agent/go-service/autostockpile/daily_storage.go - Shopping Snapshots
agent/go-service/creditshopping/storage.go
Other components
- Player
- MaaFramework
- Game Screen
- Game Device
Connections 25
- Player → MaaFramework: selects task
- MaaFramework → Go Agent: dispatches
- Go Agent → Agent Runtime: starts
- Agent Runtime → Game Tasks: runs tasks
- Game Screen → Agent Runtime: screen input
- Game Tasks → Live Assistance: includes assistance
- Game Tasks → Essence Filter: runs filtering
- Game Tasks → Outpost Trading: runs trading
- Game Tasks → Delivery Tasks: runs delivery
- Game Tasks → Puzzle Solver: solves puzzles
- Game Tasks → Eco Farm: runs farming
- Essence Filter → Icon Recognition: matches icons
- Puzzle Solver → Grid Recognition: recognizes grid
- Map Navigator → Map Location: locates map
- Map Navigator → Navmesh Planning: plans routes
- Map Navigator → Zipline Data: uses coordinates
- Map Navigator → Navigation Inputs: issues movement
- Agent Runtime → Control Backends: sends input
- Control Backends → Game Device: controls
- Navigation Inputs → Game Device: controls
- Outpost Trading → Stockpile Records: records prices
- Game Tasks → Item Cache: uses item cache
- Outpost Trading → Shopping Snapshots: records shelves
- Game Device → Game Screen: renders screen
- World Map → Map Location: uses map matching