furao
bff1d9089f
[cc-3-8-x-mcp] 文档: 增加新旧架构版本选择说明
v3.0.0
2026-08-14 12:15:26 +08:00
furao
ea364d3470
[cc-3-8-x-mcp] 重构: 改为 Gateway 私有 Editor Bridge
...
改了什么:移除项目级 MCP Server 与 universal-mcp-sdk,新增带随机 token 的本机 Editor Bridge、Gateway v2 注册和分级超时转发。
为什么:MCP 协议与多项目路由统一交给全局 Gateway,项目扩展只保留 Cocos Editor.Message 和离线 CLI 职责。
影响范围:扩展启动与面板、编辑器注册、router 转发、安全边界、使用文档及自动化测试。
2026-08-14 12:10:09 +08:00
furao
a3b016ea8e
[cc-3-8-x-mcp] 修复: 补全离线 CLI 解析路径与自包含夹具
...
改了什么:解析结果记录资源来源路径,并生成独立 Prefab、嵌套资源和脚本夹具。
为什么:测试依赖外部项目资源和临时目录时会导致嵌套解析与类 ID 结果不稳定。
影响范围:离线 CLI 解析、组件引用错误信息及 offline tools 测试。
2026-08-14 12:09:20 +08:00
furao
4fa698a757
[submodule] 配置: mcp-sdk URL 改 https,去掉 SSH key 依赖
...
同事 Windows 上没配 gitee SSH key,git@gitee.com: 的 nested clone 会失败。
改成 https://gitee.com/ 后任何环境都能 clone。
v2.0.0
2026-06-16 15:28:48 +08:00
furao
7ffbe03e9b
[cli] 新增: 节点路径/名称查找支持 stub override 名
2026-06-15 11:15:33 +08:00
furao
7a7e0063fb
[submodule] 配置: mcp-sdk URL 切到 gitee
2026-06-15 10:49:48 +08:00
furao
60bc9172f1
[cli] 修复: dry-run diff 数组长度变化误报为 index 处置 null
2026-06-13 14:06:00 +08:00
furao
0f266b0dec
[cli] 新增: nested 路径查找 + classid-resolver 多目录扫描
2026-06-12 12:14:59 +08:00
furao
7f4e447ba0
[cli] 新增: add-spine-socket op(绑定 Spine Socket 到节点)
2026-06-12 10:42:39 +08:00
furao
edd56bd03d
[mcp] 修复: requestCount 死计数器改为真实工具调用计数,新增 lastRequestAt/lastTool 判活
...
requestCount 初始化后从无自增,恒 0,曾被当成转发断裂的证据误诊。
改为包装 tool handler/resource read 计数;不计 router 15s 探活,
计数代表真实业务调用。lastRequestAt/lastTool 作判活主信号。
2026-06-11 15:56:48 +08:00
furao
0aaa1abff8
[router] 修复: 同项目双实例不再两个都改名,startedAt 最新者保 base 名
...
同 projectPath 双实例(spawn 竞态僵尸)进普通撞名改名会被改成
<base>-<路径末段>/-2,没人保住 base 名,<base>__* 前缀路由全部失配
(2026-06-11 forest 96802/26426 事故)。改为组内 startedAt 最新者
作代表参与命名,其余改名 <base>-dup<pid> 并打告警。
2026-06-11 15:56:48 +08:00
furao
2526bc3beb
[mcp] 修复: restart-package 对任意扩展生效(disable/enable 须传注册路径)
...
Editor.Package.disable/enable 的参数是扩展绝对路径不是 name(typings:
enable(path)/disable(path, options)), 传 name 会 disable 静默不生效 +
enable 报 "[Package] Unknown and unable to start", 旧实例(含其 http
server 等资源)永久泄漏。改为 getPackages 按 name 反查 path 再调用;
传入已是路径则直接用。实测 guide-editor 按名 reload 后 unload→load
完整执行, 8099 监听 socket 换新
2026-06-11 14:37:24 +08:00
furao
b180bd290b
[router] 修复: editor spawn/restart 加跨进程锁与调试现场保护
...
- spawn 锁: 注册目录 per-projectPath lockfile (wx 原子创建, 死持有者可夺锁),
串行化 kill→spawn→ready, 防多 agent 并发重启造成同项目双开
- restart 在旧进程 SIGKILL 后仍存活时中止, 不再带病 spawn
- spawn 幂等检查加 ps 抓 --project 兜注册表盲区 (已拉起未注册的启动中实例)
- restart/kill 前数预览端口 ESTABLISHED 连接, 有调试现场默认拒绝, force:true 强制
2026-06-11 14:20:17 +08:00
furao
a0f71ce8f9
[router] 修复: editor 慢启动后激活的工具不推送给 claude
...
discover 周期重扫已有,但两个 bug 让 claude 永远停在初次 tools/list 旧快照:
1. 已缓存 editor 不 re-probe(146 行 continue)——大项目 editor 慢启动(builder
worker 没就绪)首次只 probe 到部分工具,asset-db 就绪后工具激活也不刷新
2. 声明 capabilities.tools.listChanged=true 却从不真发 notifications/tools/list_changed
修复:每周期 re-probe(probe 失败保留旧缓存)+ 工具签名变化时发 list_changed
(clientInitialized 后)。spawn router 实测 tools/list 正确暴露 33 工具(25 forest__ + 8 router)。
2026-06-11 11:39:30 +08:00
furao
0b2cd04f1e
[mcp] 文档: 增加 agent 使用规则入口
2026-06-08 16:42:32 +08:00
furao
ef642031e6
[mcp] 修复: 支持 CLI 打开项目和资源转发
2026-06-08 15:57:34 +08:00
furao
8eb8958a52
[mcp-sdk] 杂项: 更新子模块指针
2026-06-08 15:33:13 +08:00
furao
2f509fb2c0
[router] 修复: 补充 Windows 编辑器启动路径解析
2026-06-08 15:23:08 +08:00
furao
e8e586fcd0
[router] 修复: 重启编辑器默认使用 --nologin
2026-06-08 15:06:34 +08:00
furao
0662fbe46b
[mcp-sdk] 杂项: 更新 universal-mcp-sdk 子库指针
2026-06-08 14:23:42 +08:00
furao
7ba91ec0a6
chore: mcp-sdk submodule URL 改为 HTTPS
...
方便无 GitHub SSH key 的成员 clone。
2026-06-08 10:19:34 +08:00
furao and Claude Opus 4.8
f54f0762ef
refactor: fix-borders 升级改名为 fix-meta,新增 trim 破坏识别
...
- 改名 fix-borders → fix-meta(CLI 子命令 fix-meta;MCP tool meta_fix),名字更通用
- 新增第三类噪音识别:trimType 从 none 被 Cocos 改成自动裁剪(连带 width/height/
offset/顶点全变)→ 还原该 frame 到 git(恢复不裁剪)。保守:只还原 git=none 的
明确破坏,不碰 git 本就 auto 的(分不清破坏 vs 真改)
- 三类统一处理:① 纯顺序/格式噪音 ② 九宫格 border 重置 ③ trim 强改
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 19:00:47 +08:00
furao and Claude Opus 4.8
7ae2f994cf
feat: fix-borders 升级为通用 meta 噪音清理 + 修中文路径 bug
...
- 新增「纯 key 顺序/格式变化(值没变)」检测:还原成 git 原文,消 git diff 噪音
(Cocos 重启会重排 userData 里 trimType/atlasUuid 等字段位置)
- 修中文路径 bug:git 调用统一加 core.quotePath=false;之前中文名图(如 1公共资源/)
的 border meta 被 git 引号转义跳过、漏还原,现已覆盖
- border 还原后若整体已等于 git 则直接写 git 原文(连带消顺序噪音)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 18:45:24 +08:00
furao and Claude Opus 4.8
fc93911d31
feat: 新增 fix-borders —— 修复 Cocos 重启把九宫格 border 重置成 0 的 meta
...
Cocos 重启/重新导入有时把已设九宫格的图 meta 里 subMetas.*.userData.border*
重置成 0(九宫格丢失)。新增功能扫 git 改动的 .meta,把「git 有值、工作区被
清 0」的 border 还原成 git 的正确值,只动 border 字段、保留 meta 其它改动。
- cli/src/editor/fix-borders.js: 核心(git 对比 + 精准还原)
- cli fix-borders 命令(main.js 注册)
- MCP tool meta_fix_reset_border(main.js wrapper + server/tools.js)
- 跨平台纯 JS + git,带 dry-run
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 18:34:53 +08:00
furao and Claude Opus 4.8
803a09517f
docs(cli): 补充 QUICK-REF 中 prefab op 与 CLI 子命令的区别说明
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 17:58:15 +08:00
furao and Claude Opus 4.8
b8185434af
fix(cli): 删节点/组件后清理孤儿元素的 cc.Asset 引用,避免 build 404
...
remove-node / remove-component 保留孤儿元素(保持其他 __id__ 稳定)的策略下,
残留的 cc.Asset uuid 引用会被 bundle build 扫整个 data 数组撞到、算入依赖图,
运行时拉不存在的资源触发 404。新增 clearOrphanAssetRefs,删完后清理。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 17:58:15 +08:00
furao and Claude Opus 4.8
bee9f89c98
跨平台化:移除 AppleScript + 去 macOS 硬编码
...
- 删除浏览器交互的 AppleScript(osascript 控 Chrome/Safari 做截图/eval/刷新/打开),
改由外部 playwright MCP 承担;保留走 Editor.Message 的跨平台编辑器操作
- openDevDir 打开命令按平台分支(mac=open / win=explorer / linux=xdg-open)
- execPath 解析弱化靠注册表/进程查询,删掉 /Applications macOS 硬编码兜底
- editor-control 去 macOS-only 假设,ps 进程查询按平台分支(win 用 wmic)
- build-cmd Cocos 安装路径按平台拼
Win 特定逻辑(wmic、CocosDashboard 安装路径)标 TODO[win-verify],待 Windows 实测补全。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 17:54:05 +08:00
furao
33b90dab22
重构: 去 fallback,改 submodule 依赖 universal-mcp-sdk
...
- 加 universal-mcp-sdk 作 git submodule (mcp-sdk/),单一真相
- main.js: SDK_PATH 指向仓库内 submodule,删除 bundled fallback 分支
- 删除自带的 server/mcp-server.js (不再维护两套 MCP 实现)
- README: 加 submodule clone 说明
2026-06-07 13:00:45 +08:00
furao
14c5b00f14
Initial public release: cc-3-8-x-mcp
...
Cocos Creator 3.8.x MCP bridge extension with a built-in offline CLI.
Components:
- Editor extension: in-process MCP server exposing scene / asset-db /
preview / local / editor-process-control tools
- stdio router: aggregates multiple editor instances on one machine,
with shortName dedup
- offline CLI (cocos-mcp-cli): headless prefab read/write + a wrapper
around the Cocos CLI build
Pure Node.js, zero third-party dependencies. Licensed under Apache-2.0.
2026-06-06 11:33:19 +08:00