前言¶
在開發基於 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 倉庫。