Files
prop-ai-hr/docs/DEMO_ACCEPTANCE.md
T
admin 2488febf19 Merge branch 'codex/personal-assistant-phase2' into codex/multi-tenant-knowledge-platform
# Conflicts:
#	backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/domain/AihrSopDto.java
#	backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrModelSeedService.java
#	backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java
#	backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrModelSeedServiceTest.java
#	backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrSopSeedServiceTest.java
#	docs/API_INTEGRATION.md
#	docs/个人AI助理阶段二专项TechSpec.md
#	docs/个人AI助理阶段二开发推进计划.md
#	frontend/src/views/knowledge/processing.vue
#	mobile-uni/src/pages/user/sop/index.vue
#	mobile-uni/src/services/api.ts
#	mobile-uni/src/services/personal-assistant.ts
#	mobile-uni/tests/personal-assistant.test.mjs
#	scripts/demo-check.sh
#	scripts/personal-assistant-smoke.sh
2026-07-22 08:54:04 +08:00

10 KiB

一期 MVP 演示与验收清单

本文件是当前能力的 MVP 现场演示入口:先跑预检,再按演示流逐条点击。默认演示脚本不覆盖项目名称选择、项目化会话、原始来源绑定、员工工作成果或主管项目成果;这些能力的当前状态与专项回归见《工作助手与今日工作成果迭代计划》。当前证明一期 MVP 路径可讲、可点、可截图;用户侧三端已在 mobile-uni/ 按真实页面栈重建,portless 入口为 https://wygj-mobile-uni.localhost/h5/,已接手机号登录、问师傅、员工训练、员工学习、案例素材、候选人面试/资料和主管复盘/派专项;员工端训练完成后写入 aihr_practice_session,用于训练历史、主管待复盘列表和能力画像;候选人端面试复用 AI 面试 API,补充资料上传写 sys_oss 和 aihr_candidate_material,HR 可在管理端审核通过/驳回;SOP 检索已可查本地 MySQL seed 片段,并支持 txt/md/PDF/Word/Excel/PPT 上传解析为本地 fragment,配置 vector 模型后会写入 embedding 并尽力同步 Qdrant,管理端 AI 面试和案例沉淀按真实模型/ASR 优先验收。

演示前预检

./scripts/demo-check.sh

预检通过只代表本地前端、基础接口、路由和关键标记在位。真实演示仍以浏览器点击为准。

现场演示脚本

顺序 页面 点击路径 必须看到
1 首页 /index 打开首页 只展示“首页 / AI面试 / 三角色对练 / 案例沉淀 / SOP知识库 / 资料处理 / 系统设置-模型配置”
2 uni-app 三端 https://wygj-mobile-uni.localhost/h5/#/pages/user/today/index、/pages/candidate/index/index、/pages/supervisor/index/index 打开后先手机号登录;员工端从今日页进入问师傅、练习、学习、案例素材和个人页;候选首页按真实状态进入独立 /interview/index、/materials/index、/progress/index、/study/index;主管首页进入独立团队画像、指派、复盘列表和复盘详情 员工端显示训练评分、历史和画像;候选面试页可真实拉题/答题/评分,资料页显示审核三态,进度页展示办理步骤,预习页从正式知识库返回依据;主管端待复盘列表、复盘详情、专项指派和团队范围均为独立页面且普通员工无主管权限
3 AI面试 /recruit/interview 生成题目 → 填满参考回答或输入真实回答 → 完成评分 配置 chat 模型时真实生成题目和评分;未配置时用本地 Rubric 估分,不返回固定候选人分数;应看到新增面试记录
4 三角色对练 /train/practice 开始对练 → 填入参考回复或输入真实回复 → 继续一轮 → 结束并评分 已完成闭环、导师改写、新增对练记录;数据库已启用 chat 模型时,客户回复与评分为真实 LLM 生成(回复不再是固定台词,分数随话术变化),未配置时使用本地剧本兜底
5 案例沉淀 /knowledge/cases 上传真实语音 → ASR 转写 → AI 整理 → 送审 → 入库 → 查看案例详情/回放原始音频 已完成语音转写、原始音频 OSS 留痕、整理、入库、学习点、主管点评和按项目权限查看持久化转写/摘要详情;预渲染视频样片仍未接入,不把音频回放当作“查看样片”完成证据
6 SOP知识库 /knowledge/sop 上传 txt/md/PDF/Word/Excel/PPT 文档或使用 seed 文档 → 检索 → 生成训练题 已完成闭环、引用 SOP 原文片段、训练题已生成
7 资料处理 /knowledge/processing 打开页面 → 查看解析任务 → 查看处理链路 → 点“批量导入”选择少量文件或 ZIP 可看到资料总量、等待/解析中/完成/失败、片段数、向量化状态、批次进度和事件列表;页面不出现“选择目录”“服务端导入”
8 员工端工作助手 /h5/#/pages/user/sop/index 语音或文字说“帮我记一下三栋 3203 需要保洁服务” → 查看系统建议卡 → 在缺少单元时分别验证“暂不保存”和“仅自己保存” → 再建一条选择“提交公司处理” → 打开“我的资料与记忆” 一级只显示“工作助手 / 查全网”;位置缺失是可选提示而非阻断;卡片可修改、暂不保存、仅自己保存、提交公司处理,提醒默认关闭;同一会话重复描述更新原卡,“另外记一条”才生成新卡;个人记录显示仅自己,公司记录显示待流转,不能显示已送达

AI陪练二期增量脚本

