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.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-cp312-cp312-manylinux_2_34_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dimos-0.0.13.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.tar.gz
Algorithm Hash digest
SHA256 06716100ce8d073e9582fbfb77507fdd83c46f6bd3713e2fbed3084314f07c1e
MD5 c245ffd7d5c48b18f92f19d8b12356ee
BLAKE2b-256 8fca999efc04553559c64a2566cb9c1e03bc2b2921a627d33e081fbe2887cbeb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dimos-0.0.13-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0239a5417fea873032c89b5c6a11005d920b622402912db5bf1966c1534bf91c
MD5 6304e12b2e1722a946beee61bf3f8bf7
BLAKE2b-256 fbc93ed378d4a0afde268d532abdfefed4517e5ba5406d460cfcef2c7ffcecef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dimos-0.0.13-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 ed14457d571edfdba452d5d01f6e6fc0fa0e700f3713fc287ad220658bd40761
MD5 2d56f4ab6d7f3d545e6af9b23c89fe80
BLAKE2b-256 596df8e6194df39f1704f05e39b47a28be086000cad4682bd6357fa7bd853bdb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dimos-0.0.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b2f72493a997266ea6925cdc2367f12ca0abb1c6394434074f70a961330a48e6
MD5 b6b6cc0c858e973b85a467a0f1ea22ad
BLAKE2b-256 79453c6c59b5ec269ed23cc9d813e16546507eb7b1e9ad553dd63855ef04d61b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dimos-0.0.13-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 fc6f15cafe3e69db80ac69607e227a31be69976f3b73ccb3b544e2a23ea26f50
MD5 3a3057a2f787dff0e535636513b79eb0
BLAKE2b-256 12d3e197827928811a6f4ef9fa4def193fab938ab6390bafaaf0946ff0bd85d5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dimos-0.0.13-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 30e68715dfce7d5bc47d43a193784ce9639640751eb36417f10922762976ab32
MD5 5d8c18da5dd16e1cfdc5c238ad4568a8
BLAKE2b-256 d9a091c4bde553e60746e19ddd990dec198fd2fa0890d201c06c0dd3bc999927

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dimos-0.0.13-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f45e842f06d0e2aee2c1e7534167bce8797c54c1156852e2f423a4379324680
MD5 3a82198774280d8d72f42a73041e51f4
BLAKE2b-256 6c42bd3e87a3296e0b73c7e42119919ba59580786c009693d65d0a37f03c1d87

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dimos-0.0.13-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4ab14610a58c8450b47913abac033adf47086f082c3edf41158f4d208d80214d
MD5 5fece455fa216730cceb7c8154022ae1
BLAKE2b-256 8b4197a795a1c60b8b3d543cf87d138fc2e3fe7f1e342518d45f6b70c7c5304b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dimos-0.0.13-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 aa300ffae2aea5d1da7720fe079861fafffdabfb35f704809b4f4093356a2f29
MD5 0b079467afea4bc493e0d98eaae2ac3f
BLAKE2b-256 74e428788feefe5885c7afe6398b0ae3f6cc3ba00864e9fded6f31757e53d6da

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dimos-0.0.13-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f6abdae57e070e2879463d80f258c4b2561691899417f5fdbee89258bcff227
MD5 1acebc559eafd07e0622350f5562b512
BLAKE2b-256 e50bec95627ab333d25aa88c00168b0cd43ac8f094b535b91a83e01e25e464b6

See more details on using hashes here.

Provenance

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