Files
prop-ai-hr/AGENTS.md
T
2026-07-03 01:25:10 +08:00

66 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AGENTS.md
## 项目定位
这是“物业AI人力资源系统”一期 Demo 工程。目标是用 RuoYi-Vue-Plus + plus-ui 先跑通本地账号登录和可演示业务壳,再实现 AI HR 的最小英雄路径。
## 工程边界
- `backend/` 是 `dromara/RuoYi-Vue-Plus` 的 `5.X` 分支检出。
- `frontend/` 是 `CrazyLionCat/plus-ui` 的 `5.X` 分支检出。
- 本项目自己的本地编排放在根目录:`docker-compose.dev.yml`、`scripts/`;运行说明在 `docs/DEV_SETUP.md`。
- 除非确实要接业务模块,不要改上游框架默认配置;本地端口和开关优先放根目录脚本里覆盖。
## 本地运行
- MySQL:`127.0.0.1:13306`,库 `ry-vue`,账号 `root/root`。
- Redis:`127.0.0.1:16379`,密码 `ruoyi123`。
- MinIO:API `127.0.0.1:9000`,Console `127.0.0.1:9001`,账号 `ruoyi / ruoyi123`,bucket `ruoyi`。
- Qdrant:REST `127.0.0.1:6333`,默认 collection `aihr_knowledge`;可用 `AIHR_QDRANT_URL`、`AIHR_QDRANT_COLLECTION`、`AIHR_QDRANT_API_KEY` 覆盖。
- 资料导入根目录:默认 `./.data/import`,由 `scripts/dev-backend.sh` 传入 `aihr.import.root`;也可用 `AIHR_IMPORT_ROOT` 覆盖。
- 后端:`./scripts/dev-backend.sh`,端口 `8080`。
- 前端:`./scripts/dev-frontend.sh`,端口 `5173`。
- 重置数据:`./scripts/reset-dev-db.sh`,会删除并重建本地 `ry-vue`。
导入 SQL 必须带 `--default-character-set=utf8mb4`,否则中文昵称可能按错误字符集导入并触发字段长度问题。
## 验证口径
- 前端首页:`http://127.0.0.1:5173/`
- 租户接口:`http://127.0.0.1:5173/dev-api/auth/tenant/list`
- 验证码接口:`http://127.0.0.1:5173/dev-api/auth/code`
- 默认登录:租户 `000000`,管理员 `admin / admin123`。
## 品牌入口
- 页面标题在 `frontend/.env.development` 与 `frontend/.env.production`。
- 侧栏 logo 在 `frontend/src/assets/logo/logo.png`。
## Demo 前端边界
- 首页:`frontend/src/views/index.vue`,路由 `/index`。
- AI 面试:`frontend/src/views/recruit/interview.vue`,路由 `/recruit/interview`。
- 三角色对练:`frontend/src/views/train/practice.vue`,路由 `/train/practice`。
- 案例沉淀:`frontend/src/views/knowledge/cases.vue`,路由 `/knowledge/cases`。
- SOP 知识库:`frontend/src/views/knowledge/sop.vue`,路由 `/knowledge/sop`。
- 资料处理:`frontend/src/views/knowledge/processing.vue`,路由 `/knowledge/processing`。
- Demo 阶段侧栏只保留“首页 / AI面试 / 三角色对练 / 案例沉淀 / SOP知识库 / 资料处理 / 系统设置-模型配置”。过滤逻辑在 `frontend/src/layout/components/Sidebar/index.vue`,不要在未明确要求时恢复若依默认全量菜单。
- 当前业务页已用 seed 数据跑通可演示闭环;后端 API 对接先看 `docs/API_INTEGRATION.md`。
- 后端业务代码不要塞进上游 `ruoyi-demo`;自有 API 放在 `backend/ruoyi-modules/ruoyi-aihr`,再接入 `ruoyi-admin`。
- AI 面试页、三角色对练页、案例沉淀页、SOP 知识库页已是 API 优先 + 本地 fallback;SOP 知识库优先查 `aihr_knowledge_fragment` 的 MySQL Fulltext,并在 vector 模型和 Qdrant 可用时做混合召回;支持 `.txt/.md/.markdown/.pdf/.doc/.docx/.xls/.xlsx/.ppt/.pptx` 上传解析入库。
- SOP 上传接口是 `POST /api/knowledge/doc/upload`,表单字段为 `file` 和 `category`;当前限制 100MB 内,支持 txt/md/PDF/Word/Excel/PPT,先写 MinIO/`sys_oss` 再绑定 `aihr_knowledge_attach.oss_id`,同一知识库同名文件会替换旧 fragment。若数据库启用 `category=vector` 的模型配置,会同步调用 OpenAI-compatible `/embeddings`,写入 `embedding_json` 并尽力 upsert 到 Qdrant;Qdrant 不可用时保留 MySQL Fulltext/seed fallback。
- 资料处理接口是 `GET /api/knowledge/processing/overview`,直接聚合 `aihr_knowledge_attach`、`aihr_knowledge_fragment` 和 `sys_oss.ext1`;`POST /api/knowledge/doc/import-local` 保留同步导入,`POST /api/knowledge/doc/import-local-task` + `GET /api/knowledge/doc/import-tasks` 用于页面启动后台目录导入和轮询进度。目录只能是 `aihr.import.root` 下的相对路径,逐文件复用上传解析链路。
- seed service 阶段已完成;后续按 `docs/RUOYI_AI_INCREMENTAL_MIGRATION.md` 分片迁移 `ruoyi-ai` 的知识库、文档解析、RAG、chat 能力。
- 迁移时不要整包搬 `ruoyi-chat`;优先在 `ruoyi-aihr` 内吸收必要表、service、loader 和检索接口,并保留 seed fallback。
- 已落地的 seed 演示流不要退回静态壳:AI 面试、三角色对练、案例沉淀、SOP 知识库。
- 本项目 AI 表前缀用 `aihr_*`:知识库是 `aihr_knowledge_info/attach/fragment`,模型配置是 `aihr_model_provider/config`。
## 业务文档
- 总入口:`README.md`
- 文档索引:`docs/README.md`
- Demo 范围和止损线:`docs/AI人力资源系统一期Demo作战清单.md`
- 后端 API 对接:`docs/API_INTEGRATION.md`
- 业务需求:`docs/物业AI人力资源系统业务需求文档BRD.md`
- 开发规格:`docs/物业AI人力资源系统开发规格TechSpec.md`