基于 LangGraph 的多智能体实习面试准备系统,帮助学生准备实习面试。
- 📄 简历解析 - 智能解析简历内容
- 🔍 岗位搜索 - 搜索相关实习岗位
- 📊 差距分析 - 分析与目标岗位的差距
- 📚 学习计划 - 生成个性化学习路径
- ✨ 简历优化 - 提供简历优化建议
- 🔐 用户认证 - JWT 安全认证系统
- 🛡️ API 限流 - 防止 API 滥用
- 💾 数据加密 - 敏感数据加密存储
- 🗄️ 数据库支持 - PostgreSQL + Redis
- 🐳 Docker 部署 - 一键容器化部署
- 🚀 CI/CD 流程 - 自动化测试和部署
- 📊 系统监控 - 实时监控系统状态
- 🧪 完整测试 - 单元测试 + 集成测试
- 🌍 国际化 - 支持中英文切换
- ⚡ 异步任务 - Celery + Redis 后台任务处理
- 🔌 WebSocket - 实时推送分析进度和通知
- 📧 邮件服务 - 欢迎邮件、分析完成通知、密码重置
- 👥 管理员后台 - 用户管理、系统统计
- 📝 简历历史 - 简历版本管理
- 📅 学习任务 - 学习任务管理系统
- 框架: Flask 3.0
- AI: LangChain + DeepSeek API
- 数据库: PostgreSQL 16
- 缓存: Redis 7
- 队列: Celery 5.3+
- 实时通信: Flask-SocketIO
- 邮件: Flask-Mail (SMTP)
- 认证: JWT + bcrypt
- 加密: PyCryptodome (AES)
- 监控: psutil
- 框架: React
- 样式: CSS3 (CSS Variables)
- 主题: 深色/浅色模式
- 响应式: 移动端适配
- 容器化: Docker + Docker Compose
- 反向代理: Nginx
- CI/CD: GitHub Actions
- Web服务器: Gunicorn
backend/— Flask 后端代码、数据库模型和 API 实现frontend/— React 前端页面入口和样式nginx/— Nginx 反向代理配置data/— 本地数据库与上传文件存储logs/— 日志文件输出目录
- Python 3.12+
- Node.js 18+ (可选)
- Docker & Docker Compose
- PostgreSQL 16 (或使用 Docker)
- Redis 7 (或使用 Docker)
# 克隆项目
git clone <repository-url>
cd interview-agent
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# Windows:
venv\Scripts\activate
# Linux/macOS:
source venv/bin/activate
# 升级 pip 并安装依赖
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
# 配置环境变量
cp .env.example .env
# 编辑 .env 填入配置
# 本地开发如果没有 PostgreSQL,可选择 SQLite:
# DATABASE_URL=sqlite:///./data/interview_agent.db
# 并保持 FLASK_ENV=development, DEBUG=True
# 初始化数据库
cd backend
python -c "from database import init_db; init_db()"
# 运行开发服务器
python server_working.py
# 前端说明
前端现在已改为 React 架构,入口在 `frontend/index.html`。无需构建工具即可通过后端服务器直接访问应用。# 复制示例环境配置
cp .env.example .env
# 编辑 .env 填入配置
# 构建并启动
docker-compose up -d
# 查看日志
docker-compose logs -f# Flask配置
FLASK_ENV=development
SECRET_KEY=your-secret-key
# 数据库
# 本地开发可直接使用 SQLite:
DATABASE_URL=sqlite:///./data/interview_agent.db
# 或在 Docker/生产中使用 PostgreSQL:
# DATABASE_URL=postgresql://user:pass@localhost:5432/interview_agent
# Redis
REDIS_URL=redis://localhost:6379/0
# LLM
DEEPSEEK_API_KEY=your-api-key
MODEL_PROVIDER=deepseek# 运行所有测试
pytest
# 运行测试并生成覆盖率报告
pytest --cov=. --cov-report=html
# 运行特定测试文件
pytest tests/test_auth.py -v
# 代码质量检查
flake8 .
black --check .
mypy .# 构建镜像
docker build -t interview-agent .
# 运行容器
docker run -p 5000:5000 interview-agent
# 使用 Docker Compose
docker-compose up -d
docker-compose logs -f
docker-compose down
# 进入容器
docker-compose exec web bash生产环境使用 Nginx 作为反向代理,配置见 nginx/nginx.conf
系统提供以下监控端点:
/health- 健康检查/api/metrics- 系统指标(需认证)
监控内容:
- CPU 使用率
- 内存使用情况
- 磁盘空间
- 应用进程状态