AI 控制台、机器人、IM 与 Udesk

本文整理 AI 报价、智能询价、机器人会话、IM 群聊、Udesk 客户同步和 AI 控台配送能力。该链路横跨移动商城、机器人、客户、商品搜索、VIN、IM 和外部客服系统。

业务目标

  • 通过 AI/机器人识别客户消息、图片、语音、VIN 和配件需求。
  • 根据服务站、客户、商品、库存、价格返回报价或商品列表。
  • 支持 IM 群聊成员变更和业务消息消费。
  • 将服务站客户同步到 Udesk。
  • AI 控台可辅助配送相关操作。

入口文件

  • AI 控台:application/controllers/aiConsole/Courier.php
  • AI 服务:application/Services/Ai/AiSer.php
  • 油品处理:application/Services/Ai/OilService.php
  • 机器人 V1:application/Services/MoveMall/Robot/*
  • 机器人 V2:application/Services/MoveMall/RobotV2/*
  • IM 服务:application/Services/IM/IMService.php
  • Udesk 服务:application/Services/Udesk/CustomerService.php
  • IM 消费:application/controllers/tasks/ImCenterNotify.php
  • Udesk 任务:application/controllers/tasks/UdeskAsync.phpUdeskNotify.php

核心表

| 表 | 用途 | | --- | --- | | t_scm_robot_conversation | 机器人会话 | | t_scm_robot_pre_conversation / t_robot_conversation_pre | 预会话 | | t_scm_robot_conversation_record | 会话记录 | | t_scm_robot_quote_config / t_scm_robot_quote_config_info | 机器人报价范围 | | t_scm_quote_range / t_scm_quote_range_config | AI 报价范围 | | t_scm_robot_search_log | 机器人搜索日志 | | t_scm_robot_friend / t_scm_robot_friend_bind | 机器人好友绑定 | | t_bs_contact / t_bs_contact_info | Udesk 客户同步来源 |

核心方法

AI:

  • AiSer::showOfferSheet:展示报价单。
  • AiSer::searchGoods:AI 商品搜索。
  • AiSer::parseVin:VIN 解析。
  • AiSer::getIntentByAutoChat:意图识别。
  • AiSer::aiCenterNotify:AI 中心通知。
  • AiSer::offerSheet / sendOfferSheet:报价单生成和发送。
  • AiSer::parseVoice / parsePart:语音、图片识别。

机器人:

  • RobotKeywordManager:关键词缓存。
  • RobotSegmentationService::segmentAndMatch:分词匹配。
  • RobotV2 的 ConversationFactoryConversationContextConversationContextKeys 管理会话上下文。
  • RobotV2 Handler/Strategy/QueryService 负责按场景查询。

IM:

  • IMService::userBatchCreate:批量创建用户。
  • changeRoomUserByStore / changeRoomUserByRight / changeRoomUserByAdmin:群成员变更。
  • groupInfo / groupStatus:群信息。
  • ImCenterNotify::handleImAppBizMessage:IM 应用业务消息。

Udesk:

  • CustomerService::create:创建客户。
  • CustomerService::update:更新客户。
  • UdeskAsync::createCustomer / updateCustomer:异步同步。
  • UdeskNotify::consume:Udesk 通知消费。

主流程

flowchart TD
  A["客户消息/图片/语音/VIN"] --> B["机器人或 AI 意图识别"]
  B --> C["提取车型、品类、品牌、规格、数量"]
  C --> D["查询商品、价格、库存"]
  D --> E["生成报价或商品列表"]
  E --> F["通过 IM/机器人发送"]
  F --> G["客户确认后进入购物车/订单"]

异常流程

  • AI 搜索结果不准:查意图、分词、关键词缓存、商品 ES/物料缓存。
  • 图片/语音识别失败:查文件地址、AI 中心回调、预会话状态。
  • 会话卡住:查预会话状态 pending/processing/completed/cancelled/timeout。
  • IM 消息未处理:查 ImCenterNotify 的 routing key 和消息体。
  • Udesk 未同步:查 UdeskAsync、客户资料、外部返回码。

常用 rg 命令

rg -n "AiSer|searchGoods|parseVin|aiCenterNotify|sendOfferSheet|parseVoice|parsePart" application/Services/Ai application/controllers
rg -n "RobotKeywordManager|RobotSegmentationService|ConversationFactory|ConversationContextKeys|PreConversation" application/Services/MoveMall/Robot application/Services/MoveMall/RobotV2
rg -n "IMService|ImCenterNotify|handleImAppBizMessage|DEST_IMCENTER_NOTIFY" application/Services/IM application/controllers/tasks application/KzData/Enums
rg -n "UdeskAsync|UdeskNotify|CustomerService|udesk_customer" application/controllers/tasks application/Services/Udesk application/KzData/Enums

改动风险和回归清单

  • AI:VIN、图片、语音、商品搜索、报价单。
  • 机器人:关键词缓存、会话上下文、分页、库存过滤。
  • IM:群成员、业务消息、消息重复消费。
  • Udesk:客户新增、客户更新、异步失败补偿。
  • 订单联动:报价转下单、购物车、移动商城订单。