mirror of
https://github.com/2930134478/AI-CS.git
synced 2026-06-15 00:44:30 +08:00
5.0 KiB
5.0 KiB
AI-CS 智能客服系统
一个融合 AI 技术与人工客服的现代化智能客服解决方案
✨ 核心特性
- 🤖 AI 客服支持:支持多厂商 AI 模型,可配置 API 和模型选择
- 👥 人工客服:实时在线状态显示,支持多客服协作
- 💬 实时通信:基于 WebSocket 的双向实时消息推送
- 📁 文件传输:支持图片、文档上传和预览
- 📚 FAQ 管理:知识库管理,关键词搜索
- 👤 用户管理:完整的用户权限管理系统
- 🎨 现代化 UI:基于 Shadcn UI 的响应式设计
- 🔌 访客小窗插件:可嵌入任何网站的客服小窗组件
- 🌐 产品官网:内置产品展示页面
🏗️ 技术栈
后端
- 语言: Go 1.21+
- 框架: Gin (Web 框架)
- ORM: GORM
- 数据库: MySQL 8.0+
- 实时通信: WebSocket (gorilla/websocket)
- 密码加密: bcrypt
- 文件存储: 本地存储(可扩展为云存储)
前端
- 框架: Next.js 14+ (App Router)
- 语言: TypeScript
- UI 组件: Shadcn UI
- 样式: Tailwind CSS
- 状态管理: React Hooks
- 实时通信: WebSocket Client
📁 项目结构
AI-CS/
├── backend/ # Go 后端服务
│ ├── controller/ # 控制器层(HTTP 处理)
│ ├── service/ # 业务逻辑层
│ ├── repository/ # 数据访问层
│ ├── models/ # 数据模型
│ ├── router/ # 路由配置
│ ├── middleware/ # 中间件(认证、CORS、日志)
│ ├── websocket/ # WebSocket Hub
│ ├── infra/ # 基础设施(数据库、存储)
│ ├── utils/ # 工具函数(加密、验证等)
│ └── main.go # 入口文件
├── frontend/ # Next.js 前端应用
│ ├── app/ # 页面和路由
│ │ ├── page.tsx # 官网首页
│ │ ├── chat/ # 访客聊天页面
│ │ └── agent/ # 客服工作台
│ ├── components/ # React 组件
│ │ ├── ui/ # Shadcn UI 基础组件
│ │ ├── dashboard/ # 客服端组件
│ │ ├── visitor/ # 访客端组件
│ │ └── layout/ # 布局组件
│ ├── features/ # 功能模块
│ │ ├── agent/ # 客服端功能
│ │ └── visitor/ # 访客端功能
│ └── lib/ # 工具库和配置
├── doc/ # 项目文档
│ ├── CHANGELOG.md # 更新日志
│ ├── 测试指南.md # 测试文档
│ ├── 后端学习笔记.md # 后端架构说明
│ └── 前端学习笔记.md # 前端架构说明
└── README.md # 本文件
🚀 快速开始
环境要求
- Go 1.21 或更高版本
- Node.js 18+ 和 npm/yarn
- MySQL 8.0 或更高版本
1. 克隆项目
git clone <repository-url>
cd AI-CS
2. 配置后端
cd backend
# 创建 .env 文件
cat > .env << EOF
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=ai_cs
EOF
# 安装依赖
go mod tidy
# 启动服务(默认端口 8080)
go run main.go
3. 配置前端
cd frontend
# 安装依赖
npm install
# 启动开发服务器(默认端口 3000)
npm run dev
4. 访问应用
- 官网首页: http://localhost:3000
- 访客聊天: http://localhost:3000/chat
- 客服登录: http://localhost:3000/agent/login
5. 默认账号
系统会自动创建默认管理员账号:
- 用户名:
admin - 密码:
admin123
⚠️ 生产环境请务必修改默认密码!
📖 主要功能
访客端
- 人工/AI 客服模式切换
- 实时消息收发
- 文件/图片上传
- 在线客服列表查看
- 访客小窗插件(可嵌入第三方网站)
客服端
- 对话列表管理(全部/我的/他人的对话)
- 实时消息推送
- 访客信息查看和编辑
- 在线状态显示
- 消息已读状态同步
- AI 配置管理(多厂商支持)
- FAQ 知识库管理
- 用户权限管理
- 个人资料管理
⚙️ 配置说明
后端环境变量
在 backend/.env 中配置:
DB_HOST=localhost # 数据库主机
DB_PORT=3306 # 数据库端口
DB_USER=root # 数据库用户名
DB_PASSWORD=your_password # 数据库密码
DB_NAME=ai_cs # 数据库名称
前端环境变量(可选)
在 frontend/.env.local 中配置(不配置则使用默认值):
NEXT_PUBLIC_API_BASE_URL=http://127.0.0.1:8080
本地开发无需配置,已默认
http://127.0.0.1:8080。生产环境请修改为实际后端地址。
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
MIT © 2025 2930134478
🙏 致谢
感谢所有为这个项目做出贡献的开发者!
最后更新: 2025-01-XX