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.23.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
The log data provide insight into how the conversation agent makes sense of its environment and decides on its next actions.
First, it detects a person using vision.
Communicates with an external AI API for response generation.
The LLM(s) decide on a set of actions (dancing and speaking).
The simulated robot expresses emotions via a front-facing display.
Logs latency and processing times to monitor system performance.
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?