Skip to content

Repository files navigation

SolidWorks Remote Bridge for Codex

通过 SSH,让 macOS 上的 Codex 安全调用局域网 Windows 交互式桌面会话中的 SolidWorks 2024。项目把上游 SolidWorks MCP 白名单工具封装成一条不暴露局域网端口的 通信链路:

Codex (macOS)
  -> SSH STDIO
  -> Windows OpenSSH raw proxy
  -> 127.0.0.1 authenticated broker
  -> interactive-session MCP server
  -> pywin32/comtypes
  -> SolidWorks 2024

上游归属

本项目基于 wzyn20051216/solidworks-automation-skill。

  • 原作者:wzyn20051216、zuoliangyu(取自上游 setup.py、package.json 和 project.yaml)
  • 原始版权:Copyright (c) 2026 SolidWorks Automation Skill Contributors
  • 许可证:MIT
  • 上游源码与原始许可证(Git submodule):upstream/solidworks-automation/

详细来源和本地修改见 UPSTREAM.md 与 NOTICE.md。 本项目与 Dassault Systèmes 或 SOLIDWORKS 官方无隶属或背书关系。

为什么需要 Broker

Windows OpenSSH 进程通常不在 SolidWorks 所在的 RDP/console 会话。直接通过 SSH 启动 COM 脚本可能找不到活动实例,或启动一个隔离、不可见的 SolidWorks。这里使用 SolidWorksRemoteMCPBroker 计划任务,让真正的 MCP Server 始终运行在已登录用户的 交互式会话。

完整通信和生命周期说明见 docs/ARCHITECTURE.md。

目录

.
├── .codex/config.toml                  # 项目级 Codex MCP 配置
├── bridge/
│   ├── interactive_mcp_broker.py       # Windows 交互会话 Broker
│   ├── remote_stdio_proxy.py           # SSH 会话原始字节代理
│   ├── probe_remote_mcp.py             # 端到端健康/建模探针
│   ├── call_remote_mcp.py              # 调用单个白名单 MCP 工具的 CLI
│   └── install_windows.ps1             # Windows 安装与计划任务注册
├── scripts/
│   ├── install_macos.sh                # 安装 Skill 并注册全局 MCP
│   └── sync_to_windows.sh              # 同步项目到 Windows
├── skill/solidworks-remote/             # macOS 控制端 Skill
├── tests/                               # Broker/认证/STDIO 测试
├── patches/solidworks-automation/       # 尚未进入上游的可重放兼容补丁
└── upstream/solidworks-automation/      # 跟踪上游 main 的 Git submodule

前置条件

Mac:

  • Codex desktop/CLI
  • ssh windows 可免密登录目标电脑

Windows:

  • Windows 10/11
  • SolidWorks 2024,并至少启动过一次
  • 目标用户保持登录;RDP 可断开或锁定,但不可注销

克隆本项目时需要同时初始化 submodule:

git clone --recurse-submodules https://github.com/yedvvard/solidworks-remote-bridge.git

若已经克隆了外层仓库:

git submodule update --init --recursive

迭代上游

将 submodule 更新到上游 main 的最新提交:

./scripts/update_upstream.sh
git add upstream/solidworks-automation
git commit -m "Update SolidWorks automation upstream"

需要基于上游其他远端分支开发时:

git -C upstream/solidworks-automation fetch origin
git -C upstream/solidworks-automation switch --track origin/<branch>

完成迭代后,在 submodule 自己的远端分支中提交并推送,再由外层仓库记录新的 submodule commit。UPSTREAM.md 说明了分支、提交指针和本地补丁之间的关系。

当前保留了一份尚未进入上游的 Motion 兼容补丁。需要它时显式执行:

./scripts/apply_upstream_patches.sh

补丁会使 submodule 工作区呈现修改状态;切换或拉取其他分支前,应先提交到你的 submodule 分支,或恢复到外层仓库记录的提交:

git submodule update --force --checkout -- upstream/solidworks-automation

安装

1. Mac 端安装 Skill 与 MCP

默认 SSH 主机名是 windows,Windows 用户目录是 C:\Users\shai:

./scripts/install_macos.sh

自定义时使用:

SOLIDWORKS_REMOTE_HOST=my-windows \
SOLIDWORKS_REMOTE_PROXY='C:\Users\my-user\solidworks-remote\bridge\remote_stdio_proxy.py' \
./scripts/install_macos.sh

2. 同步到 Windows

./scripts/sync_to_windows.sh

可通过 SOLIDWORKS_REMOTE_HOST 和 SOLIDWORKS_REMOTE_ROOT 覆盖默认目标。

3. 安装 Windows 运行时

若尚未安装 Python:

winget install --id Python.Python.3.12 --exact --scope user --accept-package-agreements --accept-source-agreements

然后从 Mac 执行:

ssh windows powershell -NoProfile -ExecutionPolicy Bypass -File \
  C:\Users\shai\solidworks-remote\bridge\install_windows.ps1

安装器会安装最小 MCP/COM 依赖、生成当前用户专属密钥、注册交互式计划任务并运行 SolidWorks 预检。

4. 重启 Codex

重启后即可使用 solidworks_remote MCP 中的 solidworks_* 和 cadstudio_* 工具。

验证

只检查 Broker:

ssh windows py -3.12 C:\Users\shai\solidworks-remote\bridge\remote_stdio_proxy.py --check

检查完整 MCP 与实时 COM:

ssh windows py -3.12 C:\Users\shai\solidworks-remote\bridge\probe_remote_mcp.py --live

运行 Mac 本地测试:

python3 -m unittest discover -s tests -v

使用底线

  • 只使用上游 MCP 暴露的白名单工具,不开放任意 Python/VBA 执行。
  • 所有 SolidWorks 写操作串行执行。
  • capabilities.yaml 仍是能力等级唯一真源。
  • 每次模型修改都应保存原生文件、导出所需开放格式并调用 solidworks_review_active。
  • 密钥、日志、模型输出和诊断状态不得提交到 Git。

About

No description, website, or topics provided.

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages