Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

banner_bordered_trimmed

The Agentive Operating System for Physical Space

Discord Stars Forks Contributors Nix NixOS CUDA Docker

dimensionalOS%2Fdimos | Trendshift

HardwareInstallationAgent CLI & MCPBlueprintsDevelopment

⚠️ Pre-Release Beta ⚠️

Intro

Dimensional is the modern operating system for generalist robotics. We are setting the next-generation SDK standard, integrating with the majority of robot manufacturers.

With a simple install and no ROS required, build physical applications entirely in python that run on any humanoid, quadruped, or drone.

Dimensional is agent native -- "vibecode" your robots in natural language and build (local & hosted) multi-agent systems that work seamlessly with your hardware. Agents run as native modules — subscribing to any embedded stream, from perception (lidar, camera) and spatial memory down to control loops and motor drivers.

Navigation Perception

Navigation and Mapping

SLAM, dynamic obstacle avoidance, route planning, and autonomous exploration — via both DimOS native and ROS
Watch video

Perception

Detectors, 3d projections, VLMs, Audio processing
Agents Spatial Memory

Agentive Control, MCP

"hey Robot, go find the kitchen"
Watch video

Spatial Memory

Spatio-temporal RAG, Dynamic memory, Object localization and permanence
Watch video

Hardware

Quadruped

Humanoid

Arm

Drone

Misc

🟩 Unitree Go2 pro/air
🟥 Unitree B1
🟨 Unitree G1
🟨 Xarm
🟨 AgileX Piper
🟧 MAVLink
🟧 DJI Mavic
🟥 Force Torque Sensor

🟩 stable 🟨 beta 🟧 alpha 🟥 experimental

[!IMPORTANT] 🤖 Direct your favorite Agent (OpenClaw, Claude Code, etc.) to AGENTS.md and our CLI and MCP interfaces to start building powerful Dimensional applications.

Installation

Interactive Install

curl -fsSL https://raw.githubusercontent.com/dimensionalOS/dimos/main/scripts/install.sh | bash

See scripts/install.sh --help for non-interactive and advanced options.

Manual System Install

To set up your system dependencies, follow one of these guides:

Full system requirements, tested configs, and dependency tiers: docs/requirements.md

Python Install

Quickstart

uv venv --python "3.12"
source .venv/bin/activate
uv pip install 'dimos[base,unitree]'

# Replay a recorded quadruped session (no hardware needed)
# NOTE: First run will show a black rerun window while ~75 MB downloads from LFS
dimos --replay run unitree-go2
# Install with simulation support
uv pip install 'dimos[base,unitree,sim]'

# Run quadruped in MuJoCo simulation
dimos --simulation run unitree-go2

# Run humanoid in simulation
dimos --simulation run unitree-g1-sim
# Control a real robot (Unitree quadruped over WebRTC)
export ROBOT_IP=<YOUR_ROBOT_IP>
dimos run unitree-go2

Featured Runfiles

Run command What it does
dimos --replay run unitree-go2 Quadruped navigation replay — SLAM, costmap, A* planning
dimos --replay --replay-db go2_bigoffice run unitree-go2-memory Quadruped temporal memory replay
dimos --simulation run unitree-go2-agentic Quadruped agentic + MCP server in simulation
dimos --simulation run unitree-g1-sim Humanoid in MuJoCo simulation
dimos --replay run drone-basic Drone video + telemetry replay
dimos --replay run drone-agentic Drone + LLM agent with flight skills (replay)
dimos run demo-camera Webcam demo — no hardware needed
dimos run keyboard-teleop-xarm7 Keyboard teleop with mock xArm7 (requires dimos[manipulation] extra)
dimos --simulation run unitree-go2-agentic-ollama Quadruped agentic with local LLM (requires Ollama + ollama serve)

Full blueprint docs: docs/usage/blueprints.md

Agent CLI and MCP

The dimos CLI manages the full lifecycle — run blueprints, inspect state, interact with agents, and call skills via MCP.

dimos run unitree-go2-agentic --daemon   # Start in background
dimos status                              # Check what's running
dimos log -f                              # Follow logs
dimos agent-send "explore the room"       # Send agent a command
dimos mcp list-tools                      # List available MCP skills
dimos mcp call relative_move --arg forward=0.5  # Call a skill directly
dimos stop                                # Shut down

