{"repo":"OpenMind/OM1","free":true,"listed":false,"github":"https://github.com/OpenMind/OM1","clone":"git clone https://github.com/OpenMind/OM1.git","description":"Modular AI HAL (Hardware Abstraction Layer) for Robots","language":"Go","stars":2897,"topics":["llm","multiagent","robotics","ros2","zenoh"],"license":"MIT","category":"robotics_ai_platform","readme_excerpt":"![om1_banner_w](https://github.com/user-attachments/assets/86590615-018d-4443-b345-8d224227e83f)\n\n<p align=\"center\">\n<a href=\"https://arxiv.org/abs/2412.18588\">Technical Paper</a> |\n<a href=\"https://docs.openmind.com/\">Documentation</a> |\n<a href=\"https://x.com/openmind_agi\">X</a>\n</p>\n\n**OpenMind's OM1 is a modular AI runtime that empowers developers to create and deploy multimodal AI agents across digital environments and physical robots**, including Humanoids, Phone Apps, Quadrupeds, educational robots such as TurtleBot 4, and simulators like Gazebo and Isaac Sim. OM1 agents can process diverse inputs like web data, social media, camera feeds, and LIDAR, while enabling physical actions including motion, autonomous navigation, and natural conversations. The goal of OM1 is to make it easy to create highly capable human-focused robots, that are easy to upgrade and (re)configure to accommodate different physical form factors.\n\n## Pick Your Runtime\n\nOM1 was originally built in Python, and the Go runtime is a newer, performance-focused implementation. We migrated to Go for lower latency, better performance, efficient concurrency, a smaller memory footprint for edge devices, and simpler deployment as a single Go binary (with the Zenoh C library bundled alongside it).\n\nThe Go runtime covers the core agent pipeline, but several capabilities available in the Python runtime are still under active development. For most new development we recommend the Go runtime.\n\n> [!NOTE]\n> However, **Python** version is available at [`python`](https://github.com/OpenMind/OM1/tree/python) for use, if preferred. It is now deprecated and will not be maintained.\n\n## Capabilities of OM1\n\n* **Modular Architecture**: Written in Go for performance and seamless integration.\n* **Data Input**: Easily handles new data and sensors.\n* **Hardware Support via Plugins**: Supports new hardware through plugins for API endpoints and specific robot hardware connections to `ROS2`, `Zenoh`, and `CycloneDDS`. (We recommend `Zenoh` for all new development).\n* **Pre-configured Endpoints**: Supports Text-to-Speech, multiple LLMs from OpenAI, xAI, DeepSeek, Anthropic, Meta, Gemini, NearAI, Ollama (local), and multiple Visual Language Models (VLMs) with pre-configured endpoints for each service.\n* **Metrics & Observability**: Includes a pre-configured Prometheus and Grafana stack to monitor real-time AI pipeline metrics like LLM and ASR latencies.\n\n## Architecture Overview\n![Artboard 1@4x 1 (1)](https://github.com/user-attachments/assets/0c482257-e4db-4a0a-8d83-d4548ac4beaf)\n\n## Getting Started\n\nIf you are new to OM1, this is the fastest path to a successful first run using the `conversation` agent.\n\nThe conversation agent uses your webcam and microphone to enable natural voice interactions with an AI. The model processes visual and audio inputs and responds through speech.\n\nThis quick start uses the default starter configuration to help you understand the OM1 pipeline. It visualizes state updates in the terminal and demonstrates the input-LLM-action flow.\n\n### Quick Start (5 Minutes)\n\n1. Install system dependencies.\n2. Download the binary or clone the repository.\n3. Add your OpenMind API key.\n4. Launch OM1 and verify it is running.\n\n### 1. Install System Dependencies\n\nFor macOS:\n```bash\nbrew install portaudio ffmpeg\n```\n\nFor Linux:\n```bash\nsudo apt-get update\nsudo apt-get install -y portaudio19-dev ffmpeg\n```\n\n> [!TIP]\n> Webcam access is recommended if configuring VLM.\n\n### 2. Download or Build\n\n#### Option A: Download Pre-built Binary (Recommended)\n\nNo Go installation required. Download the latest release for your platform from the [Releases page](https://github.com/OpenMind/OM1/releases).\n\nCurrent pre-built binaries are available for:\n\n- `linux-amd64`\n- `linux-arm64`\n- `darwin-arm64`\n- `darwin-amd64`\n\nAfter downloading and extracting the archive, open a terminal in the extracted folder and run:\n\n```bash\nchmod +x om1\n./om1 config = <your-config>\n```\n\nOn macOS, if the binary is blocked by Gatekeeper, run:\n\n```bash\nxattr -d com.apple.quarantine om1 2>/dev/null || true\n```\n\n> [!NOTE]\n> The release archive already includes `config/`, `knowledge_base/`, and `libzenohc` files, so you do not need to clone the repository for runtime assets.\n\n#### Option B: Build from Source\n\nRequires Go 1.25.0+ ([installation guide](https://go.dev/doc/install)) and `make`.\n\n```bash\ngit clone https://github.com/OpenMind/OM1.git\ncd OM1\nmake deps\nmake build\n```\n\n### 3. Configure API Key\n\nGet your API key from [OpenMind Portal](https://portal.openmind.com/).\n\nSet via shell profile (recommended):\n```bash\nexport OM_API_KEY=\"<your_api_key>\"\n```\n\nIf you built from source from this repository, you can also use a project-local `.env` file:\n```bash\ncp .env.example .env\n# Then set OM_API_KEY=<your_api_key> in .env\n```\n\n### 4. Launch the Agent\n\nIf using pre-built binary:\n\nOn macOS:\n```bash\nexport DYLD_LIBRARY_PATH=\"$PWD:$DYLD_LIBRARY_PATH\"\n./om1 -config ./config/conversation.json5\n```\n\nOn Linux:\n```bash\nexport LD_LIBRARY_PATH=\"$PWD:$LD_LIBRARY_PATH\"\n./om1 -config ./config/conversation.json5\n```\n\nIf you run into permission issues on macOS, go to System Settings -> Privacy & Security and allow `om1` (and `libzenohc.dylib` if prompted).\n\nIf built from source:\n```bash\nCONFIG=conversation make run\n```\n\nOr for development with debug logging:\n```bash\nCONFIG=conversation make dev\n```\n\n#### Verify It Is Working\n\nYour setup is successful if:\n\n- The terminal shows the agent has started successfully.\n- You see input processing and LLM responses logged in the terminal.\n- The agent responds to voice and camera input with speech output.\n\n### 5. Monitor with Grafana (Optional)\n\nIf you have Docker installed, you can launch the included Prometheus and Grafana stack to monitor real-time AI pipeline metrics such as LLM and ASR latencies:\n\n```bash\ndocker-compose up -d grafana prometheus\n```\n\nNavigate to <http://localhost:3000> in your browser (default login: `admin`/`admin`). The **OM1 Latency Monitoring** dashboard is automatically provisioned and ready to use.\n\n### Troubleshooting\n\n- `Authentication` errors: confirm `OM_API_KEY` is set and not expired.\n- `Build` errors: ensure Go 1.25.0+ is installed and run `make deps` first.\n- `Camera` access issues: grant terminal/IDE camera permissions in OS settings.\n- `Address already in use` on the metrics port `9090`: stop the conflicting process (e.g. another Prometheus) or free the port.\n\n### OMCU\n\nOMCU is the computational unit for billing on OpenMind's platform. The free plan provides 50 OMCU renewed monthly.\n\nUpgrade your plan [here](https://portal.openmind.com/) for additional credits.\n\nFor more help connecting OM1 to your robot hardware, see [getting started](https://docs.openmind.com/developing/1_get-started).\n\n> [!NOTE]\n> For voice interactions, ensure ASR and TTS are configured in `config/conversation.json5`.\n\n## What's Next?\n\n* Try out some [examples](https://docs.openmind.com/developer-cookbook/examples)\n* Add new `inputs` and `actions`.\n* Design custom agents and robots by creating your own `json5` config files with custom combinations of inputs and actions.\n* Change the system prompts in the configuration files (located in `/config/`) to create new behaviors.\n\n## Interfacing with New Robot Hardware\n\nOM1 assumes that robot hardware provides a high-level SDK that accepts elemental movement and action commands such as `backflip`, `run`, `gently pick up the red apple`, `move(0.37, 0, 0)`, and `smile`. Action connectors live under `plugins/actions/`. For example, the Unitree Go2 movement connector [`plugins/actions/unitree/go2/autonomy/move.go`](plugins/actions/unitree/go2/autonomy/move.go) (registered as `unitree_go2_autonomy/move`) translates high-level goals into `cmd_vel` velocity commands published over Zenoh. See the [Actions guide](docs/developing/6_actions.md) for how connectors are registered and resolved.\n\nIf your robot hardware does not yet provide a suitable HAL (hardware abstraction layer), traditional robotics approaches such as RL (reinforcement learning) in concert with suitable simulation environments (Unity, Gazebo), sensors (such as hand mounted ZED depth cameras), and custom VLAs will be needed for you to create one. It is further assumed that your HAL accepts motion trajectories, provides battery and thermal management/monitoring, and calibrates and tunes sensors such as IMUs, LIDARs, and magnetometers.\n\nOM1 can interface with your HAL via USB, serial, ROS2, CycloneDDS, Zenoh, or websockets. For an example of an advanced humanoid HAL, see [Unitree's C++ SDK](https://github.com/unitreerobotics/unitree_sdk2/blob/adee312b081c656ecd0bb4e936eed96325546296/example/g1/high_level/g1_loco_client_example.cpp#L159). Frequently, a HAL, especially ROS2 code, is dockerized and interfaces with OM1 through DDS middleware or websockets.\n\n## Recommended Development Platforms\n\nOM1 is developed on:\n\n* Nvidia Thor (running JetPack 7.0) - full support\n* Jetson AGX Orin 64GB (running Ubuntu 22.04 and JetPack 6.1) - limited support\n* Mac Studio with Apple M2 Ultra with 48 GB unified memory (running MacOS Sequoia)\n* Mac Mini with Apple M4 Pro with 48 GB unified memory (running MacOS Sequoia)\n* Generic Linux machines (running Ubuntu 22.04)\n\nOM1 _should_ run on other platforms (such as Windows) and microcontrollers such as the Raspberry Pi 5 16GB.\n\n## Introduction to BrainPack\n\nFrom research to real-world autonomy, a platform that learns, moves, and builds with you.\n\nThe BrainPack is designed to be mounted directly onto a robot to bring together mapping, object recognition, remote control, and self charging, giving humanoids and quadrupeds what they need to navigate, remember, and act with purpose.\n\n## Full Autonomy Guidance\n\nOM1 supports **full autonomy** for Unitree Go2 and G1 with BrainPack. The following features are supported with BrainPack:\n\n- **Navigation** - Autonomous path planning and movement.\n- **SLAM** - Simultaneous Localization and Mapping for persistent ","default_branch":"main","files":428,"tree":[".dockerignore",".env.example",".github/CODEOWNERS",".github/CODE_OF_CONDUCT.md",".github/ISSUE_TEMPLATE/bounty.md",".github/ISSUE_TEMPLATE/bug-report.md",".github/ISSUE_TEMPLATE/feature-request.md",".github/copilot-instructions.md",".github/labeler.yml",".github/pull_request_template.md",".github/scripts/embed_server.py",".github/workflows/binary-release.yml",".github/workflows/docs-sync.yml",".github/workflows/grafana-release.yml",".github/workflows/installation.yml",".github/workflows/labeler.yml",".github/workflows/lint.yml",".github/workflows/nightly-integration-tests.yml",".github/workflows/prometheus-release.yml",".github/workflows/release.yml",".github/workflows/unitest.yml",".gitignore",".vscode/settings.json","CONTRIBUTING.md","Dockerfile","LICENSE","Makefile","README.md","cmd/main.go","config/conversation.json5","config/conversation_mcp.json5","config/greeting_conversation.json5","config/schema/multi_mode_schema.json","config/schema/single_mode_schema.json","config/unitree_g1_conversation.json5","config/unitree_go2_autonomy.json5","config/unitree_go2_modes.json5","docker-compose.yml","docs/.gitbook.yaml","docs/.gitbook/assets/api-key.png","docs/.gitbook/assets/cloud-isaac-sim-assets/2D_slam_map.png","docs/.gitbook/assets/cloud-isaac-sim-assets/3D_slam_map.png","docs/.gitbook/assets/cloud-isaac-sim-assets/cloud-vscode.png","docs/.gitbook/assets/cloud-isaac-sim-assets/cloud_isaac_sim_M20Pro.png","docs/.gitbook/assets/cloud-isaac-sim-assets/cloud_isaac_sim_g1.png","docs/.gitbook/assets/cloud-isaac-sim-assets/cloud_isaac_sim_go2.png","docs/.gitbook/assets/cloud-isaac-sim-assets/cloud_isaac_sim_tron.png","docs/.gitbook/assets/cloud-isaac-sim-assets/delete-instance.png","docs/.gitbook/assets/cloud-isaac-sim-assets/gpu_unavailable.png","docs/.gitbook/assets/cloud-isaac-sim-assets/patrol.png","docs/.gitbook/assets/cloud-isaac-sim-assets/processing.png","docs/.gitbook/assets/cloud-isaac-sim-assets/select_instance_and_env.png","docs/.gitbook/assets/cloud-isaac-sim-assets/session.png","docs/.gitbook/assets/full-autonomy-assets/dog_brainpack_line.png","docs/.gitbook/assets/full-autonomy-assets/full_autonomy_architecture.png","docs/.gitbook/assets/full-autonomy-assets/machine_teleops.png","docs/.gitbook/assets/full-autonomy-assets/map_locations.png","docs/.gitbook/assets/full-autonomy-assets/modes.png","docs/.gitbook/assets/full-autonomy-assets/online_machine.png","docs/.gitbook/assets/full-autonomy-assets/portal_mode_selection.png","docs/.gitbook/assets/full-autonomy-assets/select_location_to_navigate.png","docs/.gitbook/assets/full-autonomy-assets/slam_map.png","docs/.gitbook/assets/full-autonomy-assets/video_streams.png","docs/.gitbook/assets/hot_reload.png","docs/.gitbook/assets/isaac-sim.png","docs/.gitbook/assets/lidar_angle.png","docs/.gitbook/assets/lifecycle.png","docs/.gitbook/assets/mcp-integration.png","docs/.gitbook/assets/mcp_w.png","docs/.gitbook/assets/om1-architecture.png","docs/.gitbook/assets/om1-flow-diagram.png","docs/.gitbook/assets/om1_video_processor_architecture.png","docs/.gitbook/assets/om_api_key_id.png","docs/.gitbook/assets/ota.png","docs/.gitbook/assets/thumbnails/OpenMind_black.svg","docs/.gitbook/assets/thumbnails/OpenMind_white.svg","docs/.gitbook/assets/thumbnails/api_thumbnail.png","docs/.gitbook/assets/thumbnails/banner_white.png","docs/.gitbook/assets/thumbnails/favicon.png","docs/.gitbook/assets/thumbnails/full_autonomy_thumbnail.png","docs/.gitbook/assets/thumbnails/get_started_thumbnail.png","docs/.gitbook/assets/thumbnails/mcp_thumbnail.png","docs/.gitbook/assets/thumbnails/openmind-intro-cover.png","docs/.gitbook/assets/wifi_setup.png","docs/README.md","docs/SUMMARY.md","docs/api-reference/api_pricing.md","docs/api-reference/endpoints/account_and_key_management.md","docs/api-reference/endpoints/elevenlabs_asr.md","docs/api-reference/endpoints/elevenlabs_tts.md","docs/api-reference/endpoints/google_asr.md","docs/api-reference/endpoints/llm.md","docs/api-reference/endpoints/riva.md","docs/api-reference/endpoints/vila_vlm.md","docs/api-reference/introduction.md","docs/concepts.md","docs/developer_cookbook/config.md","docs/developer_cookbook/input.md","docs/developer_cookbook/introduction.md","docs/developer_cookbook/new_mode.md","docs/developing/0_introduction.md","docs/developing/1_get-started.md","docs/developing/2_architecture.md","docs/developing/3_configuration.md","docs/developing/4_inputs.md","docs/developing/5_llms.md","docs/developing/6_actions.md","docs/developing/7_project_structure.md","docs/developing/8_backgrounds.md","docs/developing/9_troubleshooting_guide.md","docs/developing/cyclonedds.md","docs/developing/knowledge_base.md","docs/developing/mcp-integration.md","docs/developing/metrics.md","docs/developing/middleware.md","docs/developing/premium_features.md","docs/developing/ros2-humble.md","docs/developing/tracer.md","docs/developing/vad_tts_interrupt.md","docs/developing/zenoh-bridge.md","docs/examples/conversation.md","docs/examples/examples.md","docs/full_autonomy_guidelines/api_endpoints.md","docs/full_autonomy_guidelines/architecture_overview.md","docs/full_autonomy_guidelines/brainpack_introduction.md","docs/full_autonomy_guidelines/lifecycle.md","docs/full_autonomy_guidelines/localization.md","docs/full_autonomy_guidelines/mode_selection.md","docs/full_autonomy_guidelines/modes.md","docs/full_autonomy_guidelines/transition_rules.md","docs/release-notes/OM1-OTA/beta.md","docs/release-notes/OM1-OTA/docker_images.md","docs/release-notes/OM1-OTA/v1.0.x.md","docs/release-notes/major-updates/beta_release.md","docs/release-notes/major-updates/production_ready_release.md","docs/release-notes/om/beta.md","docs/release-notes/om/docker_images.md","docs/release-notes/om/v1.0.x.md","docs/release-notes/om1-avatar/beta.md","docs/release-notes/om1-avatar/docker_images.md","docs/release-notes/om1-avatar/v1.0.x.md","docs/release-notes/om1-ros2-sdk/beta.md","docs/release-notes/om1-ros2-sdk/docker_images.md","docs/release-notes/om1-ros2-sdk/v1.0.x.md","docs/release-notes/om1-video-processor/beta.md","docs/release-notes/om1-video-processor/docker_images.md","docs/release-notes/om1-video-processor/v1.0.x.md","docs/robotics/Media_server.md","docs/robotics/asimov_governance.md","docs/robotics/crsf_long_range_control.md","docs/robotics/gps_compass.md","docs/robotics/mac.md","docs/robotics/motion_planning_lidarA1M8.md","docs/robotics/motion_planning_turtlebot4.md","docs/robotics/motion_planning_unitree_go2.md","docs/robotics/nvidia_thor.md","docs/robotics/raspberrypi.md","docs/robotics/rf_mapping.md","docs/robotics/tesla_dimo.md","docs/robotics/turtlebot4_zenoh.md","docs/robotics/ubtech_yanshee.md","docs/robotics/unitree_g1_humanoid.md","docs/robotics/unitree_go2_quadruped.md","docs/robotics/unitree_go2_quadruped_configurations.md","docs/robotics/zenoh.md","docs/simulators/cloud-isaac-sim.md","docs/simulators/gazebo.md","docs/simulators/isaac-sim.md","docs/simulators/provisioning-instance.png","docs/simulators/troubleshooting.md","go.mod","go.sum","grafana/Dockerfile.grafana","grafana/Dockerfile.prometheus","grafana/dashboards/om1-dashboard.json","grafana/dashboards/om1-quality-dashboard.json","grafana/provisioning/dashboards/default.yml","grafana/provisioning/datasources/prometheus.yml","internal/actions/action.go","internal/actions/action_test.go","internal/actions/orchestrator.go","internal/actions/orchestrator_test.go","internal/actions/schema.go","internal/actions/schema_test.go","internal/backgrounds/background.go","internal/backgrounds/background_test.go","internal/backgrounds/orchestrator.go","internal/cloudsession/client.go","internal/cloudsession/client_test.go","internal/cloudsession/session.go","internal/cloudsession/topics.go","internal/config/loader.go","internal/config/loader_test.go","internal/config/schema_test.go","internal/config/types.go","internal/config/version.go","internal/config/version_test.go","internal/fuser/fuser.go","internal/fuser/fuser_test.go","internal/geometry/geometry.go","internal/hooks/greeting_hook.go","internal/hooks/greeting_hook_test.go","internal/hooks/hooks.go","internal/hooks/hooks_test.go","internal/hooks/nav2_hook.go","internal/hooks/nav2_hook_test.go","internal/hooks/person_follow_hook.go","internal/hooks/registry.go","internal/hooks/registry_test.go","internal/hooks/slam_hook.go","internal/hooks/slam_hook_test.go","internal/httpclient/httpclient.go","internal/httpclient/httpclient_test.go","internal/inputs/orchestrator.go","internal/inputs/orchestrator_test.go","internal/inputs/sensor.go","internal/inputs/sensor_test.go","internal/knowledgebase/embedding.go","internal/knowledgebase/embedding_test.go","internal/knowledgebase/knowledgebase.go","internal/llm/llm.go","internal/llm/llm_test.go","internal/llm/orchestrator.go","internal/llm/orchestrator_test.go","internal/logger/logger.go","internal/logger/logger_test.go","internal/mcp/client.go","internal/mcp/client_test.go","internal/mcp/orchestrator.go","internal/mcp/orchestrator_test.go","internal/memory/bm25.go","internal/memory/bm25_test.go","internal/memory/cloud_manager.go","internal/memory/cloud_manager_test.go","internal/memory/entry.go","internal/memory/factory.go","internal/memory/identity.go","internal/memory/indexer.go","internal/memory/indexer_test.go","internal/memory/local_manager.go","internal/memory/reader.go","internal/memory/reader_test.go","internal/memory/retriever.go","internal/memory/signals.go","internal/memory/signals_test.go","internal/memory/summarizer.go","internal/memory/summarizer_test.go","internal/memory/uploader.go","internal/memory/writer.go","internal/memory/writer_test.go","internal/metrics/metrics.go","internal/metrics/metrics_test.go","internal/providers/avatar.go","internal/providers/face_presence.go","internal/providers/face_presence_test.go","internal/providers/greeting_conversation_state.go","internal/providers/greeting_conversation_state_test.go","internal/providers/io_providers.go","internal/providers/io_providers_test.go","internal/providers/latest_frame.go","internal/providers/latest_frame_test.go","internal/providers/locations.go","internal/providers/locations_test.go","internal/providers/mode_context.go","internal/providers/mode_context_test.go","internal/providers/paths.go","internal/providers/paths_test.go","internal/providers/portaudio.go","internal/providers/tts/elevenlabs.go","internal/providers/tts/kokoro.go","internal/providers/tts/player.go","internal/providers/tts/state.go","internal/providers/tts/state_test.go","internal/providers/unitree/go2/common.go","internal/providers/unitree/go2/localization_zenoh.go","internal/providers/unitree/go2/localization_zenoh_test.go","internal/providers/unitree/go2/odom_zenoh.go","internal/providers/unitree/go2/odom_zenoh_test.go","internal/providers/vlm/describe.go","internal/providers/vlm/frame.go","internal/providers/vlm/latest_description.go","internal/providers/vlm/latest_description_test.go","internal/providers/vlm/video_rtsp_stream.go","internal/providers/vlm/video_stream.go","internal/providers/vlm/video_utils.go","internal/providers/vlm/vlm_test.go","internal/runtime/config.go","internal/runtime/config_test.go","internal/runtime/manager.go","internal/runtime/manager_test.go","internal/runtime/runtime.go","internal/runtime/runtime_test.go","internal/tracer/qualityscore.go","internal/tracer/qualityscore/classify.go","internal/tracer/qualityscore/extract.go","internal/tracer/qualityscore/language.go","internal/tracer/qualityscore/scorer.go","internal/tracer/qualityscore/scorer_test.go","internal/tracer/tracer.go","internal/tracer/tracetype/tracetype.go","internal/util/convert.go","internal/util/convert_test.go","internal/util/strings.go","internal/util/strings_test.go","internal/util/wait.go","internal/util/wait_test.go","internal/vad/library.go","internal/vad/segmenter.go","internal/vad/segmenter_test.go","internal/vad/silero.go","internal/vad/silero_test.go","internal/ws/client.go","internal/ws/client_test.go","internal/zenoh/cdr.go","internal/zenoh/cdr_test.go","internal/zenoh/cloud_backend.go","internal/zenoh/hybrid.go","internal/zenoh/session.go","internal/zenoh/zenoh_backend.go","knowledge_base/om/om.graph","knowledge_base/om/om.json","pkg/memory/memory.go","plugins/actions/actions.go","plugins/actions/emotion/zenoh.go","plugins/actions/emotion/zenoh_test.go","plugins/actions/face_memory/face_memory.go","plugins/actions/greeting_conversation/greeting_conversation_elevenlabs.go","plugins/actions/greeting_conversation/greeting_conversation_elevenlabs_test.go","plugins/actions/greeting_conversation/normalize.go","plugins/actions/greeting_conversation/normalize_test.go","plugins/actions/greeting_conversation/status.go","plugins/actions/greeting_conversation/status_test.go","plugins/actions/navigation/cdr.go","plugins/actions/navigation/cdr_test.go","plugins/actions/navigation/navigation.go","plugins/actions/navigation/navigation_test.go","plugins/actions/robot_action/http.go","plugins/actions/robot_action/http_test.go","plugins/actions/speak/elevenlabs_people_tts.go","plugins/actions/speak/elevenlabs_tts.go","plugins/actions/speak/elevenlabs_tts_test.go","plugins/actions/speak/kokoro_tts.go","plugins/actions/unitree/g1/arm/zenoh.go","plugins/actions/unitree/g1/arm/zenoh_test.go","plugins/actions/unitree/go2/autonomy/ai_status.go","plugins/actions/unitree/go2/autonomy/cmd_vel.go","plugins/actions/unitree/go2/autonomy/guard.go","plugins/actions/unitree/go2/autonomy/move.go","plugins/actions/unitree/go2/autonomy/move_test.go","plugins/actions/unitree/go2/autonomy/mppi.go","plugins/actions/unitree/go2/autonomy/mppi_test.go","plugins/actions/unitree/go2/location/location.go","plugins/actions/unitree/go2/location/location_test.go","plugins/backgrounds/approaching_person.go","plugins/backgrounds/approaching_person_test.go","plugins/backgrounds/backgrounds.go","plugins/backgrounds/tts_control.go","plugins/backgrounds/tts_control_test.go","plugins/backgrounds/unitree/go2/frontier_exploration.go","plugins/backgrounds/unitree/go2/frontier_exploration_test.go","plugins/backgrounds/vlm/vlm.go","plugins/backgrounds/vlm/vlm_gemini.go","plugins/backgrounds/vlm/vlm_test.go","plugins/inputs/asr/asr_common.go","plugins/inputs/asr/asr_common_test.go","plugins/inputs/asr/asr_stream.go","plugins/inputs/asr/elevenlabs_asr.go","plugins/inputs/asr/elevenlabs_asr_rtsp.go","plugins/inputs/asr/elevenlabs_asr_test.go","plugins/inputs/asr/google_asr.go","plugins/inputs/asr/google_asr_rtsp.go","plugins/inputs/asr/google_asr_test.go","plugins/inputs/asr/parallel_asr.go","plugins/inputs/asr/parallel_asr_test.go","plugins/inputs/asr/riva_asr.go","plugins/inputs/asr/riva_asr_rtsp.go","plugins/inputs/asr/riva_asr_test.go","plugins/inputs/asr/vad_latency.go","plugins/inputs/asr/vad_latency_test.go","plugins/inputs/conversation_history.go","plugins/inputs/conversation_history_test.go","plugins/inputs/face_presence.go","plugins/inputs/greeting_status.go","plugins/inputs/inputs.go","plugins/inputs/localization.go","plugins/inputs/localization_test.go","plugins/inputs/locations.go","plugins/inputs/locations_test.go","plugins/inputs/paths.go","plugins/inputs/unitree/go2/odom.go","plugins/inputs/unitree/go2/odom_test.go","plugins/inputs/vlm/vlm.go","plugins/inputs/vlm/vlm_background.go","plugins/inputs/vlm/vlm_background_test.go","plugins/inputs/vlm/vlm_gemini.go","plugins/inputs/vlm/vlm_test.go","plugins/llm/common.go","plugins/llm/deepseek.go","plugins/llm/dual.go","plugins/llm/dual_test.go"],"storefront":"/r/OpenMind","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/OpenMind/OM1/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}