Skip to main content

dsh-bundle/packages/dsh-bundle

17Stars4Forks0Issues0Watchers

Provides embodied-intelligence research tools for robot asset inspection, simulation with fault injection, and diagnostics.

Evidence4/5methodologySourceInstallMaintenanceDSH versionSecurity scan
Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki
Language
Python
License
MIT
Branch
main
deepseek-harnessdsh-pluginembodied-aimujocorobotics

Install

cmdweb profile
$ dsh plugin --profile web add --allow-build=@robotic-harness/dsh-bundle github:dingkaihu63/dsh-robotic-harness#path:packages/dsh-bundle

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin dingkaihu63/dsh-robotic-harness/packages/dsh-bundle for me: review the repository at https://github.com/dingkaihu63/dsh-robotic-harness first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

一句话定位

Robotic Harness 是面向具身智能研究的 DSH 插件包,把机器人资产检查、MuJoCo 仿真、故障注入、证据化诊断与可复现实验管理合并到同一个 Agent 工作流中,由 TypeScript 插件面 + 自带 Python worker 协同工作。

核心能力

  • 检查与转换机器人资产:URDF/MJCF/SDF 解析、惯量与拓扑校验、网格统计、SVG 预览、URDF→MJCF 转换
  • 运行 MuJoCo pick-place 仿真:内置平面 3-DOF 场景,可注入 6 类确定性故障(感知偏移/抓取滑移/TF 偏移/传感器噪声/模型超时/遮挡)
  • 编排具身模型与策略:内置演示适配器实际可跑、外部 backend 失败时返回结构化 unavailable 诊断,并提供规则化能力路由与策略对比
  • 提供诊断与遥测工具链:异常扫描、证据收集、确定性规则引擎(事实→规则→假设)、Run 对比、timeline 与 dashboard 生成
  • 管理数据与实验:非破坏式数据转换、episode 切分、防泄漏 train/val/test 切分、LeRobot/RLDS 数据集导出、实验 spec→matrix→benchmark→报告
  • 打包 25 个 SKILL.md:注册为 DSH Skills,涵盖资产检查、轨迹校验、感知对比、训练计划、诊断等高频工作流

技术实现

  • 语言: TypeScript(插件面)+ Python(worker 实现)
  • 关键依赖: @deepseek-ai/cordis(DSH 框架)、@deepseek-ai/dsh-tools / @deepseek-ai/dsh-skill(工具与 Skill 注册)、@deepseek-ai/schemastery(配置 schema)
  • 架构模式: 三个 cordis 插件注入(rh-core / rh-tools / rh-skills),通过 cordis.patch.yml 一次性注册;rh-tools 经 stdio JSON 协议调起一次性 Python worker(python -m robotic_harness_worker <command> --input -)
  • 入口文件: src/index.ts(导出三个插件模块)+ src/worker.ts(worker 调用封装,含 Windows taskkill 进程树清理与超时/AbortSignal 处理)

适用场景

研究机器人/具身智能的工程师与学生在 DSH 里做闭环实验——他们想在同一个 Agent 会话里完成"看 URDF → 跑仿真 → 故意注入故障 → 收集证据 → 写报告"的全部步骤,而不是在不同 CLI/工具之间反复切换。机器人方向的 LLM 工程师也会用它来验证策略与诊断结论是否站得住脚。

前置依赖与兼容性

依赖最低版本说明
DSH0.1.0-rc.6来自 packages/dsh-bundle/package.json 的 dsh-tools/dsh-skill 依赖
Node>=22.19来自根目录与包的 engines.node
Python>=3.10来自 python/pyproject.toml 的 requires-python
平台macOS / Windows / LinuxREADME 中明示三平台均支持;Headless Linux 需 libosmesa6+libgl1 启用 MuJoCo 离屏渲染
Python 仿真依赖mujoco>=3.0, numpy>=1.26可选,用于仿真与感知路由;缺失时 worker 返回 backend: unavailable
Python 视觉依赖opencv-python-headless>=4.8, Pillow>=10可选,用于相机健康、感知、标注
Python 图表依赖matplotlib>=3.8可选,用于图表与 dashboard
原生模块无全部依赖为纯 JS / 纯 Python 标准库 + 上述可选数学/视觉包

安装方式

dsh plugin --profile web add github:dingkaihu63/dsh-robotic-harness/packages/dsh-bundle

配置项

配置类型说明默认值
rh-core.storeRootstring运行数据(runs、telemetry、artifacts)写入根目录;空值表示工作目录下的 .rh/""
rh-tools.pythonPathstring用于启动 Python worker 的解释器路径"python"
rh-tools.workerDirstring自带 worker 包所在目录;空值时按包安装路径自动解析""
rh-tools.timeoutMsnumber单次 worker 调用硬超时(毫秒),超时后会强制终止进程180000
rh-tools.storeRootstring同 rh-core.storeRoot,worker 调用时会注入到所有工具""
rh-skills.skillsDirstring扫描 <dir>/<name>/SKILL.md 的根目录;空值时按包安装路径自动解析""