Full CLI reference: docs/usage/cli.md

Usage

Use DimOS as a Library

See below a simple robot connection module that sends streams of continuous cmd_vel to the robot and receives color_image to a simple Listener module. DimOS Modules are subsystems on a robot that communicate with other modules using standardized messages.

import threading, time, numpy as np
from dimos.core.coordination.blueprints import autoconnect
from dimos.core.core import rpc
from dimos.core.module import Module
from dimos.core.stream import In, Out
from dimos.msgs.geometry_msgs import Twist
from dimos.msgs.sensor_msgs import Image, ImageFormat

class RobotConnection(Module):
    cmd_vel: In[Twist]
    color_image: Out[Image]

    @rpc
    def start(self):
        threading.Thread(target=self._image_loop, daemon=True).start()

    def _image_loop(self):
        while True:
            img = Image.from_numpy(
                np.zeros((120, 160, 3), np.uint8),
                format=ImageFormat.RGB,
                frame_id="camera_optical",
            )
            self.color_image.publish(img)
            time.sleep(0.2)

class Listener(Module):
    color_image: In[Image]

    @rpc
    def start(self):
        self.color_image.subscribe(lambda img: print(f"image {img.width}x{img.height}"))

if __name__ == "__main__":
    autoconnect(
        RobotConnection.blueprint(),
        Listener.blueprint(),
    ).build().loop()

Blueprints

Blueprints are instructions for how to construct and wire modules. We compose them with autoconnect(...), which connects streams by (name, type) and returns a Blueprint.

Blueprints can be composed, remapped, and have transports overridden if autoconnect() fails due to conflicting variable names or In[] and Out[] message types.

A blueprint example that connects the image stream from a robot to an MCP-backed LLM agent for reasoning and action execution.

from dimos.core.coordination.blueprints import autoconnect
from dimos.core.transport import LCMTransport
from dimos.msgs.sensor_msgs import Image
from dimos.robot.unitree.go2.connection import go2_connection
from dimos.agents.mcp.mcp_client import McpClient
from dimos.agents.mcp.mcp_server import McpServer

blueprint = autoconnect(
    go2_connection(),
    McpServer.blueprint(),
    McpClient.blueprint(),
).transports({("color_image", Image): LCMTransport("/color_image", Image)})

# Run the blueprint
if __name__ == "__main__":
    blueprint.build().loop()

Library API

Demos

DimOS Demo

Development

Develop on DimOS

export GIT_LFS_SKIP_SMUDGE=1
git clone https://github.com/dimensionalOS/dimos.git
cd dimos

# Run the default test suite (uv run syncs deps on demand; --all-groups
# only needed for self-hosted tests / mypy — see docs/development/testing.md)
uv run pytest --numprocesses=auto dimos

Multi Language Support

Python is our glue and prototyping language, but we support many languages via LCM interop.

