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


## 整体架构
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 │                  │
      │                  ├─────────────────>│                  │
      │                  │                  │ 路由请求          │
      │                  │                  ├─────────────────>│
      │                  │                  │                  │
      │                  │                  │                  │ 处理消息
      │                  │                  │                  ├─────────┐
      │                  │                  │                  │         │
      │                  │                  │                  │ 调用工具
      │                  │                  │                  │         │
      │                  │                  │                  │         │
      │                  │                  │                  │<────────┘
      │                  │                  │                  │
      │                  │                  │                  │ 生成回复
      │                  │                  │                  │
      │                  │                  │<─────────────────┘
      │                  │<─────────────────┘
      │                  │
      │                  │ 流式返回回复
      │                  │
      │<─────────────────┘
      │
      │ 显示回复
      │
┌─────┴───────┐
│   用户界面   │
└─────────────┘

Read more

使用飞算JavaAI快速搭建药房管理系统

使用飞算JavaAI快速搭建药房管理系统

使用飞算JavaAI快速搭建药房管理系统 飞算JavaAI炫技赛主题(毕设):使用飞算JavaAI快速搭建药房管理系统。 技术选型方案 采用Spring Boot + MyBatis Plus + MySQL + Redis的技术架构组合: 使用Spring Boot作为主框架提供快速开发和自动配置能力 集成Spring Security + JWT实现用户认证和细粒度权限控制 数据持久层采用MyBatis Plus简化药品、库存、处方的CRUD操作和复杂查询 MySQL 8.0作为主数据库存储药品信息、库存记录、处方数据、供应商信息等核心业务数据 Redis用于缓存热点数据(如药品目录、库存状态、用户会话)和实现分布式锁机制 同时整合Swagger生成API文档,使用Maven进行项目依赖管理 飞算JavaAI开发实录 接下来我会使用智能引导功能来一步一步的完成整个系统的搭建。 1.需求分析与规划 采用Spring Boot + MyBatis Plus + MySQL + Redis技术架构,实现药品库存管理、供应商管理、处方审核处理、药品销售管理和财务统计分析等核心功能

10分钟零代码!用OpenClaw搭建私人微信AI助理,彻底解放双手

10分钟零代码!用OpenClaw搭建私人微信AI助理,彻底解放双手

做了这么久AI应用落地,我被问得最多的问题就是:“能不能给我的微信整个AI助理,自动回消息、管日程、汇总群聊?” 说实话,这个需求我自己折腾了快两年,踩过的坑能绕开三圈: * 最早用itchat、wechaty写Python脚本,代码写了几百行,调试了半个月,结果用了不到3天,微信直接限制登录,差点把主号搞封了; * 后来用企业微信机器人,只能在企业群里用,个人微信、私域群完全用不了,局限性拉满; * 再后来试了市面上的第三方SaaS工具,要么是按月付费贵得离谱,要么是所有聊天数据都要传到人家服务器,客户信息、私人聊天全泄露了,根本不敢用; * 最头疼的是,所有方案都要写代码、调接口、搭环境,新手根本无从下手,就算是开发者,也要折腾好几天才能跑通。 直到我把OpenClaw部署落地后,这个问题被彻底解决了。不用写一行代码,不用研究微信协议,不用申请任何企业资质,10分钟就能搭好一个完全私有化的微信AI助理,消息自动回复、群聊汇总、日程提醒、待办管理全搞定,而且数据全在本地,大模型可以接本地开源的,完全不用担心隐私泄露,封号风险也降到了最低。 这篇文章,我就用保姆级的步骤

深度解析 MySQL 与 MCP 集成:从环境构建到 AI 驱动的数据交互全流程

深度解析 MySQL 与 MCP 集成:从环境构建到 AI 驱动的数据交互全流程

前言 在当前大语言模型(LLM)应用开发的浪潮中,MCP(Model Context Protocol)协议正在成为连接 AI 模型与本地数据设施的关键桥梁。本文将以 MySQL 数据库为例,详细拆解如何通过 MCP 协议让 AI 模型直接操作关系型数据库,涵盖从服务器发现、数据库架构设计、数据初始化、MCP 配置文件编写到复杂自然语言查询与写入的全过程。 第一部分:MCP 服务器的发现与配置获取 在进行任何数据交互之前,首要任务是确立连接协议与服务源。通过蓝耘 MCP 广场,开发者可以快速检索并获取所需的 MCP 服务器配置。 在搜索栏输入 mysql 关键字,系统会立即检索出相关的 MCP 服务器资源。如下图所示,搜索结果中清晰展示了 MySQL 对应的 MCP 服务卡片。 点击选中该 MCP 服务器后,

AI的提示词专栏:用 Prompt 生成正则表达式进行文本匹配

AI的提示词专栏:用 Prompt 生成正则表达式进行文本匹配

AI的提示词专栏:用 Prompt 生成正则表达式进行文本匹配 本文围绕 “用 Prompt 生成正则表达式” 展开,先阐述二者结合的价值,即降低正则使用门槛、提升效率并适配灵活场景;接着介绍正则核心基础,为精准描述 Prompt 打基础;随后详解 Prompt 设计的三大原则与四段式结构,确保模型生成精准正则;还通过匹配固定电话、提取 URL 域名等 5 个高频场景,提供完整 Prompt 示例、模型输出及验证分析;最后梳理常见问题与解决方案,并给出总结与扩展学习建议,整体为读者提供从需求描述到工具落地的完整指南,助力高效解决文本匹配问题。 人工智能专栏介绍     人工智能学习合集专栏是 AI 学习者的实用工具。它像一个全面的 AI 知识库,把提示词设计、AI 创作、智能绘图等多个细分领域的知识整合起来。无论你是刚接触 AI 的新手,还是有一定基础想提升的人,都能在这里找到合适的内容。