前言¶
在开发基于 DeepSeek Harness(DSH)的智能体时,调用 Ansys 等工程软件的 API 往往存在盲区。最典型的痛点是“静默失败”:某些几何操作(如布尔运算或拓扑共享)在底层返回了成功状态,但实际几何并未发生变化,或者仅仅改变了体数量而体积保持不变。如果智能体仅依赖返回值,就会错误地认为操作已成功,导致后续流程基于错误的数据继续执行。
ansys-agent-bridge 是一个 MCP 服务器,通过 PyAnsys Geometry 在后台无头运行 Ansys SpaceClaim,并配套了一套 DSH 插件。它的核心价值在于:在执行操作前后测量几何数据(如面数、体积),从而捕获这些静默失败,而不是盲目信任返回值。
这是什么¶
这是一个开源的 DSH 插件包(MIT 许可证,维护者 1622352030)。它包含两部分:
1. MCP 服务器:负责与 SpaceClaim 后端通信,执行几何操作并验证结果。
2. DSH 插件配置:提供了一键安装命令和配置补丁,将上述 MCP 服务器集成到 DSH profile 中。
核心功能¶
该插件提供了 15 个 MCP 工具,覆盖会话管理、文件操作、几何检查与修改。
会话与诊断¶
ansys_bridge_doctor:报告检测到的 Ansys 版本、SpaceClaim、Fluent、Python 及依赖包版本。scdm_session_start:启动隐藏的 SpaceClaim 模型器(自动检测版本)。scdm_session_status:检查会话是否处于活动状态及其后端类型/版本。scdm_session_close:释放会话和许可证。
文件与导出¶
scdm_open_file:打开.scdoc/.scdocx/.dsco/.pmdb文件,并报告体、命名选择、面数、体积。scdm_insert_file:将另一个 CAD 文件合并到当前打开的设计中。scdm_export:导出.scdocx、STEP、IGES、Parasolid(文本/二进制)、.pmdb。
几何检查¶
scdm_list_bodies:列出打开设计的体名、面数、体积。scdm_collisions:检测体对的碰撞状态(TOUCH/NONE等)。scdm_min_distance:计算两体间的最小距离(米)。scdm_inspect_geometry:执行八项官方几何检查(重复面、短边、小面、缝合、拼接等)。
修改与脚本¶
scdm_transform:执行 rotate/scale/mirror,并通过前后空间指纹验证。scdm_boolean:执行 unite/subtract/intersect,并通过前后几何检查进行保护。scdm_share_topology:共享拓扑并进行相同的保护检查。scdm_run_script:针对活动会话运行无头 IronPython 脚本。
安装与启用¶
安装前需满足以下环境:Windows 操作系统、已安装的 Ansys(包含 SpaceClaim,2024 R2 已测试)以及 uv。
方式一:从 GitHub 安装(推荐网络环境良好时)¶
直接使用 DSH 插件管理命令安装。
dsh plugin --profile web add ansys-agent-bridge
安装后需重启 profile 才能生效。
方式二:从本地检出安装(网络不稳定时)¶
如果网络无法访问 GitHub,或担心 git fetch 失败导致桌面应用无响应,建议使用本地检出方式。
- 添加插件包:
dsh plugin --profile web add link:C:/path/to/ansys-agent-bridge
- 手动配置补丁:
需编辑cordis.patch.yml(通常位于%APPDATA%\dsh-desktop\harness\profiles\web\)。command字段必须为uv,不可使用绝对路径或!!js表达式。
- id: mcp-ansys
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: ansys
transport: stdio
command: uv
args:
- 'tool'
- 'run'
- '--quiet'
- '--from'
- 'C:/path/to/ansys-agent-bridge/spaceclaim/python'
- 'ansys-bridge-mcp'
env:
PYTHONIOENCODING: 'utf-8'
ANSYS_BRIDGE_LOG_LEVEL: 'WARNING'
toolCallTimeoutMs: 900000
failOnStartupError: false
- 注册技能:
由于补丁机制的限制,spaceclaim/skills/ansys-spaceclaim/未通过自动注册。需在 profile 的cordis.patch.yml中手动添加该路径。
典型用法¶
安装并重启 profile 后,可以通过调用工具进行操作。
- 诊断环境:
ansys_bridge_doctor
-
启动会话:
调用scdm_session_start。 -
打开文件并检查:
调用scdm_open_file打开设计,随后调用scdm_list_bodies查看体信息。
适用场景与注意¶
- 平台限制:仅支持 Windows。需要在 DSH 进程权限下运行。
- 网络依赖:方式一依赖网络,如果
git fetch失败且failOnStartupError为 false,可能导致应用无响应或插件被锁定禁用。 - 手动配置:务必注意
cordis.patch.yml中command必须是uv,且spaceclaim/skills/ansys-spaceclaim/需手动添加。 - 许可证管理:使用完会话后,务必调用
scdm_session_close释放许可证。
结语¶
ansys-agent-bridge 解决了智能体与 Ansys 交互中“信不过返回值”的问题。通过将几何验证逻辑下沉到工具层,它为 CAD/CAE 集成提供了更可靠的底层支持。更多详情可参考插件目录页或 GitHub 仓库。