我花了六个月手搓的 AI 客服系统,免费开源了
去年十月到今年三月,每个周末基本都在写代码。这是我的第一个手搓 agent 项目——Basjoo,搞了六个月,终于开源了。 先说为什么做这个。 我相信不少做外贸独立站的朋友,都遇到过这几个挺头疼的问题。比如做机械配件的老板,网站每天能收到不少询盘,很多是西班牙语、法语、阿拉伯语的。他的销售团队只会中文和英文,只能回一句 “We speak English only”,客户就不回消息了。 或者做服装出口的,美国客户下午三点发过来消息问报价,也就是北京时间凌晨三点。销售第二天早上看到消息回复,客户已经找别家下单了。 再就是人工成本。请一个三班倒的在线客服,一年至少十几万,小公司扛不住。 我就想,能不能自己搞一套 AI 客服,部署在自己服务器上,24 小时自动接待,小语种也能应付,还能引导客户留联系方式。 于是就开始写了。 怎么用 部署到自己的 Linux 服务器上,往网站里加一段代码,右下角就弹出客服对话框。访客进来咨询,AI 先回答问题。遇到处理不了的,引导客户留邮箱。销售打开后台就能看到所有对话记录和待跟进的线索。 客户不需要下载任何东西,也不用跳到第三方平台,对话框跟你网站的其他部分融在一起。 安装 Linux 服务器上一行命令,环境配好,项目跑起来。打开服务器 IP,进管理后台注册管理员账号,就能用了。不需要懂 Python,不需要配数据库,不需要折腾 Docker。 后台能做什么 Agent 配置 — 选模型、调参数、设人设。做 B2B 工业品的可以调得专业严谨,做快销品的可以调得轻松一点。后台有个 Playground,直接测试 AI 回复,调到你满意。 知识库 — 把官网链接丢进去,自动爬取网页内容,提取产品知识。也可以上传产品手册、PDF、FAQ。它定时更新索引,确保回答用的是最新信息。知识库内容越多,AI 回答越准。 Q&A 管理 — 有些问题你想确保每次回答都一样准确,可以手动建问答对,也能批量导入。Q&A 的优先级最高,AI 优先从这里面找答案。 会话监控 — 实时看到谁在聊天、聊了什么、有没有留联系方式。AI 处理不了的问题,你可以一键接管自己回复。所有聊天记录都有留档。 Widget 外观 — 聊天框的颜色、位置、默认语言、是否自动弹出,后台改完前台立刻生效,不用动代码。 为什么不用现成的服务 市面上有类似的一些产品,我也用过。后来决定自己做,有几个原因: 数据在别人服务器上。客户的询盘记录、聊天内容、联系方式都存在服务商那儿,不太踏实。 按坐席收费。SaaS 客服按客服坐席数收费,人多了成本就上去。Basjoo 部署完只要服务器费用,同时接待一百个访客也不额外花钱。 小语种支持不稳定。很多 SaaS 客服的 AI 回复偏英文,其他语言回答质量不太靠谱。Basjoo 用的模型支持多语言,自动识别访客语言回复。 技术栈 后端 FastAPI,前端 Next.js,对话用 Qdrant 做向量检索。Docker Compose 部署。技术选型的原则就是够用就行。 ...