整体的架构是什么

OpenClaw 是一个 智能体网关,内置了一个 基于 pi-mono 的智能体框架。它作为一个服务器,提供了多平台消息渠道的支持(例如飞书、WhatsApp 等),用户可以通过不同的客户端,通过这些消息渠道来访问和交互 OpenClaw 服务。

节点(Node)和代理(Agent)

  • 节点(Node) 是一些 声明自己具备特定功能 的客户端。例如,一个客户端可以声明自己具备发送 WhatsApp 消息的能力,或者控制摄像头、获取位置信息等。这些客户端被称为“节点”。

  • 代理(Agent) 是一个中介工具,用来执行任务。代理通过与 OpenClaw 网关通信, 调度节点 完成特定操作。比如,当用户通过飞书发送“给 WhatsApp 发送消息”的请求时,OpenClaw 网关会启动一个代理,通过节点来实现这个操作(即通过已声明具备发送 WhatsApp 消息能力的节点来发送消息)。

代理的作用就是 协调和管理 节点的任务,确保正确执行用户的请求,能够把消息从飞书传送到 WhatsApp 等平台。

pi-mono 智能体框架

pi-mono 是一个 智能体管理框架,它为智能体提供了一个完整的 生命周期管理、任务调度、状态管理和协作 的平台。通过 pi-mono,开发者可以高效管理多个智能体,简化智能体的创建、运行和管理过程。它通过提供以下功能,使开发者能够专注于智能体的业务逻辑和功能:

  1. 生命周期管理:管理智能体的创建、启动、执行和停止。
  2. 任务调度与执行:支持智能体执行异步和定时任务。
  3. 状态管理:持久化和恢复智能体的状态,保证智能体在不同会话中的一致性。
  4. 智能体间协作:支持多个智能体之间的通信和任务协调。
  5. 持久化存储:能够存储智能体的执行结果、日志、历史数据等。

总的来说,pi-mono 提供了智能体的 基础设施,帮助开发者管理智能体的 生命周期任务调度,减少了开发者需要处理的底层管理工作,让他们可以专注于 智能体的核心功能业务逻辑