项目定位
为一家**外贸医疗器械企业**打造的"品牌官网 + 获客中台"一体化平台:前台是面向海外采购商的英文官网(承接询盘),后台是销售团队自用的**获客—转化—跟进**全流程工具集,把原本靠人肉 Google、Excel 整理客户的外贸流程线上化、批量化。
前台官网(面向海外买家)
- 首页(轮播 Banner、热卖产品推荐)、产品中心、产品详情(富文本长描述 + 图集)、关于我们、联系我们;
- 导航栏与联系页内置 WhatsApp / Instagram / Facebook / 邮件一键直达,贴合海外买家沟通习惯;
- AI 智能客服(右下角对话窗):基于自家产品资料库做检索增强(RAG),用英文 7×24 接待询盘、回答产品参数,买家不流失在"非工作时间"。
后台管理(`/admin`,销售团队自用)
- 仪表盘
运营概览 + 最新抓取线索分页,打开后台就知道今天有哪些新客户。
- 产品管理
产品增删改查、批量删除、富文本详情、图片上传;**支持一键导入同行 Alibaba 国际站店铺产品**(免登录、免 API Key,自动识别分类),新产品上架从"手动录入几小时"降到"粘贴店铺链接几分钟" 。
- 线索获客
按关键词抓取同行业店铺联系方式:Google Places API(真实数据)/ OpenStreetMap Overpass(免费、合规、免 Key)/ 黄页三模式 + 演示数据兜底;抓取结果一键 **WhatsApp / Facebook / 邮件分批群发**(默认每批 10 条,可配置)。
- 在线邮箱
后台直接登录企业邮箱在线收发开发信(nodemailer 发信 + IMAP 收信),兼容网易"别名邮箱"归一化识别,不会把同一客户当两个人。
- 热卖趋势
医疗器械热卖关键词热度趋势(ECharts 图表,演示/真实数据源双模式),指导选品。
- 海关数据
按客户网址查询其近一年真实进出口记录(演示/富通天下双模式),判断买家实力与采购周期。
- 留言管理
前台联系表单的询盘留言统一收件、跟进。
- AI 模型配置
后台增删改多个 OpenAI 兼容模型(豆包 / DeepSeek / OpenAI 等),一键切换客服默认模型,密钥加密存储。
典型业务价值
- 把"找客户 → 批量触达 → 邮件跟进 → 询盘接待"串成闭环;AI 客服 + 批量群发直接降低外贸业务的人力重复劳动;
- 产品库导入与海关数据查询这类重调研环节,从数小时压缩到分钟级。
整体架构(pnpm workspaces 三端分离)
web/ Vue3 + Vite + Element Plus:英文官网(i18n)+ 后台管理(ECharts 图表、SSE 聊天组件)
server/ NestJS + TypeORM + PostgreSQL:业务 API、抓取任务、邮件收发、Alibaba 解析
ai/ NestJS + LangGraph:客服问答编排(产品知识 RAG → 流式生成),OpenAI 兼容多 provider 抽象
关键实现点
- LangGraph 客服编排:`StateGraph` 两节点——`retrieve`(按问题从 PostgreSQL 产品库检索上下文)→ `generate`(LLM 逐字流式输出);自研 `StreamQueue` 排队推送,SSE 逐字返回前端;
- 多模型热插拔:AI 服务抽象 OpenAI 兼容协议(`AI_BASE_URL` / `AI_API_KEY` / `AI_MODEL`),后台可切换默认模型,无需改代码重新部署;
- Alibaba 店铺解析:用 undici `ProxyAgent` 经本地代理(Clash)出网,直接请求店铺产品页,解析页面 HTML 内嵌的 `icbu-pc-productListPc module-data`(URL 编码 JSON),免登录拿到产品名/多图/起订量/证书等结构化数据,并自动归入本地分类;
- 线索抓取:三数据源适配器(Google Places API / OSM Overpass QL / 黄页)统一落库为 `lead` 实体;群发按批次(10 条/批)防触发平台风控;
- 在线邮箱:nodemailer 发信 + `imapflow` 收信 + `mailparser` 解析;针对网易企业邮箱"别名前缀"做归一化(`m1529...@163.com` 与 `1529...@163.com` 视为同一邮箱);
- 鉴权与数据:后台 JWT(`jwt-auth.guard`);TypeORM 实体(用户 / 产品 / 线索 / 群发活动 / 邮箱账号 / AI 配置 / 海关配置 / 趋势配置 / 留言)首次启动自动建表。