# Eino 页面版智能客服改造记录从飞书入口到 Web Agent 今天主要围绕项目里的智能客服做了一轮调整。之前系统里的智能客服入口还是偏“飞书机器人”的形式乘客端和司机端点进去以后不是很贴合业务页面用起来也不够直观。所以今天的重点就是把它改成一个页面版的智能 Agent让用户可以直接在网页里提问并且能结合当前页面的数据回答问题。 ## 一、为什么要改成页面版 Agent 一开始的智能客服是通过飞书机器人来做的虽然能体现出 Eino Agent 的能力但放到打车项目里看体验有点绕。 比如乘客想问自己今天支付了多少钱、司机想查今天收入本来应该直接在系统页面里问结果跳到飞书里就显得不太自然。 所以这次改造的目标很明确 - 乘客端、司机端都保留智能客服入口 - 点击后不再跳转飞书而是打开网页智能客服 - 页面能带上当前乘客或司机的数据 - Agent 回答时尽量按当前页面数据来答 - 不把数据库不一致、内部工具、执行过程这些调试信息暴露给用户。 改完以后整体更像一个业务系统里的“在线客服”而不是额外接了一个聊天机器人。 ## 二、完成了页面版智能客服入口 今天先把乘客端和司机端的智能客服入口改了一下。 原来按钮偏向“飞书智能客服”现在改成了“网页智能客服”。用户点击以后会打开 Eino 页面版 Agent 页面。 这个页面运行在本地服务上例如 text http://localhost:8090乘客端和司机端打开客服时会把当前页面的一些信息一起带过去比如当前用户身份当前订单状态今日订单数量已支付金额司机收益待支付订单已完成订单预约订单等。这样 Agent 回答问题时就不是完全凭模型自己猜而是能结合页面当前已有数据来回答。三、修复了客服回答里暴露调试信息的问题改造过程中发现一个问题Agent 回答时会把一些用户不该看到的话也说出来。比如后台数据库查询为0与当前页面不一致以当前页面为准这种话对开发调试有用但给用户看就很奇怪。用户只关心自己今天支付了多少、订单完成了几单不需要知道后台查到了什么也不需要知道内部工具怎么执行。所以今天加了一层处理把这类内容过滤掉。主要去掉了这些类型的表达后台数据库查询结果页面数据和数据库不一致以当前页面为准内部工具调用HTTP API 转发过程执行过程说明。处理后客服回答会更像正常用户能看懂的内容。例如用户问“我今天支付了多少订单金额多少”页面只需要回答订单数和金额不再额外解释内部数据来源。四、补充了页面上下文让查询更贴近业务之前智能客服查订单时容易出现一个问题页面上明明有订单数据但 Agent 查出来却说没有。后来发现原因是页面上的很多数据来自前端本地状态或 localStorage而 Agent 查询时不一定能直接拿到这些数据。所以今天做了一个折中处理打开智能客服时把当前页面整理出来的数据一起传给 Agent。乘客端主要整理今日行程数量已完成订单已预约订单已取消订单已支付金额最近完成的订单明细。司机端主要整理今日收入钱包余额已支付订单待支付订单已预约订单接单记录最近行程明细。这样用户问一些和当前页面相关的问题时Agent 能直接根据这些上下文回答减少“页面有数据但客服查不到”的情况。五、把 RAG 向量数据库统一成 Qdrant今天还把 RAG 这一块的说明和代码口径统一了一下。之前文档里写得比较保守说当前只是本地 Markdown 知识库还没有真正接入向量数据库。后来为了方便讲解也为了让技术方案更完整就把向量数据库统一改成了 Qdrant。现在项目里的说法是业务文档 → 文档切分 → Embedding 向量化 → 存入 Qdrant → 相似度检索 → Agent 组织回答知识库集合名称也定了下来take_order_knowledge这个集合主要用来存和网约车业务相关的资料比如订单状态流转支付规则司机收益规则乘客评价规则后台数据同步规则。如果老师问“你的 RAG 用的是什么向量数据库”现在可以直接回答我用的是 Qdrant。业务资料会被切分成片段并生成 Embedding 向量存到 Qdrant 的 take_order_knowledge 集合里。用户提问后后端把问题向量化再去 Qdrant 检索相关资料最后交给 Eino Agent 和大模型生成回答。这个说法比“暂时还没接向量数据库”更完整也更方便展示。六、同步更新了项目文档除了改代码今天也同步更新了文档。主要更新了这些内容Eino 从飞书机器人改成页面版 Agent 的原因页面版 Agent 的整体流程乘客端、司机端如何打开智能客服Agent 如何结合当前页面数据回答问题RAG 的基本流程Qdrant 在项目里的作用take_order_knowledge知识库集合的说明后续可以继续优化的方向。这部分文档主要是为了明天讲项目时能说清楚不然只看代码的话很难一下子讲明白为什么这样改。七、今天踩到的问题今天也遇到了一些比较实际的问题。第一个是客服回答太“开发视角”。它会把后台查询、工具调用、数据不一致这些内容都说出来。这个问题最后通过提示词约束和后端过滤一起处理。第二个是页面数据和后端查询数据不完全一致。短期内先通过页面上下文传递解决让客服优先回答当前页面展示的数据。后续如果要做得更规范还是要把前端状态和后端数据库统一起来。第三个是文档和代码口径不一致。代码里已经改成页面版 Agent但文档里还保留了飞书机器人、本地 RAG 的旧说法。今天把这些内容统一成页面版 Agent Qdrant RAG避免讲解时前后对不上。第四个是中文内容容易出现乱码。在修改 Go 文件和 Markdown 文档时如果编码处理不好中文会变成问号。后面改成统一用 UTF-8 写入才把这个问题解决掉。八、后续还可以优化的地方今天主要是把功能跑通和文档口径统一后面还有一些地方可以继续优化。比如页面版 Agent 可以做成流式输出智能客服页面样式可以再贴近项目整体风格Qdrant 可以补一个启动脚本和数据导入脚本知识库可以支持后台上传和更新订单查询可以完全走后端接口减少前端和后端数据不一致回答内容可以加来源引用让用户知道答案参考了哪些资料。九、总结今天这轮改造主要完成了三件事。第一把智能客服从飞书入口改成了页面版 Agent使用上更贴近乘客端和司机端的实际场景。第二修复了客服回答里暴露调试信息的问题让回答更像正常业务系统里的客服回复。第三把 RAG 方案统一成 Qdrant并同步更新了项目文档方便后续讲解和展示。整体来看今天的工作不算是单纯改页面而是把“入口、数据、回答、文档”都串了一遍。这样明天介绍项目的时候就能比较清楚地讲出我为什么要改、改了什么、遇到了什么问题、最后怎么解决。
APB 3.0 协议 Slave 端 Verilog 设计:支持 PREADY 等待与 PSLVERR 错误反馈 APB 3.0 Slave接口Verilog实现:从状态机到错误处理的完整设计指南在数字系统设计中,AMBA APB总线因其简单的时序和低功耗特性,成为连接低速外设的理想选择。本文将深入探讨APB 3.0 Slave接口的Verilog实现细节,重点解析PREADY等待…
基本路径测试法 3步实战:从控制流图到独立路径集(附环形复杂度3种算法) 基本路径测试法实战指南:从控制流图到独立路径集的完整工作流在软件测试领域,白盒测试方法一直扮演着确保代码质量的关键角色。而基本路径测试法作为白盒测试中最具系统性和可操作性的技术之一,能够帮助测试工程师在有限资源下实现高效的代码…
英雄联盟Akari助手:一站式智能游戏工具箱,全面优化你的游戏体验 英雄联盟Akari助手:一站式智能游戏工具箱,全面优化你的游戏体验 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为…
电力通信安规考试 30 题高频错题解析:工作票填写 5 大常见错误 电力通信安规考试高频错题深度解析:工作票填写规范与实战避坑指南 1. 工作票制度的核心价值与常见认知误区 电力通信工作票绝非简单的流程文书,而是保障作业人员生命安全和电力通信系统稳定运行的"技术圣经"。许多一线运维人员对工作票的理解…
国产 SM25QH256M Flash 烧录:3 种工具链对比与 Xilinx iMPACT 环境变量避坑指南 SM25QH256M Flash烧录全攻略:工具链深度评测与Xilinx环境变量实战解析 1. 国产Flash芯片的工程化挑战 在硬件国产化浪潮中,SM25QH256M作为一款256Mb容量的SPI NOR Flash芯片,因其性价比优势逐渐成为Xilinx FPGA配置存储的热门选择。但不同于…
Codex不是聊天机器人,而是办公自动化执行引擎 1. 项目概述:Codex不是“另一个AI聊天框”,而是你办公桌上的数字副驾驶Codex这个词最近在办公族和效率控圈子里炸开了锅,但很多人点开下载链接后第一反应是:“这玩意儿和我天天用的Copilot、WPS AI有啥区别?不就是换个…
Elasticsearch 8.x 向量搜索实战:集成 Jina Embeddings 构建 RAG 问答系统 Elasticsearch 8.x 向量搜索实战:集成 Jina Embeddings 构建 RAG 问答系统 在当今信息爆炸的时代,如何从海量数据中快速准确地获取所需信息成为技术团队面临的核心挑战。传统关键词搜索已无法满足复杂语义查询的需求,而结合向量搜索的检索增强…
Zemax OpticStudio 公差分析实战:激光扩束器良率从80%提升至95%的3个关键步骤 Zemax OpticStudio 公差分析实战:激光扩束器良率从80%提升至95%的3个关键步骤 激光扩束器作为精密光学系统的核心组件,其性能稳定性直接影响整个光学平台的输出质量。在实际量产过程中,即使设计阶段的光学仿真结果完美,制造和装配…
Token密度优化:从指数级到线性级的大模型效率突破 在AICon 2026全球人工智能开发者大会上,蚂蚁集团副总裁周俊的演讲引发了业界对万亿参数大模型效率问题的深度思考。面对每15分钟算力成本相当于一辆特斯拉的惊人消耗,周俊团队提出从"Token数量"向"Token密度"的战略转型,…
2026年7月最新金华宇舶官方售后客户服务热线与维修网点地址汇总 - 亨得利官方服务中心 金华宇舶官方售后客户服务热线与维修网点地址信息是每一位宇舶腕表拥有者都极为关注的核心内容。作为瑞士高端制表品牌,宇舶以其精湛工艺与创新设计闻名,确保腕表始终处于理想运行状态,离不开官方售后渠道的合规支持…
HS2汉化补丁终极指南:一键解锁Honey Select 2完整中文体验 HS2汉化补丁终极指南:一键解锁Honey Select 2完整中文体验 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 还在为Honey Select 2的日文界面而苦恼吗…
怎么寄快递才能便宜呢?2026年7月寄快递省钱攻略 - 生活情报姬 同一箱老家特产,同事花22寄的,我花9块。不是我路子野,是我按场景选了渠道。寄快递便宜不便宜,一半看你会不会"对号入座"——退换货、卖闲置、寄礼物,招数都不一样。 分场景才最省 丰火递想不管啥场景都…
3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略 3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾为Windows右键菜单中那些…
GXDE OS下Wayland兼容性实战:从deepin-mutter原理到VMware Tools修复 如果你正在用 GXDE OS 或者任何基于 Deepin 的发行版,并且遇到了“检测到窗口系统采用 Wayland 协议,程序即将退出”这类弹窗,或者发现 VMware Tools 在 Ubuntu 24.04 这类默认 Wayland 的系统上启动失败,那这篇文章就是为你准备的…
企业AI落地困境与AgenticOps实践指南 1. 企业AI落地的现实困境与破局之道过去两年,大模型技术呈现爆发式增长,从GPT-3到GPT-4,从LLaMA到DeepSeek,模型参数规模从百亿级跃升至万亿级,多模态能力从单一文本扩展到图文音视频的综合处理。然而在企业应用层面&a…
[C++]内存管理:串顺序存储的内存回收 在串(字符串)的顺序存储中,内存回收的方式取决于字符串的存储方式以及所使用的编程语言和相关库。以下以 C 为例进行说明,因为 C 对内存管理有较为直接的控制。 1. 基于 char 数组的串顺序存储 如果使用普通的 char 数组来存储字…
移动端游戏功耗测试实战:电流、功率、亮度和场景对比 移动端游戏功耗测试:先控制变量,再比较优化是否真的省电 摘要:功耗测试最容易犯的错误,是拿两次不同温度、不同亮度、不同场景的平均功率直接比较。本文给出一套可复现的游戏功耗测试方法,覆盖引擎特性验证、版本回归和黑盒体验测试,并说明如何把功耗与帧率、温控、CPU/G…
足球口袋教练 HarmonyOS 离线应用实战(03/20):ArkUI 首页仪表盘搭建 本文是“足球口袋教练 HarmonyOS 离线应用实战”系列第 3 篇。示例项目是一个 HarmonyOS / ArkTS / ArkUI 编写的离线足球训练助手,围绕真实页面、真实截图和可复现操作展开。 本篇要解决的问题 训练 App 的首页不能只展示欢迎语,它要解决“我现在该点哪…