集合审阅
集合审查¶
在 auto 模式下,Gateway 为每个代理维护一个每周自动化任务。它是一个普通的隔离代理回合:cron 负责调度、取消和运行历史。propose 和 off 会禁用这些审查。
审查者使用常规文件工具读取和编辑代理的 Workshop 目录。目录列表采用分页方式以适配所选模型,而不是将每个文件路径都放入初始提示中。审查者会在更改该目录之前先完成每次继续。技能内容是审查材料,而不是活动指令。它保留有用的流程,简化臃肿的技能,合并重叠内容,并删除过时文件。当前运行中未被使用绝不构成删除的理由。使用跟踪和体验审查保持活动;每周清理不会获得单独的使用记录表。
文件工具始终以 Workshop 目录为根。Shell 命令使用操作者现有的 cron 执行和审批策略;启用审查不会授予额外的 shell 访问权限。需要审批的策略可以拒绝无人值守的 shell 命令;完全访问策略则允许这些命令。文件发现不需要 shell。
审查支持嵌入式运行时,以及声明指令隔离、禁用其原生工具、并且只使用 Gateway 受限 OpenClaw 工具集(包括 Claude CLI)的 CLI 运行时。这些 CLI 审查保留宿主选择的指令快照;Workshop 技能内容仍然是审查材料。OpenClaw 将 Workshop 文件根和准备好的沙箱传递给中介工具。仅更改 CLI 工作目录并不能提供隔离。
不具备这些保证的运行时(包括未声明的 CLI 后端、Codex harness 和节点放置的 CLI 执行)仍然不支持有根审查。当配置的模型链被证明不受支持时,每周任务保持可见,但处于禁用状态,其显示名称中带有 no-rooted-runtime。请配置受支持的运行时或回退方案;Gateway 启动和配置重载会协调启用状态并清除该原因。协调使用准备好的策略,并一次处理一个代理,在更新之间让出,以便全舰队范围的审查准备不会阻塞 Gateway 健康检查请求。存储的会话模型或运行时偏好会被保留;带有这些偏好的审查保持启用,因为仅凭配置无法证明其执行路径。如果无法静态确定资格,该任务保持启用,并且运行时准入仍会拒绝不受支持的执行,并附上解释。不会替换运行时来绕过该检查。如果启用的沙箱具有 workspaceAccess: "ro" 或 "none",该回合将拒绝运行,而不是编辑一次性副本。可写沙箱使用代理的 Workshop 目录。沙箱后端必须支持目录读取,以提供无需 shell 的发现。捆绑后端使用其现有的文件系统权限进行这些读取。
变更与恢复¶
集合审查遵循正常的代理文件编辑语义。如果后续步骤失败或回合被取消,已完成的编辑仍然保留。没有集合级事务、回合后扫描器、自动回滚或单独的审查历史写入器。这也防止失败的审查用旧树覆盖并发操作者编辑。在 技能 Workshop 的工作原理 中描述的每个技能提案验证、扫描和应用行为保持不变。
审查者最后会总结变更和删除原因,或说明为何无需更改。可在自动化任务的运行历史中找到。审查不会向对话发布公告。未来的会话会加载更改后的技能;正在运行的会话保留其现有的指令快照。
现有集合备份会被保留。restore_collection 操作可以恢复先前审查实现中保留的备份,但新的审查不会创建集合备份。history 操作读取那些历史审查记录;当前结果属于自动化任务历史。恢复操作拒绝覆盖该备份之后被更改的受影响技能。
当旧备份无法自动恢复时¶
当恢复操作无法完整读取当前结果树或其保存的原件中所包含的内容(包括超过十六个路径组件的内容)时,也会拒绝恢复。这会使当前技能文件和保留的备份保持完整。旧备份可能包含省略了更深层文件的哈希,因此从当前树中删除该内容无法使备份可验证。被清理丢弃的技能仍然可以恢复到其缺失路径,包括深层支持文件。不要仅仅为了让恢复通过而编辑备份哈希,或删除/扁平化实时文件。
对于操作者主导的恢复:
- 在比较或恢复文件之前,暂停对代理的 Workshop 目录的写入,包括集合审查。
- 在
<agentDir>/skill-workshop/collection-backups/<backup-id>/下找到备份。 其manifest.json在skillDirs和resultSkillDirs中标识受影响的 Workshop 相对目录。 - 在 Workshop 和状态目录之外创建一个新的私有检查目录。将整个备份目录(包括
manifest.json和所有已保存内容)复制到其中。当前备份使用skills/;仅历史导入使用history/workspace/。另外将每个现有受影响的当前目录分别复制到current/子树中,保留其 Workshop 相对路径。包括隐藏文件和所有嵌套内容。如果有任何文件无法复制,请停止,而不是使用部分副本。 - 比较检查副本以选择预期内容。在审查期间保持实时树和原始备份不变,并在执行任何操作者批准的恢复之前保留两个版本未编辑的副本。
保留的旧版备份可能位于
<state-dir>/skill-workshop/collection-backups/<workspace-hash>/<backup-id>/ 下,
并包含 workspace/ 子树。在检查副本中保留该原始布局;不要重写 manifest 以使旧备份看起来是当前的。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw