前言¶
在 DeepSeek Harness (DSH) 生态中,智能体通常擅长处理文本或通用代码,但在机械设计领域,处理几何形状和工程文件需要特定的能力。dsh-cad-design 插件通过集成 CadQuery 和 ezdxf,为智能体提供了参数化 CAD 设计能力,使其能够编写建模代码、校验几何、渲染预览并导出制造文件。
这是什么¶
dsh-cad-design 是一个参数化 CAD 工具集,专为 DeepSeek Harness 设计。它允许智能体编写 CadQuery 代码来构建 3D 零件,或编写 ezdxf 代码来生成 2D 工程图。该工具链覆盖了从代码编写、几何校验、预览渲染到文件导出的完整工作流。
核心功能¶
该插件包含以下主要功能:
- 3D 建模:基于 CadQuery 和 OpenCASCADE 内核,支持原生 STEP 导出。
- 2D 绘图:基于 ezdxf,支持生成和导出 DXF 工程图。
- 几何校验:使用
cad_validate工具检查代码生成的几何体的有效性。 - 预览渲染:使用
cad_render生成 PNG 或 SVG 预览图,并提供体积或边界框等事实数据。 - 文件导出:支持导出 STEP、IGES、STL、3MF (CadQuery) 和 DXF (ezdxf) 格式。
- 文件转换:使用
cad_convert在不同制造格式间转换。 - 参数化技能:内置
cadquery-design技能(用于 3D 零件设计)和ezdxf-drafting技能(用于 2D 草图绘制)。
安装与配置¶
使用该插件前,需要安装相应的 Python 依赖:
pip install cadquery # 3D 建模依赖
pip install ezdxf matplotlib # 2D 绘图及预览依赖
安装插件时,必须显式指定 --profile 参数。通常使用包含 Web 界面的 web profile:
dsh plugin --profile web add dsh-cad-design
安装完成后,可通过 cad_doctor 工具检查环境配置和依赖情况。
配置示例¶
插件的配置位于目标 profile 的 cordis.patch.yml 中。以下是配置片段:
- insert:
- id: cad-tools
name: dsh-cad-design
config:
workDir: '' # 默认为 <session cwd>/.dsh/cad
timeoutSeconds: 120
enableSkill: true
backendPriority: # 后端路由优先级
- cadquery
- ezdxf
cadquery:
enabled: true
pythonPath: '' # 留空则自动检测
ezdxf:
enabled: true
pythonPath: ''
环境变量 DSH_CAD_PYTHON 也可用于覆盖默认的 Python 解释器路径。
典型用法¶
当用户下达设计指令时,智能体通常按以下流程操作:
- 加载技能:智能体加载
cadquery-design或ezdxf-drafting技能。 - 校验:执行
cad_validate对代码和几何结果进行校验。 - 预览:执行
cad_render生成预览图(PNG/SVG)。 - 迭代:根据预览结果调整代码,直到设计符合要求。
- 导出:执行
cad_export将文件导出为 STEP 或 DXF 等格式。
例如,用户指令为 “Design an M8 hex-nut retainer, 3 mm wall, and export STEP”,智能体将按上述步骤完成设计并输出 retainer.step 文件。
注意事项¶
- 执行权限:
cad_*工具会在本地执行 Python 代码。插件本身不实现策略限制,在共享或不可信环境中部署时,需配合 DSH 的tools/pre-execute钩子进行权限控制。 - Profile 限制:安装插件必须显式指定
--profile,且该 profile 必须包含界面 bundle(如webprofile)。 - 生态区分:npm 上存在另一个同名插件
dsh-cad(由 LAU-MARS 维护),这是一个 CAD 查看器插件,与本插件互补,本插件负责建模出图,它负责在 Web 界面中查看模型。 - 环境要求:需要 Python 3.10+ 及对应的 pip 包(cadquery/ezdxf/matplotlib)。
结语¶
dsh-cad-design 将参数化 CAD 能力引入了 DSH 智能体工作流,使智能体能够从代码生成直接跨越到制造文件输出。对于需要自动化机械设计流程的开发者,该插件提供了从设计到验证的完整工具链。