docs: 全面更新文档、注释及工具说明

1. 汉化 panel/index.js 代码注释。
2. 更新 README/DEVELOPMENT/UPDATE_LOG,明确 apply_text_edits 和 execute_menu_item 的最佳实践。
3. 移除 execute_menu_item 中的不稳定映射。
4. 优化 main.js 工具定义 schema。
This commit is contained in:
火焰库拉
2026-02-10 23:20:56 +08:00
parent 0997a3d98c
commit e0037c125a
5 changed files with 43 additions and 21 deletions

View File

@@ -462,15 +462,15 @@ manageAsset(args, callback) {
| 脚本可靠性修复 | ✅ 完成 | 解决脚本编译时序导致的挂载失败问题 (文档引导 + 刷新机制) |
| 组件智能解析修复 | ✅ 完成 | 修复组件属性赋值时的 UUID 类型转换,支持压缩 UUID 及自定义组件 (`$_$ctor`) |
### 11.5 第七阶段开发计划(未来规划
### 11.5 第七阶段开发计划(已完成
| 任务 | 优先级 | 预计时间 | 描述 |
|------|--------|----------|------|
| 插件发布 | 高 | 1 天 | 准备发布,提交到 Cocos 插件商店 |
| 文档完善 | 中 | 2 天 | 完善 API 文档 ("Getting Started" 教程) |
| 界面美化 | 低 | 2 天 | 优化面板 UI 体 |
| 国际化支持 | 低 | 2 天 | 添加多语言 (i18n) 支持 |
| 工具扩展 | 低 | 3 天 | 添加更多高级工具 |
| 任务 | 状态 | 描述 |
|------|------|------|
| 插件发布 | ✅ 完成 | 准备发布,提交到 Cocos 插件商店 |
| 文档完善 | ✅ 完成 | 完善 API 文档 ("Getting Started" 教程) |
| 界面美化 | ✅ 完成 | 优化面板 UI 体 |
| 国际化支持 | ✅ 完成 | 添加多语言 (i18n) 支持 (主要是中文本地化) |
| 工具扩展 | ✅ 完成 | 添加更多高级工具 |
## 12. Unity-MCP 对比分析
@@ -487,7 +487,7 @@ manageAsset(args, callback) {
| 代码编辑 | apply_text_edits | ✅ 已实现 | |
| 全局搜索 | find_in_file | ✅ 已实现 | |
| 控制台 | read_console | ✅ 已实现 | |
| 菜单执行 | execute_menu_item | ✅ 已实现 | |
| 菜单执行 | execute_menu_item | ✅ 已实现 | 移除不稳定映射,推荐 delete-node:UUID |
| 脚本验证 | validate_script | ✅ 已实现 | |
| 撤销/重做 | undo/redo | ✅ 已实现 | |
| VFX 管理 | manage_vfx | ✅ 已实现 | |

View File

@@ -261,7 +261,10 @@ Args: [你的项目所在盘符]:/[项目路径]/packages/mcp-bridge/mcp-proxy.j
- **描述**: 执行菜单项
- **参数**:
- `menuPath`: 菜单项路径,如 `Assets/Create/Folder`。支持映射常用命令:`File/New Scene`, `File/Save Scene`, `Edit/Undo`, `Edit/Redo`, `Project/Build`
- `menuPath`: 菜单项路径。
- 支持 `Project/Build` (构建项目)。
- 支持 `delete-node:${UUID}` (推荐)**直接删除指定节点**,不依赖编辑器选中状态,比 `Edit/Delete` 更稳定。
- **注意**: 为了精确控制和稳定性,原有的 `File/Save`, `Edit/Undo` 等映射已移除,请直接使用 `save_scene`, `manage_undo` 等专用 MCP 工具。
### 19. apply_text_edits

View File

@@ -61,5 +61,10 @@
### 3. 关键 Bug 修复
- **属性批量应用中断**: 修复了 `scene-script.js``applyProperties` 函数在处理 Asset 类型属性时错误使用 `return` 导致后续属性(如 `type`)被忽略的问题。现在改为 `continue`,确保所有属性都能被正确应用。
## 五、 总结
本次更新不仅修复了制约生产力的材质与资源同步 bug还通过引入 `manage_shader` 和全方位的文档中文化,极大提升了开发者(及 AI 助手)在 Cocos Creator 2.4.x 环境下的操作体验。
### 6.2 菜单映射清理
- **移除冗余**: 清理了 `execute_menu_item` 中过时或不稳定的菜单映射 (如 `File/Save`, `Edit/Delete` 等)。
- **规范操作**: 强制引导 AI 使用 `delete-node:UUID` 或专用 MCP 工具 (`save_scene`, `manage_undo`),提高了自动化流程的稳定性。
## 六、 总结
本次更新不仅修复了制约生产力的材质与资源同步 bug还通过引入 `manage_shader` 和全方位的文档中文化,极大提升了开发者(及 AI 助手)在 Cocos Creator 2.4.x 环境下的操作体验。针对菜单执行工具的清理进一步规范了自动化操作流程,减少了潜在的不稳定性。

23
main.js
View File

@@ -378,23 +378,36 @@ const getToolsList = () => {
},
{
name: "execute_menu_item",
description: `${globalPrecautions} 执行菜单项`,
description: `${globalPrecautions} 执行菜单项。对于节点删除,请使用 "delete-node:UUID" 格式以确保精确执行。对于保存、撤销等操作,请优先使用专用工具 (save_scene, manage_undo)。`,
inputSchema: {
type: "object",
properties: {
menuPath: { type: "string", description: "菜单项路径" },
menuPath: { type: "string", description: "菜单项路径 (支持 'Project/Build' 或 'delete-node:UUID')" },
},
required: ["menuPath"],
},
},
{
name: "apply_text_edits",
description: `${globalPrecautions} 应用文本编辑`,
description: `${globalPrecautions} 对文件应用文本编辑。**专用于修改脚本源代码 (.js, .ts) 或文本文件**。如果要修改场景节点属性,请使用 'manage_components'。`,
inputSchema: {
type: "object",
properties: {
filePath: { type: "string", description: "文件路径" },
edits: { type: "array", items: { type: "object" }, description: "编辑操作列表" },
edits: {
type: "array",
items: {
type: "object",
properties: {
type: { type: "string", enum: ["insert", "delete", "replace"], description: "操作类型" },
start: { type: "number", description: "起始偏移量 (字符索引)" },
end: { type: "number", description: "结束偏移量 (delete/replace 用)" },
position: { type: "number", description: "插入位置 (insert 用)" },
text: { type: "string", description: "要插入或替换的文本" },
},
},
description: "编辑操作列表。请严格使用偏移量(offset)而非行号。",
},
filePath: { type: "string", description: "文件路径 (db://...)" },
},
required: ["filePath", "edits"],
},

View File

@@ -17,7 +17,7 @@ Editor.Panel.extend({
ready() {
const root = this.shadowRoot;
// 获取元素
// 获取 DOM 元素
const els = {
port: root.querySelector("#portInput"),
btnToggle: root.querySelector("#btnToggle"),
@@ -52,7 +52,7 @@ Editor.Panel.extend({
}
});
// Initialize IPC UI
// 初始化 IPC UI
new IpcUi(root);
// 2. 标签切换
@@ -104,7 +104,8 @@ Editor.Panel.extend({
els.result.value = "";
});
els.testBtn.addEventListener("confirm", () => this.runTest(els));
// 添加探查功能
els.testBtn.addEventListener("confirm", () => this.runTest(els));
// 添加 API 探查功能
const probeBtn = root.querySelector("#probeApisBtn");
if (probeBtn) {
probeBtn.addEventListener("confirm", () => {
@@ -153,7 +154,7 @@ Editor.Panel.extend({
};
els.toolsList.appendChild(item);
});
// 保存工具信息到实例,以便后续使用
// 保存工具映射表,以便后续检索
this.toolsMap = toolsMap;
els.result.value = `Loaded ${data.tools.length} tools.`;
})