让 Runner 和 CLI 查询持久化开关并即时感知 GUI 状态更新 让隔离 MCP 经现有工具桥获取可用工具,并将开关纳入会话缓存标识 在执行入口复查禁用状态,固定原生函数缓存构建使用的工具快照 修复损坏开关文件保存成功后仍保持关闭的状态 保留插件执行结果不确定的结构化回执和宿主适配器阻断,拒绝并发积压与自动重发 新增跨进程工具目录、热切换、坏文件恢复及不确定执行回归测试并同步文档
agc-cocos-editor
Cocos Creator 编辑器桥接插件。用户侧看到的是一个普通 AGC 插件:插件生命周期、UI、 RPC、权限和能力注册全部由通用宿主负责,只有“如何连接 Cocos Creator”属于本插件。
它同时是 AGC 的内置插件:随客户端分发、不能卸载。用户在运行时设置里只能切换
“是否可用”,禁用后插件不能启动,cocos.editor.execute / agc_cocos_execute 也会
从 Agent 工具列表、工具策略快照和上下文里消失;重新启用后立即恢复。
plugin.json Agent Plugins 清单 + AGC Runtime 扩展
src/entry.mjs 运行时入口(注册命令 / 能力 / 面板,转发 host.rpc)
src/cocos-editor-adapter.mjs 通用请求 → Cocos 适配器请求的翻译与入参校验
panels/cocos-editor.html 自包含面板
native/cocos-editor-bridge/ 插件自带 native 模块(进程发现、pipe 协议、注入)
Runtime 契约
| 项 | 值 |
|---|---|
| 协议 | agc.plugin.v1(stdio 行分隔 JSON-RPC 2.0) |
| 适配器 id | cocos-editor |
| 命令 | cocos.editor.execute({ code }) |
| 能力 | cocos.editor.connection({ operation, processId?, projectPath?, timeoutMs? }) |
| 面板 | cocos-editor(panels/cocos-editor.html,sidebar) |
operation 取值为 detect、connect、disconnect、prepare、ping、status、
execute、inject,与 native 适配器的 COCOS_EDITOR_RPC_METHODS 一一对应;
src/entry.test.mjs 会校验两边不会漂移。
execute 不接受并发积压。结果不确定时返回 needs-reconciliation 与
retryAllowed: false 并阻止后续发送;native 适配器的阻断不会被 disconnect
或插件进程重载清除。请先核对编辑器状态,再重启客户端恢复。
项目上下文
插件从宿主获得当前受控项目路径:
- 注册
host.events.subscribe { type: 'project.changed' }时,宿主在响应里返回当前projectPath。 - 之后宿主设置项目时推送
project.changed事件,payload 带projectPath。
插件不缓存凭据、不扫描文件系统;所有编辑器操作都经 host.rpc 交给 native 适配器,
由适配器做 PID / 项目 / 版本校验。
Native 模块
native/cocos-editor-bridge 是从 AGC 服务端源码树移入本插件包的独立 crate,实现
editor-adapter-api::EditorAdapter:
process-discovery:只把CocosCreator.exe主进程的 PID、--project和 Creator 版本绑定起来,排除 Electron 子进程。windows-transport:注入后通过 named pipe 提供ping/status/execute,执行结果 不确定时返回ExecutionUncertain并禁止自动重放。windows-injection:随包 DLL 的 Windows 注入实现,默认关闭。
AGC 客户端当前在编译期链接本 crate(Cargo path 依赖),由通用宿主按 manifest 的
adapter 字段注册;宿主源码里没有 Cocos 进程名、注入或 Editor.Message 逻辑。
本地验证
cargo test --manifest-path plugins/agc-cocos-editor/native/cocos-editor-bridge/Cargo.toml
node --test plugins/agc-cocos-editor/src/entry.test.mjs
真实 Creator 验收(注入、Inspector 引导、非空场景读写)仍按
docs/technical/【技术方案】AGC Cocos Creator 编辑器桥接模块-2026-09-09.md 单独执行。