6.7 KiB
6.7 KiB
物业AI人力资源系统 MVP 本地启动
当前仓库
- 后端:
backend,来自dromara/RuoYi-Vue-Plus的5.X分支 - 管理端前端:
frontend,来自CrazyLionCat/plus-ui的5.X分支 - 移动端前端:
mobile,独立 Vue/Vite 工程
本地端口
- 管理端前端:
http://127.0.0.1:5173/ - 移动端前端:
http://127.0.0.1:5174/h5/user - 后端:
http://127.0.0.1:8080/ - MySQL:
127.0.0.1:13306,数据库ry-vue,账号root/root - Redis:
127.0.0.1:16379,密码ruoyi123 - MinIO API:
http://127.0.0.1:9000,Console:http://127.0.0.1:9001,账号ruoyi / ruoyi123,默认 bucketruoyi - Qdrant REST:
http://127.0.0.1:6333,默认 collectionaihr_knowledge - 服务端资料导入根目录:
./.data/import
Qdrant 默认本地无需配置;远端或自定义 collection 可用 AIHR_QDRANT_URL、AIHR_QDRANT_COLLECTION、AIHR_QDRANT_API_KEY 覆盖。服务端资料导入根目录可用 AIHR_IMPORT_ROOT 或 -Daihr.import.root 覆盖。移动端手机号登录的短信模板 ID、阿里云 AccessKey、Secret 和短信签名都通过环境变量注入;本地放根目录 .env.local,scripts/dev-backend.sh 会自动加载。
本地 .env.local 示例:
AIHR_SMS_LOGIN_TEMPLATE_ID=SMS_xxxxxx
ALIYUN_SMS_ACCESS_KEY_ID=xxx
ALIYUN_SMS_ACCESS_KEY_SECRET=xxx
ALIYUN_SMS_SIGN_NAME=物业AI助手
application-dev.yml 只保留占位和默认值,不提交真实短信密钥。
启动步骤
在项目根目录执行:
./scripts/dev.sh
首次启动或需要重建本地 ry-vue MVP 数据库时执行:
./scripts/dev.sh --reset
--reset 会删除并重建本地 MVP 数据库,只用于本地开发环境。
默认登录
- 租户:
000000 - 管理员:
admin / admin123 - 测试账号:
test / 666666、test1 / 666666
品牌资源
- 页面标题:
物业AI人力资源系统 - 侧栏 Logo:
frontend/src/assets/logo/logo.png
已验证的基础链路
- MySQL、Redis 与 MinIO 容器健康检查通过
- Qdrant 容器随本地开发编排启动,供 SOP 知识库向量召回使用
ry_vue_5.X.sql、ry_job.sql、ry_workflow.sql已导入aihr_knowledge_mysql8.sql、aihr_model_mysql8.sql已导入;本地库含住宅 SOP seed 片段与模型配置表aihr_practice_mysql8.sql已导入;移动端员工训练记录落aihr_practice_session,用于训练历史、主管待复盘列表和能力画像聚合- SOP 知识库支持
.txt/.md/.markdown/.pdf/.doc/.docx/.xls/.xlsx/.ppt/.pptx上传到 MinIO 后解析入库,接口为POST /api/knowledge/doc/upload,单文件上限 100MB - 服务端目录导入接口为
POST /api/knowledge/doc/import-local-task,只读取导入根目录下的相对目录,后台逐文件复用同一上传解析链路;POST /api/knowledge/doc/import-local保留为同步调试接口。 - 启用
aihr_model_config.category='vector'的模型配置后,上传会同步写入片段 embedding,并尽力 upsert 到 Qdrant;模型配置页可查看 Qdrant 维度、点数和片段向量数,并在维度不一致时重建索引;未配置或 Qdrant 不可用时只走 MySQL Fulltext/seed fallback,不影响检索。 - 后端
ruoyi-admin已完成 Maven 打包并启动在8080 - 前端依赖已安装,Vite 已启动在
5173 - 移动端依赖已安装,Vite 已启动在
5174 - 移动端手机号登录页已接
/resource/sms/code与/auth/mobile/sms-login;未配置真实ALIYUN_SMS_ACCESS_KEY_ID、ALIYUN_SMS_ACCESS_KEY_SECRET、ALIYUN_SMS_SIGN_NAME、AIHR_SMS_LOGIN_TEMPLATE_ID时不会发送阿里云短信;手机号不存在时会自动注册为app_user - 移动端员工端“开始训练”已复用
/api/train/practice/start、/turn、/finish;移动端请求需带登录返回的Authorization与clientid;完成后主管端完训人数、“待复盘对练”计数、复盘列表、复盘详情、员工训练历史和能力画像会变化 /dev-api/auth/tenant/list与/dev-api/auth/code已通过前端代理返回200000000 / admin / admin123已通过真实加密登录接口返回access_token
Qdrant 单独检查:
curl -fsS http://127.0.0.1:6333/
登录后可检查向量索引状态:
TOKEN=<登录后 access_token>
curl -fsS http://127.0.0.1:8080/api/knowledge/doc/vector-index-status -H "Authorization: Bearer $TOKEN"
MVP 页面验证
登录后侧栏应只展示以下入口:
- 首页:
/index - AI面试:
/recruit/interview - 三角色对练:
/train/practice - 案例沉淀:
/knowledge/cases - SOP知识库:
/knowledge/sop - 资料处理:
/knowledge/processing - 系统设置-模型配置:
/system/model
若依默认菜单如“系统管理 / 租户管理 / 系统监控 / 系统工具 / 测试菜单”在当前 MVP 阶段应保持隐藏。
MVP 演示流验证
当前已跑通管理端五个本地演示流和移动端员工训练闭环:
- AI面试:进入
/recruit/interview,点击“生成题目” → “填满 seed 回答” → “完成评分”,应看到“已完成闭环”“建议复试”和新增面试记录。 - 三角色对练:进入
/train/practice,点击“开始对练” → 两次“填入 seed 回复 / 继续一轮” → “结束并评分”,应看到“已完成闭环”“导师改写”和新增对练记录。 - 案例沉淀:进入
/knowledge/cases,点击“选择样例录音” → “AI 整理” → “送审” → “入库”,应看到“已完成闭环”和新增seed入库记录。 - SOP知识库:进入
/knowledge/sop,可上传 txt/md/PDF/Word/Excel/PPT 文档入库;点击“检索” → “生成训练题”,应看到“已完成闭环”、命中数据库 SOP 原文片段和训练题;数据库不可用时页面回退 seed。 - 资料处理:进入
/knowledge/processing,应看到资料总量、解析任务表、处理链路、规则与风险;可用少量文件验证“批量导入/选择目录/服务端导入”。服务端导入读取./.data/import下的相对目录,启动后台任务并在页面显示进度;当前重试粒度是同目录重新导入,不是单失败文件重试。 - 移动端员工训练:进入
http://127.0.0.1:5174/h5/user,手机号登录 → “开始训练” → 两次“填入建议回复 / 提交本轮”,应看到评分、导师改写、训练历史和能力画像;切到主管端后完训人数与“待复盘对练”计数增加,并展示待复盘列表;点进单条可看评分、话术、导师改写,并可标记已复盘。
演示前可先跑最小预检:
./scripts/demo-check.sh
完整演示脚本与录屏兜底见 DEMO_ACCEPTANCE.md。