Godot Bridge
把 Profy 接到你本机的 Godot Engine,让专家能编辑场景树、写 GDScript、运行游戏,并做确定性回放测试。 最后这项是它区别于其他所有 3D/游戏桥接的地方:绝大多数 AI 游戏开发只能截图看,而 Godot 允许冻结时间、逐帧推进、注入输入、读取任意节点属性——测试变成断言,不再是”看起来对”。声明与激活
user_selectable)+ Desktop 已连接(desktop_connected,即 PROFY_DESKTOP == "true")。云端网页对话里它不存在。
环境前置
确定性回放测试
这是本插件的核心价值,值得单独理解。 普通的 AI 游戏测试是「跑起来,截图,看看像不像」。问题在于游戏是实时的:同一段代码两次运行,物理步长、帧率抖动、输入时机都不同,看到的画面也不同。截图对不上,你不知道是代码错了还是这一帧恰好没到位。 Godot 允许把时间冻住:例:测试跳跃
position.y > initial_y 这种可判定的命题,失败时你知道是跳跃高度不足还是根本没触发,而不是对着一张图猜。
开发工作流
get_project_info)、确认 Godot 版本 ≥ 4.3、浏览项目结构(场景、脚本、资产)。
能力清单(MCP 接线补齐后可用)
安全规则
- 不经询问不改
.godot/项目设置 - 只用 undo 安全的操作
- 跑测试前先保存
- 不删除有大量依赖者的节点
代码风格约束
提示词层要求 GDScript 保持整洁:静态类型 +@export 注解。这不是审美问题——静态类型让 Godot 在编辑期就报错,@export 让参数能在编辑器里调,两者都直接减少「跑起来才发现」的往返。
边界与失败态
- 没有 Desktop 就没有这个插件,云端对话里不出现。
Engine.time_scale = 0期间游戏不会自己前进。如果测试脚本忘了step_frame(),表现是「卡住了」而不是报错——这是预期语义,不是死循环。- MCP 声明当前未接线(见页头),所以模型会给出方法论而非实际执行。
- 确定性回放只覆盖能读到属性的逻辑。渲染正确性、shader 表现、音频这些读不出数值的部分,仍然只能靠截图与人工判断。
- 热重载有边界。GDScript 可以热重载,但改变了导出变量结构或场景结构时通常需要重启游戏。
排错
验证你的配置
- 在 Profy Desktop 新对话的插件面板中应能看到 Godot Bridge。看不到 = Desktop 未连接。
- 勾选后问「当前 Godot 项目的场景树是什么结构」。返回方法建议而非真实节点树,说明命中页头描述的未接线状态。
- 让它「设计一个验证角色跳跃高度的测试」。正确回答必须包含
set_time_scale(0)、step_frame、read_node_property断言三要素——这验证技能层已加载。
相关页面
3D 与可视化开发
云端 game-studio:Three.js / R3F / Phaser 网页游戏
Blender Bridge
同族桥接:本机 Blender 建模与 GLB 导出
核对日期 2026-08-11。来源:
services/agent-runtime/src/plugins/builtin/godot-bridge/plugin.json、skills/godot-workflow/SKILL.md、prompts/GODOT.md、services/agent-runtime/src/plugins/registry.py(_check_activation)。
