Quick Start
Learn how to install, set up and configure OM1.
System Requirements
Operating System
Linux (Ubuntu 20, 22, 24)
MacOS 12.0+
Hardware
Sufficient memory to run vision and other models
Reliable WiFi or other networking
Sensors such as cameras, microphones, LIDAR units, IMUs
Actuators and outputs such as speakers, visual displays, and movement platforms (legs, arms, hands)
Hardware connected to the "central" computer via
Zenoh,CycloneDDS, serial, usb, or custom APIs/libraries
Software
Ensure you have the following installed on your machine:
Go>= 1.25.0 (installation guide)makebuild toolportaudiofor audio input and outputffmpegfor video processingGet your OpenMind API key here
Go Installation
For other platforms, download from https://go.dev/dl/
PortAudio Library
For audio functionality, install portaudio:
ffmpeg
For video functionality, install FFmpeg:
To install Rust and Cargo (required for building SDKs like cdp-sdk), follow the steps below
CLI
OM1 provides a command-line interface (CLI). The main entry point is the om1 binary built from cmd/main.go which provides the following options:
config_name: Name of the config file (without.json5extension) in the/configdirectory.
For development with debug logging:
Installation and Setup
Clone the repository
Run the following commands to clone the repository and set up the environment:
What these commands do:
make deps- Downloads and installs all Go module dependencies, fetches the zenoh-c library, and ensures your environment is ready for building.make build- Compiles the OM1 binary from source code.
Dependencies are managed via Go modules (go.mod and go.sum).
Adding New Dependencies
To add a new Go package:
Best Practices:
Keep dependencies minimal and prefer well-maintained packages
Run
make checkbefore committing (runs fmt, vet, lint, and test)Use
make fmtto format code andmake lintto check for issues
Set the configuration variables
Locate the config folder and add your OpenMind API key to /config/conversation.json5 (for example). If you do not already have one, you can obtain a free access key at https://portal.openmind.com/.
Or, create a .env file in the project directory and add the following:
Note: Using the placeholder key openmind_free will generate errors.
Run the Conversation Agent
Run the following command to start the Conversation Agent:
Note: Agent configuration names are only required when switching between different agents.
The conversation agent is just an example agent configuration.
If you want to interact with the agent and see how it works, make sure ASR and TTS are configured in conversation.json5.
ASR configuration (check in agent_inputs)
TTS configuration (check in agent_actions)
During the first build, the system will automatically download the zenoh-c library and resolve all Go dependencies. This process may take several minutes to complete.
Prometheus and Grafana Monitoring
If you have Docker installed, you can use the included Docker Compose configuration to spin up Grafana and Prometheus to monitor real-time AI pipeline metrics (such as LLM response times and ASR latencies).
Run the following command:
Then navigate to http://localhost:3000 (default login: admin/admin). The OM1 Latency Monitoring dashboard is automatically provisioned and will display your latency metrics as you interact with the agent.
Understanding the Log Data
OM1 writes structured (JSON) logs using zap. At the default info level you see the high-level loop; run with make dev (or -log-level debug) for the full prompt, LLM response, and per-action detail.
The logs show one turn of the core loop — how the conversation agent senses its environment, calls the LLM, and dispatches actions:
Inputs (e.g.
GoogleASRInputfor speech,VLMGeminifor vision) produce observations.The State Fuser combines them into a single natural-language prompt.
The cortex ticks: it sends that prompt to the configured
cortex_llmand receives a set of action calls.Actions (e.g.
speak,emotion) are dispatched to their connectors.Latencies are exported to Prometheus/Grafana (see below).
A representative run looks like this (fields abbreviated):
Note: The exact prompt and actions depend on your agent config (
system_prompt_base,agent_inputs,agent_actions) and on what the sensors observe. Theconversationagent ships as a friendly dog named "Spot".
More Examples
There are more pre-configured agents in the /config folder. They can be run with the following command:
For example, to run the greeting_conversation agent:
If you configure a custom agent, replace <agent_name> with your agent and run the below command:
To get started with development, refer here
Last updated
Was this helpful?