3 篇文章带有标签 “pi-agent-core”

OpenClaw 智能体引擎工作流程及实现代码分析

1. 智能体引擎概述

OpenClaw 智能体引擎是基于 @mariozechner/pi-agent-core 构建的完整 AI 智能体执行系统,提供从简单的单智能体执行到复杂的多智能体协作的完整功能。它支持多种工具类型、安全沙箱执行、详细的会话管理和高度可扩展的架构。

2. 核心架构组件

2.1 主要入口文件

文件 功能
pi-embedded-runner.ts 智能体引擎主入口,导出所有核心功能
pi-embedded-runner/run.ts 核心执行逻辑,处理智能体运行流程
pi-embedded.ts 整合所有智能体相关功能的统一入口
agent-scope.ts 智能体配置解析和管理
workspace.ts 智能体工作区管理

2.2 核心执行流程

// 主执行函数
runEmbeddedPiAgent()
  → buildEmbeddedRunPayloads()  // 构建运行 payload
  → runEmbeddedAttempt()        // 执行单次尝试
    → resolveModel()            // 解析模型配置
    → 工具调用和交互
    → 结果处理和清理

3. 智能体引擎工作流程详解

3.1 初始化阶段

OpenClaw - 智能体

网关架构 (Gateway Architecture)

概述

  • 一个长期的网关 (Gateway) 进程拥有所有消息传输表面(WhatsApp 通过 Baileys,Telegram 通过 grammY,Slack,Discord,Signal,iMessage,WebChat)。
  • 控制平面客户端(macOS 应用、CLI、Web UI、自动化脚本)通过 WebSocket 连接到网关,绑定在配置的主机上(默认 127.0.0.1:18789)。
  • 节点 (Nodes)(macOS/iOS/Android/无头设备)也通过 WebSocket 连接,但需声明 role: node 并包含明确的能力/命令。
  • 每台主机对应一个网关;它是唯一开启 WhatsApp 会话的地方。
  • 画布主机 (Canvas host)(默认 18793)用于提供代理可编辑的 HTML 和 A2UI。

组件与流程

网关 (Gateway) (守护进程)

  • 维护提供商连接。
  • 公开类型化的 WS API(请求、响应、服务器推送事件)。
  • 根据 JSON Schema 验证入站数据帧。
  • 触发事件,如 agentchatpresencehealthheartbeatcron

客户端 (Client) (Mac 应用 / CLI / Web 管理)

  • 每个客户端一条 WS 连接。
  • 发送请求 (healthstatussendagentsystem-presence)。
  • 订阅事件 (tickagentpresenceshutdown)。