用途:管理 Unity 编辑器(Unity Editor)的原生撤销/重做(undo/redo)历史,适用于浏览或导航撤销历史、逐步撤销重做、审查改动内容等场景。
主要能力:提供三个技能。history_undo 撤销最近一次或多次操作,可选参数 steps(int,默认1),返回 { success, undoneSteps };history_redo 重做最近被撤销的一次或多次操作,可选参数 steps(int,默认1),返回 { success, redoneSteps };history_get_current 获取当前撤销组的名称,无参数,返回 { success, currentGroup, groupIndex }。
使用方式:调用模块内任何技能前,若参数是从名称或描述推测的,应先读取相关文件或通过 GET /skills/recommend?includeSchema=true 获取 schema;若已从 recommend/schema 获得参数定义,可直接进行 dryRun。精确名称、参数、默认值与返回值以 GET /skills/schema 或 unity_skills.get_skill_schema() 为准。
操作模式:history_get_current 为纯读操作,标 SkillMode.SemiAuto,三档模式下均可直接执行;history_undo 与 history_redo 会改变场景状态,默认 SkillMode.FullAuto(Operation=Execute),Approval 模式下需 grant。模块不含 NeverInSemi 高危技能。由于撤销/重做重放的是 Unity 原生 Undo/Redo 栈,无法像工作流模块的任务快照那样按写入类别分类,因此不像 workflow_undo_task / workflow_session_undo 那样带载荷级 SURFACE_EXCLUDED 检查。
路由建议:简单撤销/重做使用本模块的 history_undo / history_redo 或 editor_undo / editor_redo;持久任务级撤销使用 workflow 模块;对话级撤销使用 workflow 模块的 workflow_session_undo。
限制与常见误区:history_list / history_get 不存在,请用 history_get_current 获取当前撤销组;history_clear 不存在,Unity 撤销历史无法通过 API 清除;history_save 不存在,撤销历史由 Unity 自动管理。