Language / 语言: 简体中文 · English
NexusDesktop 是一个独立的本地 MCP 中转程序,无需安装 IDE 插件即可使用:双击运行,在系统托盘(macOS 菜单栏)常驻,AI 客户端通过 MCP HTTP 协议连接,程序自动发现本地 Unreal Engine 实例并经 WebSocket 转发工具调用。
与 IDE 插件方案对比:
| 接入方式 | 端点 | 适用 |
|---|---|---|
| NexusDesktop(本程序) | http://127.0.0.1:6700/stream |
无需 IDE 插件;任意 AI 客户端;双击启动 |
| nexus-vscode | http://127.0.0.1:6900/stream |
VSCode / Cursor 扩展 |
| nexus-rider | http://127.0.0.1:6800/stream |
JetBrains Rider 插件 |
| 直连 UE | http://127.0.0.1:45000/stream |
需手动指定 UE 端口 |
| 组件 | 要求 |
|---|---|
| NexusDesktop | 直接下载 .exe / .dmg,无需 Go / Node / 运行时 |
| NexusLink(UE 插件) | NexusLink Releases;UE 4.26+ |
| Windows | Windows 10 / 11(amd64) |
| macOS | macOS 12+(Monterey);Intel / Apple Silicon 通用 |
从 Releases 下载最新版本:
- Windows:
NexusDesktop-windows-amd64-v<版本号>.zip(解压后双击NexusDesktop.exe运行,无需安装) - macOS:
NexusDesktop-darwin-universal.dmg(Universal Binary,支持 Intel + Apple Silicon)
- 从 NexusLink Releases 下载
nexus-mcp-unreal-*.zip,解压到Plugins/Developer/NexusLink - UE:Edit → Plugins → Developer → NexusLink — 启用插件
- UE:Edit → Editor Preferences → Plugins → NexusLink — 勾选 启用 MCP 服务器
Windows:双击 NexusDesktop.exe,程序进入系统托盘。
macOS:打开 NexusDesktop-darwin-universal.dmg,将 NexusDesktop.app 拖入 Applications,双击启动。程序不会出现在 Dock,仅在菜单栏(系统托盘)常驻。
托盘菜单功能:
| 菜单项 | 说明 |
|---|---|
| 状态行 | 显示当前 UE 连接状态(项目名 / 未连接) |
| 选择 UE 实例 | 切换到指定 UE 实例 |
| 扫描 UE 实例 | 主动触发一次端口扫描 |
| ✓ 启用中转服务器 | 启停 MCP HTTP 监听(默认 :6700) |
| 复制 MCP 客户端配置 | 复制 JSON 到剪贴板 |
| 检查更新 | 查询最新 Release;发现新版本时显示版本号并跳转下载页 |
| 设置… | 打开设置窗口 |
| 打开日志目录 | 打开日志目录 |
| 开机自启 | 切换开机自启 |
| 退出 | 退出程序 |
Cursor(~/.cursor/mcp.json):
{
"mcpServers": {
"nexus-unreal": {
"url": "http://127.0.0.1:6700/stream"
}
}
}CodeBuddy / Windsurf:
"Nexus": {
"url": "http://127.0.0.1:6700/stream",
"transportType": "streamable-http"
}双击托盘图标或点击「设置…」打开配置界面:
| 配置项 | 默认值 | 说明 |
|---|---|---|
| 启用中转服务器 | 开 | 总开关 |
| MCP HTTP 端口 | 6700 | AI 客户端连接端口 |
| UE 扫描起始端口 | 45000 | UE 实例扫描范围 |
| UE 扫描结束端口 | 45100 | UE 实例扫描范围 |
| 扫描间隔(秒) | 5 | 定时重新发现间隔 |
关闭窗口仅隐藏回托盘,不退出程序。
AI 客户端 ──POST /stream──► MCP HTTP Server (:6700)
│
Dispatcher (JSON-RPC 2.0)
│
UnrealManager (发现 + WS)
│
◄──── WebSocket JSON-RPC ──────► UE NexusLink
- Go 1.25+
- GCC / MinGW-w64(Windows)或 Xcode CLI(macOS)— Fyne 需要 CGO
$env:CGO_ENABLED = "1"
go build -ldflags "-H=windowsgui -s -w" -o NexusDesktop.exe ./cmd/nexusdesktop/或使用一键脚本:
build.bat一键构建 Universal Binary DMG(arm64 + amd64):
python3 scripts/build_desktop.py --build-type develop
# 或 release 包
python3 scripts/build_desktop.py --build-type release --arch universal或使用快捷脚本:
./build.command手动构建:
# 当前架构
CGO_ENABLED=1 go build -ldflags "-s -w" -o NexusDesktop ./cmd/nexusdesktop/
# Universal Binary(需 lipo)
CGO_ENABLED=1 GOARCH=arm64 go build -o NexusDesktop-arm64 ./cmd/nexusdesktop/
CGO_ENABLED=1 GOARCH=amd64 go build -o NexusDesktop-amd64 ./cmd/nexusdesktop/
lipo -create -output NexusDesktop NexusDesktop-arm64 NexusDesktop-amd64注意(Windows):GCC 16+ (binutils 2.46+) 产生 BigOBJ 格式,Go CGO 暂不支持。推荐使用 GCC 14.x(如 w64devkit v1.23.0)。
见 CHANGELOG.md。
MIT © byteyang