跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptAI大前端

OpenClaw WebUI Chat 工作流程及核心组件

OpenClaw WebUI 基于 Web Components 构建,包含控制界面与 Agent 交互。架构分为前端(control-ui)与后端(Gateway、Agent、Session)。Chat 流程涵盖初始化、消息发送、会话管理、工具调用及界面交互。核心 API 包括 chat.send 和 chat.history,支持流式响应与 WebSocket 实时通信。

小熊软糖发布于 2026/4/6更新于 2026/5/2025 浏览

整体架构

OpenClaw WebUI 是一个基于 Web Components 的现代前端应用,提供了直观的聊天界面来与 OpenClaw Agent 进行交互。

主要程序名称

前端程序

  1. control-ui/index.html - WebUI 主页面
  2. control-ui/assets/index-BeKTXH1m.js - 打包后的前端核心代码
  3. control-ui/assets/index-DWhx-9JL.css - 前端样式文件

后端服务

  1. Gateway 服务 - 运行在端口 18789,提供 API 端点
  2. Agent 服务 - 处理代理逻辑
  3. Session 服务 - 管理会话状态

Chat 工作流程

1. 初始化阶段

  • 页面加载:用户访问 WebUI 地址(通常是 http://localhost:18789)
  • WebSocket 连接:前端与 Gateway 建立 WebSocket 连接,用于实时通信
  • 会话加载:前端加载默认会话或上次活动的会话
  • 历史记录获取:调用 chat.history API 端点获取历史消息

2. 消息发送流程

  1. 用户输入:用户在聊天输入框中输入消息
  2. 消息处理:
    • 前端验证输入内容
    • 显示'正在发送'状态
    • 生成唯一的 runId 标识本次对话
  3. API 调用:
    • 前端调用 chat.send API 端点
    • 发送数据包括:会话密钥、消息内容、幂等性密钥
    • 支持附件(如图片)上传
  4. 后端处理:
    • Gateway 接收请求并路由到相应的 Agent
    • Agent 分析消息内容
    • 可能调用工具(如 web_search)获取信息
    • 生成回复内容
  5. 消息接收:
    • 后端通过 WebSocket 流式返回回复
    • 前端实时显示回复内容
    • 支持工具调用结果的展示

3. 会话管理

  • 会话选择:用户可以在下拉菜单中选择不同的会话
  • 会话切换:切换会话时会加载对应会话的历史记录
  • 会话刷新:用户可以手动刷新聊天数据

4. 工具调用流程

  1. 工具检测:Agent 分析用户请求,确定是否需要调用工具
  2. 工具调用:
    • 前端显示工具调用状态
    • 后端执行工具操作(如搜索)
  3. 结果处理:
    • 工具执行结果返回给 Agent
    • Agent 分析结果并生成回复
    • 前端显示工具调用结果和 Agent 回复

5. 界面交互

  • 主题切换:支持系统、浅色、深色三种主题
  • 思考模式:可切换显示/隐藏 Agent 的思考过程
  • 专注模式:可切换显示/隐藏侧边栏和页面标题
  • 消息滚动:新消息自动滚动到底部
  • 加载状态:显示各种操作的加载状态

核心 API 端点

  1. chat.send - 发送聊天消息
    • 参数:sessionKey, message, idempotencyKey, attachments
    • 返回:Agent 回复
  2. chat.history - 获取聊天历史
    • 参数:sessionKey, limit
    • 返回:历史消息列表
  3. status - 获取系统状态
    • 返回:系统运行状态
  4. health - 获取系统健康状态
    • 返回:系统健康信息

技术特点

  1. 流式响应:支持模型回复的流式展示,提升用户体验
  2. 实时通信:使用 WebSocket 实现实时消息传递
  3. 模块化设计:前端代码采用模块化结构,易于维护
  4. 响应式布局:适配不同屏幕尺寸
  5. 丰富的交互:支持表情、图片、工具调用等多种交互方式

工作流程图

┌─────────────┐     ┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   用户界面   │     │  前端处理   │     │ Gateway 服务│  │   Agent 服务  │
└─────┬───────┘     └─────┬───────┘     └─────┬───────┘     └─────┬───────┘
      │                  │                  │                  │
      │ 输入消息         │                  │                  │
      ├─────────────────>│                  │                  │
      │                  │ 验证输入         │                  │
      │                  │ 生成 runId       │                  │
      │                  │                  │                  │
      │                  │ 调用 chat.send API│                  │
      │                  ├─────────────────>│                  │
      │                  │                  │ 路由请求         │
      │                  │                  ├─────────────────>│
      │                  │                  │                  │
      │                  │                  │                  │
      │                  │                  │                  │ 处理消息
      │                  │                  │                  ├─────────┐
      │                  │                  │                  │         │
      │                  │                  │                  │ 调用工具
      │                  │                  │                  │         │
      │                  │                  │                  │         │
      │                  │                  │                  │<────────┘
      │                  │                  │                  │
      │                  │                  │                  │ 生成回复
      │                  │                  │                  │
      │                  │                  │<─────────────────┘
      │                  │<─────────────────┘
      │                  │
      │                  │ 流式返回回复
      │                  │
      │<─────────────────┘
      │
      │ 显示回复
      │
┌─────┴───────┐
│   用户界面   │
└─────────────┘

目录

  1. 整体架构
  2. 主要程序名称
  3. 前端程序
  4. 后端服务
  5. Chat 工作流程
  6. 1. 初始化阶段
  7. 2. 消息发送流程
  8. 3. 会话管理
  9. 4. 工具调用流程
  10. 5. 界面交互
  11. 核心 API 端点
  12. 技术特点
  13. 工作流程图
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Ubuntu 20.04 NVIDIA Tesla P40 驱动安装指南:核显与计算卡分离方案
  • SSM 框架与 Spring MVC 完整整合实战指南
  • 自定义 Shell 命令行解释器的实现与进程协作实践
  • Llama-3 接入 verl 框架的 GRPO 训练实践
  • Python 多版本安装与环境变量配置指南
  • Windows 下 Docker Desktop 安装与配置指南
  • Git 跨平台下载与安装指南
  • Mac 基于 LLaMA Factory 微调模型并导入 Ollama 实践
  • C++ OpenGL 安装与使用指南
  • Python Pandas DataFrame 常用方法精讲
  • Linux 线程概念详解
  • Windows 本地运行 DeepSeek 的三步配置指南
  • Ubuntu 20.04 安装 ROS Noetic 完整指南
  • Spring Web MVC 入门:从概念到实战(上)
  • Java 外卖跑腿代驾小程序开发方案与技术栈解析
  • Python 生成 HTTP 流量 PCAP 报文工具,支持 TCP 握手与四元组递增
  • 自动化维修流水线:多任务并行调度最短时间求解
  • SHCTF 第三届 Web 赛题部分解题复盘
  • 向量数据库核心算法:HNSW 详解
  • 前端静态站点生成(SSG)技术解析

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online