ansys-agent-bridge:Ansys SpaceClaim 無頭驅動與 DSH 插件

前言

在開發基於 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 失敗導致桌面應用無響應,建議使用本地檢出方式。

  1. 添加插件包:
    dsh plugin --profile web add link:C:/path/to/ansys-agent-bridge
  1. 手動配置補丁:
    需編輯 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
  1. 註冊技能:
    由於補丁機制的限制,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 倉庫。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