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

OpenClaw WebUI 中 Chat 的工作流程及主要程序名称

OpenClaw WebUI 基于 Web Components 构建,提供与 Agent 交互的聊天界面。架构包含前端控制页面、Gateway 服务、Agent 服务及 Session 服务。工作流程涵盖初始化(WebSocket 连接)、消息发送(API 调用与流式响应)、会话管理及工具调用。核心 API 包括 chat.send 和 chat.history。技术特点支持流式响应、实时通信及模块化设计,适配多主题与响应式布局。

Ne0发布于 2026/4/8更新于 2026/5/2220 浏览

整体架构

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 回复
  • chat.history - 获取聊天历史
    • 参数:sessionKey, limit
    • 返回:历史消息列表
  • status - 获取系统状态
    • 返回:系统运行状态
  • 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

    更多推荐文章

    查看全部
    • Linux 进程信号的产生机制
    • Spring Boot 智驿 AI 系统毕业设计项目功能与技术栈
    • GitHub Copilot 接入 MCP 协议实战指南
    • 大模型在安防领域的实践应用
    • 从工具辅助到 AI 开发:前端新范式
    • Python 汽车租赁管理系统设计与实现
    • HarmonyOS6 RcInput 组件核心架构与类型系统设计
    • 大规模语言模型:从理论到实践
    • 国产 AI 大模型对比:智谱 GLM-5 与 MiniMax M2.5
    • Python Flask 实战:将本地学生成绩系统升级为在线 Web 应用
    • C++高性能推理优化全解析:AIGC 场景下吞吐量提升策略
    • Qwen-Image-Edit-2511 模型本地部署与功能特性分析
    • OpenClaw 新手入门:环境搭建、模型配置与 WebUI 远程访问
    • 网络安全入门:学习路线、工具与实战指南
    • 淘宝超市卡 TopAPI 接入实战:Spring Boot + Lombok 实现方案
    • AI 编程新范式:详解 Skills 概念及 Java 方法生成实战
    • FPGA 开发环境搭建:Vivado 与 Vitis 2023.1 安装指南
    • ELK 日志分析平台搭建与配置实战
    • FPGA 实现 CAN 总线:原理、Verilog 代码与硬件验证
    • Synbo 参与清迈黑客松:探索 Web3 创新网络的持续生长路径

    相关免费在线工具

    • 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