接入 AGC 内置插件宿主并补齐 Cocos 编辑器能力 #338

Merged
kdletters merged 18 commits from codex/agc-agent-plugins into master 2026-09-13 14:48:56 +08:00
Member

客户端新增随包提供的插件宿主和 Cocos Creator 集成:识别并导入 Cocos 项目,通过内置桥接操作已打开的编辑器,无需安装项目 MCP 扩展。DirectProject 现在公开 36 个独立 cocos_* 工具,保留通用 JavaScript 执行入口。

  • 通用插件 SDK、命令/能力/面板注册、编辑器适配器和跨进程内置插件开关。
  • Cocos 场景、节点、组件、Prefab、UI、Layout/Widget、资源、保存、撤销、日志与预览调试;目录和实现由 JS/native 共用。
  • 编辑事务回读、失败回滚、后续手动修改保护及不确定结果禁止重放;预览截图通过 MCP image 返回。
  • DirectProject 跳过无关专业 Agent 历史,将项目打开和历史读取中的同步 I/O 移出窗口线程,消除 Cocos 执行与项目文件锁的错误耦合。

验证:

  • 合并 master 后:类型/配置检查、编码检查、Rust 格式检查和提交钩子通过。
  • 合并 master 后:Cocos 项目打开、插件面板和开发启动定向测试 10 通过、2 跳过;DirectProject MCP 测试 17 通过、1 项真实 Creator opt-in 忽略;插件宿主测试 9/9。
  • 插件行为测试 17/17;native 测试 20/20,4 项 opt-in 测试默认忽略。
  • 真实 Creator 3.8.8 的 36/36 操作 smoke,以及客户端 MCP tools/list、tools/call、UI/撤销和预览截图,在功能实现阶段已验证通过;本次 master 合并后未重复真实 GUI smoke。

验证边界:发行安装包和远端 CI 尚未验收。

