# career-advisor **Repository Path**: yue7678/career-advisor ## Basic Information - **Project Name**: career-advisor - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-24 - **Last Updated**: 2026-01-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能职业导航平台 - AI Career Advisor 基于魔珐星云具身驱动SDK和通义千问大模型构建的AI智能职业导航平台,通过3D数字人为用户提供职业规划咨询、模拟面试辅导和知识库管理服务。 ## 项目信息 | 项目 | 内容 | |------|------| | 项目名称 | 智能职业导航平台 | | 赛道 | AI 实时交互教育赛道 | | 方向 | 智能职业导航平台:分析职业路径,提供模拟面试辅导 | ## 技术栈 ### 前端 - React 18.x + TypeScript - Vite 5.x - Zustand (状态管理) - TailwindCSS - 魔珐星云具身驱动SDK v0.1.0-alpha.72 ### 后端 - Node.js + Express - TypeScript - 通义千问大模型 (Qwen) - Chat: qwen3-vl-235b-a22b-instruct - Embedding: qwen3-embedding-8b - 向量存储: 内存存储 + JSON持久化 (vectors.json) ## 功能特性 - 🤖 **3D数字人交互** - 魔珐星云具身驱动SDK,支持手动连接/断开 - 💬 **智能对话** - 基于通义千问大模型的流式对话 - 📚 **知识库管理** - 支持上传txt/md/pdf/docx文件,自动生成向量 - 🔍 **RAG增强** - 向量检索增强生成,提供知识库引用 - 🔐 **密钥管理** - localStorage存储 + 内置测试密钥 - 📊 **知识库统计** - 区分内置知识库和用户上传内容 - 🗂️ **分类管理** - 支持知识库分类查看和统计 - 🗑️ **安全清空** - 只清空用户上传内容,保留内置知识库 - 🎓 **课程学习** - 提供职业相关课程推荐和学习资源 - 🎯 **模拟面试** - 基于内置面试题库的智能模拟面试 - 📅 **学习计划** - 个性化职业技能学习计划的制定和记录 - 📝 **简历分析** - 智能简历分析和优化建议 ## 安装与运行 ### 环境准备 Node.js 24.11.1 npm 或 yarn ### 1. 安装依赖 ```bash npm install ``` ### 2. 配置环境变量 复制 `.env.example` 为 `.env` 并配置密钥: ```bash # 后端 API Keys(用于自动加载知识库) MODELSCOPE_API_KEY=your_modelscope_key AVATAR_APP_ID=your_avatar_app_id AVATAR_APP_SECRET=your_avatar_app_secret # 前端测试密钥(可选,用户可自己配置) VITE_TEST_MODELSCOPE_API_KEY=your_modelscope_key VITE_TEST_AVATAR_APP_ID=your_avatar_app_id VITE_TEST_AVATAR_APP_SECRET=your_avatar_app_secret ``` **获取密钥:** - 魔搭社区 API Key: https://modelscope.cn/my/myaccesstoken - 数字人 App ID/Secret: 在魔珐星云控制台创建应用获取 ### 3. 启动开发服务器 ```bash npm run dev ``` 这将同时启动: - 前端开发服务器 (http://localhost:5173) - 后端API服务器 (http://localhost:3001) ## 使用说明 ### 首次使用 1. **启动服务器** - 后端会自动加载内置知识库数据(职业信息、行业资讯、面试题库、技能要求) 2. **配置密钥** - 选择"使用内置测试密钥"或输入自己的密钥: - **通义千问 API Key** - 用于AI对话和向量化 - **数字人 App ID / App Secret** - 用于3D数字人驱动 ### 智能对话 1. 在输入框中输入您的职业相关问题 2. 系统会通过RAG技术检索相关知识库内容 3. 基于检索结果和大模型生成智能回复 4. 支持流式对话,实时显示回复内容 5. 数字人会同步播报回复内容(如果已连接) ### 知识库引用 AI 回复会显示知识库引用来源: - 点击 "📚 参考了 N 个知识库来源" 展开详情 - 显示文件名、分类、相似度、内容摘要 - 引用来源包括内置知识库和用户上传内容 - 如果没有相关内容,则不显示引用 ### 数字人控制 1. 点击"连接数字人"按钮连接3D数字人 2. 连接成功后,数字人会响应对话并播报回复 3. 点击"断开连接"可以断开数字人 4. 支持实时状态显示(离线、在线、说话中) ### 模拟面试 1. 在模拟面试模块下"开始模拟面试"弹框中选择你想要面试的职位,点击开始面试按钮即可进入模拟面试主内容界面 2. 模拟面试主内容界提供相关的面试试题 3. 针对用户面试试题的回复,针对性进行评价 4. 模拟面试结束后,还会对整体的面试进行评价,给出建议 5. 模拟面试的数据会记录 ### 课程学习 1. 课程学习模块提供三方面的课程学习资源 2. 职业规划基础、简历优化技巧、面试技巧提升 3. 用户可选择性进行学习 ### 学习计划 1. 提供学习计划模块 2. 制定学习计划、填充学习计划的详细任务等操作 3. 支持根据学习进度调整计划 ### 简历分析 1. 在对话中输入"分析简历"或相关指令 2. 按照提示上传你的简历文件 3. 系统会智能分析简历内容,提供优化建议 4. 包括简历结构、内容完整性、关键词匹配等方面的评估 ### 知识库管理 #### 查看知识库统计 - 切换到"知识库"标签,查看知识库概览 - 区分显示内置知识库和用户上传内容 - 按分类和文件类型统计 - 显示内置知识库的4个主要分类:职业信息、行业资讯、面试题库、技能要求 #### 上传知识库文件 1. 切换到"知识库"标签 2. 点击"上传文件" 3. 选择文件并设置分类 4. 支持格式:.txt, .md, .pdf, .docx 5. 上传成功后会自动生成向量并存储到vectors.json 6. 系统会避免重复文件记录 #### 清空用户知识库 1. 在"知识库"标签中点击"清空知识库" 2. 确认后会删除所有用户上传的知识库内容 3. **注意**:内置知识库内容会被保留,不会被删除 4. 清空后会自动更新知识库统计信息 ## 项目结构 ``` career-advisor/ ├── src/ │ ├── client/ # 前端代码 │ │ ├── components/ # React组件 │ │ ├── store/ # Zustand状态管理 │ │ ├── services/ # 前端服务 │ │ ├── App.tsx # 主应用 │ │ └── main.tsx # 入口 │ └── server/ # 后端代码 │ ├── routes/ # API路由 │ ├── services/ # 后端服务 │ ├── middleware/ # 中间件 │ └── app.ts # Express入口 ├── data/ │ └── knowledge/ # 知识库数据 ├── package.json └── vite.config.ts ``` ## API接口 ### 对话接口 - `POST /api/chat/send` - 发送对话消息 - `POST /api/chat/stream` - 流式对话 ### 知识库接口 - `POST /api/knowledge/upload` - 上传知识库文件 - `GET /api/knowledge/stats` - 获取知识库统计 - `DELETE /api/knowledge/:id` - 删除文档 - `DELETE /api/knowledge/clear` - 清空用户上传的知识库(保留内置文档) ## 开发文档 详细的开发文档请参考 [TRAE.md](./TRAE.md) ## 注意事项 1. 密钥仅存储在浏览器localStorage中,不会上传到服务器 2. 首次运行需要安装依赖 `npm install` 3. 如需使用PDF/DOCX文件上传功能,需确保安装了相关依赖 ## License MIT