{% extends "base.html" %} {% block title %}Usage Guide — Maxim Docs | Install, Config & CLI{% endblock %} {% block meta_description %}Get started with Maxim. Install instructions, configuration, CLI reference, and step-by-step setup for the agentic robotics cognitive architecture.{% endblock %} {% block meta_keywords %}Maxim installation, Maxim setup, Maxim CLI, Maxim configuration, agentic robotics setup, ROS2 robot framework, Maxim getting started, Maxim documentation{% endblock %} {% block meta_author %}Maxim Project{% endblock %} {% block og_site_name %}Maxim{% endblock %} {% block og_type %}article{% endblock %} {% block structured_data %} {% endblock %} {% block extra_head %} {% endblock %} {% block content %}
MAXIM
Installing, Configuring, and Running Maxim
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="".
The package is called pymaxim on PyPI, but you import it as maxim.
Developer install: To work on Maxim itself, clone the repo and use pip install -e '.[test]' instead.
| Extra | Install Command | What It Enables |
|---|---|---|
| TTS | pip install 'pymaxim[tts]' | Text-to-speech (Piper TTS) |
| Semantic | pip install 'pymaxim[semantic]' | Neural similarity (SentenceTransformer) |
| Torch LLM | pip install 'pymaxim[llm-torch]' | PyTorch transformers backend |
| YOLOv8 | pip install 'pymaxim[yolo]' | YOLOv8 vision engine via Ultralytics (AGPL-3.0). Default engine is RTMDet-m (Apache 2.0) |
All configuration lives in ~/.maxim/ (override with $MAXIM_DATA_HOME):
| 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) |
maxim config (canonical 1.0 path)New in 1.0: the canonical way to persist Maxim's runtime preferences is the maxim config verb family writing to ~/.config/maxim/config.json. The pre-1.0 environment variables below still work as per-session overrides (precedence chain: CLI args > env vars > config.json > defaults), but are no longer the recommended primary surface.
maxim doctor shows a "Resolved Config" section with every absorbed field's value + source marker — the single answer to "what does this instance think it's configured as?"
Connect peers to a leader's GPU for distributed inference. See Networking & Mesh for full details.
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 |
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.
Running maxim with no arguments opens a Rich interactive menu with campaign discovery, recent sessions, and quick-start options. Select a campaign or mode to launch directly.
maxim
Active + assist strategy. Full embodied runtime with self-evolving behavioral intent.
maxim --mode live
Sleep processing state. Audio monitoring, memory consolidation, wake keyword detection.
maxim --mode sleep
Passive + reflect strategy. Internal analysis, memory review, pattern identification.
maxim --mode reflection
Passive + learn strategy. Watch demonstrations, incorporate feedback, update behavior.
maxim --mode train
Passive + observe strategy. Watch and understand without interfering.
maxim --mode observe
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 |
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
Networking & Mesh
Roadmap page for the full list. Custom voice commands can be added in ~/.maxim/util/phrase_responses.json.
Available in interactive mode (default):
Run maxim with no arguments to open the Rich interactive menu. Browse available campaigns, pick a recent session, or jump into a mode:
Or launch exploration mode directly:
| 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 |
| 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) |
Checks Zenoh connection, motor controller, video stream, and audio stream availability.
Session logs are written to ~/.maxim/logs/reachy_log_YYYY-MM-DD_HHMMSS.log with timestamps, thread IDs, and structured event data.
Maxim is open source. If you run into issues, check the GitHub repository for the latest documentation and issue tracker.