一个专为外贸企业打造的智能业务咨询系统,集成多家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
git clone <repository-url>
cd ai-assistant# 后端依赖
cd backend
npm install
# 前端依赖
cd ../frontend
npm install复制并配置环境变量:
# 后端环境配置
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"cd backend
npx prisma generate
npx prisma migrate dev
npm run init:system # 初始化系统配置和管理员账户# 启动后端服务 (端口: 3001)
cd backend
npm run dev
# 启动前端服务 (端口: 3000)
cd frontend
npm run dev- 前端界面: http://localhost:3000
- 后端API: http://localhost:3001
- API文档: http://localhost:3001/health
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 # 项目说明
-
用户认证
- 短信验证码登录
- JWT Token认证
- 多设备登录支持
-
AI咨询服务
- 多业务分类咨询(市场开发、客户管理、产品推广等)
- 中英文对照回答
- 聊天历史记录
- 提问次数限制
-
充值管理
- 在线充值(支持多种支付方式)
- 充值记录查询
- 账户余额管理
-
资料库访问
- 外贸专业资料查看
- Markdown格式支持
- 资料搜索和分类
-
用户管理
- 用户列表查看
- 用户信息编辑
- 用户权限管理
-
充值管理
- 充值订单管理
- 收入统计分析
- 充值记录导出
-
AI配置管理
- AI服务商切换
- API密钥配置
- 模型参数调整
- 提示词模板编辑
-
资料管理
- 资料库内容编辑
- Markdown在线编辑器
- 资料发布管理
-
系统配置
- 系统功能开关
- 业务参数配置
- 短信服务配置
-
数据统计
- 用户使用统计
- 收入分析报表
- 系统性能监控
-
数据导入
- 历史数据迁移
- 批量数据导入
- 数据格式转换
-
注册登录
- 访问系统首页
- 点击登录按钮
- 输入手机号获取验证码
- 验证成功后自动登录
-
AI咨询
- 选择业务分类(市场开发、客户管理等)
- 输入问题或选择快捷提问
- 查看AI回答(中英文对照)
- 查看历史对话记录
-
充值服务
- 点击充值按钮
- 选择充值金额
- 完成支付流程
- 获得更多提问次数
-
资料库
- 浏览外贸专业资料
- 搜索相关内容
- 收藏重要资料
-
登录管理后台
- 使用管理员账户登录
- 进入管理员控制台
-
系统配置
- 配置AI服务商API密钥
- 设置系统功能开关
- 调整业务参数
-
内容管理
- 编辑资料库内容
- 管理用户权限
- 查看系统统计
# 构建并启动服务
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 .-
后端API开发
- 在
backend/src/routes/添加新路由 - 在
backend/src/services/添加业务逻辑 - 更新数据库模型(如需要)
- 在
-
前端页面开发
- 在
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进行代码格式化
- 组件和函数使用有意义的命名
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响应缓存
- 图片懒加载
- 代码分割
- 数据库查询优化
-
数据库连接失败
- 检查DATABASE_URL配置
- 确保SQLite文件权限正确
-
短信发送失败
- 验证阿里云短信服务配置
- 检查API密钥是否正确
-
AI服务调用失败
- 确认API密钥配置
- 检查网络连接状态
-
前端页面无法访问
- 确认前后端服务都已启动
- 检查端口占用情况
# 查看后端日志
cd backend
npm run logs
# 查看前端构建日志
cd frontend
npm run build
# 查看Docker容器日志
docker-compose logs -f [service-name]- Fork项目仓库
- 创建功能分支:
git checkout -b feature/new-feature - 提交更改:
git commit -am 'Add new feature' - 推送到分支:
git push origin feature/new-feature - 提交Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
如有问题或建议,请通过以下方式联系:
- 邮箱:support@example.com
- 问题反馈:GitHub Issues
- 文档wiki:项目Wiki页面
🌟 如果这个项目对您有帮助,请给我们一个Star!