客户端新增随包提供的插件宿主和 Cocos Creator 集成:识别并导入 Cocos 项目,通过内置桥接操作已打开的编辑器,无需安装项目 MCP 扩展。DirectProject 现在公开 36 个独立 cocos_* 工具,保留通用 JavaScript 执行入口。 - 通用插件 SDK、命令/能力/面板注册、编辑器适配器和跨进程内置插件开关。 - Cocos 场景、节点、组件、Prefab、UI、Layout/Widget、资源、保存、撤销、日志与预览调试;目录和实现由 JS/native 共用。 - 编辑事务回读、失败回滚、后续手动修改保护及不确定结果禁止重放;预览截图通过 MCP image 返回。 - DirectProject 跳过无关专业 Agent 历史,将项目打开和历史读取中的同步 I/O 移出窗口线程,消除 Cocos 执行与项目文件锁的错误耦合。 验证: - 合并 master 后:类型/配置检查、编码检查、Rust 格式检查和提交钩子通过。 - 合并 master 后:Cocos 项目打开、插件面板和开发启动定向测试 10 通过、2 跳过;DirectProject MCP 测试 17 通过、1 项真实 Creator opt-in 忽略;插件宿主测试 9/9。 - 插件行为测试 17/17;native 测试 20/20,4 项 opt-in 测试默认忽略。 - 真实 Creator 3.8.8 的 36/36 操作 smoke,以及客户端 MCP tools/list、tools/call、UI/撤销和预览截图,在功能实现阶段已验证通过;本次 master 合并后未重复真实 GUI smoke。 验证边界:发行安装包和远端 CI 尚未验收。
kdletters added 13 commits 2026-09-13 12:29:10 +08:00
统一 Agent Plugin、Skill、MCP 的来源索引和启停状态
新增通用进程宿主、JSON-RPC、能力注册、权限审计与面板挂载
新增 AGC Plugin SDK 与标准 plugin.json 解析支持
保留 EditorAdapter 扩展点,不内置具体编辑器适配器
补充运行时设置界面、项目上下文同步和定向测试
同步更新插件方案、DirectProject、workspace 与项目记忆文档
合并远端 master 的 AGC 启动、进程复用与项目写锁回收修复
合并远端 master 的开发脚本、运维文档与项目记忆更新
保留本分支的通用插件宿主、插件宿主服务与 AGC Plugin SDK 改动
新增独立 crate server-rs/crates/cocos-editor-bridge:Creator 主进程发现与项目/PID 身份校验、named pipe 命令协议、可选 Windows DLL 注入,默认 feature 全部关闭。
新增 Creator 主进程内 payload:在 \\.\pipe\genarrative-cocos-editor-{pid} 上串行提供 ping/status/execute,execute 只接受有界 JavaScript 函数体,结果不确定时返回 ExecutionUncertain 并禁止自动重放。
AGC 新增 cocos_editor 模块与 prepare_cocos_editor_injection、inject_cocos_editor、ping_cocos_editor、status_cocos_editor、execute_cocos_editor_code 五条命令,注入只加载随包资源目录中的 DLL。
AGC 新增 cocos-editor、cocos-editor-execute、cocos-editor-injection 三层 feature 与资源映射,Windows 构建把 bridge DLL 暂存到 resources/cocos-editor-bridge,并改为按 Cargo profile 目录查找产物 DLL。
Runtime 新增 cocos.editor.execute:同步工具策略快照、并行账本、隔离 Agent 拒绝表、工具描述与动作审计,审计只记录代码长度与 SHA-256。
DirectProject 的 agc_tools 新增 agc_cocos_execute,只接收 code,复用项目写锁和当前项目权限,结果不确定时阻断后续调用。
共享契约新增 cocos.editor.execute(confirm 权限),当前分支命令契约从 64 条更新为 65 条。
新增技术方案文档与决策记录,并在文档索引登记;resources/cocos-editor-bridge 仅提交占位与 .gitignore,生成的 DLL 不入库。
移植到 codex/agc-agent-plugins 的适配:命令契约长度、Tauri 未调用命令 allowlist 与 Windows 资源清单校验随当前分支基线同步更新。
- 新增 plugins/ 插件工作区及 agc-cocos-editor 插件包,Cocos 直连模块从宿主源码树迁入插件包
- 新增 server-rs/crates/editor-adapter-api 通用编辑器适配器契约,宿主只保留适配器注册与 RPC 路由
- 新增内置插件登记表与可用开关,状态持久化在 AppData extensions/builtin-plugins.json,状态文件损坏时失败关闭
- 禁用内置插件时先停止进程并拒绝启动,同时从 Runtime 工具目录、工具策略快照、原生函数目录与 DirectProject 工具面移除对应工具
- 插件宿主新增 plugins/ 工作区扫描,内置插件优先于同名 AppData 导入插件,前端只提供可用开关而不提供重命名和卸载入口
- 编辑器操作统一经 host.rpc 路由到插件包自带的 native 适配器,并删除 Cocos 专属 Tauri 命令
- 修正 Windows 打包与开发态 payload 路径,随包映射 plugins 工作区资源
- 同步插件、Cocos 桥接、实施计划文档与 decision log
让 Runner 和 CLI 查询持久化开关并即时感知 GUI 状态更新
让隔离 MCP 经现有工具桥获取可用工具,并将开关纳入会话缓存标识
在执行入口复查禁用状态,固定原生函数缓存构建使用的工具快照
修复损坏开关文件保存成功后仍保持关闭的状态
保留插件执行结果不确定的结构化回执和宿主适配器阻断,拒绝并发积压与自动重发
新增跨进程工具目录、热切换、坏文件恢复及不确定执行回归测试并同步文档
保留 AGC 插件系统与 Cocos 适配改动
合并远端项目写锁等待与持锁方诊断修复
同步远端项目锁、配置和测试更新
完善 Cocos Creator 项目识别、导入和 Agent 目录初始化

补充打开项目流程、契约、测试与文档
build.rs 只在内容变化时落盘插件资源,避免构建产物触发下一轮重建

新增应用目录与 src-tauri 的 .taurignore,把 resources/plugins 排除出 dev 监听
DirectProject 历史落盘与 Codex 返回记录改用项目写锁有界等待,不再零等待失败拖垮整轮

Codex 返回记录取锁改到阻塞线程池执行,避免占用 runtime worker

agc_write_file 增加取锁/写入/revision 分段计时日志,用于定位长时间持锁

Windows dev 构建默认启用 cocos-editor-execute,使 Agent 具备 agc_cocos_execute

补充 start-tauri-dev 参数单测与历史落盘等待回归用例
修复 Cocos 内置插件提示词,禁止回退到项目内 MCP 扩展

移除 agc_cocos_execute 对项目写锁的无关依赖

