feat: add project-scoped work assistant results

This commit is contained in:
2026-07-21 04:44:15 +08:00
parent 53b15e506c
commit 4536d607e3
75 changed files with 3281 additions and 507 deletions
@@ -1,6 +1,6 @@
# 物业行业 AI 人力资源系统 · 开发规格(Tech Spec)
> 版本:v1.6 | 日期:2026-07-19
> 版本:v1.8 | 日期:2026-07-21
> 定位:**开发层唯一依据**。回答"怎么建"——工程结构、数据表、API 契约、Prompt 规格、集成适配。
> v1.1 变更:数据模型对齐《手册》卷1 第9章 HR 主干,补 3 张 backbone 表(职位职责/雇员绩效/雇用终止),新增附录 D 对照表。
> v1.2 变更:第 6 章按 Codex 设计评审重写——状态机补异常/终止态、COACH_CHECK 工程化、评分引擎分层(P0 单 LLM / P1 融合)、澄清"单场对练评分 vs 跨期能力画像"两套评分、Prompt 加固 + RAG 硬约束、新增 6.5 P0/P1 切分。
@@ -8,6 +8,8 @@
> v1.4 变更:移动端拆为独立 `mobile/` Vue/Vite Web/H5 工程,承载员工端、候选人端、主管端;后台管理端继续在 `frontend/`。
> v1.5 变更:当前用户侧以 `mobile-uni/` 为准;员工工作上报复用 `ChatComposer` 改为语音优先会话,增加无状态 AI 整理草稿契约,确认后继续提交既有 `aihr_work_report` 审核链。
> v1.6 变更:工作助手显式“记一下”复用 `/api/knowledge/query` 的 `memoryCandidate`,确认后写 `aihr_assistant_capture`;位置字段改为可选,增加 PRIVATE/COMPANY 范围、跟进时间和待流转状态。音色不在本次实现范围。
> v1.7 文档收口:明确当前“工作上报”是四类成果投稿审核链,工作助手负责日常事实采集;项目名称选择、项目化会话、来源追溯和今日工作成果仍属后续迭代,不能从规划文档推断已实现。详见[迭代计划](工作助手与今日工作成果迭代计划-20260721.md)。
> v1.8 本地实施回填:项目名称选择、项目化会话、确认记录来源/状态、员工今日成果、主管项目成果和“成果投稿”界面名称已完成本地实现与 390×844 验证,尚未部署和生产验证;外部线索、工单和考勤投递仍保持 PENDING。
> 配套:需求见[《物业AI人力资源系统业务需求文档BRD》](物业AI人力资源系统业务需求文档BRD.md);2026-07 MVP 执行计划已归档到[《AI人力资源系统一期MVP版作战清单》](archive/2026-07-mvp-delivery/AI人力资源系统一期MVP版作战清单.md)。
> **优先级图例**:`P0`=2026-07-05 MVP 演示必需 · `P1`=一期必需 · `P2`=二期/推迟。
> 决策基线:若依基座 / 集中式前后端分离 / 本地登录 / 公有大模型API / 一期RAG / 组织人员外部同步(MVP 用快照) / 数据范围以项目为主体。
@@ -178,7 +180,10 @@ mobile/
| `/h5/#/pages/user/today/index` | 员工端首页,手机号登录后可“开始训练”并同步主管待复盘计数;旧 `/h5/user` 兼容重定向 | P0跑通 |
| `/h5/#/pages/candidate/index/index` | 候选人端首页,手机号登录后可面试练习、查岗位 SOP/案例、上传补充资料;旧 `/h5/candidate` 兼容重定向 | P0跑通 |
| `/h5/#/pages/supervisor/index/index` | 主管端首页,查看团队、待复盘、案例/SOP 工具;旧 `/h5/supervisor` 兼容重定向 | P0跑通 |
| `/h5/#/pages/user/report/index` | 员工工作上报;目标交互复用「问」的微信式语音会话,AI 整理确认后提交既有审核链 | 已有表单链路,待交互升级 |
| `/h5/#/pages/user/sop/index` | 工作助手;按项目名称选择当前项目,语音/文字/照片/视频统一采集,确认后形成日常工作记录 | 本地已实现;媒体生产真机回归未完成 |
| `/h5/#/pages/user/work-results/index` | 员工今日工作成果;按员工、项目、自然日汇总确认记录和待跟进 | 本地已实现并完成 390×844 验证 |
| `/h5/#/pages/supervisor/work-results/index` | 主管项目成果;按目标项目权限查看员工成果和高优问题 | 本地已实现并完成 390×844 验证 |
| `/h5/#/pages/user/report/index` | 员工成果投稿;复用「问」的微信式语音会话,AI 整理确认后提交既有审核链 | 会话式页面和接口已部署;本地界面已正式改名;项目归属和媒体内容理解未实现 |
| `/train/daily` | 每日一练 | P1 |
| `/train/camp` | 专项训练营 | P1 |
| `/train/mistakes` | 错题本 | P1 |
@@ -257,22 +262,24 @@ POST /api/knowledge/case/organize req: { caseId } resp
POST /api/knowledge/case/curate req: { criteria, limit } resp: { selectedCaseIds[] } // 从多案例筛选
```
#### 5.3.1 员工工作上报会话化交互
#### 5.3.1 成果投稿会话化交互
实现基准:[work-report-voice-conversation-v1.png](prototypes/work-report-voice-conversation-v1.png)。后续 Agent 应复用图中的语音主入口、必要追问、结构化确认卡和显式“确认上报”,但安全、权限、长度校验和审核状态以本 TechSpec 与后端契约为准。
实现基准:[work-report-voice-conversation-v1.png](prototypes/work-report-voice-conversation-v1.png)。当前页面、整理接口、附件上传、幂等提交和“我的投稿”已经存在;该图用于视觉回归,不再作为待开发 Prompt。安全、权限、长度校验和审核状态以本 TechSpec 与后端契约为准。
员工端 `mobile-uni/src/pages/user/report/index.vue` 的目标形态复用现有 `ChatComposer` 和「问」页消息语言,不再让四类选择、标题和说明字段占据首屏。后台仍使用 `aihr_work_report` 及现有审核链,避免为视觉改版复制数据模型。
员工端 `mobile-uni/src/pages/user/report/index.vue` 已复用现有 `ChatComposer` 和「问」页消息语言,不再让四类选择、标题和说明字段占据首屏。后台仍使用 `aihr_work_report` 及现有审核链,避免为视觉改版复制数据模型。
当前能力边界:附件可以上传并随正式记录保存,但成果投稿 `organize` 只根据员工文字/ASR 转写、草稿和附件名称整理,附件名称是不可信元数据;该审核链没有对图片或视频内容做视觉理解。不得把“支持发照片/视频”描述成“AI 已看懂现场”。现场媒体理解、确认记录来源绑定与日报追溯由工作助手 `/api/knowledge/query-media` 和 `aihr_assistant_capture` 链路承担,不能反向冒充成果投稿已具备视觉理解。
```text
进入工作上报
进入成果投稿
→ 默认语音模式,可切换键盘或添加图片/视频
→ ASR 转写进入当前页面草稿
→ AI 从自然表达推断 CASE / VIDEO / SOP / KNOWLEDGE
→ 信息不足时只追问必要字段
→ 返回可编辑确认卡
→ 用户点击“确认上报”
→ 用户点击“确认投稿”
→ POST /api/aihr/work-report/reports
→ 返回 PENDING,并在会话与“我的上报”中展示审核状态
→ 返回 PENDING,并在会话与“我的投稿”中展示审核状态
```
最小接口策略:附件继续复用 `POST /api/aihr/work-report/attachment`,正式提交继续复用 `POST /api/aihr/work-report/reports`,历史继续复用 `GET /api/aihr/work-report/reports/mine`。只增加一个无状态整理接口,不新增草稿表或第二套会话表:
@@ -316,6 +323,8 @@ POST /api/aihr/work-report/organize
- 未实现服务端脱敏时,页面不得出现“提交后将自动隐藏具体房号”等承诺性文案。
- 页面只有一个继续补充入口;确认提交后返回 `PENDING` 状态卡并可从“我的上报”查到同一记录。
术语边界:本节的 CASE / VIDEO / SOP / KNOWLEDGE 属于成果投稿审核链;工作助手中的晨会、巡检、业主服务、画像、线索和待跟进事项属于 `aihr_assistant_capture`,两者不得自动互写。工作助手只能提出投稿建议,员工再次确认后才能创建 `aihr_work_report`。
### 5.4 AI 适配层(P0)
```