
✨ 特性
🏠 私有化与数据自主
- 前后端分离,可自建机房 / 内网部署,知识库与对话策略自主可控。
- 向量化数据默认落本地目录(可配置
VECTOR_STORE_PATH),文档与向量不必依赖境外 SaaS。
📚 知识库与 RAG
- 多知识库管理,文档上传(含 Word 等解析链路)、切分与向量化、向量检索增强生成。
- 客服实例可绑定一个或多个知识库,回复可追溯知识来源。
🤖 AI 客服编排
- 多客服实例、独立公开链接与访客对话页,支持开场语、系统提示、主题等配置。
- 管理端 API 配置:填写供应商、API Key、模型与 Embedding、Base URL 等;支持连通性测试。
👤 账号与权限
- 用户注册 / 登录(含验证码)、JWT 鉴权;管理员可使用用户管理、模型配置、会话管理等能力。
🌐 对外与集成
- 每条客服 独立访问入口,便于嵌入业务站点或 iframe。
- 提供 HTTP API 能力,便于与现有系统集成(详见代码路由)。
🚀 快速开始
安装依赖
# 后端
cd backend
npm install
cp .env.example .env
# 编辑 .env:MONGODB_URI、JWT_SECRET、PORT 等
# 前端
cd ../frontend
npm install
开发
# 终端 1:后端
cd backend
npm run dev
# 终端 2:前端
cd frontend
npm run dev
构建(前端生产包)
cd frontend
npm run build
数据库(可选示例)
仓库根目录提供 ai_customer.js(MongoDB 脚本示例)。导入前请阅读首页「部署指南」或文档说明;会重建集合,勿用于生产库。
📦 技术栈
| 层级 | 技术 |
|---|---|
| 前端 | React 18、Ant Design 5、React Router 6、Vite 5、Axios、Recharts |
| 后端 | Node.js、Express 4、Mongoose 8、JWT、LangChain、@langchain/openai |
| 数据 | MongoDB;向量文件本地 JSON 存储(vector_stores) |
| AI | 可对接 OpenAI 兼容接口、火山引擎(Volcano / Ark)等,在控制台配置 |
主要依赖(节选)
前端: antd、axios、react-router-dom、react-markdown、recharts
后端: express、mongoose、langchain、@langchain/openai、mammoth、multer、jsonwebtoken、svg-captcha
🎯 核心功能
| 模块 | 说明 |
|---|---|
| 概览 / 控制台 | 登录后进入管理端,查看与跳转各模块 |
| 知识库 | 创建知识库、上传文件、触发向量化、分片浏览 |
| 客服 | 创建客服、绑定知识库、公开链接、主题与联系方式等 |
| 模型管理(管理员) | 多平台 API 配置、密钥与模型名、测试连接 |
| 访客对话 | 通过公开链接访问,基于绑定知识库的 RAG 问答 |
| 用户 / 会话(管理员) | 用户与对话会话运维(视版本路由而定) |
📖 使用说明
- 环境:Node.js、MongoDB;在
backend/.env配置MONGODB_URI等。 - 大模型:在管理端 模型管理 / API 配置 中填写 Key、模型 ID、Endpoint 等(详见站内「模型配置帮助说明」页或
docs下火山指引)。 - 首个管理员:可使用
npm run create-admin(在backend目录,依仓库脚本说明)或注册后由现有管理员赋权。