常见问题

Q: 这个插件会被装成多少个工具?

A: TOOL_SPECS 清单大约 100 项,覆盖资产、ROS 2、控制、视觉、具身模型、仿真、真机、遥测、数据、实验、知识、文献检索、训练工作流与报告等域。每次安装时 rh-tools 启动日志会打印注册的工具总数。

Q: 需要额外安装什么 Python 依赖吗?

A: 插件本身不强制;用到 MuJoCo 仿真时需 mujoco/numpy,做视觉(相机健康、感知路由、标注)时需 opencv-python-headless/Pillow,画图表与 dashboard 时需 matplotlib。没有这些包时对应功能会返回结构化 backend: unavailable 诊断,不会整体崩。

Q: 没装 ROS 2 也能用吗?

A: rh_rosbag_inspect / rh_data_convert_rosbag 不依赖 ROS;其他 ROS 工具需要本机有 ros2 CLI,否则 worker 会返回结构化的 backend: unavailable 而不是直接报错。

Q: 运行数据默认存在哪里?怎么改?

A: 默认写在当前工作目录下的 .rh/(runs、telemetry、artifacts)。要改位置就设置 rh-tools.storeRoot(或 rh-core.storeRoot),值非空就以它为准。

Q: 真机实验会被插件直接控制吗?

A: 不会。插件只管实验状态机(prepare→request_approval→start→pause/cancel→finalize)和 preflight 清单,无硬件适配器时硬件项会被标记为 skip 而非伪造通过;真实动作必须由现场人员完成。

Q: 训练相关工具会自动帮我跑训练吗?

A: 默认 dry-run:只生成 train.py / launcher.sh 与计划快照到本地。要远程提交必须显式给 dryRun:false 加 confirm:true,且远端命令走白名单;所以即便配上训练服务器,也不会未经你确认就开跑。

Q: 安装时报错 @deepseek-ai/dsh-frontend 找不到怎么办?

A: README 提到上游 @deepseek-ai/dsh-web-app 依赖私有包 dsh-frontend 在公网 registry 拉不到。绕过方式:直接编辑 $DSH_HOME/profiles/<profile>/package.json,把 dsh.profile.bundles 写成包含 @robotic-hai/dsh-bundle 的形式。

Q: 如何彻底卸载?

A: 在对应 DSH profile 中删除 bundle 记录并清掉 .rh/ 数据目录即可。worker 包与 Skills 文件随插件一起被 DSH 移除,不会残留。

上手难度

进阶 — 涉及仿真、机器人模型、Python 依赖与 DSH profile 多个概念,需要先具备 Python 3.10 环境与 DSH 0.1.0-rc.6+ 的基本认知,但跑通自带 demo 只需一条 dsh plugin add 加 PYTHON=... node scripts/demo.mjs。

已知问题与限制

  • 抓取是 kinematic 实现:物体被吸起后跟随吸盘运动,并非物理仿真;该信息会写入 run config 与报告(README.md:228)
  • Headless Linux 必须装 libosmesa6 与 libgl1,并通过 MUJOCO_GL=osmesa 启用 MuJoCo 离屏渲染,否则无法出图(README.md:229)
  • 实时 ROS 2 工具需要本机 ros2 CLI;缺失时统一返回 backend: unavailable,只读 rosbag 不受影响(README.md:230、src/tools.ts:184-285)
  • 真机工具只有状态机 + preflight,没有任何硬件适配器时硬件项如实记为 skip,绝不伪装成功(README.md:231、src/tools.ts:622-714)
  • SolidWorks 文件(SLD*)只在 CAD 清单里登记,不做解析(README.md:232、src/tools.ts:111-128)
  • RLDS 导出只生成 manifest 与 features 骨架,要完整 TFDS 还得再装 tensorflow(README.md:233、src/tools.ts:959-966)
  • LeRobot 导出默认 parquet,需要 pyarrow;缺失时回退到 CSV(README.md:233、src/tools.ts:947-958)
  • 文献检索(arXiv / Semantic Scholar)与数据集发现(Hugging Face)是 best-effort 网络调用,失败时返回 backend: unavailable,绝不伪造论文或数据集(README.md:234、src/tools.ts:1146-1206)
  • 训练脚本是确定性模板占位符,不是真实模型代码;远程提交需显式 confirm:true 且只能执行白名单命令(README.md:235、src/tools.ts:1207-1238)
  • 上游 @deepseek-ai/dsh-web-app 公网 release 依赖私有包 dsh-frontend(registry 404),需手动改 profile 的 dsh.profile.bundles 才能正常安装(README.md:151-176)
  • 技能文件大小写需兼容:源码注释说明两个内置 Skill 用的是小写 skill.md,注册逻辑按大小写不敏感匹配以兼容区分大小写的文件系统(src/skills.ts:88-94)

Read the usage guide →

Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/dingkaihu63/dsh-robotic-harness/packages/dsh-bundle)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory