实践openclaw-concepts
Agent loop · OpenClaw — 理解OpenClaw agent循环的完整生命周期与可插拔钩子系统
理解OpenClaw agent循环的完整生命周期与可插拔钩子系统
2026-06-29原文
本文为要点摘要,完整细节以原文为准。
🧭 一图看懂
由原文自动提炼 · 以原文为准点击任一分支,查看这一点的一句话解读
OpenClaw Agent 循环生命周期
从 RPC 到嵌入式 agent 的串行执行流程
- agent RPC 校验参数、解析会话并立即返回 runId
- runEmbeddedAgent 通过队列串行化运行并流式输出
- agent.wait 等待终态结果 status/startedAt/…
⚙️ 流程拆解
STEP 1agent RPC 校验并解析会话
STEP 2agentCommand 解析模型与默认值
STEP 3runEmbeddedAgent 串行化并构…
STEP 4流式输出助手与工具增量
STEP 5执行工具并净化结果
STEP 6组装最终回复载荷
🔗 涉及的概念与玩家
- OpenClaw产品
- agent RPC方法
- runEmbeddedAgent方法
- agent.wait方法
- Codex app-server产品
- before_tool_call方法
- OpenAI Responses模型
- Gateway产品
- OpenClaw—提供入口→agent RPC
- agent RPC—调用→runEmbeddedAgent
- runEmbeddedAgent—等待终态→agent.wait
- OpenClaw—支持钩子→before_tool_call
- Codex app-server—兼容钩子→OpenClaw
- OpenClaw—处理响应→OpenAI Responses
- 串行化执行与队列:每个会话的agent运行通过会话队列和全局队列串行化,避免工具/会话竞争,保持历史一致性。这意味着设计agent harness时需考虑并发控制,防止状态冲突。
- 钩子点拦截:提供
before_tool_call、before_prompt_build等钩子,可阻断或修改行为。例如before_tool_call中block: true可终止工具调用,用于安全策略。这启示prompt设计应预留钩子接口,实现可插拔的约束注入。 - 会话写锁:使用基于文件的进程感知写锁,防止跨进程的会话文件并发写入,默认超时60秒。这提示agent harness需处理资源竞争,确保持久化一致性。
🕸 顺着图谱继续读
- Control UI and API keys · OpenClaw — OpenClaw 把密钥存储、模型目录刷新和用量统计拆成独立步骤,这个设计值得借2026-09-21 · 共同涉及 OpenClaw、Gateway
- openclaw v2026.6.35 — 六月 LTS 收官版:166 个 PR 全在补边界与恢复2026-09-10 · 共同涉及 OpenClaw、Gateway
- openclaw v2026.9.3 — 更新前先在隔离副本彩排,失败可回滚不中断 Gateway2026-09-08 · 共同涉及 OpenClaw、Gateway
- Subagent yield handoff · OpenClaw — 子代理让出控制权后,任务如何不丢?看注册表如何接管续跑。2026-09-07 · 共同涉及 OpenClaw、Gateway