Clawdbot 架构

深入了解 Clawdbot AI 助手架构。学习网关-代理模型、WebSocket API、消息流程和系统设计。

Clawdbot 架构概述

Clawdbot 采用网关-代理架构,将消息传输和 AI 处理的职责分离。这种设计实现了可扩展性、可靠性和多渠道支持。

系统组件

网关层

Clawdbot 网关是中央协调器:

组件职责
连接管理器维护提供商连接
消息路由器将消息路由到代理
会话管理器管理对话状态
WebSocket 服务器公开类型化 API

代理层

Clawdbot 代理处理 AI 处理:

组件职责
运行时执行代理逻辑
工具执行器运行工具和技能
上下文管理器管理对话上下文
响应生成器生成 AI 响应

消息流程

入站流程

提供商 → 网关 → 路由器 → 代理 → 运行时
  1. 提供商接收消息
  2. 网关规范化格式
  3. 路由器选择目标代理
  4. 代理处理消息
  5. 运行时生成响应

出站流程

运行时 → 代理 → 网关 → 提供商 → 用户
  1. 运行时生成响应
  2. 代理格式化消息
  3. 网关路由到提供商
  4. 提供商投递消息

WebSocket API

连接

const ws = new WebSocket('ws://localhost:3010');

ws.on('open', () => {
  ws.send(JSON.stringify({
    type: 'auth',
    token: 'your-token'
  }));
});

消息类型

类型方向描述
auth客户端→服务器认证连接
message双向发送/接收消息
status服务器→客户端连接状态更新
typing服务器→客户端输入指示器

状态管理

会话状态

Clawdbot 在多个级别维护状态:

全局状态
  └── 代理状态
        └── 会话状态
              └── 消息状态

状态持久化

状态类型存储生命周期
全局clawdbot.json永久
代理agents/<id>/按代理
会话sessions/<key>.jsonl直到过期
消息内存按请求

可扩展性

水平扩展

Clawdbot 支持水平扩展:

  • 负载均衡器后的多个网关实例
  • 共享会话存储以保持一致性
  • 无状态消息处理

资源限制

资源默认值可配置
最大连接数100
消息缓冲区1000
会话超时24小时

安全模型

认证

  • API 密钥认证
  • 基于令牌的 WebSocket 认证
  • 每提供商凭证

授权

  • 工具级权限
  • 代理级隔离
  • 会话级访问控制

下一步