前言¶
在 DSH(DeepSeek Harness)里做机器人或 ROS2 相关开发时,常见的问题不是“能否写一段提示词”,而是能否在真实主机上安全地执行 ROS2 工具链:查看包、节点、话题、TF、参数,检查系统健康,执行 colcon / rosdep / rosbag,管理 RViz2 生命周期,甚至做无显示的视觉分析。
如果每次都由开发者手写脚本,容易重复;如果直接把写操作交给 agent,又缺少审批和安全边界。dsh-ros2 是 DeepSeek Harness(DSH)的一个插件,把 ROS2 调试工具集和机器人状态视觉分析打包到 DSH 插件生态中,让 agent 可以在分层权限下使用这些能力。
下面先介绍它是什么,再看能力、安装命令和典型用法。
这是什么¶
dsh-ros2 由 StvLi 维护,定位是一句话:
ROS2 debugging toolset and robot-state vision analysis for DeepSeek Harness (DSH), shipped as a plugin.
它面向有 ROS2 环境的主机,提供 51 个 ROS2 调试场景工具,并将能力分为 L1 到 L4 四层。材料中标明许可证为 MIT,README badge 显示 License: MIT。
在 DSH 的插件化思路中,这类能力不是单独部署一套服务,而是作为 profile 插件加入当前 DSH 会话。
核心能力¶
L1:只读诊断¶
L1 是只读能力,用于快速查看系统状态,不涉及写操作。覆盖:
- package / workspace / dependency 检查
- node / topic / service / action / param / interface 枚举
- one-shot topic sampling
- TF tree queries
- whole-graph topology JSON
ros2doctor- bag summaries
- MoveIt discovery
这一层适合先回答“系统现在是什么状态”。
L2:审批门控管理¶
L2 涉及构建、安装、配置、回放、运动和安全状态等写操作。材料中标明 L2 writes are approval-gated / fail-closed。包括:
colcon buildrosdep install- message skeleton generation
param set- bounded
bag record - one-click ROS2 install
- launch management
rosbag replay- MoveIt motion
- zero-pose calibration
- robot registration & topology learning
safety_monitor start/ human-gated lock / unlock
这一层的要点是:写操作先询问,拒绝即失败。
L3:可视化¶
L3 面向本地可视化会话,用于把机器人状态“看到”:
- RViz2 / rqt lifecycle management
- screenshots
- multimodal vision description
- xdotool-level window interaction
这一层适合做界面级检查、截图和窗口交互。
L4:实时视觉¶
L4 面向无显示环境下的实时视觉分析:
- parallel VLM ROS2 node
- image-topic acquisition
- headless
vision_bringup - RViz2 offscreen rendering,并发布到
/rviz/scene
如果使用 L4,还需要额外依赖 Python 3 rclpy 和一个 OpenAI-compatible VLM gateway。
安全框架¶
材料提到 real-time safety framework,包含:
safety_monitornoderobot_safety_*tools- layered defense
- latched
NORMAL/LOCKEDstate machine
这个框架把安全状态纳入机器人流程,而不是只在单次命令里临时判断。
内置 skills¶
dsh-ros2 内置四个 skills:
ros2-diagnosticsrobot-state-vision-analysisrobot-registrationrobot-retrieval
这些 skills 面向不同任务:诊断、状态视觉分析、机器人注册和检索/加载。
安装与启用¶
运行环境¶
先确认环境,再安装插件。
- 需要一台有 ROS2 的主机。材料标注 Jazzy 已验证;Humble 在材料中写为 “should work”,未作为已核实兼容事实。
- DSH 主机要求 Node 版本为:
^22.19 || >=24
- 如果使用 L4 视觉,额外需要:
- Python 3
rclpy - OpenAI-compatible VLM gateway
- VLM gateway 的 API key 应通过 env / secret manager 注入,不要硬编码。
安装命令¶
在目标 DSH profile 中执行:
dsh plugin --profile <profile> add dsh-ros2
安装前建议先检查源码和许可证,并确认该插件将以当前 dsh 进程权限运行。经过上面的步骤后,插件即可在当前 DSH profile 中提供 ROS2 调试和机器人状态视觉分析工具。
典型用法¶
下面是材料给出的示例命令,适合做首次体验:
ros2_graph
ros2_topic_list
ros2_topic_echo /joint_states
ros2_tf_list
ros2_doctor
这些命令分别对应:
ros2_graph:whole system topology in one shotros2_topic_list:all topics and typesros2_topic_echo /joint_states:sample one frame of joint statesros2_tf_list:TF tree edgesros2_doctor:system health report
对于只读排查,通常先做 ros2_topic_list 和 ros2_node_list 一类枚举,再用 ros2_topic_echo 采样单帧数据,最后用 ros2_doctor 看系统健康报告。
适用场景与注意¶
适合以下场景:
- 在 DSH agent 中直接执行 ROS2 调试命令
- 需要在主机上检查包、节点、话题、TF、参数和系统健康
- 需要对构建、依赖安装、参数设置、bag 记录/回放等写操作增加审批边界
- 需要 RViz2 生命周期管理、截图、视觉描述或无显示渲染
- 需要把安全状态和
safety_monitor纳入机器人流程
需要注意:
- L1 是只读能力,L2 的写操作是 approval-gated / fail-closed。
- L4 视觉会引入 Python 3
rclpy和 OpenAI-compatible VLM gateway 依赖。 - Humble 兼容在材料中是 “should work”,不是已确认事实。
- API key 不应写入配置或代码中,建议使用 env / secret manager。
- 插件在 DSH 中运行时拥有当前
dsh进程权限,因此安装前应审查源码、许可证和权限范围。 - 这里的社区目录是独立站点,不是 DeepSeek 或幻方的官方应用商店。
结尾¶
dsh-ros2 的价值在于把 ROS2 调试、机器人状态视觉分析和安全边界放进 DSH 插件生态中,让 agent 可以按 L1 到 L4 分层执行,而不是把所有操作混在同一层。
- GitHub:https://github.com/StvLi/dsh-ros2
- 本次线索中给出的目录页(未在本次抓取材料中确认):https://www.skillhub.cn/plugins/StvLi/dsh-ros2