docs: sync production release truth
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
## 项目定位
|
||||
|
||||
本项目已升级为**银城员工端 APP**,按“陪练 → 大喇叭+知识学习平台 → 北森对接”三阶段推进,见 `docs/银城员工端APP分阶段实施总纲.md`。当前只按 `docs/DEMO_ACCEPTANCE.md` 和 `docs/AI陪练二期开发推进计划.md` 推进阶段一管家(生活顾问)试点;`position` 沿用现有值。2026-07 MVP 资料已归档,不要把演示闭环写成生产验收完成,也不要把阶段二/三能力拉进当前主线。
|
||||
本项目已升级为**银城员工端 APP**,按“陪练 → 大喇叭+知识学习平台 → 北森对接”三阶段推进。正式验收主线仍是阶段一试点;2026-07-18 已按客户明确要求额外发布问题榜/积分、岗位考试、全网 AI 和多租户知识空间等能力,但这不等于阶段二/三整体验收。`position` 沿用现有值,MVP 资料已归档;任何结论都要区分生产部署、正式账号/真机验证和严格试点。
|
||||
|
||||
## 工程边界
|
||||
|
||||
@@ -43,23 +43,14 @@
|
||||
- 线上移动端 H5:`https://peilian.njzhmj.top/h5/`,Caddy 服务 `/opt/wygj/www/h5`。
|
||||
- 只发布移动端静态资源时,用 `npm --prefix mobile-uni run build:h5` 后备份远端 `/opt/wygj/www/h5`,再 `rsync -az --delete mobile-uni/dist/build/h5/ YCWY:/opt/wygj/www/h5/`;前端静态修复不需要重启后端。
|
||||
|
||||
## 品牌入口
|
||||
## 当前业务边界
|
||||
|
||||
- 页面标题在 `frontend/.env.development` 与 `frontend/.env.production`。
|
||||
- 侧栏 logo 在 `frontend/src/assets/logo/logo.png`。
|
||||
|
||||
## MVP 管理端前端边界
|
||||
|
||||
- 首页:`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`;解析任务按当前筛选结果前端分页,默认 10 条/页,可选 20/50 条,切换筛选或刷新时回到第一页。
|
||||
- 模型配置:`frontend/src/views/system/model/index.vue`,路由 `/system/model`。
|
||||
- MVP 阶段侧栏只保留“首页 / AI面试 / 三角色对练 / 案例沉淀 / SOP知识库 / 资料处理 / 系统设置-模型配置”。过滤逻辑在 `frontend/src/layout/components/Sidebar/index.vue`,不要在未明确要求时恢复若依默认全量菜单。
|
||||
- 当前用户侧只改 `mobile-uni/src/pages/*`:员工、候选人、主管首页分别为 `/pages/user/today/index`、`/pages/candidate/index/index`、`/pages/supervisor/index/index`;旧 `/h5/user|candidate|supervisor|employee|admin` 只做兼容重定向,主管端不等于后台管理员。员工首页按「师傅区→今日安排→我的地图→成长摘要」,视觉以 `docs/feedback/2026070423/design/` 和 `REVIEW.md` 为准(修正项优先,问答图片 `64×64`);训练首屏先放场景、开始练习、最近练过,每日三题后置。`pages.json` 固定底部「今日/练/问/我」,未实现入口进 `/pages/common/building/index`。SOP 搜索/总结卡分别复用 `/api/knowledge/search`(`category='sop'`)和 `/api/knowledge/summary-card`,失败不兜假数据。
|
||||
- 不要把三端概括成全模态:员工对练/每日题支持文字和语音,案例只传音频,问师傅仅文字;候选面试支持文字/语音,资料可传文档/图片但图片不参与评分;主管只写文字复盘/指派并回听录音。员工图像/视频情境、方言验收和阶段二个人知识空间仍未完成。首页“语音提问”与问师傅仅文字不一致;优先改文案,若补语音则复用 `services/speech.ts` 和 `/api/ai/asr`,不要新建接口。
|
||||
- 管理端业务路由集中在 `frontend/src/router/index.ts`,覆盖首页、AI 面试、训练运营、问题榜、案例、知识空间、SOP、资料处理、系统配置、组织权限和成长激励;侧栏过滤在 `frontend/src/layout/components/Sidebar/index.vue`,不要恢复若依默认全量菜单。
|
||||
- 用户侧只改 `mobile-uni/src/pages/*`;员工、候选人、主管首页分别为 `/pages/user/today/index`、`/pages/candidate/index/index`、`/pages/supervisor/index/index`,旧 `/h5/user|candidate|supervisor|employee|admin` 只做兼容重定向。底栏固定「今日/练/问/我」;SOP 搜索/总结卡复用 `/api/knowledge/search` 和 `/api/knowledge/summary-card`,失败不兜假数据。
|
||||
- 不要把三端概括成全模态:员工对练/每日题和问师傅支持文字/语音,问师傅图片/视频只用于本次分析,案例传音频;候选面试支持文字/语音,资料可传文档/图片但图片不参与评分;主管写文字复盘/指派并回听录音。员工对练图像/视频情境、服务录像回放和方言正式验收仍未完成;语音继续复用 `services/speech.ts` 与 `/api/ai/asr`。
|
||||
- 问题榜奖励只记积分/学习学分,不得擅自增加现金、提现、预算或税务语义;选最佳答案和考试提交必须保持请求幂等。
|
||||
- 全网 AI 与企业问师傅必须分入口、分来源和分免责声明;提供方仅允许公网 HTTPS,修改地址/密钥后必须连接测试成功才能启用,未配置时明确不可用且不生成假答案。
|
||||
- 多租户知识平台的有效范围是“租户 + 调用应用绑定 + 主体授权”的交集;不信任客户端传入身份,API_TOKEN 不得进入浏览器或小程序包。生产排序规则以 `aihr_knowledge_info.tenant_id` 为基准,新表最后执行 `aihr_20260718_release_collation_compat_mysql8.sql`。
|
||||
- 移动端首页接口:`GET /api/aihr/mobile/home/{role}`,当前 `@SaIgnore` 公开只读 seed,用于 H5 首屏 API 优先 + 本地 fallback;后续确定小程序登录后再接移动端 token,不复用管理后台登录态。
|
||||
- 移动端手机号登录:验证码发送走 `GET /resource/sms/code?phonenumber=...`,登录走 `POST /auth/mobile/sms-login`;短信发送复用 `sms.blends.config1` 阿里云配置。手机号不存在时自动注册 `app_user`,备注为“移动端短信自动注册”。模板 ID 用 `AIHR_SMS_LOGIN_TEMPLATE_ID`,AccessKey/Secret/签名用 `ALIYUN_SMS_ACCESS_KEY_ID`、`ALIYUN_SMS_ACCESS_KEY_SECRET`、`ALIYUN_SMS_SIGN_NAME`,本地放 `.env.local`。`aihr.sms.dev-fixed-code` 非空则验证码固定(dev 默认 `123456`)、不真发短信;prod 默认关闭,试点期必须同时显式设置 `AIHR_SMS_DEV_FIXED_CODE` 与 `AIHR_SMS_PROD_FIXED_CODE_ENABLED=true`,停用时删除固定码并关闭生产开关。
|
||||
- 移动端员工训练闭环:员工端首页“开始训练”复用 `POST /api/train/practice/start`、`/turn`、`/finish`,请求必须带移动端登录返回的 `Authorization` 与 `clientid`;`mode=mobile` 完成后写入 `aihr_practice_session`,并更新主管端首页完训率、“待复盘对练”、员工训练历史和能力画像。主管端复盘详情查 `GET /api/aihr/mobile/practice/reviews/{id}`,标记复盘用 `POST /api/aihr/mobile/practice/reviews/{id}/reviewed`。
|
||||
@@ -74,9 +65,7 @@
|
||||
- 图片视觉 OCR:上传图片时经 `visionRuntime()` 找启用模型(优先 `aihr_model_config.category='vision'`,无则回退 `category='chat'`),把图片编码成 base64 data URL 调 OpenAI-compatible `/chat/completions` 提取文字再切分入库;无可用视觉模型或 OCR 无结果时按「待处理」落库(0 片段),不算失败。视频关键帧用带画面描述的 FRAME_PROMPT(文字+一句场景描述),改 prompt 时别退回纯 OCR。不依赖 Tesseract。
|
||||
- 向量库状态接口是 `GET /api/knowledge/doc/vector-index-status`,重建接口是 `POST /api/knowledge/doc/rebuild-vector-index`;外部 embedding 成功但 Qdrant collection 维度不一致时不要静默降级,走状态提示和重建。
|
||||
- 资料处理接口是 `GET /api/knowledge/processing/overview`,直接聚合 `aihr_knowledge_attach`、`aihr_knowledge_fragment` 和 `sys_oss.ext1`;页面只保留“批量导入”,走 `POST /api/knowledge/doc/upload-async`,不要恢复“选择目录”“服务端导入”或目录导入任务面板。`POST /api/knowledge/doc/import-local`、`POST /api/knowledge/doc/import-local-task`、`GET /api/knowledge/doc/import-tasks` 和 `POST /api/knowledge/doc/import-tasks/{id}/cancel` 仅保留为后端运维/调试接口;目录只能是 `aihr.import.root` 下的相对路径。
|
||||
- seed service 阶段已完成;后续按 `docs/RUOYI_AI_INCREMENTAL_MIGRATION.md` 分片迁移 `ruoyi-ai` 的知识库、文档解析、RAG、chat 能力。
|
||||
- 迁移时不要整包搬 `ruoyi-chat`;优先在 `ruoyi-aihr` 内吸收必要表、service、loader 和检索接口,并保留 seed fallback。
|
||||
- 已落地的演示流不要退回静态壳:AI 面试、三角色对练、案例沉淀已是真模型优先(未配置/失败回退本地兜底),SOP 知识库、移动端三端首页保留 fallback——改造时降级链必须保留。
|
||||
- `ruoyi-ai` 只按 `docs/RUOYI_AI_INCREMENTAL_MIGRATION.md` 分片迁移到 `ruoyi-aihr`,不要整包搬 `ruoyi-chat`;已落地页面保持真实接口/模型优先与 seed fallback,不能退回静态壳。
|
||||
- 本项目 AI 表前缀用 `aihr_*`:知识库是 `aihr_knowledge_info/attach/fragment`,上传队列是 `aihr_knowledge_upload_item`,导入任务是 `aihr_knowledge_import_task`,模型配置是 `aihr_model_provider/config`,移动端训练记录是 `aihr_practice_session`,候选人补充资料是 `aihr_candidate_material`,组织人员快照是 `aihr_org_snapshot`(本地 reset 有 Demo seed;生产/试点从 `docs/open-org-sync-api-design-v1.md` 对应开放组织系统同步,入口 `POST /api/aihr/org/sync`)。
|
||||
|
||||
## 业务文档
|
||||
|
||||
Reference in New Issue
Block a user