refactor: migrate model runtime to Gitee AI Muxi
孔明职配是面向学生求职场景的 AI 岗位匹配与简历优化智能体。项目通过简历解析、岗位推荐、JD 分析、匹配解释、简历优化建议、模拟面试和 AI 求职助手,帮助学生完成从“理解自身画像”到“准备投递材料”的求职分析闭环。
难以判断岗位与自身经历是否匹配是学生在求职过程中常见的问题,同时学生也缺少面向目标 JD 的具体简历优化建议。孔明职配将简历、岗位 JD、面试回答和用户追问统一到一个求职上下文中,使用轻量多智能体流程和模型代理生成可解释结果。
当前仓库已实现 Web Demo,主要面向以下场景:
resume-structure
src/matchEngine.ts
当前代码中的模型调用由后端代理统一封装:
src/giteeAiClient.ts
vite.config.ts
/api/gitee-ai
api/gitee-ai.js
server/giteeAiCore.js
竞赛环境使用 Gitee AI 模力方舟上的沐曦 Token 资源包,配置如下:
GITEE_AI_BASE_URL=https://ai.gitee.com/v1 GITEE_AI_API_KEY=your_gitee_ai_access_token GITEE_AI_PACKAGE=1492 GITEE_AI_MODEL=Qwen3-4B GITEE_AI_VISION_MODEL=Qwen3-VL-8B-Instruct GITEE_AI_REQUEST_TIMEOUT_MS=90000
模型代理已收敛为 Gitee AI / 沐曦资源包专用路径:服务端仅接受 https://ai.gitee.com/v1,每次请求携带 X-Package: 1492,不再保留其他模型平台的运行时回退。当前使用文本模型 Qwen3-4B 和视觉模型 Qwen3-VL-8B-Instruct,并已补充脱敏调用记录与截图证据。
https://ai.gitee.com/v1
X-Package: 1492
Qwen3-4B
Qwen3-VL-8B-Instruct
. ├── api/ Vercel API 入口,转发模型请求 ├── docs/ 项目架构、技术说明、部署、证据与运行文档 ├── public/ 静态资源、Live2D/2D 面试官、PDF.js CMap ├── scripts/ 解析器与 UI 验证脚本 ├── server/ 服务端模型代理核心逻辑 ├── src/ React 前端、智能体、解析器、页面和样式 ├── index.html Vite HTML 入口 ├── package.json Node 依赖和脚本 ├── vite.config.ts Vite 配置和本地 API 代理 ├── vercel.json Vercel 安全头配置 └── tsconfig.json TypeScript 配置
更完整的结构说明见 项目架构与理解文档。
环境要求:
安装依赖:
npm install
本地开发:
npm run dev
浏览器访问 Vite 输出的本地地址,默认通常为:
http://localhost:5173
构建:
npm run build
预览构建产物:
npm run preview
GITEE_AI_API_KEY
your_model_api_key
GITEE_AI_BASE_URL
GITEE_AI_MODEL
GITEE_AI_VISION_MODEL
GITEE_AI_PACKAGE
1492
GITEE_AI_REQUEST_TIMEOUT_MS
90000
VITE_GITEE_AI_API_URL
VITE_AVATAR_MODE
static
以下示例基于已脱敏的演示数据,展示从首页入口到简历分析、岗位推荐、模拟面试和 AI 助手的完整使用链路。
示例输入:学生简历 PDF、图片或文本内容,以及可选的目标岗位名称/JD。
示例输出:结构化学生画像、岗位推荐列表、岗位匹配评分、简历优化建议、模拟面试追问和 AI 助手多轮问答回复。
首页展示项目定位、核心能力入口和岗位推荐/能力图谱预览。
用户上传或粘贴简历后,系统提取学生画像、项目经历、技能关键词和求职方向,并基于目标岗位生成简历优化建议。
系统根据学生画像生成岗位推荐列表,给出匹配分数、优先级、岗位职责、岗位要求和五维匹配评分。
用户可以进入综合面、技术面或 HR 面模拟面试,也可以在 AI 助手中围绕简历诊断、岗位澄清、面试准备进行多轮问答。
项目已通过 Gitee AI / 沐曦 Token 资源包完成真实模型调用。下图为脱敏后的控制台调用记录,不包含访问令牌、Authorization header、Cookie 或完整 IP。
当前项目包含 Vercel API 入口和 vercel.json 安全头配置,适合部署到 Vercel。
vercel.json
基本流程:
dist
详细步骤见 部署指南。
仓库已补充 Demo 视频网盘链接、项目展示 PPT、核心页面运行截图、模型真实调用证据、脱敏日志说明和性能测试记录。材料清单见 证据材料索引,整理说明见 演示材料与证据指南。
仓库当前包含:
scripts/verify-parsers.cjs
scripts/verify-ui.cjs
仓库已补充 Gitee AI / 沐曦 Token 资源包真实调用证据。相关材料见:
项目开源参考与第三方依赖说明详见:
当前仓库根目录包含 Apache-2.0 许可证和 NOTICE 文件。原创代码按 Apache License 2.0 开源;第三方依赖、运行时资源和素材仍遵循其各自许可证或授权边界,不能仅用本仓库 License 覆盖。
本项目为 Nanshan von Neumann Team 面向学生求职匹配场景开发的 AI 智能体 Demo。项目核心包括简历解析、岗位推荐、JD 分析、匹配解释、简历优化、模拟面试和 AI 求职助手等功能。
本仓库当前公开发布目的为本次竞赛提交、评审展示、可复现检查和学习参考。参赛、评审、商业展示、二次分发或修改版本应保留原始项目来源、Apache License 2.0 文本、NOTICE 文件和作者/团队署名。项目名称、截图、文档、PPT、演示材料、品牌标识和非代码素材不因代码采用 Apache-2.0 而自动放弃署名权或其他未明确授予的权利。
Cache-Control: no-store
X-Content-Type-Options: nosniff
Referrer-Policy: no-referrer
.gitignore
.env
.env.*
比赛模型调用使用 Gitee AI 模力方舟上的沐曦 Token 资源包。请参考 .env.example 在本地创建不提交的 .env.local,并通过安全方式填写访问令牌:
.env.example
.env.local
GITEE_AI_BASE_URL=https://ai.gitee.com/v1 GITEE_AI_PACKAGE=1492 GITEE_AI_MODEL=Qwen3-4B GITEE_AI_VISION_MODEL=Qwen3-VL-8B-Instruct
首次使用扫描版 PDF 或图片简历前,先在 D 盘建立本地 OCR 环境:
npm run setup:ocr
首次构建岗位知识库时执行:
npm run setup:rag npm run build:job-index npm run setup:job-reranker npm run verify:job-rerank
重排模型约占 2.3 GB,默认缓存到 D:\ai_models\kongming-rerankers\bge-reranker-v2-m3。缓存完成后,本地岗位 检索会自动启用二阶段重排;页面请求不会联网下载模型。
D:\ai_models\kongming-rerankers\bge-reranker-v2-m3
启动前端和同源模型、OCR、岗位知识库代理:
生产环境的 Vercel 函数通过 /api/jobs/search 转发到独立岗位 RAG 服务,不会 在 Serverless 函数中加载本地 Python、Qdrant 数据目录或重排模型。部署变量和 容器运行说明见 岗位 RAG 独立服务,配置后可运行:
/api/jobs/search
npm run verify:job-remote
有文字层的 PDF 会继续使用 PDF.js;仅当文字层为空或质量不足时,系统才调用 RapidOCR,并把识别到的文字坐标用于简历字段高亮。OCR 置信度不足时,语义识别任务通过 Gitee AI / 沐曦视觉模型完成。
面向学生求职场景的 AI 简历解析、岗位匹配、求职建议与模拟面试智能体
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
Kongming Student Job Matching Agent
孔明职配是面向学生求职场景的 AI 岗位匹配与简历优化智能体。项目通过简历解析、岗位推荐、JD 分析、匹配解释、简历优化建议、模拟面试和 AI 求职助手,帮助学生完成从“理解自身画像”到“准备投递材料”的求职分析闭环。
项目简介
难以判断岗位与自身经历是否匹配是学生在求职过程中常见的问题,同时学生也缺少面向目标 JD 的具体简历优化建议。孔明职配将简历、岗位 JD、面试回答和用户追问统一到一个求职上下文中,使用轻量多智能体流程和模型代理生成可解释结果。
当前仓库已实现 Web Demo,主要面向以下场景:
核心功能
resume-structure提取姓名、学历、经历、技能、求职方向等字段。src/matchEngine.ts基于能力、经历、关键词、兴趣和成长潜力生成可解释评分。使用的模型与算力环境
当前代码中的模型调用由后端代理统一封装:
src/giteeAiClient.tsvite.config.ts中的/api/gitee-aiapi/gitee-ai.jsserver/giteeAiCore.js竞赛环境使用 Gitee AI 模力方舟上的沐曦 Token 资源包,配置如下:
模型代理已收敛为 Gitee AI / 沐曦资源包专用路径:服务端仅接受
https://ai.gitee.com/v1,每次请求携带X-Package: 1492,不再保留其他模型平台的运行时回退。当前使用文本模型Qwen3-4B和视觉模型Qwen3-VL-8B-Instruct,并已补充脱敏调用记录与截图证据。仓库结构
更完整的结构说明见 项目架构与理解文档。
快速开始
环境要求:
安装依赖:
本地开发:
浏览器访问 Vite 输出的本地地址,默认通常为:
构建:
预览构建产物:
配置说明
GITEE_AI_API_KEYyour_model_api_keyGITEE_AI_BASE_URLhttps://ai.gitee.com/v1GITEE_AI_MODELQwen3-4BGITEE_AI_VISION_MODELQwen3-VL-8B-InstructGITEE_AI_PACKAGE1492GITEE_AI_REQUEST_TIMEOUT_MS90000VITE_GITEE_AI_API_URL/api/gitee-aiVITE_AVATAR_MODEstatic示例输入输出与运行流程
以下示例基于已脱敏的演示数据,展示从首页入口到简历分析、岗位推荐、模拟面试和 AI 助手的完整使用链路。
示例输入:学生简历 PDF、图片或文本内容,以及可选的目标岗位名称/JD。
示例输出:结构化学生画像、岗位推荐列表、岗位匹配评分、简历优化建议、模拟面试追问和 AI 助手多轮问答回复。
1. 首页与能力入口
首页展示项目定位、核心能力入口和岗位推荐/能力图谱预览。
2. 简历解析与优化建议
用户上传或粘贴简历后,系统提取学生画像、项目经历、技能关键词和求职方向,并基于目标岗位生成简历优化建议。
3. 岗位推荐与匹配解释
系统根据学生画像生成岗位推荐列表,给出匹配分数、优先级、岗位职责、岗位要求和五维匹配评分。
4. 模拟面试与 AI 助手
用户可以进入综合面、技术面或 HR 面模拟面试,也可以在 AI 助手中围绕简历诊断、岗位澄清、面试准备进行多轮问答。
5. 模型真实调用记录
项目已通过 Gitee AI / 沐曦 Token 资源包完成真实模型调用。下图为脱敏后的控制台调用记录,不包含访问令牌、Authorization header、Cookie 或完整 IP。
部署方法
当前项目包含 Vercel API 入口和
vercel.json安全头配置,适合部署到 Vercel。基本流程:
npm run build。dist。GITEE_AI_API_KEY等环境变量。详细步骤见 部署指南。
证据材料
仓库已补充 Demo 视频网盘链接、项目展示 PPT、核心页面运行截图、模型真实调用证据、脱敏日志说明和性能测试记录。材料清单见 证据材料索引,整理说明见 演示材料与证据指南。
性能测试与运行日志
仓库当前包含:
scripts/verify-parsers.cjs:解析器验证脚本。scripts/verify-ui.cjs:Playwright UI 验证脚本,使用 Mock/api/gitee-ai响应。仓库已补充 Gitee AI / 沐曦 Token 资源包真实调用证据。相关材料见:
开源代码参考来源
项目开源参考与第三方依赖说明详见:
当前仓库根目录包含 Apache-2.0 许可证和 NOTICE 文件。原创代码按 Apache License 2.0 开源;第三方依赖、运行时资源和素材仍遵循其各自许可证或授权边界,不能仅用本仓库 License 覆盖。
本项目为 Nanshan von Neumann Team 面向学生求职匹配场景开发的 AI 智能体 Demo。项目核心包括简历解析、岗位推荐、JD 分析、匹配解释、简历优化、模拟面试和 AI 求职助手等功能。
本仓库当前公开发布目的为本次竞赛提交、评审展示、可复现检查和学习参考。参赛、评审、商业展示、二次分发或修改版本应保留原始项目来源、Apache License 2.0 文本、NOTICE 文件和作者/团队署名。项目名称、截图、文档、PPT、演示材料、品牌标识和非代码素材不因代码采用 Apache-2.0 而自动放弃署名权或其他未明确授予的权利。
安全边界
/api/gitee-ai后端代理转发。Cache-Control: no-store、X-Content-Type-Options: nosniff、Referrer-Policy: no-referrer。.gitignore已排除.env、.env.*、日志文件和构建产物。文档索引
本地开发
比赛模型调用使用 Gitee AI 模力方舟上的沐曦 Token 资源包。请参考
.env.example在本地创建不提交的.env.local,并通过安全方式填写访问令牌:首次使用扫描版 PDF 或图片简历前,先在 D 盘建立本地 OCR 环境:
首次构建岗位知识库时执行:
重排模型约占 2.3 GB,默认缓存到
D:\ai_models\kongming-rerankers\bge-reranker-v2-m3。缓存完成后,本地岗位 检索会自动启用二阶段重排;页面请求不会联网下载模型。启动前端和同源模型、OCR、岗位知识库代理:
生产环境的 Vercel 函数通过
/api/jobs/search转发到独立岗位 RAG 服务,不会 在 Serverless 函数中加载本地 Python、Qdrant 数据目录或重排模型。部署变量和 容器运行说明见 岗位 RAG 独立服务,配置后可运行:有文字层的 PDF 会继续使用 PDF.js;仅当文字层为空或质量不足时,系统才调用 RapidOCR,并把识别到的文字坐标用于简历字段高亮。OCR 置信度不足时,语义识别任务通过 Gitee AI / 沐曦视觉模型完成。