Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
THis is pretty nice I didnt realize langchain supports this like this |
|
WHen i try and run │ │ │ │ │ │ │ type=<class 'dimos.msgs.nav_msgs.OccupancyGrid.OccupancyGrid'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='odom', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='goal_reached', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.std_msgs.Bool.Bool'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='explore_cmd', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.std_msgs.Bool.Bool'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='stop_explore_cmd', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.std_msgs.Bool.Bool'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='goal_request', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ) │ │
│ │ │ │ │ ), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={} │ │
│ │ │ │ ), │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class 'dimos.web.websocket_vis.websocket_vis_module.WebsocketVisModule'>, │ │
│ │ │ │ │ connections=( │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='odom', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='gps_location', │ │
│ │ │ │ │ │ │ type=<class 'dimos.mapping.types.LatLon'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='path', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.nav_msgs.Path.Path'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='global_costmap', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.nav_msgs.OccupancyGrid.OccupancyGrid'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='goal_request', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='gps_goal', │ │
│ │ │ │ │ │ │ type=<class 'dimos.mapping.types.LatLon'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='explore_cmd', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.std_msgs.Bool.Bool'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='stop_explore_cmd', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.std_msgs.Bool.Bool'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='cmd_vel', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.Twist.Twist'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='movecmd_stamped', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.TwistStamped.TwistStamped'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ) │ │
│ │ │ │ │ ), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={} │ │
│ │ │ │ ), │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class 'dimos.robot.foxglove_bridge.FoxgloveBridge'>, │ │
│ │ │ │ │ connections=(), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={} │ │
│ │ │ │ ), │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class 'dimos.perception.spatial_perception.SpatialMemory'>, │ │
│ │ │ │ │ connections=( │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='color_image', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.sensor_msgs.Image.Image'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ ), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={} │ │
│ │ │ │ ), │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class 'dimos.perception.object_tracker.ObjectTracking'>, │ │
│ │ │ │ │ connections=( │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='color_image', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.sensor_msgs.Image.Image'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='depth', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.sensor_msgs.Image.Image'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='camera_info', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.sensor_msgs.CameraInfo.CameraInfo'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='detection2darray', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.vision_msgs.Detection2DArray.Detection2DArray'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='detection3darray', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.vision_msgs.Detection3DArray.Detection3DArray'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='tracked_overlay', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.sensor_msgs.Image.Image'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ) │ │
│ │ │ │ │ ), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={'frame_id': 'camera_link'} │ │
│ │ │ │ ), │ │
│ │ │ │ ... +5 │ │
│ │ │ ), │ │
│ │ │ transport_map=mappingproxy({ │ │
│ │ │ │ ('color_image', <class 'dimos.msgs.sensor_msgs.Image.Image'>): │ │
│ │ <dimos.core.transport.LCMTransport object at 0x75798bffaf20>, │ │
│ │ │ │ ('camera_pose', <class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>): │ │
│ │ <dimos.core.transport.LCMTransport object at 0x75798bffa5f0>, │ │
│ │ │ │ ('camera_info', <class 'dimos_lcm.sensor_msgs.CameraInfo.CameraInfo'>): │ │
│ │ <dimos.core.transport.LCMTransport object at 0x7579828b6980> │ │
│ │ │ }), │ │
│ │ │ global_config_overrides=mappingproxy({'n_dask_workers': 8, 'robot_model': 'unitree_go2'}), │ │
│ │ │ remapping_map=mappingproxy({}) │ │
│ │ ) │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/stash/dimensional/dimos/dimos/core/blueprints.py:121 in _deploy_all_modules │
│ │
│ 118 │ │ │ sig = inspect.signature(blueprint.module.__init__) │
│ 119 │ │ │ if "global_config" in sig.parameters: │
│ 120 │ │ │ │ kwargs["global_config"] = global_config │
│ ❱ 121 │ │ │ module_coordinator.deploy(blueprint.module, *blueprint.args, **kwargs) │
│ 122 │ │
│ 123 │ def _connect_transports(self, module_coordinator: ModuleCoordinator) -> None: │
│ 124 │ │ # Gather all the In/Out connections with remapping applied. │
│ │
│ ╭─────────────────────────────────────────────────────────── locals ───────────────────────────────────────────────────────────╮ │
│ │ blueprint = ModuleBlueprint( │ │
│ │ │ module=<class 'dimos.agents2.agent.LlmAgent'>, │ │
│ │ │ connections=(), │ │
│ │ │ args=(), │ │
│ │ │ kwargs={'model': 'qwen3:8b', 'provider': <Provider.OLLAMA: 'ollama'>} │ │
│ │ ) │ │
│ │ global_config = GlobalConfig( │ │
│ │ │ robot_ip='192.168.9.140', │ │
│ │ │ simulation=False, │ │
│ │ │ replay=False, │ │
│ │ │ n_dask_workers=8, │ │
│ │ │ mujoco_room=None, │ │
│ │ │ robot_model='unitree_go2' │ │
│ │ ) │ │
│ │ kwargs = {'model': 'qwen3:8b', 'provider': <Provider.OLLAMA: 'ollama'>} │ │
│ │ module_coordinator = <dimos.core.module_coordinator.ModuleCoordinator object at 0x757a99ce3b50> │ │
│ │ self = ModuleBlueprintSet( │ │
│ │ │ blueprints=( │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class 'dimos.robot.unitree_webrtc.unitree_go2.ConnectionModule'>, │ │
│ │ │ │ │ connections=( │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='cmd_vel', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.Twist.Twist'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='odom', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='gps_location', │ │
│ │ │ │ │ │ │ type=<class 'dimos.mapping.types.LatLon'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='lidar', │ │
│ │ │ │ │ │ │ type=<class 'dimos.robot.unitree_webrtc.type.lidar.LidarMessage'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='color_image', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.sensor_msgs.Image.Image'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='camera_info', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.sensor_msgs.CameraInfo.CameraInfo'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='camera_pose', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ) │ │
│ │ │ │ │ ), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={} │ │
│ │ │ │ ), │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class 'dimos.robot.unitree_webrtc.type.map.Map'>, │ │
│ │ │ │ │ connections=( │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='lidar', │ │
│ │ │ │ │ │ │ type=<class 'dimos.robot.unitree_webrtc.type.lidar.LidarMessage'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='global_map', │ │
│ │ │ │ │ │ │ type=<class 'dimos.robot.unitree_webrtc.type.lidar.LidarMessage'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='global_costmap', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.nav_msgs.OccupancyGrid.OccupancyGrid'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='local_costmap', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.nav_msgs.OccupancyGrid.OccupancyGrid'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ) │ │
│ │ │ │ │ ), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={'voxel_size': 0.5, 'global_publish_interval': 2.5} │ │
│ │ │ │ ), │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class 'dimos.navigation.global_planner.planner.AstarPlanner'>, │ │
│ │ │ │ │ connections=( │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='target', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='global_costmap', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.nav_msgs.OccupancyGrid.OccupancyGrid'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='odom', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='path', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.nav_msgs.Path.Path'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ) │ │
│ │ │ │ │ ), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={} │ │
│ │ │ │ ), │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class │ │
│ │ 'dimos.navigation.local_planner.holonomic_local_planner.HolonomicLocalPlanner'>, │ │
│ │ │ │ │ connections=( │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='local_costmap', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.nav_msgs.OccupancyGrid.OccupancyGrid'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='odom', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='path', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.nav_msgs.Path.Path'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='cmd_vel', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.Twist.Twist'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ) │ │
│ │ │ │ │ ), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={} │ │
│ │ │ │ ), │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class 'dimos.navigation.bt_navigator.navigator.BehaviorTreeNavigator'>, │ │
│ │ │ │ │ connections=( │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='odom', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='goal_request', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='global_costmap', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.nav_msgs.OccupancyGrid.OccupancyGrid'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='target', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='goal_reached', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.std_msgs.Bool.Bool'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='navigation_state', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.std_msgs.String.String'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ) │ │
│ │ │ │ │ ), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={} │ │
│ │ │ │ ), │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class │ │
│ │ 'dimos.navigation.frontier_exploration.wavefront_frontier_goal_selector.WavefrontFrontierExplorer'>, │ │
│ │ │ │ │ connections=( │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='global_costmap', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.nav_msgs.OccupancyGrid.OccupancyGrid'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='odom', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='goal_reached', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.std_msgs.Bool.Bool'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='explore_cmd', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.std_msgs.Bool.Bool'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='stop_explore_cmd', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.std_msgs.Bool.Bool'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='goal_request', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ) │ │
│ │ │ │ │ ), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={} │ │
│ │ │ │ ), │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class 'dimos.web.websocket_vis.websocket_vis_module.WebsocketVisModule'>, │ │
│ │ │ │ │ connections=( │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='odom', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='gps_location', │ │
│ │ │ │ │ │ │ type=<class 'dimos.mapping.types.LatLon'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='path', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.nav_msgs.Path.Path'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='global_costmap', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.nav_msgs.OccupancyGrid.OccupancyGrid'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='goal_request', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='gps_goal', │ │
│ │ │ │ │ │ │ type=<class 'dimos.mapping.types.LatLon'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='explore_cmd', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.std_msgs.Bool.Bool'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='stop_explore_cmd', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.std_msgs.Bool.Bool'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='cmd_vel', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.Twist.Twist'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='movecmd_stamped', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.geometry_msgs.TwistStamped.TwistStamped'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ) │ │
│ │ │ │ │ ), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={} │ │
│ │ │ │ ), │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class 'dimos.robot.foxglove_bridge.FoxgloveBridge'>, │ │
│ │ │ │ │ connections=(), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={} │ │
│ │ │ │ ), │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class 'dimos.perception.spatial_perception.SpatialMemory'>, │ │
│ │ │ │ │ connections=( │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='color_image', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.sensor_msgs.Image.Image'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ ), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={} │ │
│ │ │ │ ), │ │
│ │ │ │ ModuleBlueprint( │ │
│ │ │ │ │ module=<class 'dimos.perception.object_tracker.ObjectTracking'>, │ │
│ │ │ │ │ connections=( │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='color_image', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.sensor_msgs.Image.Image'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='depth', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.sensor_msgs.Image.Image'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='camera_info', │ │
│ │ │ │ │ │ │ type=<class 'dimos_lcm.sensor_msgs.CameraInfo.CameraInfo'>, │ │
│ │ │ │ │ │ │ direction='in' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='detection2darray', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.vision_msgs.Detection2DArray.Detection2DArray'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='detection3darray', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.vision_msgs.Detection3DArray.Detection3DArray'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ), │ │
│ │ │ │ │ │ ModuleConnection( │ │
│ │ │ │ │ │ │ name='tracked_overlay', │ │
│ │ │ │ │ │ │ type=<class 'dimos.msgs.sensor_msgs.Image.Image'>, │ │
│ │ │ │ │ │ │ direction='out' │ │
│ │ │ │ │ │ ) │ │
│ │ │ │ │ ), │ │
│ │ │ │ │ args=(), │ │
│ │ │ │ │ kwargs={'frame_id': 'camera_link'} │ │
│ │ │ │ ), │ │
│ │ │ │ ... +5 │ │
│ │ │ ), │ │
│ │ │ transport_map=mappingproxy({ │ │
│ │ │ │ ('color_image', <class 'dimos.msgs.sensor_msgs.Image.Image'>): │ │
│ │ <dimos.core.transport.LCMTransport object at 0x75798bffaf20>, │ │
│ │ │ │ ('camera_pose', <class 'dimos.msgs.geometry_msgs.PoseStamped.PoseStamped'>): │ │
│ │ <dimos.core.transport.LCMTransport object at 0x75798bffa5f0>, │ │
│ │ │ │ ('camera_info', <class 'dimos_lcm.sensor_msgs.CameraInfo.CameraInfo'>): │ │
│ │ <dimos.core.transport.LCMTransport object at 0x7579828b6980> │ │
│ │ │ }), │ │
│ │ │ global_config_overrides=mappingproxy({'n_dask_workers': 8, 'robot_model': 'unitree_go2'}), │ │
│ │ │ remapping_map=mappingproxy({}) │ │
│ │ ) │ │
│ │ sig = <Signature (self, *args, **kwargs) -> None> │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/stash/dimensional/dimos/dimos/core/module_coordinator.py:55 in deploy │
│ │
│ 52 │ │ if not self._client: │
│ 53 │ │ │ raise ValueError("Not started") │
│ 54 │ │ │
│ ❱ 55 │ │ module = self._client.deploy(module_class, *args, **kwargs) │
│ 56 │ │ self._deployed_modules[module_class] = module │
│ 57 │ │ return module │
│ 58 │
│ │
│ ╭────────────────────────────────────── locals ───────────────────────────────────────╮ │
│ │ args = () │ │
│ │ kwargs = {'model': 'qwen3:8b', 'provider': <Provider.OLLAMA: 'ollama'>} │ │
│ │ self = <dimos.core.module_coordinator.ModuleCoordinator object at 0x757a99ce3b50> │ │
│ ╰─────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/stash/dimensional/dimos/dimos/core/__init__.py:100 in deploy │
│ │
│ 97 │ │ │ │ *args, │
│ 98 │ │ │ │ **kwargs, │
│ 99 │ │ │ │ actor=True, │
│ ❱ 100 │ │ │ ).result() │
│ 101 │ │ │ │
│ 102 │ │ │ worker = actor.set_ref(actor).result() │
│ 103 │ │ │ print(f"deployed: {colors.blue(actor)} @ {colors.orange('worker ' + str(work │
│ │
│ ╭───────────────────────────────────────── locals ─────────────────────────────────────────╮ │
│ │ args = () │ │
│ │ console = <console width=132 ColorSystem.TRUECOLOR> │ │
│ │ dask_client = <Client: 'tcp://127.0.0.1:35279' processes=8 threads=32, memory=31.01 GiB> │ │
│ │ kwargs = {'model': 'qwen3:8b', 'provider': <Provider.OLLAMA: 'ollama'>} │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/stash/dimensional/dimos/local-venv/lib/python3.10/site-packages/distributed/client.py:392 in result │
│ │
│ 389 │ │ """ │
│ 390 │ │ self._verify_initialized() │
│ 391 │ │ with shorten_traceback(): │
│ ❱ 392 │ │ │ return self.client.sync(self._result, callback_timeout=timeout) │
│ 393 │ │
│ 394 │ async def _result(self, raiseit=True): │
│ 395 │ │ await self._state.wait() │
│ │
│ ╭─────────────────────────────────── locals ────────────────────────────────────╮ │
│ │ self = <Future: error, key: LlmAgent-8a3699f8-c2d5-4aa4-a0b2-bf10f091118c> │ │
│ │ timeout = None │ │
│ ╰───────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/stash/dimensional/dimos/dimos/agents2/agent.py:207 in __init__ │
│ │
│ 204 │ │ else: │
│ 205 │ │ │ # For Ollama provider, ensure the model is available before initializing │
│ 206 │ │ │ if self.config.provider.value.lower() == "ollama": │
│ ❱ 207 │ │ │ │ _ensure_ollama_model(self.config.model) │
│ 208 │ │ │ │
│ 209 │ │ │ # For HuggingFace, we need to create a pipeline and wrap it in ChatHuggingFa │
│ 210 │ │ │ if self.config.provider.value.lower() == "huggingface": │
│ │
│ /home/stash/dimensional/dimos/dimos/agents2/agent.py:165 in _ensure_ollama_model │
│ │
│ 162 │
│ 163 │
│ 164 def _ensure_ollama_model(model_name: str) -> None: │
│ ❱ 165 │ available_models = ollama.list() │
│ 166 │ model_exists = any(model_name == m.model for m in available_models.models) │
│ 167 │ if not model_exists: │
│ 168 │ │ logger.info(f"Ollama model '{model_name}' not found. Pulling...") │
│ │
│ /home/stash/dimensional/dimos/local-venv/lib/python3.10/site-packages/ollama/_client.py:604 in list │
│ │
│ 601 │ return digest │
│ 602 │
│ 603 def list(self) -> ListResponse: │
│ ❱ 604 │ return self._request( │
│ 605 │ ListResponse, │
│ 606 │ 'GET', │
│ 607 │ '/api/tags', │
│ │
│ /home/stash/dimensional/dimos/local-venv/lib/python3.10/site-packages/ollama/_client.py:189 in _request │
│ │
│ 186 │ │
│ 187 │ return inner() │
│ 188 │ │
│ ❱ 189 │ return cls(**self._request_raw(*args, **kwargs).json()) │
│ 190 │
│ 191 @overload │
│ 192 def generate( │
│ │
│ /home/stash/dimensional/dimos/local-venv/lib/python3.10/site-packages/ollama/_client.py:135 in _request_raw │
│ │
│ 132 │ except httpx.HTTPStatusError as e: │
│ 133 │ raise ResponseError(e.response.text, e.response.status_code) from None │
│ 134 │ except httpx.ConnectError: │
│ ❱ 135 │ raise ConnectionError(CONNECTION_ERROR_MESSAGE) from None │
│ 136 │
│ 137 @overload │
│ 138 def _request( │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
ConnectionError: Failed to connect to Ollama. Please check that Ollama is downloaded, running and accessible.
https://ollama.com/download
/usr/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 1 leaked shared_memory objects to clean up at shutdown
warnings.warn('resource_tracker: There appear to be %d ' |
@spomichter That error is expected. Should I catch the exception and print how to install it? |
|
Yeah that would be helpful @paul-nechifor |
9513356 to
1a8b477
Compare
I've added a check for ollama:
|
|
@greptile |
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6
Support running local agents Former-commit-id: dd57f15
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6 Former-commit-id: 26e61a70a9469f2e33e51f1296f082b470009c09 [formerly 7ffc878] Former-commit-id: 725e628
Support running local agents Former-commit-id: c09862b
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6 Former-commit-id: 7ffc878
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6 Former-commit-id: 7ffc878 Former-commit-id: 067332a
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6 Former-commit-id: 26e61a70a9469f2e33e51f1296f082b470009c09 [formerly 7ffc878] Former-commit-id: 725e628 Former-commit-id: 2e5f1d4
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6 Former-commit-id: 7ffc878 Former-commit-id: 067332a
Release v0.0.6: Pre-Launch Unitree Go2 Release ## What's Changed * Added is_flying_to_target agent skill and fly_to now return string for agent feeback by @spomichter in #635 * Release v0.0.5 by @spomichter in #697 * Rebase ivan g1 by @paul-nechifor in #709 * Navspec by @leshy in #648 * Remove depth module from base unitree go2 blueprints by @spomichter in #712 * Fix Unitree Go2 (replay and spatial memory) by @paul-nechifor in #714 * Add G1 blueprints, and simulation by @paul-nechifor in #724 * New g1 blueprint runfiles by @spomichter in #706 * Update G1/Go2 skills and remove some Robot interfaces by @paul-nechifor in #717 * Add dimos-robot end-to-end test with agents by @paul-nechifor in #716 * Run DimOS and ROS nav in Docker by @paul-nechifor in #700 * Anim experiment by @leshy in #701 * G1 navigation documentation fixes by @spomichter in #738 * Rename dimos-robot to dimos by @paul-nechifor in #740 * Use a process for MuJoCo by @paul-nechifor in #747 * Remove unneeded code files by @paul-nechifor in #718 * Make pygame G1JoystickModule usable for all modules by @paul-nechifor in #741 * error on conflicts by @paul-nechifor in #763 * Hosted Moondream 3 for VLM queries by @alexlin2 in #751 * transport: Remove DaskTransport dead code by @ym-han in #767 * Add editorconfig by @paul-nechifor in #769 * add `type: ignore` by @paul-nechifor in #768 * exclude .md changes from CICD builds by @spomichter in #770 * Working Ivan g1 detection in blueprints by @spomichter in #737 * small env fixes on a fresh install by @leshy in #778 * autofixes by @paul-nechifor in #744 * Support running local agents by @paul-nechifor in #739 * pin major version of langchain packages by @paul-nechifor in #789 * Deduplicate Unitree connections/entrypoints. by @paul-nechifor in #749 * Add TTS and STT by @paul-nechifor in #753 * fix mypy errors by @paul-nechifor in #791 * Use structlog and store JSON logs on disk by @paul-nechifor in #715 * Rpc fixes merge by @paul-nechifor in #801 * transport improvements by @leshy in #713 * Added concurrency check by @spomichter in #803 * make connections work with string annotations by @paul-nechifor in #807 * Run mypy checks in GitHub Actions by @paul-nechifor in #805 * Fix incorrect `= None` by @paul-nechifor in #802 * increase mujoco timeout by @paul-nechifor in #823 * MacOS Support: tests + devShell + mujoco by @jeff-hykin in #745 * nix flake revert by @leshy in #824 * fix mypy issues by @paul-nechifor in #827 * PRODUCTION Nav skills on drone with tracking by @spomichter in #640 * Fix added memory limit to blueprint global config by @spomichter in #856 * models/ refactor by @leshy in #819 * Point Detections by @leshy in #859 * Add generic ignore to gitignore by @jeff-hykin in #864 * fix set transport by @paul-nechifor in #866 * cli-precedence by @paul-nechifor in #857 * show `get_data` progress by @paul-nechifor in #873 * skip if OPENAI_API_KEY not defined by @paul-nechifor in #872 * build foxglove extension by @paul-nechifor in #871 * New planner by @paul-nechifor in #792 * Use `uv` by @paul-nechifor in #870 * Add direnv to gitignore by @Kaweees in #875 * Cuda mapper by @leshy in #862 * rename agents to agents_deprecated by @paul-nechifor in #877 * new planner new mapper by @paul-nechifor in #879 * odom ts parsing by @leshy in #882 * Sim fix by @paul-nechifor in #881 * navigation tuning by @leshy in #883 * Fix: Module init and agents by @leshy in #876 * Remove old setup.sh by @paul-nechifor in #888 * Release planner by @leshy in #887 * fix replay leak by @paul-nechifor in #890 * first pass on large file deletions by @leshy in #891 * Generalized manipulator driver by @mustafab0 in #831 * Restore MacOS Support (flake.nix) by @jeff-hykin in #863 * check-uv by @paul-nechifor in #902 * Make dimos pip-installable by @paul-nechifor in #731 * Revert "Restore MacOS Support (flake.nix)" by @leshy in #907 * jeff flake without py env stuff by @leshy in #911 * remove deprecated docker files by @paul-nechifor in #912 * command center stop and home by @leshy in #893 * use packages by @paul-nechifor in #915 * Fix agents prompt by @paul-nechifor in #914 * fix manifest by @paul-nechifor in #916 * fix move skill by @paul-nechifor in #913 * Ignore individual errors by @paul-nechifor in #919 * Feat/rerun latency panels by @Nabla7 in #917 * WIP Release detections by @leshy in #889 * Remove old navigation modules by @paul-nechifor in #923 * Feat/rerun latency panels by @Nabla7 in #925 * Repair camera module by @leshy in #929 * Repair Stream by @leshy in #932 * Docs Clean by @leshy in #933 * docs: sensor streams by @leshy in #934 * Docs: bugfixes by @leshy in #940 * Fixed doclinks to use git ls by @spomichter in #943 * Examples: third party language interop by @leshy in #946 * DOCS: temporal alignment docs improvements by @leshy in #944 * filter bots from commits by @leshy in #947 * Fix skills by @paul-nechifor in #950 * Limit Rerun viewer memory to 4GB default by @Nabla7 in #949 * Working dimensional MCP server - tested with Claude Code MCP client by @spomichter in #945 * allow registration of different agents by @paul-nechifor in #951 * Pre commit large files by @leshy in #953 * Proper Realsense and ZED Camera Drivers by @alexlin2 in #935 * Granular deps by @leshy in #894 * class VLMAgent(AgentSpec, Module) for streamed VLM queries over Transport by @spomichter in #960 * mac compatible commit filter by @paul-nechifor in #961 ## New Contributors * @ym-han made their first contribution in #767 * @jeff-hykin made their first contribution in #745 * @Kaweees made their first contribution in #875 * @mustafab0 made their first contribution in #831 * @Nabla7 made their first contribution in #917 **Full Changelog**: v0.0.5...v0.0.6 Former-commit-id: 26e61a70a9469f2e33e51f1296f082b470009c09 [formerly 7ffc878] Former-commit-id: 725e628 Former-commit-id: 2e5f1d4


Ollama
Run an ollama model (
qwen3:8b):Ollama uses GGUF models. The above has been tested with tool calls and works.
Huggingface
Run a huggingface model (
Qwen/Qwen2.5-1.5B-Instruct):Huggingface uses
.safetensor. It doesn't seem to call tools. I should probably use a different model, but many in huggingface aren't quantized and use a lot of VRAM.Greptile Overview
Greptile Summary
This PR adds support for running local AI agents using Ollama and HuggingFace models, enabling deployment without relying on cloud-based LLM providers.
Key Changes:
ollama_agent.pywith utilities to check Ollama daemon availability and auto-pull missing modelsAgent.__init__to handle Ollama and HuggingFace provider initialization with custom logicagentic_ollama(qwen3:8b) andagentic_huggingface(Qwen/Qwen2.5-1.5B-Instruct)HumanMessagefor LLMs that require at least one human message in historyIssues Found:
ollamapackage dependency inpyproject.toml- the code importsollamadirectly but onlylangchain-ollamais listedollama_installed()could suppress unexpected errorsConfidence Score: 3/5
ollamapackage dependency will causeModuleNotFoundErrorwhen users try to run Ollama-based agents. The bare except handler is a style issue but not critical. Once the missing dependency is added, this should work as intended.pyproject.toml- the missing ollama dependency will break functionalityImportant Files Changed
File Analysis
Sequence Diagram
sequenceDiagram participant User participant Blueprint as ModuleBlueprintSet participant Agent as Agent.__init__ participant OllamaHelper as ollama_agent participant Ollama as Ollama Daemon participant HF as HuggingFace Pipeline participant LLM as LLM Instance User->>Blueprint: build(agentic_ollama/agentic_huggingface) Blueprint->>Blueprint: _check_requirements() alt Ollama Provider Blueprint->>OllamaHelper: ollama_installed() OllamaHelper->>Ollama: ollama.list() alt Connection Failed Ollama-->>OllamaHelper: Exception OllamaHelper-->>Blueprint: Error message Blueprint->>User: Print error & exit(1) else Success Ollama-->>OllamaHelper: Model list OllamaHelper-->>Blueprint: None (success) end end Blueprint->>Agent: Deploy Agent with config Agent->>Agent: __init__(provider, model) alt Ollama Provider Agent->>OllamaHelper: ensure_ollama_model(model_name) OllamaHelper->>Ollama: ollama.list() Ollama-->>OllamaHelper: Available models alt Model not found OllamaHelper->>Ollama: ollama.pull(model_name) Ollama-->>OllamaHelper: Model downloaded end Agent->>Agent: init_chat_model(ollama, model) Agent->>LLM: Create Ollama LLM instance else HuggingFace Provider Agent->>HF: HuggingFacePipeline.from_model_id() HF-->>Agent: Pipeline instance Agent->>LLM: ChatHuggingFace(llm=pipeline) else Other Provider Agent->>Agent: init_chat_model(provider, model) end LLM-->>Agent: LLM instance ready Agent->>Agent: agent_loop() alt No human messages in history Agent->>Agent: Append initial HumanMessage Note over Agent: "Everything is initialized..." end Agent->>LLM: invoke(messages) LLM-->>Agent: AI response Agent->>User: Agent operational