Release v0.0.11: Dimensional now fully Agent-native, Interactive Visualizer, Drones, Temporal Memory, Fleet control
LatestHighlights
82 commits, 10 contributors, 396 files changed.
Production CLI and daemon, MCP tooling, temporal-spatial memory, and first-class support for coding agents. Dask has been removed entirely. The full stack now runs from dimos run through dimos stop.
🚀 New Features
Agent-Native Development
DimOS is now built to be driven by coding agents. Point OpenClaw, Claude Code, or Cursor at AGENTS.md and they can build, run, and debug Dimensional applications using the CLI and MCP interfaces directly.
-
AGENTS.md — comprehensive onboarding doc: architecture, CLI reference, skill rules, blueprint quick-reference. Your agent reads this and starts coding. (#1495) by @spomichter
-
MCP server — all
@skillmethods exposed as HTTP tools. External agents calldimos mcp call relative_move --arg forward=0.5or connect via JSON-RPC. (#1300) by @PaulNechifor -
MCP CLI —
dimos mcp list-tools,dimos mcp call,dimos mcp status,dimos mcp modules. (#1451) by @spomichter -
Agent context logging — MCP tool calls and agent messages logged to per-run JSONL for debugging and replay. (#1499) by @spomichter
CLI & Daemon
Full process lifecycle — no more Ctrl-C in tmux.
-
Daemon mode —
dimos run --daemonwith health checks and run registry.dimos stop,dimos status,dimos restart. (#1436) by @spomichter -
Structured logs —
dimos log -fwith per-run JSONL, follow mode, JSON output, and filtering. (#1497) by @spomichter -
Show config —
dimos show-configprints resolved GlobalConfig with source tracing.
Temporal-Spatial Memory
Robots in physical space ingest hours of video and lidar. Temporal-spatial memory gives them a human-like understanding of the world — causal object relationships, entity tracking through time and physical space, and the ability to answer complex temporal queries.
Who spends the most time in the kitchen? What time on average do I wake up? Which set of switches toggles the main lights? Who was at the office at 9am last Thursday?
Traditional frame-level embeddings (CLIP, ViT) lose temporal context and don't scale beyond a handful of frames. Video transformers are expensive and don't operate in RGB-D. Dimensional agents work with video + lidar natively, tracking entities across hours and days.
dimos --replay --replay-dir unitree_go2_office_walk2 run unitree-go2-temporal-memory(#1511) by @spomichter
Interactive Viewer
Custom Rerun fork (dimos-viewer) is now the default. Click-to-navigate: click a point in the 3D view → PointStamped → A* planner → robot moves. (#1414, #1394) by @spomichter
- Camera | 3D split layout on Go2, G1, and drone blueprints. (#1525) by @spomichter
- Native keyboard teleop in the viewer. (#1473) by @spomichter
- Default viewer changed from rerun-web to native dimos-viewer. (#1478) by @spomichter
Drone Support
Drone blueprints modernized to match Go2 composition pattern. drone-basic and drone-agentic work with replay, Rerun, and the full CLI. (#1520) by @spomichter
Perception
- Perceive loop — continuous observation module for agents. (#1411) by @PaulNechifor
Robot Support
- Go2 fleet control — multi-robot with
--robot-ips. (#1487) by @ruthwikdasyam - G1 agent RPC wiring and system prompt fix. (#1518) by @SummerYang
- Replay
--replay-dirto select dataset, loops by default. (#1519, #1494) by @spomichter
Installation & Platform
- Interactive install script —
curl -fsSL .../install.sh | bash. (#1395) by @spomichter - Nix install for non-Debian Linux. (#1472) by @leshy
- macOS MuJoCo and multicast fixes. (#1503, #1502) by @SummerYang
Core Architecture
- Remove Dask — replaced with native worker pool. (#1365) by @PaulNechifor
- Remove asyncio dependency. (#1367) by @SamBull
- PointStamped message type for click-to-navigate. (#1388) by @spomichter
- Module standalone execution from blueprints. (#1342) by @PaulNechifor
- Gripper in coordinator tick loop. (#1371) by @ruthwikdasyam
- ClockSyncConfigurator for Unitree WebRTC. (#1346) by @leshy
- Worker resource monitor —
dtopTUI. (#1378) by @leshy - FastAPI WebSocket server replaces Deno bridge for teleop. (#1385) by @ruthwikdasyam
Documentation
- Full CLI reference (
docs/usage/cli.md), system requirements and dependency tiers (docs/requirements.md), agents capability readme. (#1524) by @spomichter - G1 getting started. (#1347) by @spomichter
- Go2 preflight checklist. (#1349) by @leshy
- GitHub issue templates. (#1517) by @SummerYang
🐛 Bug Fixes
- Rerun rate limiting to prevent viewer OOM. (#1509, #1521) by @spomichter
- Sim camera intrinsics — use MuJoCo computed values. (#1516) by @ruthwikdasyam
- Open3D memory leak. (#1386) by @PaulNechifor
- RotatingFileHandler to prevent unbounded log growth. (#1492) by @spomichter
- LCMSpy concurrent access lock. (#1419) by @PaulNechifor
- Module annotations at runtime. (#1377) by @PaulNechifor
- Non-TTY sysconf handling. (#1356) by @JeffHykin
- Protobuf pin major version. (#1372) by @PaulNechifor
- Test coverage, draft PR CI skip, manipulation test fixes. (#1397, #1398, #1522)
⚠️ Breaking Changes
--viewer-backendrenamed to--viewer- Dask removed — blueprints using Dask workers need migration to native worker pool
- Default viewer changed from
rerun-webtorerun(native dimos-viewer)
What's Changed
- docs(go2): add getting started guide by @spomichter in #1339
- docs(go2): add getting started guide (#1339) by @spomichter in #1340
- fix(metric3d): remove metric3d to fix tests by @paul-nechifor in #1341
- fix(tests): replace sleep() with threading.Event in pubsub tests by @leshy in #1350
- Feature: Control Coordinator support for mobile base by @mustafab0 in #1277
- docs: move custom arm guide, remove vibed depth camera doc by @leshy in #1351
- feat(mcp): add mcp client and server by @paul-nechifor in #1300
- docs: go2 preflight checklist by @leshy in #1349
- docs: add Unitree G1 getting started documentation by @spomichter in #1347
- refactor(doclinks): unify link handlers and validate all file links by @leshy in #1348
- Fix
bin/gen_diagramsthat is referenced in docs by @jeff-hykin in #1291 - fix(tests): simplify testing by @paul-nechifor in #1343
- feat(blueprints): running modules by themselves by @paul-nechifor in #1342
- Remove asyncio from dependencies by @Dreamsorcerer in #1367
- docs(readme): add system requirements section by @spomichter in #1366
- fix(tests): check for ros by @paul-nechifor in #1361
- Add ClockSyncConfigurator for Unitree WebRTC by @leshy in #1346
- Tiny Fix: Handle the non-tty case for sysconf by @jeff-hykin in #1356
- Pin protobuf major by @paul-nechifor in #1372
- feat(dask): remove dask by @paul-nechifor in #1365
- fix(annotations): module annotations are needed at runtime by @paul-nechifor in #1377
- Task: Create base manipulation module by @mustafab0 in #1364
- feat: integrate gripper into coordinator tick loop by @ruthwikdasyam in #1371
- fix: increase RPC test timeout - CI flaky issue by @ruthwikdasyam in #1383
- feat(teleop): replace Deno bridge with embedded FastAPI WebSocket server by @ruthwikdasyam in #1385
- fix(open3d): leak by @paul-nechifor in #1386
- chore(ci): decouple python deps from docker images by @spomichter in #1380
- feat(msgs): add PointStamped geometry message type by @spomichter in #1388
- fix(ci): skip workflows on draft PRs by @spomichter in #1398
- fix(testing): fix openai fixture use by @paul-nechifor in #1399
- feat(core): worker resource monitor by @leshy in #1378
- feat(testing): add coverage by @paul-nechifor in #1397
- Fix/dtop graph by @leshy in #1400
- Config adjustments by @Dreamsorcerer in #1369
- fix(command-center): add command to build by @paul-nechifor in #1406
- fix(agentspy): wrap subscribe topic string in Topic type by @ruthwikdasyam in #1407
- Revert 1369 by @paul-nechifor in #1409
- feat(nav): add clicked_point input to replanning planner and rerun clicking blueprint by @spomichter in #1394
- keyboard control fix by @RadientBrain in #1403
- Module config adjustments by @Dreamsorcerer in #1413
- Revert "Module config adjustments (#1413)" by @mustafab0 in #1417
- fix(lcmspy): fix concurrent access lock by @paul-nechifor in #1419
- fix(ci): run tests when pyproject.toml or uv.lock changes by @spomichter in #1425
- chore: add PyPI metadata (license, keywords, classifiers, URLs) by @spomichter in #1424
- feat: dimos interactive viewer with click-to-navigate via Rerun (DIM-646) by @spomichter in #1414
- fix(ci): actually skip CI on draft PRs by @spomichter in #1423
- feat: interactive install script (DIM-645) by @spomichter in #1395
- fix: auto-detect viewer mode from global_config in rerun bridge by @spomichter in #1435
- feat(cli): daemon mode, stop, status, per-run logs (DIM-681, DIM-682, DIM-684, DIM-685) by @spomichter in #1436
- fix: pyproject version bump for dimos-viewer, viewer now with native keyboard teleop support by @spomichter in #1473
- feat(robot): Go2 fleet support for multi-robot control by @ruthwikdasyam in #1487
- Ruthwik/data/go2 by @ruthwikdasyam in #1491
- refactor: rename --viewer-backend to --viewer by @spomichter in #1477
- fix: replay mode loops by default instead of stopping at end by @spomichter in #1494
- feat: MCP server enhancements + dimos mcp CLI + agent context (DIM-686, DIM-687) by @spomichter in #1451
- fix: restore RotatingFileHandler to prevent OOM from unbounded log growth by @spomichter in #1492
- fix: change default viewer from rerun-web to rerun (dimos-viewer) by @spomichter in #1478
- feat(cli): dimos restart command (DIM-683) by @spomichter in #1476
- feat(perception): look out loop by @paul-nechifor in #1411
- fix: verify macOS multicast route points to loopback by @SUMMERxYANG in #1502
- fix: symlink libpython for MuJoCo mjpython on macOS with uv by @SUMMERxYANG in #1503
- Cli fixes by @paul-nechifor in #1501
- feat: log MCP tool calls and agent messages to per-run JSONL by @spomichter in #1499
- fix: rate-limit rerun bridge to prevent viewer OOM by @spomichter in #1509
- feat(cli): dimos log command for viewing per-run logs (DIM-698) by @spomichter in #1497
- fix TUI tools on MacOS/Linux when network not configured by @jeff-hykin in #1512
- fix: use sim camera intrinsics in viewer by @ruthwikdasyam in #1516
- nix install for non debian based linux by @leshy in #1472
- chore: add GitHub issue templates by @SUMMERxYANG in #1517
- fix: G1 agent RPC wiring and system prompt by @SUMMERxYANG in #1518
- fix: remove redundant autoconf from LCMService.start() by @SUMMERxYANG in #1515
- docs: add AGENTS.md for AI agent onboarding by @spomichter in #1495
- refactor(perception): temporal memory rerewite with visualization in rerun by @spomichter in #1511
- feat(replay): named replay datasets via --replay small|big by @spomichter in #1519
- fix(rerun): only rate-limit heavy message types (Image, PointCloud2) by @spomichter in #1521
- feat(drone): modernize drone for CLI + Rerun + replay by @spomichter in #1520
- Task/manipulation tests fixes by @mustafab0 in #1522
- docs(readme, cli, system requirements): add full CLI reference, delete stale development README by @spomichter in #1524
- feat: add Rerun split layout (Camera | 3D) to Go2 and G1 base blueprints by @spomichter in #1525
- Jeff/fix/autoconf2 by @jeff-hykin in #1523
- fix(docs): docs/readme additions by @spomichter in #1527
- Release v0.0.11 by @spomichter in #1526
- chore: bump version to 0.0.11 by @spomichter in #1529
- chore: bump version to 0.0.11 (#1529) by @spomichter in #1530
- fix(readme): logo fix by @jeff-hykin in #1531
- fix(readme): logo fix - (#1531) by @spomichter in #1532
New Contributors
- @Dreamsorcerer made their first contribution in #1367
- @RadientBrain made their first contribution in #1403
- @SUMMERxYANG made their first contribution in #1502
Full Changelog: v0.0.10.post1...v0.0.11