4 篇文章带有标签 “websocket”

集成个人助手(OpenClaw|Hermes)的方式

聊天软件集成 OpenClaw 的方式

聊天软件要集成 OpenClaw,主要有这几类方式(可以组合): 用 OpenClaw 自带的“Channel 插件”直连(推荐,最省事) Telegram、WhatsApp、Discord、Slack、飞书/Lark、钉钉、Teams、Google Chat、Mattermost、Matrix、IRC、LINE、Signal、iMessage 等。 在 OpenClaw 的初始化或 openclaw channels add 里直接选通道、按向导配置即可。 本质上是:各 IM 的 Bot API / Webhook / Socket Mode / QR 扫码 对接到 OpenClaw 的 Gateway。初始化向导里可以看到支持的通道清单。 通用 HTTP 接口集成(适合任意聊天平台) OpenClaw 的 Gateway 提供了一个 HTTP 端点 /tools/invoke,可以调用单个工具(例如创建会话、发消息、拉取历史等),支持 Bearer 认证和 OpenAI 兼容的 /v1/* 风格接口。 你的聊天软件后端只要能发 HTTP POST,就可以用这个接口和 OpenClaw 交互。

OpenClaw 源代码分析

当用户在whatsapp, discord 等消息软件中发送了消息后,网关是如何获得的,再到回复,整个流程是如何运转的?

OpenClaw 消息处理完整流程

1. 消息接入2. 路由决策3. AI 处理4. 回复发送

核心文件位置

模块 文件位置 功能
渠道实现 extensions/*/src/channel.ts WhatsApp/Discord/Telegram 等渠道插件
渠道监听 extensions/discord/src/monitor/listeners.ts 监听渠道消息事件
消息分发 src/auto-reply/dispatch.ts 协调预处理、路由、回复
路由解析 src/routing/resolve-route.ts 根据 bindings 配置决定由哪个 agent 处理
网关服务 src/gateway/server.impl.ts 网关服务器主实现
Agent 执行 src/agents/pi-embedded-runner/ 运行 AI agent
消息发送 src/infra/outbound/deliver.ts 统一发送逻辑

详细流程示例(以 Discord 为例)

OpenClaw 架构设计

目录

  • 概览
  • 核心组件
  • 控制平面
  • 网关协议
  • 消息路由
  • 消息流程
  • 启动流程

概览

OpenClaw 是一个多渠道 AI 助手网关,设计用于在用户自己的设备上运行。它采用单一网关 + 多客户端/节点模型,支持 WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage 等多种通信渠道。

核心结构

组件 描述
🌐 Gateway(网关) 长期运行的守护进程,管理所有消息平台连接和智能体通信
💻 Clients(客户端) 控制平面应用(macOS 应用、CLI、Web 界面)
📱 Nodes(节点) 设备节点,提供硬件能力(macOS/iOS/Android/无头设备)

整体架构

WhisperLiveKit - 实时语音识别

WhisperLiveKit 演示

实时、完全本地化的语音转文本,带说话人识别功能

WhisperLiveKit 架构

构建 WhisperLiveKit

运行 pytorch 容器 - CUDA (JetsonThor)

docker run -it \
    --ipc=host \
    --net=host \
    --runtime=nvidia \
    --name=whisperlivekit \
    -v ~/.cache:/root/.cache \
    -v /models:/models \
    nvcr.io/nvidia/pytorch:25.10-py3 \
    bash

生成证书

mkdir -p .cert && cd .cert

openssl req -x509 -newkey rsa:4096 \
  -keyout key.pem \
  -out cert.pem \
  -days 365 \
  -nodes \
  -subj "/C=CN/ST=ShanDong/L=JiNan/O=LNSoft/OU=LNSoft/CN=localhost/emailAddress=wjj@163.com"

参数解释:

  • -x509:生成自签名证书
  • -newkey rsa:4096:新建 4096 位 RSA 密钥
  • -keyout key.pem:输出私钥文件
  • -out cert.pem:输出证书文件
  • -days 365:证书有效期 365 天
  • -nodes:不加密私钥(即无需输入密码)
  • -subj:直接指定证书主题,跳过交互式输入