将项目对话读取移到 blocking worker,避免客户端窗口阻塞

为 Windows 开发与发行构建默认启用 Cocos 编辑器执行能力

补充 Cocos Inspector 引导、桥接协议和客户端回归验证
将项目目录检查、manifest、revision 和 Planning V2 hydrate 移到 blocking worker

保留同步核心函数供单元测试复用并更新测试调用

同步更新项目打开链路技术方案
在 DirectProject 提示词中加入已核对的 Cocos 场景和资源操作示例

明确先查询真实 UUID 与状态再执行单项修改并回读

更新 Cocos 插件 README 的 Agent 能力与 JavaScript 用法
补齐并公开客户端 Cocos 编辑器操作能力
Project CI / Repository checks (pull_request) Failing after 15s
Project CI / Backend tests (pull_request) Failing after 15s
Project CI / Frontend tests (pull_request) Failing after 1m53s
Project CI / Native shell tests (pull_request) Failing after 4m49s
8b6f821c3c
新增统一目录和 36 个 Cocos 场景、组件、UI、资源与预览操作
复用内置桥接并接通 DirectProject MCP 工具发现和调用
补充事务回滚、撤销、首次保存与预览错误采集
增加真实 Creator smoke、构造器一致性测试和使用文档
kdletters added 1 commit 2026-09-13 12:35:24 +08:00
合并 master 并对齐客户端插件集成
Project CI / Frontend tests (pull_request) Failing after 2m26s
Project CI / Repository checks (pull_request) Failing after 2m35s
Project CI / Native shell tests (pull_request) Failing after 5m3s
Project CI / Backend tests (pull_request) Successful in 7m4s
3089061694
合入 origin/master 的最新修改
保留 design-agent 资源包与 Windows 插件资源检查
同时保留登录态刷新和 Cocos 插件上下文入口
更新 Cocos 导入测试以适配运行模式查询
kdletters added 1 commit 2026-09-13 12:56:27 +08:00
修复 master 合并后的客户端 CI 回归
Project CI / Repository checks (pull_request) Successful in 2m36s
Project CI / Frontend tests (pull_request) Successful in 3m19s
Project CI / Backend tests (pull_request) Successful in 6m36s
Project CI / Native shell tests (pull_request) Failing after 14m3s
0b7aeb7d8a
避免空项目首页调用插件路径清理命令
恢复首页项目类型和未识别项目提示契约
隐藏创建过程中的底层错误文本并保留稳定重试提示
补充项目路径引用清理,避免切换项目重复调用
kdletters added 1 commit 2026-09-13 13:27:05 +08:00
修复 Cocos 内置插件提示词契约
Project CI / Repository checks (pull_request) Successful in 2m40s
Project CI / Frontend tests (pull_request) Successful in 3m11s
Project CI / Backend tests (pull_request) Successful in 7m10s
Project CI / Native shell tests (pull_request) Failing after 14m7s
c5ccc38d09
恢复 Cocos 内置插件边界提示词中的完整测试契约

补充场景树查询与只读回读说明
kdletters added 1 commit 2026-09-13 13:55:21 +08:00
恢复自主运行时根 Run 安全门禁
Project CI / Repository checks (pull_request) Successful in 2m41s
Project CI / Frontend tests (pull_request) Successful in 3m3s
Project CI / Backend tests (pull_request) Successful in 6m52s
Project CI / Native shell tests (pull_request) Failing after 14m6s
ed5243c64e
保留 relaxed lane 自由执行,同时校验持久 Run Profile 的当前根身份

确保 art-director Canvas-only 动作约束不被 relaxed lane 绕过
kdletters added 1 commit 2026-09-13 14:27:06 +08:00
修复隔离子 Agent 的 Cocos 拒绝策略快照
Project CI / Repository checks (pull_request) Successful in 2m42s
Project CI / Frontend tests (pull_request) Successful in 3m26s
Project CI / Backend tests (pull_request) Successful in 6m36s
Project CI / Native shell tests (pull_request) Successful in 17m43s
6669a3d497
在平台未提供 Cocos executable catalog 时仍显式展示 denied 工具

保持 isolated child 的跨平台工具边界一致
kdletters merged commit 4a46f89c9b into master 2026-09-13 14:48:56 +08:00
kdletters deleted branch codex/agc-agent-plugins 2026-09-13 14:48:56 +08:00
Sign in to join this conversation.