顺序 页面 点击路径 必须看到
1 管理端 /train/practice 切换生活顾问场景 → 查看 Rubric/预习卡 → 开始对练 场景来自数据库 12 条 seed;Rubric、SOP 引用、预习卡可见;模型不可用时仍回退内置剧本
2 员工端 /h5/#/pages/user/practice/index 今日任务 → 每日三题文字或录音作答 → 开始训练 → 训练中点“求助” → 完成评分 每日三题即时反馈且语音有回放留痕;求助命中 SOP 或明确报错;完成后画像、历史和主管端待复盘同步
3 主管端 /h5/#/pages/supervisor/index/index 团队画像/待复盘 → 进入复盘详情 → 看逐句标注 → 写复盘建议 → 派发再练 能看到评分、音频、逐句标注、主管建议;从团队画像派专项后员工端出现专项/再练任务
4 管理端 /train/practice 选择训练记录 → 人工校准评分 → 选择试点起止日期 → 导出试点 CSV 导出只统计批次内能唯一匹配在职组织的正式数据,包含训练次数、每人 10 次完训率、平均分、预警数、主管复盘率、AI/人工分档一致率、SOP 可用率及正式身份明细
5 模型成本闸门 设置 AIHR_AI_RUNTIME_ENABLED=false 后重启后端 → 调 /api/aihr/model/chat 或资料处理视觉链路 返回 cost-guard-fallback 或“待处理”,chat/asr/tts/vision 不再外发,不影响训练闭环

试点正式验收前,用 AIHR_PILOT_TENANT_ID=000000 AIHR_PILOT_START_DATE=2026-07-07 AIHR_PILOT_END_DATE=2026-07-10 AIHR_PILOT_STRICT=true ./scripts/demo-check.sh 检查 M5 样本闸门,租户和日期替换为本批试点的真实值。闸门只统计目标租户、该时间窗内的数据;正式试点人员必须通过唯一手机号映射到在职组织快照,达到 10 次已完成对练的人数需覆盖试点人员的 80% 以上。校准样本、AI/人工分档一致率和 SOP 可用率未达标时同样失败,不用静态演示 marker 或历史 seed 数据代替真实试点数据。

2026-07-15 线上组织同步快照:开放平台返回 17 个公司、963 个部门、3417 名员工;生产 aihr_org_snapshot 已覆盖为 3417 行,其中 3392 人具备可用于手机号登录映射的号码,25 人手机号仍不可用,疑似乱码为 0,在职 2943 人、离职 474 人。组织同步能力和“至少 20 名正式人员可映射”的发布门槛已具备;25 人属于上游数据质量问题,不阻塞功能发布。严格试点验收仍必须用真实批次窗口产生训练、人工校准和 SOP 评审样本;旧窗口 2026-07-07..2026-07-10 没有人达到 10 次对练,不能作为一期业务验收完成证据。

录屏兜底

录屏只保留一条完整路径,不录框架后台配置。

  1. 从首页开始,左侧菜单依次进入四个页面。
  2. 每页只点上表的路径,停留 2 秒展示“必须看到”的验收文本。
  3. 彩排前运行 node scripts/capture-demo-screenshots.mjs 生成四张兜底截图:/tmp/wygj-ai-interview-flow.png、/tmp/wygj-practice-flow.png、/tmp/wygj-cases-flow.png、/tmp/wygj-sop-flow.png。如本机 Chrome 或 portless 名称不同,用 CHROME_BIN=... ADMIN_URL=... API_URL=... 覆盖。
  4. 若现场网络或浏览器状态异常,直接切上一步生成的截图。

不演示

  • 不演示 SSO、权限配置、知识图谱、数字人视频生成、绩效挂钩。
  • 不把“确认式统一采集”演示成完整个人助理:个人文档/网页收藏、个人知识库向量化、PPT 生成仍不在本批范围;COMPANY/PENDING 也不代表正式线索或工单接口已经投递成功。
  • 不承诺管理端 AI 面试、案例沉淀已写入正式业务数据库;三角色对练(管理端与移动端)记录写入 aihr_practice_session;候选人补充资料写 sys_oss + aihr_candidate_material,HR 可审核状态,但不做复杂审批流转;SOP 检索与文档上传使用 aihr_knowledge_* 本地表,失败时回退 seed。
  • 大模型不作为演示硬依赖:模型管理已启用 chat 模型时,三角色对练为真实 LLM 生成与评分(asr/tts 配置后语音输入/播报可用);未配置或现场调用失败时全链路自动回退 seed,演示不中断。

个人 AI 助理 P0 验收

先运行 ./scripts/personal-assistant-smoke.sh,必须输出 PASS。脚本会真实创建并解析 TEXT、cupsfilter PDF 与公开网页(默认 https://example.com/),验证三类资料 READY、按 itemIds 可检索、回答引用来自实际命中资料,并在删除后确认 MySQL/MinIO/Qdrant 及临时用户全部个人会话零残留;公开网页的 DNS、重定向逐跳校验与最终 READY 状态以后端为唯一判定,不做客户端 curl --location 预检,公网不可达必须失败,不允许改用 localhost 绕过 SSRF。浏览器使用手机号 A 登录后,依次收藏文字、PDF 与公开网页,等待资料状态变为 READY;按采集日期检索,并分别验证个人、企业与 mixed 问答的引用域。删除个人资料后,详情和搜索应立即不可见。

再使用手机号 B 登录,确认看不到 A 的资料标题、会话与引用,且不能访问 A 的详情、下载、重试或删除接口。私网 URL 与云元数据 URL 必须显示明确的 PERSONAL_URL_BLOCKED,回答不得出现无引用内容。企业知识未配置明确授权 allowlist 时,ENTERPRISE/mixed 必须 fail-closed。