
Executor 人机协作实战审批流、执行暂停与Resume机制完整指南【免费下载链接】executorThe missing integration layer for AI agents. Let them call any OpenAPI / MCP / GraphQL / custom js functions in secure environment.项目地址: https://gitcode.com/gh_mirrors/executor14/executorExecutor 是 AI Agent 的缺失集成层——让 AI 代理在安全环境中调用任意 OpenAPI、MCP、GraphQL 或自定义 JS 函数。本文带你吃透它的三大安全机制审批流Approval Flow、执行暂停Pause与 Resume 恢复机制掌握让 AI 干活、人来把关的人机协作完整姿势 为什么 AI Agent 需要刹车系统AI Agent 很能干但它可能会❌ 误删一条生产数据❌ 用错账号发起一笔支付❌ 在未经确认时发送一封对外消息Executor 的答案不是限制 AI 的能力而是给每个工具调用加一道人工确认关卡策略Policy决定哪些调用必须等人点头需要点头的调用会暂停执行人的决定再通过 Resume 机制送回执行要么继续、要么终止。这套机制对新手最友好的地方在于你不需要写任何安全代码只需配置策略审批流自动生效。核心概念一Policy 审批策略的三级开关在 Executor 中每个工具调用都受策略控制只有三种状态简单直接策略行为典型场景✅Allow允许直接执行不打断只读 GET 查询⏸️Require approval需审批执行暂停等待人类批准写入、删除、支付Block阻止完全禁止调用高危管理接口策略有合理默认值例如 OpenAPI 规范中的只读GET操作默认放行写操作可设为需审批且可以随时对任意工具微调。策略的完整说明见 apps/docs/concepts/policies.mdx。核心概念二执行暂停Pause是如何发生的当 Agent 调用了一个需审批的工具Executor 的执行引擎不会继续跑下去而是把这次执行冻结成一个暂停记录PausedExecution并把控制权交还给人类。引擎在 packages/core/execution/src/engine.ts 中实现了这套暂停/恢复语义对外暴露的关键能力包括executeWithPause执行代码遇到审批关卡时返回暂停状态getPausedExecution查询某个暂停中执行的详情pausedExecutionCount统计当前挂起的执行数量resume用人类的决定恢复或终止执行。暂停时Executor 会给 Agent 返回一份人话说明书包含待审批消息message说明这次调用是什么交互信息是打开某个 URL 完成浏览器流程还是填写表单或仅做模型侧确认⏰截止时间resumeDeadline审批窗口还有多久关闭executionId恢复执行时的唯一凭据。这样 Agent或前端界面就清楚知道该让谁、在哪里、做什么。核心概念三Resume 机制——人类的三种决定审批结束后Executor 通过 Resume 响应恢复执行ResumeResponse只有三种动作定义见 packages/core/execution/src/engine.tsaccept → 批准执行继续工具真正被调用 decline → 拒绝执行终止 cancel → 取消执行终止三个关键安全细节值得新手了解审批窗口有时效待审批记录默认15 分钟有效见 packages/core/sdk/src/pending-approval.ts。人看参数预览、做决定需要的是分钟级时间超过窗口后记录视为失效用户重新触发即可——因为此时什么都没执行所以失败也安全。一次批准只授权一次调用审批记录是单次消耗的恢复时被读取并删除。同一次批准无法被重放执行第二次。批准的是服务器生成的调用恢复时执行的代码是服务端构建的最终版本而非任何前端发来的字符串暂停期间没有人能偷偷扩大授权范围。三种审批模式browser / model / nativeExecutor 支持三种 elicitation 模式读取逻辑见 packages/hosts/mcp/src/browser-approval.ts决定人类在哪里做决定 browser 模式浏览器审批适合连接了图形界面的场景。被门禁的工具调用暂停后Executor 返回一个approvalUrl指向控制台的/resume/executionId审批页。你在浏览器里点批准或拒绝决定被记录下来Agent 的 resume 调用随即消费该结果并返回执行产出。 model 模式模型侧确认默认没有浏览器界面时的默认方式Agent 自己转述审批请求给你我准备调用 X 工具参数是 Y是否批准你口头同意后Agent 直接调用 resume 工具action传accept、decline或cancel。 native 模式客户端原生弹窗由支持 MCP 原生 elicitation 协议的客户端如桌面端直接弹出确认框体验最流畅。一个完整审批流的六步走把前面的概念串起来一次审批协作是这样发生的配置策略把敏感工具设为需审批默认策略通常已帮你做好Agent 发起调用execute工具运行沙箱代码命中审批关卡执行暂停引擎挂起执行返回executionId、审批消息与截止时间人类做决定在浏览器审批页、聊天界面或原生弹窗中选择 accept / decline / cancelResume 恢复决定被送回引擎——批准则工具真正执行拒绝则执行干净终止结果返回 Agent执行产出交还给 AI任务继续推进 ✅这套流程在本地、桌面、自托管与云环境通用同一实例内的暂停/恢复直接走引擎内存中的挂起纤维在按请求创建新执行器的宿主上则通过持久化待审批存储PendingApprovalStore记录待执行的最终调用审批到达后等价地重放保证任何部署形态下审批都能正确送达。快速上手三步体验审批流 想亲手试试步骤非常轻克隆仓库git clone https://gitcode.com/gh_mirrors/executor14/executor启动本地服务按仓库内 apps/docs/local/cli.mdx 的说明用 CLI 启动本地 Executor它自带 Web 控制台观察暂停与恢复连接一个需要审批的工具或直接用控制台里的 Run 面板它自带 autoApprove 一键批准选项在控制台观察waiting_for_interaction状态再到/resume/executionId页面完成审批。相关的端到端测试本地浏览器审批、暂停后恢复、审批超时可以直接阅读验证机制本地浏览器审批全流程apps/local/src/mcp-browser-resume.test.ts暂停与审批存储packages/core/sdk/src/pending-approval.ts策略概念文档apps/docs/concepts/policies.mdx小结安全与效率兼得机制解决的问题Policy 审批流AI 能做什么、何时必须问人执行暂停Pause危险操作先斩后奏变先奏后斩Resumeaccept/decline/cancel人类决定精确传达一次授权一次执行15 分钟审批窗口 服务端固化调用授权不失效、不扩大、不可重放对新手而言Executor 的审批流最大的价值是零代码接入配置好策略暂停、审批、恢复全部自动发生。AI 负责跑得快你负责踩得稳——这就是人机协作的正确打开方式。【免费下载链接】executorThe missing integration layer for AI agents. Let them call any OpenAPI / MCP / GraphQL / custom js functions in secure environment.项目地址: https://gitcode.com/gh_mirrors/executor14/executor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考