OM1 Capabilities

TitleDescription
Simple, modular architectureHuman-intelligible architecture with natural language data buses.
All PythonIndependent modules that are easy to maintain, debug, and extend.
Easy to add new data inputsSeamlessly integrate new data without major changes to the existing architecture.
Easy to support new hardwareVia plugins for API endpoints and specific robot hardware.
Supports Standard MiddlewareROS2, Zenoh, and CycloneDDS
Includes a simple web-based debug displayWatch the system work (WebSim at http://localhost:8000).
Preconfigured endpointsVoice-to-Speech, OpenAI’s gpt-4o, DeepSeek, and multiple VLMs.

OpenMind’s OM1

OM1 allows AI agents to be configured and deployed in both the digital and physical worlds. You can create one AI persona and run it in the cloud but also on physical robot hardware such as Quadrupeds, TurtleBot 4, and Humanoids.

With OM1, you can interact with OpenAI’s gpt-4o (or Gemini Robotics, Claude, or DeepSeek) and shake hands with it, mediated by physical robot hardware controlled by one or more LLMs. Agents/robots built on OM1 can ingest data from multiple sources (the web, X/Twitter, cameras, and LIDAR) and can then tweet, explore your house, and help your kids with their math homework.

Since it’s open source, you have control and can optimize the system for your home or workplace.

This guide offers an overview of the OM1 agent runtime system, helping developers understand its core components and workflows. Inside, you’ll find explanations of OM1’s CLI commands, recommended project structure, step-by-step instructions for adding new inputs and actions, and guidance on configuring your agents and robots for different environments. Additionally, the guide includes practical development tips to streamline your workflow.

Whether you’re just getting started with OM1 or looking to optimize an existing project, this guide will equip you with the tools and best practices to develop, deploy, and maintain high-performance agents and robots.

CLI

OM1 provides a command-line interface (CLI). The main entry point is src/run.py which provides the following commands:

  • start: Start an agent with a specified config
python src/run.py start [config_name] [--log-level] [--log-to-file]
  • config_name: Name of the config file (without .json5 extension) in the /config directory.
  • --log-level: Optional log level (default: INFO). Use DEBUG for detailed logs.
  • --log-to-file: Optional flag to log to logs/{config_name}.log (default: False).

Linting and Testing

To check/format/lint your code, run:

uv run ruff check . --fix && uv run black . && uv run isort .

To automatically run these checks before committing, install pre-commit and execute pre-commit install. This ensures that pre-commit checks run before each commit. Additionally, you can manually trigger all checks by running pre-commit run --all-files.

Unit Testing

To unit test the system, run:

uv run pytest --log-cli-level=DEBUG -s

Use type hints and docstrings for better code maintainability.