MAXIM
Usage Guide
Installing, Configuring, and Running Maxim
Contents
Requirements
- Python 3.12+
- Hardware: Reachy Mini robot (or simulation mode for development)
- RAM: 4GB minimum (8GB+ for larger LLMs)
- GPU: Optional. Metal (macOS) or CUDA (Linux) supported
- Network: Same LAN as Reachy Mini for Zenoh discovery
Blackwell GPU Note
RTX 50-series (Blackwell) GPUs have a known GStreamer/CUDA incompatibility. Maxim auto-detects this and falls back to CPU mode. You can force CPU mode manually with CUDA_VISIBLE_DEVICES="".
Installation
- Clone the repository
git clone https://github.com/dennys246/Maxim.git cd Maxim
- Create a virtual environment
python -m venv maxim-env source maxim-env/bin/activate
- Install core package
pip install -e .
- Install LLM support (enables the agentic runtime)
pip install -e '.[llm]'
- Download a language model
./scripts/download_models.sh --llm --enable
This downloads SmolLM 1.7B (~1.1GB), the default CPU-friendly model.
Optional Extras
| Extra | Install Command | What It Enables |
|---|---|---|
| TTS | pip install -e '.[tts]' | Text-to-speech (Piper TTS) |
| Semantic | pip install -e '.[semantic]' | Neural similarity (SentenceTransformer) |
| Torch LLM | pip install -e '.[llm-torch]' | PyTorch transformers backend |
Configuration
Configuration Files
All configuration lives in data/util/:
| File | Purpose |
|---|---|
| llm.json | LLM model selection, quantization, per-mode response sizing |
| robots.yaml | Robot connection settings (type, name, timeout) |
| phrase_responses.json | Voice command mappings ("Maxim sleep" → sleep mode) |
| key_responses.json | Keyboard shortcut bindings |
| whisper.json | Audio transcription settings (model size, compute type) |
Environment Variables
Prompt Profiles
Three tiers of cognitive effort, matched to your hardware:
| Profile | Max Depth | LLM Calls | Parallelism | Best For |
|---|---|---|---|---|
| minimal | 2 levels | 8 max | None | CPU-only, low RAM, Raspberry Pi |
| standard | 5 levels | 20 max | 4 workers | Laptop with GPU or fast CPU |
| rich | 7 levels | 50 max | 8 workers | Desktop with dedicated GPU |
Operating Modes
Maxim uses a decomposed mode architecture combining processing states (awake/sleep), operational modes (passive/active/singularity), and strategies (observe/explore/research/assist/reflect/learn). For backward compatibility, the CLI accepts legacy mode names that map to specific combinations. See the Operating Modes deep dive for full details.
Exploration
Active + explore strategy. Curiosity-driven discovery with budget tracking and novelty gating.
maxim
Live
Active + assist strategy. Full embodied runtime with self-evolving behavioral intent.
maxim --mode live
Sleep
Sleep processing state. Audio monitoring, memory consolidation, wake keyword detection.
maxim --mode sleep
Reflection
Passive + reflect strategy. Internal analysis, memory review, pattern identification.
maxim --mode reflection
Train
Passive + learn strategy. Watch demonstrations, incorporate feedback, update behavior.
maxim --mode train
Observe
Passive + observe strategy. Watch and understand without interfering.
maxim --mode observe
Operational Modes & Autonomy
Operational modes map directly to autonomy levels:
| Mode | Autonomy | Behavior | Max Initiative |
|---|---|---|---|
| passive | planning | Proposes actions, waits for human approval | 0.3 |
| active | supervised | Acts within defined boundaries, escalates on uncertainty | 0.7 |
| singularity | autonomous | Full agency with self-correction (safety constraints still apply) | 1.0 |
CLI Reference
Voice Commands
All voice commands begin with the wake word "Maxim":
| Command | Effect |
|---|---|
| "Maxim sleep" | Enter sleep mode (audio monitoring only) |
| "Maxim wake up" | Return to previous active mode |
| "Maxim observe" | Switch to observe strategy |
| "Maxim explore" | Switch to explore strategy |
| "Maxim assist" | Switch to assist strategy |
| "Maxim reflect" | Switch to reflect strategy |
| "Maxim passive" / "active" / "singularity" | Switch operational mode |
| "Maxim shutdown" | Clean shutdown |
See the Operating Modes page for the full list. Custom voice commands can be added in data/util/phrase_responses.json.
Keyboard Controls
Available in interactive mode (default):
Common Recipes
First Run (No Robot)
Test the system without hardware using simulation:
Full Agentic Mode with Mistral
CPU-Only with Small Model
Timed Autonomous Exploration
Verbose Debugging Session
Resume a Previous Session
Memory Management
Clearing Memory
Available Memory Types
| Type | What It Clears | Effect |
|---|---|---|
| focus | FocusLearner gains | Resets movement calibration |
| bounds | Workspace limits | Relearns reachable space |
| nac | Causal links | Forgets action-outcome predictions |
| scn | Temporal patterns | Forgets time-of-day associations |
| hippo | Episodic memories | Complete amnesia |
| pain | Pain thresholds | Resets pain sensitivity |
| fear | Fear associations | Forgets learned dangers |
| escalation | Escalation thresholds | Resets when to ask for help |
| threshold | Adaptive thresholds | Resets all learned limits |
| semantic | Neural embeddings | Resets similarity cache |
Where Data Lives
Debugging
Verbosity Levels
| Level | What You See |
|---|---|
| 0 | Errors only |
| 1 | Key events (mode changes, goals, tool calls) |
| 2 | Detailed processing (every detection, memory query, decision) |
| 3 (agentic only) | Full trace (LLM prompts, raw responses, bridge activity) |
Inspecting Learned State
Hardware Diagnostics
Checks Zenoh connection, motor controller, video stream, and audio stream availability.
Log Files
Session logs are written to data/logs/reachy_log_YYYY-MM-DD_HHMMSS.log with timestamps, thread IDs, and structured event data.
Getting Help
Maxim is open source. If you run into issues, check the GitHub repository for the latest documentation and issue tracker.