Skip to content

chefroger/ai-assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 AI外贸助手系统

一个专为外贸企业打造的智能业务咨询系统,集成多家AI服务商,提供专业的外贸业务指导和咨询服务。

📋 项目简介

AI外贸助手系统是一个全栈Web应用,为外贸企业提供专业的AI驱动业务咨询服务。系统支持多种业务场景,包括市场开发、客户管理、产品推广、物流配送等外贸核心业务领域。

✨ 核心特色

  • 🤖 多AI服务商支持 - 集成DeepSeek、OpenAI等多家AI服务
  • 📱 短信验证登录 - 安全便捷的手机号登录方式
  • 💰 充值管理系统 - 完整的用户充值和权限管理
  • 📚 资料库系统 - Markdown格式的外贸资料管理
  • 👨‍💼 管理员控制台 - 全面的后台管理功能
  • 📊 数据统计分析 - 用户行为和系统使用统计
  • 🔐 权限管理 - 细粒度的用户权限控制

🛠️ 技术栈

前端

  • 框架: Next.js 14 (App Router)
  • 语言: TypeScript
  • 样式: Tailwind CSS
  • 图标: Lucide React
  • UI组件: Headless UI
  • Markdown: React Markdown

后端

  • 框架: Express.js
  • 语言: TypeScript
  • 数据库: SQLite + Prisma ORM
  • 认证: JWT Token
  • 短信服务: 阿里云短信服务
  • 文件上传: Multer

部署

  • 容器化: Docker + Docker Compose
  • 反向代理: Nginx
  • 云服务: 阿里云ECS

🚀 快速开始

环境要求

  • Node.js 18+
  • npm 或 yarn
  • SQLite 3

1. 克隆项目

git clone <repository-url>
cd ai-assistant

2. 安装依赖

# 后端依赖
cd backend
npm install

# 前端依赖
cd ../frontend
npm install

3. 环境配置

复制并配置环境变量:

# 后端环境配置
cd backend
cp env.example .env

编辑 .env 文件,配置以下内容:

# 数据库配置
DATABASE_URL="file:./dev.db"

# JWT配置
JWT_SECRET="your-jwt-secret"

# 阿里云短信配置
ALIBABA_CLOUD_ACCESS_KEY_ID="your-access-key"
ALIBABA_CLOUD_ACCESS_KEY_SECRET="your-access-secret"
SMS_SIGN_NAME="your-sms-sign"
SMS_TEMPLATE_CODE="your-template-code"

# AI服务配置
DEEPSEEK_API_KEY="your-deepseek-api-key"
OPENAI_API_KEY="your-openai-api-key"

4. 数据库初始化

cd backend
npx prisma generate
npx prisma migrate dev
npm run init:system  # 初始化系统配置和管理员账户

5. 启动服务

# 启动后端服务 (端口: 3001)
cd backend
npm run dev

# 启动前端服务 (端口: 3000)
cd frontend
npm run dev

6. 访问系统

📁 项目结构

ai-assistant/
├── frontend/                 # 前端代码
│   ├── src/
│   │   ├── app/             # Next.js页面路由
│   │   │   ├── admin/       # 管理员功能页面
│   │   │   ├── materials/   # 资料库页面
│   │   │   ├── recharge/    # 充值相关页面
│   │   │   └── ...          # 其他功能页面
│   │   ├── components/      # React组件
│   │   │   ├── admin/       # 管理员组件
│   │   │   └── ...          # 通用组件
│   │   └── lib/             # 工具库和服务
│   ├── public/              # 静态资源
│   └── package.json
├── backend/                  # 后端代码
│   ├── src/
│   │   ├── routes/          # API路由
│   │   ├── services/        # 业务逻辑
│   │   ├── middleware/      # 中间件
│   │   ├── config/          # 配置文件
│   │   └── types/           # 类型定义
│   ├── prisma/              # 数据库模型
│   ├── scripts/             # 初始化脚本
│   └── package.json
├── docs/                     # 项目文档
├── docker-compose.yml        # Docker配置
├── deploy.sh                # 部署脚本
└── README.md                # 项目说明

🎯 功能模块

👤 用户功能

  1. 用户认证

    • 短信验证码登录
    • JWT Token认证
    • 多设备登录支持
  2. AI咨询服务

    • 多业务分类咨询(市场开发、客户管理、产品推广等)
    • 中英文对照回答
    • 聊天历史记录
    • 提问次数限制
  3. 充值管理

    • 在线充值(支持多种支付方式)
    • 充值记录查询
    • 账户余额管理
  4. 资料库访问

    • 外贸专业资料查看
    • Markdown格式支持
    • 资料搜索和分类