Check our language interop examples:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dimos-0.0.14b1.tar.gz (1.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dimos-0.0.14b1-cp312-cp312-manylinux_2_34_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

dimos-0.0.14b1-cp312-cp312-manylinux_2_34_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

dimos-0.0.14b1-cp312-cp312-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dimos-0.0.14b1-cp311-cp311-manylinux_2_34_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

dimos-0.0.14b1-cp311-cp311-manylinux_2_34_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

dimos-0.0.14b1-cp311-cp311-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dimos-0.0.14b1-cp310-cp310-manylinux_2_34_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

dimos-0.0.14b1-cp310-cp310-manylinux_2_34_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

dimos-0.0.14b1-cp310-cp310-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file dimos-0.0.14b1.tar.gz.

File metadata

  • Download URL: dimos-0.0.14b1.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for dimos-0.0.14b1.tar.gz
Algorithm Hash digest
SHA256 1022688b95a2b70f44daee8a3e65779e24e3886efaff610bd2ef101660c4446f
MD5 1502649ea61cf71bd4938437213f8d91
BLAKE2b-256 7c3e8862713e2aee237440889f465a6306a64aed0e31c1181f0bf18b970070c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.14b1.tar.gz:

Publisher: release.yml on dimensionalOS/dimos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dimos-0.0.14b1-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dimos-0.0.14b1-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 5d30816698871a2bb3b4dd3af367956b62f23e169033c4c36614f261c7f615f0
MD5 7bb8f2057b3762094a4ffee55ecf2ad0
BLAKE2b-256 1c3fe6d06953a432de9aa01ba83738843f1a810b70d3f7a5feaaaed356decabe

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.14b1-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: release.yml on dimensionalOS/dimos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dimos-0.0.14b1-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dimos-0.0.14b1-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 f643dfbd206789a57f6cece0f0859f3e2ff979943e5c7b930eeb968c6ab287dd
MD5 98a15f5d61cb8719598c373220a9bd69
BLAKE2b-256 498214eb818d031427d3f20653b887d080f174362a141455636f09fea4d57b6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.14b1-cp312-cp312-manylinux_2_34_aarch64.whl:

Publisher: release.yml on dimensionalOS/dimos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dimos-0.0.14b1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dimos-0.0.14b1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6b487366dd490043414c4868cbccdf078d43c0605d40fb1d6b3e9ac30df0550a
MD5 d7611a82cc57d84b0bcc0213e55b10f6
BLAKE2b-256 42fbd154a950b0c6901d20b35eac920adb16b393034ec97226c4addc3b2c7c6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.14b1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on dimensionalOS/dimos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dimos-0.0.14b1-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dimos-0.0.14b1-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7062bdde2bc02e44d265590fc4290ea56d973e6abc6313509379579535daca7f
MD5 4907192293023646e4782131a61962e1
BLAKE2b-256 185fe6d8e4d3b003012b42b79e36efbce5144d5883c0ba1c8012db529cae7f5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.14b1-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: release.yml on dimensionalOS/dimos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dimos-0.0.14b1-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dimos-0.0.14b1-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 1a281f89d03f20d7adcdb0bdc0124538e6886468566cb34f2f638765e9cd3548
MD5 39446cdfc7fecf9790be8988c8a664b4
BLAKE2b-256 420bf9b6a00b816e35c76c39e5ea9f82d754419eec36889862ac2ccf5930634d

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.14b1-cp311-cp311-manylinux_2_34_aarch64.whl:

Publisher: release.yml on dimensionalOS/dimos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dimos-0.0.14b1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dimos-0.0.14b1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 715857038179ee9564425c30751dbf403c350276b3c49cecb34c783aab547122
MD5 6802e91e7ffedad667435e4175b00804
BLAKE2b-256 6cf430c4a1cc6552e2c1284c8af1a9e8d621b6432ceda33433d74652b5795640

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.14b1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on dimensionalOS/dimos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dimos-0.0.14b1-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dimos-0.0.14b1-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3197dcb07e08a76b7b0a8375f8bf65e6ab89a77a47ce14b5413ba2d8ccfd3ea2
MD5 3ba148d7ef5fdf6501b771c0b79bbf29
BLAKE2b-256 fb6325f47b5827507a728452971bc73661c42e1cc1549cb37f5bb57d4cc4c99d

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.14b1-cp310-cp310-manylinux_2_34_x86_64.whl:

Publisher: release.yml on dimensionalOS/dimos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dimos-0.0.14b1-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dimos-0.0.14b1-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 fc74710a761d08b088985676d9eb7092d30c67c20704ae4f51168eaab35672ff
MD5 dbc1a89f08abdb78e3852abad7f37afc
BLAKE2b-256 a32af9ec522d54e93dd0a9202bb97763f55b1790e3993541e2064748f0284f58

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.14b1-cp310-cp310-manylinux_2_34_aarch64.whl:

Publisher: release.yml on dimensionalOS/dimos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dimos-0.0.14b1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dimos-0.0.14b1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2017e1d0ea7f05d44f1388abb78720cf99f545e50eb4da3260913aed06cb93ff
MD5 6d6e9bd28e375c810e08912a1eb40bb9
BLAKE2b-256 fe84d58e983d567c346c15b58196ac6a34d8bfb3ffa65007021d12c9a0aca2c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.14b1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on dimensionalOS/dimos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page