前言¶
DeepSeek Harness 的理念是「一切皆插件」。在驅動桌面應用時,Autodesk Fusion 360 有兩個明顯的限制:它沒有無頭模式,任何建模操作都需要運行桌面實例;其 Fusion API 是單線程的,只能從主線程調用。普通的 MCP 服務器無法滿足這些要求。
leaveing00001/dsh-fusion360 是一個針對這種情況設計的橋接插件。它通過一個 Fusion 360 加載項和一個依賴標準庫的 MCP 服務器,將 DSH 的請求轉換爲 Fusion 的 API 調用。該插件由 Leaveing00001 維護,採用 MIT 許可證。
安裝與啓用¶
安裝過程分爲兩步:首先將 Fusion 加載項安裝到 Fusion 的 AddIns 文件夾,然後註冊 MCP 服務器。npm 無法完成此安裝,因爲它涉及修改另一個應用程序的目錄。
# 1. 安裝 Fusion 加載項(需在 Fusion 關閉狀態下執行)
powershell -ExecutionPolicy Bypass -File tools\install_addin.ps1
# 2. 註冊 MCP 服務器到 DSH
python tools\install_dsh_mcp.py
# 3. 重啓 DSH(新配置不會熱加載)
python tools\restart_dsh.py
安裝完成後,需要啓動 Fusion 360,插件才能工作。
核心功能¶
該插件暴露了 13 個 MCP 工具,前綴統一爲 mcp__fusion360__,用於查詢、修改和控制 Fusion 360 文檔。
| 工具名 | 功能 |
|---|---|
fusion_status |
檢查連接狀態,獲取 Fusion 版本和登錄用戶信息 |
fusion_document_info |
獲取當前文檔的單位和參數數量 |
fusion_list_bodies |
列出所有實體,包含體積、面積和邊界框 |
fusion_list_parameters |
列出所有模型和用戶參數 |
fusion_set_parameter |
設置參數表達式並重新計算 |
fusion_create_document |
創建新的空設計 |
fusion_list_documents |
列出當前打開的文檔 |
fusion_open_document |
通過名稱打開雲端數據文件 |
fusion_save |
保存當前活動文檔 |
fusion_export |
導出爲 STEP/IGES/STL/OBJ/F3D/SMT/SAT 格式 |
fusion_text_command |
執行 Fusion 原生命令行指令 |
fusion_reload_bridge |
重新從磁盤加載插件並重啓監聽器 |
fusion_run_python |
在 Fusion 主線程運行任意 Python 代碼 |
fusion_run_python 是該插件最強大的功能。它允許在 Fusion 的主線程中執行 Fusion API 代碼。代碼中預綁定了 adsk, app, ui, design 和 root 變量,stdout 輸出會被捕獲,通過返回 result 字典可以獲取執行結果。
典型用法¶
安裝完成後,首先驗證連接:
{
"bridge": "FusionDSHBridge",
"bridgeVersion": "1.0.3",
"fusionVersion": "2705.1.15",
"user": "you@example.com",
"host": "127.0.0.1",
"port": 27182
}
通過 fusion_run_python 工具可以運行任意 Fusion API 代碼。例如,運行倉庫中的 examples/build_a_part.py 示例可以構建一個 100x60x8mm 的板材,並自動驗證體積:
// 調用 mcp__fusion360__fusion_run_python,code 參數指向示例文件
// 結果:體積會從 48000 逐漸變爲 47243.84 mm³
適用場景與注意¶
該插件適合需要在 DSH 中直接操作 Fusion 模型、自動化參數化建模或批量導出設計的場景。
使用時需注意以下幾點:
- 運行環境:已驗證僅在 Windows 上可用。雖然清單中聲明支持 macOS,但未進行實際測試。
- 權限與線程:Fusion API 必須從主線程調用,該插件通過
CustomEvent機制確保了這一點。 - 單位系統:Fusion API 使用釐米和弧度工作,而非文檔的顯示單位。只讀工具會自動轉換爲毫米,但通過
fusion_run_python傳入的代碼不會受到此轉換。 - 安裝限制:由於涉及向 Fusion 應用目錄寫入文件,npm 的
postinstall腳本無法完成此操作,必須手動執行上述 PowerShell 和 Python 腳本。
結語¶
dsh-fusion360 解決了在 DSH 中驅動 Fusion 360 的線程和實例管理難題。通過 fusion_run_python 工具,開發者可以直接在對話中編寫 Fusion API 代碼,實現從參數修改到複雜建模的自動化控制。