For a minimal installation, start with the README. This guide collects operational details previously kept there.
uv run argus --scene office --static
uv run argus --pick-spawnThe spawn picker offers the original office, an open floor, and nine bundled environments: chemistry lab, chess room, coffee shop, gym, living room, modern office, playground, restaurant, and workbench. Select a scene, place each robot on clear floor, and start the simulation. Use default positions skips manual placement. Restart opens the same picker to change scenes or placements.
The browser environment mesh shows the authored initial layout. Loose props can move in physics; RGB feeds show their live positions. The bundled scenes require MuJoCo 3.6+, included in the Python dependencies. See scene sources and compatibility notes.
If the original office's OBJ assets are missing or remain Git LFS pointers, Argus can recover meshes from frontend/public/scene.glb. Missing textures use material colors. Install Git LFS and run git lfs pull for the original assets. Objects missing from the LFS server require an original clone or backup. The flat scene contains only a checkerboard floor.
Install the YOLO dependencies before running detection:
uv sync --python 3.12 --extra web --extra detection --extra dev
uv run --extra web --extra detection argus --scene office --staticBoxeR uses a separate environment with OWLv2 proposals and native 3D boxes:
uv run python scripts/setup_boxer_subprocess.py
uv run --extra web argus --scene office --static --detector boxer --num-robots 1Setup downloads approximately 1.3 GB of checkpoints. CPU inference is slower than YOLO, so start with one robot. BoxeR also appears in the dashboard's detector selector after setup.
Optional Moondream2 scene descriptions require the model dependencies and system libvips. Descriptions are disabled by default. Model availability and external SLAM dependencies vary by backend.
Use uv run argus --help for the complete reference.
| Flag | Default | Purpose |
|---|---|---|
--control |
web |
web, multi, explore, teleop, waypoint, or random. |
--scene |
flat |
Select a scene from the bundled library. |
--pick-spawn |
off | Choose scene and spawn positions in the browser. |
--port |
8000 |
Dashboard port. |
--num-robots |
2 |
Robot count in multi-robot modes. |
--static |
off | Keep robots stationary while sensing continues. |
--multi-max-steps |
0 |
Step limit; zero runs until stopped. |
--multi-boot-steps |
200 |
Initial physics settling steps. |
--octomap-resolution |
0.1 |
Voxel resolution in meters. |
--platform |
go2 |
go2 or agibot_x2. |
--x2-model-dir |
models/agibot_x2 |
External X2 assets. |
--x2-controller |
unset | External X2 controller path. |
Go2 assets are committed. X2 requires separately supplied licensed assets and a suitable controller for walking. Its default controller behavior without a policy is to hold joint positions.
Argus exposes a JSON-RPC MCP endpoint at /mcp. For Claude Code:
claude mcp add --transport http argus http://localhost:8000/mcpTools include get_status, get_detections, get_scene_description, send_command, and get_coverage. They expose simulation state and commands such as pause, resume, stop, and speed changes. Scene descriptions require the optional VLM.
Start the backend from the repository root:
uv run argus --scene office --port 8000In another terminal, run the frontend with hot reload:
cd frontend
npm run devThe Vite proxy defaults to backend port 8000. Set VITE_BACKEND_PORT in the frontend terminal when using a different port.
Run checks from the repository root:
uv run python -m pytest tests/ -x --timeout=30
cd frontend
npm test
npm run buildSome integration tests require optional models or assets. To regenerate the original office GLB, run uv run python scripts/convert_scene_glb.py; output goes to frontend/public/scene.glb.
| Path | Responsibility |
|---|---|
src/bridge/ |
Simulation, sensors, scenes, and platform adapters. |
src/slam/, src/perception/, src/tracking/ |
Mapping, detection, lifting, and tracking. |
src/exploration/, src/coordination/ |
Navigation and multi-robot orchestration. |
src/locomotion/ |
Controllers, environments, metrics, and evaluation. |
src/representation/ |
Experimental belief graph and query API. |
backend/web/, frontend/src/ |
API, streaming, dashboard, and pipeline editor. |
tests/ |
Unit, integration, smoke, and contract checks. |
See architecture for module boundaries and locomotion benchmarks for evaluation workflows.