👨‍💼 管理员功能

  1. 用户管理

    • 用户列表查看
    • 用户信息编辑
    • 用户权限管理
  2. 充值管理

    • 充值订单管理
    • 收入统计分析
    • 充值记录导出
  3. AI配置管理

    • AI服务商切换
    • API密钥配置
    • 模型参数调整
    • 提示词模板编辑
  4. 资料管理

    • 资料库内容编辑
    • Markdown在线编辑器
    • 资料发布管理
  5. 系统配置

    • 系统功能开关
    • 业务参数配置
    • 短信服务配置
  6. 数据统计

    • 用户使用统计
    • 收入分析报表
    • 系统性能监控
  7. 数据导入

    • 历史数据迁移
    • 批量数据导入
    • 数据格式转换

📖 使用说明

用户使用流程

  1. 注册登录

    • 访问系统首页
    • 点击登录按钮
    • 输入手机号获取验证码
    • 验证成功后自动登录
  2. AI咨询

    • 选择业务分类(市场开发、客户管理等)
    • 输入问题或选择快捷提问
    • 查看AI回答(中英文对照)
    • 查看历史对话记录
  3. 充值服务

    • 点击充值按钮
    • 选择充值金额
    • 完成支付流程
    • 获得更多提问次数
  4. 资料库

    • 浏览外贸专业资料
    • 搜索相关内容
    • 收藏重要资料

管理员使用流程

  1. 登录管理后台

    • 使用管理员账户登录
    • 进入管理员控制台
  2. 系统配置

    • 配置AI服务商API密钥
    • 设置系统功能开关
    • 调整业务参数
  3. 内容管理

    • 编辑资料库内容
    • 管理用户权限
    • 查看系统统计

🐳 Docker部署

使用Docker Compose

# 构建并启动服务
docker-compose up -d

# 查看服务状态
docker-compose ps

# 查看日志
docker-compose logs -f

单独构建

# 构建后端镜像
cd backend
docker build -t ai-assistant-backend .

# 构建前端镜像
cd frontend
docker build -t ai-assistant-frontend .

🔧 开发指南

添加新功能

  1. 后端API开发

    • backend/src/routes/ 添加新路由
    • backend/src/services/ 添加业务逻辑
    • 更新数据库模型(如需要)
  2. 前端页面开发

    • frontend/src/app/ 添加新页面
    • frontend/src/components/ 添加复用组件
    • frontend/src/lib/ 添加服务函数

数据库迁移

cd backend
npx prisma migrate dev --name your-migration-name
npx prisma generate

代码规范

  • 使用TypeScript进行类型安全开发
  • 遵循ESLint配置规范
  • 使用Prettier进行代码格式化
  • 组件和函数使用有意义的命名

📚 API文档

主要API端点

  • POST /api/auth/login - 用户登录
  • POST /api/auth/send-sms - 发送短信验证码
  • POST /api/ai/chat - AI对话接口
  • GET /api/materials - 获取资料列表
  • POST /api/recharge/create - 创建充值订单
  • GET /api/admin/stats - 管理员统计数据

详细API文档请访问:http://localhost:3001/api-docs

🔒 安全特性

  • JWT Token认证机制
  • API接口权限验证
  • 短信验证码防刷机制
  • SQL注入防护
  • XSS攻击防护
  • CSRF保护

📈 性能优化

  • Next.js服务端渲染
  • API响应缓存
  • 图片懒加载
  • 代码分割
  • 数据库查询优化

🐛 故障排除

常见问题

  1. 数据库连接失败

    • 检查DATABASE_URL配置
    • 确保SQLite文件权限正确
  2. 短信发送失败

    • 验证阿里云短信服务配置
    • 检查API密钥是否正确
  3. AI服务调用失败

    • 确认API密钥配置
    • 检查网络连接状态
  4. 前端页面无法访问

    • 确认前后端服务都已启动
    • 检查端口占用情况

日志查看

# 查看后端日志
cd backend
npm run logs

# 查看前端构建日志
cd frontend
npm run build

# 查看Docker容器日志
docker-compose logs -f [service-name]

🤝 贡献指南

  1. Fork项目仓库
  2. 创建功能分支:git checkout -b feature/new-feature
  3. 提交更改:git commit -am 'Add new feature'
  4. 推送到分支:git push origin feature/new-feature
  5. 提交Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

📞 联系支持

如有问题或建议,请通过以下方式联系:


🌟 如果这个项目对您有帮助,请给我们一个Star!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors