前言¶
在 DSH 里用智能体协助 Unity 开发,常见做法是接 Unity 侧 MCP 服务端(AI Game Developer / com.ivanmurzak.unity.mcp)。若一直挂着官方 MCP 客户端,Unity 工具的 JSON Schema 会长期占上下文;若手改 npx 缓存里的 @deepseek-ai/dsh-mcp-client,DSH 升级又可能把补丁清掉。下面介绍社区插件 dsh-unity-mcp-bridge(维护者 xiake-1),它把 Unity MCP 以「默认休眠、按需激活」的方式接到 DSH,并自带安装检查技能与命令目录,属于 SkillHub 上的「工作流」类插件。
这是什么¶
dsh-unity-mcp-bridge 是一个独立的 DSH npm 插件包(当前版本 0.3.3,MIT 许可),在 DSH 与 Unity MCP 之间做桥接。Unity 能力不会自行开启:只有用户执行 /unity-mcp-tools 后才会连接并注册 mcp__unity__* 工具;不碰 Unity 的会话只多出 2 个钩子工具(文档称约 224 tokens)。
插件目录页:SkillHub — xiake-1/dsh-unity-mcp-bridge
源码:github.com/xiake-1/dsh-unity-mcp-bridge
核心功能¶
相对随 DSH 分发的 @deepseek-ai/dsh-mcp-client,该插件在 README 中强调了三项增量能力,并保留使按需工作流可行的 resyncAfterTools 行为:
-
内嵌实现(vendored)
桥接逻辑在本包lib/index.js中,不依赖手改 npx 缓存;DSH 升级不会静默覆盖你的修改。实现派生自@deepseek-ai/dsh-mcp-clientv0.1.5-rc.2,并在文件头与 LICENSE 中说明改动。 -
随包命令目录技能
skills/SKILL.md为索引,skills/reference/*.md按分类列出 Unity 命令(中文说明称共 73 个)。激活后注册为运行时 skill,模型先读索引,需要时再读单个分类文件,避免一次灌满上下文。 -
收工辅助工具
unity_tools_restore
关闭除工具管理类以外的 Unity 工具,并可断开连接,把工具集收回到最小常驻集。 -
resyncAfterTools
在配置的若干工具(典型为tool-set-enabled-state)调用返回后,桥接自行重新拉取tools/list并替换注册表,而不等待服务端notifications/tools/list_changed(DSH 长会话收不到该通知)。
此外还提供两个默认对模型可见的配套 slash 技能(可通过 registerHelperSkills: false 关闭):
| 技能 | 作用 |
|---|---|
/unity-mcp-install |
检查并安装 unity-mcp-cli;在工作区内通过 ProjectSettings/ProjectVersion.txt 定位 Unity 项目;按需执行 unity-mcp-cli install-plugin <project> --with-server;CLI / 插件 / Server 版本需 lockstep(文档示例:CLI 1.2.0 ↔ com.ivanmurzak.unity.mcp@1.2.0 ↔ server 9.2.11)。 |
/unity-mcp-check |
将 Unity 与 DSH 两端端口统一到 20000;配置 AI agent 为 Kilo Code;初始化工具集为仅启用 tool-set-enabled-state;探测连通并用 unity_mcp_activate 验证桥接。 |
特性说明与「工具调用 vs 直接读文件」的 token、时延对比见仓库内 FEATURES-AND-COMPARISON.md(中文)。
安装与启用¶
DSH 对等依赖声明下限为 >=0.1.5-rc.2(非固定版本);README 称已在 0.1.5-rc.2、0.1.7-rc.2、0.2.0-rc.2 上做过宿主兼容性验证。
<profile> 指运行 MCP 桥接的 DSH profile:web 对应 dsh web,desktop 对应 DeepSeek Harness 桌面端。
- 安装插件(命令来自官方 README,二选一):
dsh plugin --profile <profile> add git+https://github.com/xiake-1/dsh-unity-mcp-bridge.git
或从本地检出目录:
dsh plugin --profile <profile> add file:<path-to-this-checkout>
- 在
%DSH_HOME%/profiles/<profile>/cordis.patch.yml中插入条目,使 profile 指向本包而非 stock 客户端(中文说明建议统一使用端口 20000 的/mcp端点):
- insert:
- id: unity-mcp
name: 'dsh-unity-mcp-bridge'
config:
serverName: unity
transport: streamable-http
url: http://localhost:20000/mcp
resyncAfterTools:
- tool-set-enabled-state
resyncIntervalMs: 0
- 重启
dsh web或桌面应用。命令目录技能与unity_tools_restore会随插件加载;配套安装/检查技能在registerHelperSkills: true(默认)时可用。
注意: 不要与本插件同时使用 stock @deepseek-ai/dsh-mcp-client 连接同一 serverName,否则两套模块会争抢同一套公开工具名。
卸载示例:
dsh plugin --profile <profile> remove dsh-unity-mcp-bridge
并从 cordis.patch.yml 删除对应 unity-mcp 行。
典型用法¶
Unity 侧完整环境可参考 ai-game.dev Unity 文档。DSH 侧推荐按「按需工作流」操作:
- 首次或环境不确定时,先运行
/unity-mcp-install,再运行/unity-mcp-check,把端口、Kilo Code 与最小工具集对齐。 - 需要 Agent 操作 Unity 时,由用户执行
/unity-mcp-tools(该技能默认不对模型可见,是唯一开启入口)。 - 调用
unity_mcp_activate,连接 Unity 并注册mcp__unity__*工具。 - 查阅随包命令目录,用
mcp__unity__tool-set-enabled-state开启本次任务需要的命令(每个已开启命令的完整 Schema 会进入之后每一次模型请求,故只开必要的)。 - 在下一步调用具体的
mcp__unity__<命令名>。 - 任务结束调用
unity_tools_restore(可选keep保留个别命令),回到休眠。
常用配置项(完整列表见 README Configuration):
| 字段 | 默认 | 说明 |
|---|---|---|
autoStart |
false |
保持休眠;设为 true 则启动即连接 |
resyncAfterTools |
[] |
按需工作流应包含 tool-set-enabled-state |
toolCallTimeoutMs |
60000 |
单次工具调用超时 |
registerCatalogSkill |
true |
是否注册命令目录技能 |
registerHelperSkills |
true |
是否注册 /unity-mcp-install、/unity-mcp-check |
适用场景与注意¶
适合谁: 已在或计划用 DSH + Unity MCP(com.ivanmurzak.unity.mcp)做编辑器自动化、希望控制上下文体积、并愿意按 slash 技能完成安装与端口对齐的开发者。
权限与安全: 插件随当前 DSH 进程运行,安装前请阅读仓库源码与 MIT 许可证,确认 cordis.patch.yml 中的 URL、transport 与网络暴露范围符合你的环境。
生态说明: DeepSeek Harness 采用「一切皆插件」的扩展方式;SkillHub 为社区插件目录站点,与 DeepSeek / 幻方无官方从属关系。本插件在目录页星标为 0,不代表功能不可用,使用前以 GitHub README 与版本 0.3.3 为准。
结尾¶
dsh-unity-mcp-bridge 把 Unity MCP 接到 DSH 时默认休眠,通过 /unity-mcp-tools 按需展开工具、用 resyncAfterTools 与 unity_tools_restore 收束上下文,并用内嵌实现避免升级丢补丁。需要时可从 SkillHub 或 GitHub 安装,再按 /unity-mcp-install 与 /unity-mcp-check 对齐 Unity 与 DSH 两端。
- 目录页:https://www.skillhub.cn/plugins/xiake-1/dsh-unity-mcp-bridge
- GitHub:https://github.com/xiake-1/dsh-unity-mcp-bridge