加入我们的 Telegram 社群 (clawdbotCN) 学习分享和了解更多 →
核心概念
概述

核心概念

Clawdbot 的架构设计围绕几个核心概念,理解这些概念将帮助你更好地配置和使用系统。

架构概览

┌─────────────────────────────────────────────────────────────┐
│                        网关 (Gateway)                        │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌─────────┐        │
│  │WhatsApp │  │Telegram │  │ Discord │  │  Slack  │  ...   │
│  └────┬────┘  └────┬────┘  └────┬────┘  └────┬────┘        │
│       │            │            │            │              │
│       └────────────┴────────────┴────────────┘              │
│                          │                                   │
│                    ┌─────┴─────┐                            │
│                    │  路由器   │                             │
│                    └─────┬─────┘                            │
│       ┌──────────────────┼──────────────────┐              │
│  ┌────┴────┐        ┌────┴────┐        ┌────┴────┐        │
│  │ 代理 1  │        │ 代理 2  │        │ 代理 3  │        │
│  │(默认)   │        │(工作)   │        │(个人)   │        │
│  └─────────┘        └─────────┘        └─────────┘        │
└─────────────────────────────────────────────────────────────┘

核心组件

网关 (Gateway)

网关是 Clawdbot 的中心组件,负责:

  • 管理所有消息渠道的连接
  • 路由消息到正确的代理
  • 维护会话状态
  • 提供 WebSocket API

了解更多 →

代理 (Agent)

代理是独立的 AI 人格,每个代理拥有:

  • 独立的工作空间 (workspace)
  • 独立的状态目录 (agentDir)
  • 独立的会话存储
  • 独立的认证配置

了解更多 →

会话 (Session)

会话是对话的上下文容器:

  • 私聊消息可以共享主会话或独立会话
  • 群聊消息默认使用独立会话
  • 支持自动重置策略

了解更多 →

渠道 (Channel)

渠道是与聊天平台的连接:

  • 每个平台使用特定的协议库
  • 支持私聊和群聊
  • 可配置访问策略

了解更多 →

关键特性

流式传输

Clawdbot 支持实时流式响应:

  • 消息分块发送,实时显示
  • 可配置分块大小
  • 支持部分流式模式

消息分块

长消息自动分块:

  • 默认每块 4000 字符
  • 根据平台限制自动调整
  • 保持消息完整性

安全访问控制

多层安全机制:

  • 配对模式: 未知用户需要配对码
  • 白名单模式: 只允许列表中的用户
  • 开放模式: 允许所有用户

沙箱隔离

代理可以运行在沙箱中:

  • host: 直接在主机运行
  • docker: 在 Docker 容器中隔离

配置结构

{
  // 工作空间
  workspace: "~/clawd",
 
  // 渠道配置
  channels: {
    whatsapp: { /* ... */ },
    telegram: { /* ... */ }
  },
 
  // 代理配置
  agents: {
    default: { /* ... */ },
    work: { /* ... */ }
  },
 
  // 绑定规则
  bindings: [
    { match: { channel: "telegram" }, agent: "work" }
  ]
}

下一步