Skip to main content
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.13.post1.tar.gz (1.6 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.13.post1-cp312-cp312-manylinux_2_34_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

dimos-0.0.13.post1-cp312-cp312-manylinux_2_34_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

dimos-0.0.13.post1-cp312-cp312-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dimos-0.0.13.post1-cp311-cp311-manylinux_2_34_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

dimos-0.0.13.post1-cp311-cp311-manylinux_2_34_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

dimos-0.0.13.post1-cp311-cp311-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dimos-0.0.13.post1-cp310-cp310-manylinux_2_34_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

dimos-0.0.13.post1-cp310-cp310-manylinux_2_34_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

dimos-0.0.13.post1-cp310-cp310-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file dimos-0.0.13.post1.tar.gz.

File metadata

  • Download URL: dimos-0.0.13.post1.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dimos-0.0.13.post1.tar.gz
Algorithm Hash digest
SHA256 02f1ecc645ca3d2c1a29f223f5f13f54912a19806293c954f30f8209bd7171ca
MD5 254f0d8bdd36b4949498470fce9ffbf7
BLAKE2b-256 82cadf04c053c79d2174a706bacab490a8085bc0a8ceaf48ecb1b1a5a947afe7

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.13.post1.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.13.post1-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dimos-0.0.13.post1-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 fec32f901274491ae7f0824708842b1087e203910a8b8a9b38ebec8c08e4ee85
MD5 8bac0a723a86c74c08efa0f15fc568a1
BLAKE2b-256 760e677405a648dad7cdf7a79d5abd170dd8b00623389ce60168f7417cb50e9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.13.post1-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.13.post1-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dimos-0.0.13.post1-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 fa2a8b1ded103fc507326683febb108ca765209672cb2aa858f8f7d5274ec2e5
MD5 620b736ece31c64b0e2d3a32adebe3be
BLAKE2b-256 520f8a90bd21e257c0724f44b159a12d8b58cff7c44a5c60aab1a9c787726f66

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.13.post1-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.13.post1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dimos-0.0.13.post1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 838bad4f376ccbbef789699b74923ae2148ea54a6463cb51667264c3bba4b9e7
MD5 59c5a0b064b406432ee26c9d0374188b
BLAKE2b-256 c39799ff77a3b837d75ee7549b380eed6191db4704a16f46477c81ca7f59a595

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.13.post1-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.13.post1-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dimos-0.0.13.post1-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a8aff301b0b358659b31b1105f4e68530e5b79d8137cd640e0d110eb36c5d9e0
MD5 bd4a6c6bfae3b755a6e908ff8fedf795
BLAKE2b-256 65f2680a529a4b73ac2bf3a35beb957ba5d13cb9a7c3c0263c3f353fb6bed9e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.13.post1-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.13.post1-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dimos-0.0.13.post1-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 cf03f4b3be153c79e8e1e8efd8153f7d80d65096094329bedbf8c272317f0976
MD5 67e85073e92752c1d4c606484d26f507
BLAKE2b-256 af0efaf71d8ac05309fd49b1c307ac8c5661845de515c2fc3294a9a25982dbe2

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.13.post1-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.13.post1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dimos-0.0.13.post1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27e4889c624bb47f7384b4997ee756258c8142025f7cf6399c10ec193ffe6620
MD5 faf92b2a6f5003a260abb61dca12f2a7
BLAKE2b-256 48a1d17a1252cf25adacda87e2e17dbac206a0fd40ade6f6a07d012fa50698f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.13.post1-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.13.post1-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dimos-0.0.13.post1-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2e0d7ca28b13d5944ee2d63234e0a3b475cba71eb9c263da7692f6d667556965
MD5 0148ecabcf72bd40e9082ee1fc33e50b
BLAKE2b-256 67f2f0abc5503fec1654c39fc42c34d5ba43d1b5e44eca7d814f6d2d97640c39

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.13.post1-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.13.post1-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for dimos-0.0.13.post1-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 a3795c0633c5293905119ee5079417a3583b490c91bf7c4a3de3c86921a1d026
MD5 530b9a95daa97c9eb90c305e092f0342
BLAKE2b-256 937f712c92143f4762aa655000d51238f897d4fb56198eab0bf5bb6282815bb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.13.post1-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.13.post1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dimos-0.0.13.post1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a289d198d73169b2c22c206900b711fe6103f53d09d67ccdc71710fa0a93094b
MD5 0a1f08eda41efcee27dcec03ef05ed70
BLAKE2b-256 0ffc1f50ec73f0e145f44d0b1f43ccb3be7fa2f378a142b9227361237bb17bfc

See more details on using hashes here.

Provenance

The following attestation bundles were made for dimos-0.0.13.post1-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