DeepSeek Harness 插件:dsh-fusion360

前言

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 模型、自动化参数化建模或批量导出设计的场景。

使用时需注意以下几点:

  1. 运行环境:已验证仅在 Windows 上可用。虽然清单中声明支持 macOS,但未进行实际测试。
  2. 权限与线程:Fusion API 必须从主线程调用,该插件通过 CustomEvent 机制确保了这一点。
  3. 单位系统:Fusion API 使用厘米和弧度工作,而非文档的显示单位。只读工具会自动转换为毫米,但通过 fusion_run_python 传入的代码不会受到此转换。
  4. 安装限制:由于涉及向 Fusion 应用目录写入文件,npm 的 postinstall 脚本无法完成此操作,必须手动执行上述 PowerShell 和 Python 脚本。

结语

dsh-fusion360 解决了在 DSH 中驱动 Fusion 360 的线程和实例管理难题。通过 fusion_run_python 工具,开发者可以直接在对话中编写 Fusion API 代码,实现从参数修改到复杂建模的自动化控制。

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

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

小夜