From d06ea6321467e1e5d8001c3ed44181efcf3443cd Mon Sep 17 00:00:00 2001 From: let5sne Date: Sat, 25 Jul 2026 02:55:42 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20sync=20knowledge=20base=20after=20?= =?UTF-8?q?=E5=B8=AE=E9=81=93=20rename=20and=20summary-card=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - rename brand docs to 帮道 prefix; reframe 20260721 plan as historical snapshot - compress AGENTS.md rule detail into API_INTEGRATION.md, keep boundaries only - scrub test phone numbers from design-qa, DEV_SETUP, org-sync and rebuild docs - document summary-card evidence binding contract and 20260725 config migrations - pin relative dates in README and audit baseline --- AGENTS.md | 23 ++++++++----------- README.md | 4 ++-- design-qa.md | 4 ++-- docs/20260708/uni-app用户侧前端重建计划.md | 2 +- docs/BRD_IMPLEMENTATION_AUDIT.md | 8 ++++--- docs/DEV_SETUP.md | 4 ++-- docs/KNOWLEDGE_PLATFORM_RUNBOOK.md | 18 ++++++++++++++- docs/README.md | 5 ++-- docs/open-org-sync-api-design-v1.md | 2 +- ...介绍.md => 帮道-练与银城大喇叭功能介绍.md} | 4 ++-- ... 帮道产品功能优先级与实施计划-20260721.md} | 5 ++-- docs/租户与组织两级治理实施计划-20260723.md | 2 +- ...银城大喇叭与问模块纠偏增量方案-20260722.md | 6 ++--- 13 files changed, 52 insertions(+), 35 deletions(-) rename docs/{银城帮道-练与大喇叭功能介绍.md => 帮道-练与银城大喇叭功能介绍.md} (99%) rename docs/{银城帮道产品功能优先级与实施计划-20260721.md => 帮道产品功能优先级与实施计划-20260721.md} (96%) diff --git a/AGENTS.md b/AGENTS.md index bfa58889..0c9dc897 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -49,7 +49,7 @@ ## 当前业务边界 - 管理端业务路由集中在 `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` 只做兼容重定向,底栏固定「今日/练/问/我」。“问”统一调用 `/api/aihr/agent/messages|messages/media`,服务端规划意图并按固定策略选择既有工具,客户端不得提交 `toolCode`;旧知识查询仅作底层/兼容。登录端短期会话为 30 分钟/最近 6 轮,原文件/视频经 `/api/knowledge/resources/{attachmentId}/content` 重新鉴权,总结卡失败不兜假数据。全网外发必须先同意,显式记忆先出确认卡,再通过不透明 `draftId` 按 `PRIVATE/COMPANY` 确认;`COMPANY` 仅为 `PENDING`,不得冒充已派单或送达。`aihr_agent_run` 不保存问题、答案或附件,外部知识 API 保持无状态。 +- 用户侧只改 `mobile-uni/src/pages/*`;员工、候选人、主管首页分别为 `/pages/user/today/index`、`/pages/candidate/index/index`、`/pages/supervisor/index/index`,旧 `/h5/user|candidate|supervisor|employee|admin` 只做兼容重定向,底栏固定「今日/练/问/我」。“问”统一调用 `/api/aihr/agent/messages|messages/media`,服务端规划意图并按固定策略选择既有工具,客户端不得提交 `toolCode`;旧知识查询仅作底层/兼容。登录端短期会话为 30 分钟/最新 6 轮,原文件/视频经 `/api/knowledge/resources/{attachmentId}/content` 重新鉴权。总结卡只接受当前答案中的最多 5 个 `DOCUMENT` 引用 `fragmentIds`,服务端重新鉴权后仅基于这些片段生成固定「问题/建议/标准」结构;不得二次检索,失败不得拿原文冒充结构化步骤。全网外发必须先同意,显式记忆先出确认卡,再通过不透明 `draftId` 按 `PRIVATE/COMPANY` 确认;`COMPANY` 仅为 `PENDING`,不得冒充已派单或送达。`aihr_agent_run` 不保存问题、答案或附件,外部知识 API 保持无状态。 - 大喇叭详情追问只让客户端传 `broadcastMessageId`,消息正文、附件文本、租户和身份均由服务端重新校验并加载;撤回、跨租户或非在职员工不得继续使用消息上下文。单条消息最多绑定一个属于当前租户、当前上传人且状态为 `READY` 的公司文件;员工端只返回摘要与受控下载入口,不返回提取全文或原始 OSS 地址。消息/知识回答不得把通用建议包装成当前员工的真实待办,强行动入口只能来自服务端已授权的真实任务数据。 - 直通车固定为总裁、财务、人力、审计、运营五个渠道;业务匿名只隐藏处理端的提交人展示,服务端仍保留内部提交账号供本人查询、幂等和审计。`direct_president/direct_finance/direct_hr/direct_audit/direct_operations` 只处理各自渠道,`superadmin` 可处理全部;当前产品边界只允许一次正式回复,不扩展为多轮聊天、工单、转派或 SLA。 - 术语和数据边界:工作助手承载日常事实与确认式记忆;现有 `/pages/user/report/index`、`/api/aihr/work-report/**` 和 `aihr_work_report` 只承载 CASE/VIDEO/SOP/KNOWLEDGE 四类投稿审核,产品名为“成果投稿”;“今日工作成果”按员工 + 项目 + 自然日从已确认记录确定性聚合,员工页为 `/pages/user/work-results/index`,主管页为 `/pages/supervisor/work-results/index`,默认当日但允许查看历史日期且不得选择未来日期。不要把三条链路合表或自动互写。多项目交互只让用户按项目名称选择,内部项目编码必须由服务端按当前身份复核,不让用户输入编码。 @@ -58,21 +58,18 @@ - 全网 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`;服务端强制当前 APP 身份和 `mode=mobile`,才会写入 `aihr_practice_session` 并更新主管端首页完训率、“待复盘对练”、员工训练历史和能力画像。APP 身份只能按认证手机号精确匹配 `person_phone`(`/me`、问师傅主体解析同样只走 `activeByMobilePhone`),运营/调度身份只能按 `ext_party_id` 解析;严禁把两种字段混作替代查询键,映射碰撞或不唯一时必须拒绝任务读写。员工历史、画像、成长进度、晋升证据仅可使用该手机号服务端验证得到的受控别名集合;后台不得借 `/api/aihr/mobile/**` 传入组织 `ext_party_id` 读取员工历史、错题、画像、证据、主管复盘或录音;后台只保留 `/api/train/practice/**` 的内容/任务运营,以及服务端固定 `operator:{userId}`、`mode=preview` 的不绑定员工身份预览。主管团队范围只保存外部 ID;旧手机号仅当其唯一对应一个外部 ID,且该外部 ID 也唯一对应一个在职手机号时,才可规范化读取/统计;该相同的失败关闭规则必须用于团队列表、详情、复盘与音频授权。案例项目范围和岗位 SOP 同样复用已验证 APP 主体的精确项目范围,不得以 `person_phone OR ext_party_id` 或管理端组织模糊查询作为后备。`superadmin/hr_operator` 管理端仅可走服务端绑定的 `operator:{userId}`、`mode=preview` 运营预览,忽略客户端员工身份/模式/任务,且预览不得进入员工历史、复盘、成长或试点统计;其他后台身份一律拒绝。主管端复盘详情查 `GET /api/aihr/mobile/practice/reviews/{id}`,标记复盘用 `POST /api/aihr/mobile/practice/reviews/{id}/reviewed`。 -- 正式试点 CSV 走 `GET /api/train/practice/export?startDate=YYYY-MM-DD&endDate=YYYY-MM-DD`,起止日必填;训练、校准和 SOP 评审必须按同一窗口、唯一在职组织身份统计,完训定义为每人至少 10 次。CSV 应保留原始校准命中/SOP 可用计数,严格预检用 `AIHR_PILOT_START_DATE`、`AIHR_PILOT_END_DATE` 与 `AIHR_PILOT_STRICT=true ./scripts/demo-check.sh`;不允许用历史 seed、开发身份或四舍五入比率伪造正式试点通过。 -- 移动端候选人闭环:候选人端“开始面试/面试练习”复用 `POST /api/recruit/interview/start`、`/answer`、`/finish`;“补充资料”走认证接口 `POST /api/aihr/mobile/candidate/materials`(multipart `file` + `candidateId/candidateName/materialType`)和 `GET /api/aihr/mobile/candidate/materials`,文件先写 `sys_oss`/MinIO,再写 `aihr_candidate_material` 状态 `待审核`。HR 审核复用管理端 `/recruit/interview` 页,接口为 `GET /api/aihr/hr/candidate/materials` 和 `POST /api/aihr/hr/candidate/materials/{id}/review`,状态只用 `待审核/已通过/已驳回`。上传接口不要放进 class-level `@SaIgnore` 的 `AihrMobileController`。 +- 移动端手机号登录和短信参数见 `docs/API_INTEGRATION.md`。密钥只放 `.env.local` 或外部环境;dev 可用固定码,prod 默认关闭,试点期必须同时显式开启固定码和值,停用时两者一并清除。手机号不存在时自动注册 `app_user`。 +- 移动端训练必须带 APP 登录态并由服务端强制 `mode=mobile`。APP 身份只按认证手机号精确匹配 `person_phone`,运营/组织身份只按 `ext_party_id`;禁止 `OR` 查询、互相后备或客户端指定身份,碰撞/不唯一一律失败关闭。员工历史、画像、证据、复盘和录音只对验证后的 APP 主体开放;管理端仅允许服务端绑定的 `operator:{userId}`、`mode=preview` 运营预览,且不得进入员工历史或试点统计。主管旧手机号只有与在职外部 ID 双向唯一时才可规范化,团队、详情、复盘和音频授权使用同一规则。 +- 正式试点 CSV 起止日必填;训练、校准和 SOP 评审按同一窗口、唯一在职身份统计,完训定义为每人至少 10 次。严格预检使用 `AIHR_PILOT_START_DATE`、`AIHR_PILOT_END_DATE` 与 `AIHR_PILOT_STRICT=true ./scripts/demo-check.sh`,不得用 seed、开发身份或四舍五入比率冒充通过。 +- 候选面试复用 `/api/recruit/interview/**`;补充资料走认证的移动端接口,先写 `sys_oss`/MinIO,再写 `aihr_candidate_material`,状态仅为 `待审核/已通过/已驳回`,由管理端 `/recruit/interview` 审核。上传接口不得放入 class-level `@SaIgnore`。 - 后端 API 对接先看 `docs/API_INTEGRATION.md`。三角色对练 `/turn`/`/finish` 使用 `AihrPracticeLlmService`,必须保留“未配置/失败回退 seed”的降级链。 -- 对练语音走 `POST /api/ai/asr`(≤5MB multipart)和 `POST /api/ai/tts`(文本≤300字,返回 base64 dataURL);TTS 保留旧 `voice` 字符串,并支持 `voiceProfile={role,voice?,speed?,emotion?}`,当前老师傅/业主/面试官分音色,业主按对练情绪分调整语气与语速。模型走 `aihr_model_config` 的 `asr`/`tts` 类目(`category` 全集:chat/vector/rerank/asr/tts/vision)。移动端 `getUserMedia/MediaRecorder` 不可用或麦克风权限失败时,用隐藏 `audio/*` file input 选择/录制音频后继续走同一 ASR 接口,不要退回只有文字输入。multipart 头部的 filename/contentType 已做 CRLF 清洗,新增外发 HTTP 时同样注意。 +- 对练语音复用 `/api/ai/asr` 与 `/api/ai/tts`,TTS 保持旧 `voice` 兼容并支持角色音色。浏览器录音不可用或权限失败时,用 `audio/*` file input 继续走同一 ASR,不退回纯文字;新增 multipart 外发同样清洗 filename/contentType 的 CRLF。 - 后端业务代码不要塞进上游 `ruoyi-demo`;自有 API 放在 `backend/ruoyi-modules/ruoyi-aihr`,再接入 `ruoyi-admin`。 -- AI 面试页、三角色对练页、案例沉淀页、SOP 知识库页和移动端三端首页已是 API 优先 + 本地 fallback;SOP 知识库优先查 `aihr_knowledge_fragment` 的 MySQL Fulltext,vector 模型和 Qdrant 可用时混合召回,`category=rerank` 模型启用时融合后语义重排(失败保持 RRF 顺序);支持 `.txt/.md/.markdown/.pdf/.doc/.docx/.xls/.xlsx/.ppt/.pptx`、图片 `.jpg/.jpeg/.png/.gif/.webp/.bmp` 及视频 `.mp4/.mov/.avi/.mkv/.webm/.m4v` 上传解析入库。 -- 浏览器批量上传走异步队列 `POST /api/knowledge/doc/upload-async`(暂存目录 `aihr.upload.staging` 默认 `./.data/staging`,队列表 `aihr_knowledge_upload_item`,单文件重试);同步接口 `POST /api/knowledge/doc/upload` 只留给 SOP 页单文件即时预览,**不要把重加工逻辑加回同步请求线程**。视频(≤500MB/≤60分钟)只走异步队列,依赖服务器安装 ffmpeg/ffprobe。 -- 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;配置缺失或外部 embedding 失败才用 `local-hash-v1` 兜底,Qdrant 不可用时保留 MySQL Fulltext/seed fallback。管理端 `uploadKnowledgeDoc` 单接口 timeout 是 180s;遇到约 50s `Broken pipe` 先查浏览器客户端超时,不要改全局 axios。 -- 图片视觉 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` 下的相对路径。 +- AI 面试、三角色对练、案例、SOP 和三端首页保持真实 API/模型优先与既有降级。知识检索以 MySQL 为事实源,Qdrant/vector/rerank 是可选增强;向量维度不一致必须经状态与重建入口处理,不得静默换成本地向量。 +- 批量资料和所有视频只走 `/api/knowledge/doc/upload-async` 异步队列;同步 `/api/knowledge/doc/upload` 仅供 SOP 单文件即时预览,禁止把重加工塞回请求线程。格式、大小、超时、OCR/视频解析和重试契约以 `docs/API_INTEGRATION.md` 为准;图片无可用视觉结果时保持「待处理」,视频关键帧不得退回纯 OCR。 +- 资料处理页只保留异步“批量导入”,不得恢复浏览器选目录、服务端目录导入或任务面板;目录导入接口仅供后端运维/调试,且路径必须位于 `aihr.import.root` 下。 - `ruoyi-ai` 只按 `docs/RUOYI_AI_INCREMENTAL_MIGRATION.md` 分片迁移到 `ruoyi-aihr`,不要整包搬 `ruoyi-chat`;已落地页面保持真实接口/模型优先与 seed fallback,不能退回静态壳。 -- 本项目 AI 表前缀用 `aihr_*`:知识库是 `aihr_knowledge_info/attach/fragment`,问师傅短期会话是 `aihr_knowledge_conversation`,Agent 审计是 `aihr_agent_run`,大喇叭公司文件是 `aihr_broadcast_attachment`,直通车反馈是 `aihr_direct_feedback`,确认式采集是 `aihr_memory_candidate` / `aihr_assistant_capture`(旧项目记录兼容 `aihr_service_memory/version`),上传队列是 `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`)。 +- 自有业务表统一使用 `aihr_*`;当前表、接口和同步契约以 `docs/API_INTEGRATION.md`、TechSpec 与正式 SQL 迁移为准。组织快照为 `aihr_org_snapshot`:本地 reset 可有 Demo seed,生产/试点只从开放组织系统同步。 ## 业务文档 diff --git a/README.md b/README.md index af827dd3..9a369afe 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ - 用户侧:`mobile-uni/` 承载员工、候选人和主管三端;“问”已在本地改为数字师傅 Agent,文字、ASR 转写和图片/视频统一先做意图规划,再按服务端权限调用知识、训练、待办、记忆、媒体或全网工具,寒暄和不完整表达不再机械落入 RAG。现有能力还包括手机号登录、30 分钟短期多轮、原文件/视频受控交付、大喇叭公司文件摘要/下载/追问、五渠道直通反馈、“记一下”确认卡、三级字号、训练/题目反馈、问题榜与积分、岗位考试、案例、候选面试/资料、主管复盘/派发及学员模式;该 Agent 增量尚未部署或完成真机正式账号验收。旧 `mobile/` 只用于历史回溯。 - 英雄路径:AI 面试(真模型出题/评分)、三角色对练(真 LLM 客户回复+评分,asr/tts 配置后支持语音)、案例沉淀(真实语音上传+ASR 转写+模型整理)均为真模型优先、未配置或失败回退本地兜底;SOP 知识库已接中文关键词 + MySQL Fulltext + Qdrant 混合召回 + rerank 重排,支持 txt/md/PDF/Word/Excel/PPT/图片/视频上传解析入库(图片走 vision OCR,视频走 ffmpeg 抽音轨转写+关键帧描述),资料处理中心支持 ZIP 异步展开后逐文件入队;模型配置页可查看向量库维度/点数并一键重建。 - 资料处理:已新增解析任务状态页,按 `aihr_knowledge_attach` 和 `aihr_knowledge_fragment` 展示等待解析、解析中、已完成、失败、片段数和向量化状态;任务列表按当前筛选结果前端分页(10/20/50 条,筛选或刷新回到第一页)。页面只保留“批量导入”,通过异步队列处理多文件或 ZIP,不提供浏览器目录选择和服务端目录导入入口。后端目录导入接口仅保留为运维/调试能力。 -- 组织人员:`aihr_org_snapshot` 本地 reset 保留演示 seed;生产通过 `POST /api/aihr/org/sync` 同步外部组织。最近记录的生产快照为 3417 人、2938 人在职、3392 个手机号映射、175 名在职主管和 20 名项目经理;人数属于时点事实,发布或验收前应重新查询。 +- 组织人员:`aihr_org_snapshot` 本地 reset 保留演示 seed;生产通过 `POST /api/aihr/org/sync` 同步外部组织。2026-07-15 记录的生产快照为 3417 人、2938 人在职、3392 个手机号映射、175 名在职主管和 20 名项目经理;人数属于时点事实,发布或验收前应重新查询。 - 正式试点:服务端提供按起止日期导出的受角色保护 CSV;当前管理端不展示个人训练或试点导出入口,正式试点需在明确独立后台契约后再开放。严格门禁只统计唯一映射到在职组织的训练、校准和 SOP 评审。组织身份同步和至少 20 名手机号映射门槛已具备;下一步仍需选定真实试点窗口,产生员工训练、人工校准和 SOP 评审样本后重跑严格门禁,详见 [演示与试点验收](docs/DEMO_ACCEPTANCE.md)。 - 侧栏:只展示当前 AIHR 业务菜单;过滤名单在 `frontend/src/layout/components/Sidebar/index.vue`,不要恢复若依默认全量菜单。 - 本地认证:真实阿里云短信参数放根目录 `.env.local`,由 `scripts/dev-backend.sh` 自动加载;不要把密钥写入 `application-dev.yml`。dev 未配短信时短信验证码固定 `123456`;管理端图形验证码默认关闭,需要时设置 `AIHR_DEV_CAPTCHA_ENABLED=true`。生产不读取该图形验证码开发开关,短信固定码也保持默认关闭,只有试点明确同时开启两项生产固定码配置时才生效。 @@ -58,7 +58,7 @@ | [数字师傅 Agent 实施计划](docs/superpowers/plans/2026-07-24-digital-master-agent.md) | 当前本地实现、自动化与浏览器验证记录,以及未部署、未完成的正式验收项 | | [问师傅多轮会话与原始资料交付设计](docs/20260718/问师傅多轮会话与原始资料交付设计.md) | 已实现的短期会话、指代改写、意图路由、原文件/视频安全交付及分层验收记录 | | [工作助手与今日工作成果迭代计划](docs/工作助手与今日工作成果迭代计划-20260721.md) | 项目名称选择、日常采集、来源追溯、今日成果、主管视图、成果投稿和外部流转的实施顺序;含当前本地实现、390×844 证据、权威高保真路径和剩余生产边界 | -| [银城帮道产品功能优先级与实施计划](docs/银城帮道产品功能优先级与实施计划-20260721.md) | 《银城帮道介绍》十项能力的事实校正、P0–P3 优先级、明确不做项和本轮实施证据 | +| [帮道产品功能优先级与实施计划(2026-07-21 快照)](docs/帮道产品功能优先级与实施计划-20260721.md) | 对历史输入《银城帮道介绍》十项能力的当时事实校正;当前状态以 BRD 审查为准 | | [BRD 功能审查记录](docs/BRD_IMPLEMENTATION_AUDIT.md) | 现阶段结论、三端输入匹配矩阵、权限、迁移、线上资源和未完成项证据 | | [BRD 生产迁移 Runbook](docs/BRD_PRODUCTION_MIGRATION_RUNBOOK.md) | 生产 schema/内置内容迁移、只读预检、发布和回滚边界 | | [ruoyi-ai 能力分片迁移计划](docs/RUOYI_AI_INCREMENTAL_MIGRATION.md) | 知识库、模型能力、文档解析、RAG、chat 的渐进迁移边界 | diff --git a/design-qa.md b/design-qa.md index 1ae507d9..c4031192 100644 --- a/design-qa.md +++ b/design-qa.md @@ -8,7 +8,7 @@ - Implementation screenshots: `.tmp/audit/2026-07-15-figma-online/online/07-today-authenticated-final.png`, `08-practice-prep-final.png`, `09-practice-active-round2-final.png`. - Combined comparison evidence: `.tmp/audit/2026-07-15-figma-online/qa-online-today-final.png`, `qa-online-practice-prep-final.png`, `qa-online-practice-active-final.png`. - Viewport: 400 × 900 CSS pixels, device scale factor 1. -- State: authenticated employee `13900000103`; Today with real production assignments; Practice prep; Practice active at round 2/3. +- State: authenticated employee test account; Today with real production assignments; Practice prep; Practice active at round 2/3. - Primary interactions tested: fixed-code login, open Practice, start a session, submit one response, receive customer/coach turns. - Browser checks: `innerWidth=400`, document/body `scrollWidth=400`, no captured runtime or console errors on all three final online captures. @@ -42,7 +42,7 @@ No actionable P0, P1, or P2 findings remain in the implemented employee Today, P ## Outside this pass - Practice result was not persisted solely for a screenshot, so frame `55:2` remains an authenticated visual follow-up. -- Production phone `13900000202` currently returns the real “无主管权限” state, so the authenticated supervisor dashboard frame `57:2` remains blocked by production organization mapping rather than frontend rendering. +- The authorized supervisor test account currently returns the real “无主管权限” state, so the authenticated supervisor dashboard frame `57:2` remains blocked by production organization mapping rather than frontend rendering. employee/mobile final result: passed diff --git a/docs/20260708/uni-app用户侧前端重建计划.md b/docs/20260708/uni-app用户侧前端重建计划.md index 876008b8..8b9e409b 100644 --- a/docs/20260708/uni-app用户侧前端重建计划.md +++ b/docs/20260708/uni-app用户侧前端重建计划.md @@ -239,7 +239,7 @@ mobile-uni/ - 主管复盘-派专项-员工回读闭环已用真实 API 跑通: 员工完成一场对练生成 `待复盘`,主管读取复盘详情可见对话和标注,标记已复盘并带 `nextScenarioId` 后该记录不再出现在待复盘列表,员工专项列表立即回读复盘后手工专项。 - PC 成长激励和组织权限页已收口真实数据边界: 派专项必须输入真实员工手机号或 extPartyId,不再写入 `mobile-user`;无项目范围接口时只显示空态,不再展示假项目样例。 - `mobile-uni` 本地 dev 代理已对齐 portless:默认 `/dev-api -> https://wygj-api.localhost`,不再依赖裸 `8080`;真实浏览器登录链路已复跑通过。 -- 员工今日页“今日安排”已优先回读真实 `/api/aihr/mobile/practice/assignments`;有待训练专项或每日三题时覆盖公开 home seed,真实浏览器已验证 `13900000998` 首页显示当天 daily 任务并可跳到练习页。 +- 员工今日页“今日安排”已优先回读真实 `/api/aihr/mobile/practice/assignments`;有待训练专项或每日三题时覆盖公开 home seed,真实浏览器已用授权员工测试账号验证首页显示当天 daily 任务并可跳到练习页。 - 员工今日页到练习页已补任务上下文传递:首页点“开始”会把当前 assignment 带到练习页,daily 任务高亮并提示填写,主管专项可直接启动,减少跳页后的二次选择。 - 移动端 hash 路由滚动复位已补:员工/候选人/主管/登录/建设中页面激活时回到顶部,真实浏览器验证从长页切回今日页后 `scrollY=0`,避免首屏被旧滚动位置截断。 - 员工练习页已补语音输入入口:回复区支持浏览器录音转写和选择音频转写,ASR 返回文本进入原提交框且音频 URL/OssId 随 turn 提交供主管复盘回放;真实浏览器验证按钮在 390px 手机视口不换行,文本 turn 回归可进入第 2 轮。 diff --git a/docs/BRD_IMPLEMENTATION_AUDIT.md b/docs/BRD_IMPLEMENTATION_AUDIT.md index 39a72e03..fab3c1a7 100644 --- a/docs/BRD_IMPLEMENTATION_AUDIT.md +++ b/docs/BRD_IMPLEMENTATION_AUDIT.md @@ -1,6 +1,6 @@ # BRD 功能审查与未完成项记录 -> 当前基线:2026-07-24。最新完整发布源为 `342f84a9`,包含五岗位训练内容运营、M2—M3 训练闭环,以及公司消息 R1—R3;当前真相以本文件、[生产迁移 Runbook](BRD_PRODUCTION_MIGRATION_RUNBOOK.md)和每次发布的只读预检为准。 +> 当前基线:2026-07-25。最新完整发布源为 `342f84a9`,包含五岗位训练内容运营、M2—M3 训练闭环,以及公司消息 R1—R3;当前真相以本文件、[生产迁移 Runbook](BRD_PRODUCTION_MIGRATION_RUNBOOK.md)和每次发布的只读预检为准。 > > 2026-07-24 的数字师傅 Agent、`aihr_agent_run` 和对应移动端改造已完成本地实现与分支合并,但尚未发布;不得把本地验证外推为生产部署。 > @@ -8,6 +8,8 @@ > > 2026-07-24 已发布修订:公司消息 R1—R3 已补齐员工直通车、部门分频道处理、业务匿名、一次正式回复,以及大喇叭单文件上传、异步提炼、摘要展示、受控下载和文件内容追问;生产认证态闭环已验证。 > +> 2026-07-25 总结卡修复 `f545983d` 已实现、完成自动化并推送 `origin/main`:前端提交当前答案的引用片段,后端重新鉴权且不再二次检索,固定输出「问题/建议/标准」。生产已应用 DeepSeek V4 模型名和部分证据 SOP Prompt 两项配置迁移,并以认证态 H5 验证查询与总结卡;本次未发布后端/H5 代码,因此只能确认生产配置修复生效,不能把证据绑定代码写成已部署。 +> > 本文只维护当前结论、证据层级和剩余门槛。逐提交发布流水已从当前真相文档移除,需要追溯时使用 Git 历史;不得再用 2026-07-14/15 的“尚未发布”记录判断现网。 ## 1. 当前结论 @@ -43,7 +45,7 @@ 移动端“问”已从客户端直接选择知识查询/数据工具,改为服务端统一 Agent 编排:先识别知识、实时工作、训练、确认式记录、媒体、全网、澄清或闲聊意图,再用固定策略校验当前身份与工具权限,最后复用既有知识、训练数据、记忆、媒体和全网服务。普通图片问答不再默认检索 SOP;只有问题明确涉及现场制度、流程或处置时才补充授权知识。全网查询必须再次取得用户同意;写入仍先生成确认卡,并通过不透明草稿号进入既有版本和幂等状态机。运行审计不保存原始问题、答案或附件。 -该能力已完成定向后端测试、移动端 Agent 契约测试、TypeScript 检查、H5 构建和 MySQL 8 迁移幂等测试。本地 390×844 认证态浏览器已实际验证闲聊不进入 RAG、本人训练概况显示数据来源、全网查询先展示二次同意;认证媒体请求已验证普通图片只返回本次附件识别,不要求知识空间,审计记录可正常落库且不含原始问答。尚未合并、发布、生产验证或真机验收,不能把以上本地证据写成正式试点通过。 +该能力已完成定向后端测试、移动端 Agent 契约测试、TypeScript 检查、H5 构建和 MySQL 8 迁移幂等测试。本地 390×844 认证态浏览器已实际验证闲聊不进入 RAG、本人训练概况显示数据来源、全网查询先展示二次同意;认证媒体请求已验证普通图片只返回本次附件识别,不要求知识空间,审计记录可正常落库且不含原始问答。代码已合并并推送 `origin/main`,但尚未完成完整包发布、生产验证或真机验收,不能把以上本地证据写成正式试点通过。 ### 2026-07-20 已部署增量与验收边界 @@ -66,7 +68,7 @@ | 不同角色/岗位内容 | 员工、候选人、主管独立入口;岗位来自组织系统,主管可切换学员模式但不改变组织身份 | 生产包已部署;全岗位内容矩阵和正式权限正反例仍需业务数据 | | 字号适老化 | 标准/大字/超大字全局持久化,同一页面结构响应式增高 | 本地多视口视觉通过;真实手机触控、键盘和读屏未验收 | | 问师傅语音与播报 | 录音、选择音频、ASR、TTS/设备语音降级恢复;答案、总结卡、每日题、点评等关键内容可播报 | 生产包已部署;生产 CosyVoice2 已按老师傅/业主/面试官区分音色,业主情绪语气与语速已在生产 H5 验证;真实手机权限、弱网、方言和正式 ASR 仍未验收 | -| 问师傅连续对话与资料 | 认证用户短期会话保留 30 分钟/最近 6 轮,追问改写并路由 `QA/FILE/VIDEO/DATA_TOOL`;原文件/视频只从当前命中且实时授权的附件交付,无资源不造假链接 | 公司文件消息的认证下载与追问已生产验证;一般知识命中文件/视频的真机下载仍待复验 | +| 问师傅连续对话与资料 | 认证用户短期会话保留 30 分钟/最新 6 轮,追问改写并路由 `QA/FILE/VIDEO/DATA_TOOL`;原文件/视频只从当前命中且实时授权的附件交付,无资源不造假链接 | 公司文件消息的认证下载与追问已生产验证;一般知识命中文件/视频的真机下载仍待复验 | | 问页面有效会话区与消息追问 | 会话开始后收起占位辅助区;大喇叭详情仅以消息 ID 受控进入短会话,消息/知识回答不伪造待办 | 生产认证态发布—阅读—文件追问已验证;390×844 最终截图和真机体验仍待补 | | 银城大喇叭 | 全员/定向、必读、未读/已读、发布/撤回、单文件异步提炼、摘要、受控下载和文件追问已部署 | 全员文件消息闭环已生产认证验证,测试消息已撤回;仍不含修订、补推和外部强触达,定向正反例待补 | | 员工直通车 | 已部署高管、财务、人力、审计、运营五个点对点频道,业务匿名、分角色收件和一次正式回复 | 生产已验证员工提交—审计处理—员工查看;五类角色已建,真实处理人员仍须按业务名单绑定 | diff --git a/docs/DEV_SETUP.md b/docs/DEV_SETUP.md index 9b3740b1..674ab4ca 100644 --- a/docs/DEV_SETUP.md +++ b/docs/DEV_SETUP.md @@ -129,7 +129,7 @@ AIHR_AI_SPEECH_ENABLED=true - `aihr_candidate_material_mysql8.sql` 已纳入;候选人端补充资料文件写 `sys_oss`/MinIO,关系落 `aihr_candidate_material` - `aihr_org_snapshot_mysql8.sql` 已纳入 reset 脚本;组织人员本地 seed(2 个住宅项目 22 人,项目经理/主管/一线三层)支撑演示,外部开放组织系统配置完成后用 `POST /api/aihr/org/sync` 拉取 `company/department/employee` 快照并覆盖本地 `aihr_org_snapshot`。2026-07-15 生产已完成该配置和覆盖同步,线上快照为 3417 名员工。 - 组织同步生产默认关闭 `aihr.org-sync.store-display-fields`,不把外部姓名/部门写入或返回组织人员展示快照;开发环境显式打开该开关仅用于 Demo。项目范围、岗位和外部主体 ID仍用于权限与身份映射。 -- 本地组织 seed 带演示手机号,可用 `13900000103` 验证员工端自动识别物业管家岗位,用 `13900000202` 验证主管端项目范围 +- 本地组织 seed 带演示手机号;从 `aihr_org_snapshot` 按角色查询测试账号,分别验证员工端岗位识别和主管端项目范围,不在文档保存具体号码 - SOP 知识库支持 `.txt/.md/.markdown/.pdf/.doc/.docx/.xls/.xlsx/.ppt/.pptx` 上传到 MinIO 后解析入库,接口为 `POST /api/knowledge/doc/upload`,单文件上限 100MB;管理端上传请求单独放宽到 180s,PDF 解析/归类/向量化较慢时不要改全局 axios 超时。 - 资料处理中心异步接口支持 `.zip` 和视频单文件 ≤500MB;生产 Spring/Undertow multipart 配置必须保持 `max-file-size=500MB`、`max-request-size=520MB`(源文件 `backend/ruoyi-admin/src/main/resources/application-prod.yml`,线上外置 `/opt/wygj/config/application-prod.yml`),修改后重启 `wygj-aihr.service`。非视频/ZIP 文件仍由队列限制为 100MB;ZIP 最多 1000 个子文件、解压总量 ≤2GB,不支持嵌套 ZIP。 - 视频(`.mp4/.mov/.avi/.mkv/.webm/.m4v`,≤500MB、≤60 分钟)只走资料处理中心批量导入(异步队列):ffmpeg 抽音轨分段调 asr 转写 + 抽关键帧调 vision 提取画面文字,合并后归类切片入库,片段带 `[mm:ss]` 时间戳;**依赖服务器安装 ffmpeg/ffprobe**(macOS `brew install ffmpeg`,Linux `apt install ffmpeg`) @@ -249,7 +249,7 @@ API_BASE=https://wygj-api.localhost ./scripts/personal-assistant-smoke.sh 个人知识使用独立 Qdrant collection,默认 `aihr_personal_knowledge`,payload 强制包含 `tenant_id`、`owner_user_id`、`item_id` 与 `captured_at`。对象存储固定使用 `personal-minio` 配置和私有 bucket `ruoyi-personal`,不修改企业资料使用的默认 `minio/ruoyi`。MySQL 表和专用 OSS 配置由 `backend/script/sql/aihr_personal_knowledge_mysql8.sql` 初始化;旧开发库先运行 `COMPOSE_PROJECT_NAME=wygj ./scripts/reset-dev-db.sh`。 -企业范围问答另外依赖 `aihr_org_snapshot` 与 `aihr_knowledge_acl`。reset 会给企业 SOP `1001/1002/1003` 写入“一线生活顾问”POSITION ACL;手机号 `13900000103` 的组织快照岗位为物业管家,服务端按固定别名映射到生活顾问后获得 allowlist。普通新注册手机号没有组织快照,企业范围必须返回无权限。不要用手工手机号、客户端岗位参数或 TENANT ACL 绕过该默认拒绝;开放组织系统只负责刷新阶段二快照,北森实时组织/任职仍属阶段三。 +企业范围问答另外依赖 `aihr_org_snapshot` 与 `aihr_knowledge_acl`。reset 会给企业 SOP `1001/1002/1003` 写入“一线生活顾问”POSITION ACL;本地物业管家 seed 账号由服务端按固定别名映射到生活顾问后获得 allowlist。普通新注册手机号没有组织快照,企业范围必须返回无权限。不要用手工手机号、客户端岗位参数或 TENANT ACL 绕过该默认拒绝;开放组织系统只负责刷新阶段二快照,北森实时组织/任职仍属阶段三。 空间与处理配额通过 `aihr.personal.*` 配置覆盖,包括空间字节配额、资料数量、单文件大小、抓取字节/超时、worker 与 cleanup 批量大小。不要把个人 collection 改回企业 `aihr_knowledge`。 diff --git a/docs/KNOWLEDGE_PLATFORM_RUNBOOK.md b/docs/KNOWLEDGE_PLATFORM_RUNBOOK.md index c8bd6db0..954bbe03 100644 --- a/docs/KNOWLEDGE_PLATFORM_RUNBOOK.md +++ b/docs/KNOWLEDGE_PLATFORM_RUNBOOK.md @@ -136,7 +136,7 @@ where a.id is null and o.ext1 in ('aihr-knowledge','aihr-knowledge-staging'); ## 6. 查询、日志与限流观察 -知识底层内部入口为 `POST /api/knowledge/query`,移动端“问”的规范入口是 `/api/aihr/agent/**`,仅在 Agent 识别为知识/资源意图后调用该层。知识查询可带 `conversationId/contextVersion` 启用最近 6 轮、30 分钟不活跃过期的短期会话;外部入口 `POST /api/open/knowledge/query` 始终无状态。内部原文件/视频通过 `GET /api/knowledge/resources/{attachmentId}/content` 在下载时重新鉴权。外部请求使用 `Authorization: Bearer `。查询日志只保存问题哈希、有效空间、来源类型、状态、耗时和提示版本,不保存完整问题或令牌。 +知识底层内部入口为 `POST /api/knowledge/query`,移动端“问”的规范入口是 `/api/aihr/agent/**`,仅在 Agent 识别为知识/资源意图后调用该层。知识查询可带 `conversationId/contextVersion` 启用最新 6 轮、30 分钟不活跃过期的短期会话;外部入口 `POST /api/open/knowledge/query` 始终无状态。内部原文件/视频通过 `GET /api/knowledge/resources/{attachmentId}/content` 在下载时重新鉴权。外部请求使用 `Authorization: Bearer `。查询日志只保存问题哈希、有效空间、来源类型、状态、耗时和提示版本,不保存完整问题或令牌。 `aihr_knowledge_conversation` 只保存脱敏截断后的短期上下文,过期记录由查询流量每 5 分钟惰性清理最多 500 条。可只读观察积压: @@ -155,6 +155,22 @@ order by last_time desc; 重点观察 `REJECTED`、`FAILED`、`NO_EVIDENCE`、连续 `429` 和异常高耗时。外部应用的限流依赖 Redis;Redis 不可用时外部查询应失败关闭并返回服务不可用,不能绕过限流继续调用。 +### 6.1 总结卡证据绑定与排障 + +总结卡必须复用当前知识回答中的 `DOCUMENT` 引用,不接受客户端自行填写或历史回答残留的片段: + +```json +{ + "queryText": "厕所打扫的 SOP 是什么?", + "category": "sop", + "fragmentIds": [120535] +} +``` + +`fragmentIds` 最多 5 条。`POST /api/knowledge/summary-card` 会按当前租户、应用和主体授权重新校验,只基于仍有权限的片段生成固定「问题/建议/标准」结构,不再执行第二次检索。引用为空、越权、模型不可用或输出结构不合格都应返回明确错误;前端保留当前答案并允许重试,不展示原文伪造的步骤卡。 + +若知识回答正常但总结卡失败,先核对请求片段确实来自同一轮响应,再检查启用的 `category='chat'` 模型。DeepSeek 旧模型名或 SOP Prompt 未兼容部分证据时,按[生产迁移 Runbook](BRD_PRODUCTION_MIGRATION_RUNBOOK.md)执行 `aihr_20260725_deepseek_v4_model_mysql8.sql` 与 `aihr_20260725_sop_answer_partial_evidence_prompt_mysql8.sql`,随后通过管理端连接测试和认证态查询—总结卡链路复核;不要在日志或工单中记录密钥、手机号或完整问题正文。 + ## 7. 验证与发布闸门 自动合同测试: diff --git a/docs/README.md b/docs/README.md index a06390c8..71923291 100644 --- a/docs/README.md +++ b/docs/README.md @@ -11,7 +11,7 @@ 3. 专项 TechSpec 细化单个领域;实施计划可记录本地实现与验证,但部署和生产状态仍以审查文档、接口事实和真实环境证据为准。 4. `prototypes/` 只作视觉回归基准;会议纪要、历史 Prompt、`legacy/` 与 `archive/` 只作需求来源和追溯材料。 -“问”模块的最终 Agent 边界见[《数字师傅工作 Agent 总体设计》](superpowers/specs/2026-07-24-digital-master-agent-design.md),本地实施与验证进度见[《实施计划》](superpowers/plans/2026-07-24-digital-master-agent.md);工作助手相关术语、实施状态与文档关系集中在[《工作助手与今日工作成果迭代计划》](工作助手与今日工作成果迭代计划-20260721.md)。当前产品优先级与本轮增量见[《银城帮道产品功能优先级与实施计划》](银城帮道产品功能优先级与实施计划-20260721.md),阶段一“练”的唯一后续施工范围见[《AI陪练完整交付计划》](AI陪练完整交付计划-20260724.md),公司消息现状见[九项能力设计](superpowers/specs/2026-07-24-company-message-nine-capabilities-design.md)与[大喇叭纠偏增量方案](银城大喇叭与问模块纠偏增量方案-20260722.md)。不得把本地 Agent 验证或已验证的全员文件消息和直通车闭环外推为已部署 Agent、消息修订、强触达、工单流转、完整个人知识空间或完整试点已经完成。 +“问”模块的最终 Agent 边界见[《数字师傅工作 Agent 总体设计》](superpowers/specs/2026-07-24-digital-master-agent-design.md),本地实施与验证进度见[《实施计划》](superpowers/plans/2026-07-24-digital-master-agent.md);工作助手相关术语、实施状态与文档关系集中在[《工作助手与今日工作成果迭代计划》](工作助手与今日工作成果迭代计划-20260721.md)。阶段一“练”的唯一后续施工范围见[《AI陪练完整交付计划》](AI陪练完整交付计划-20260724.md),公司消息现状见[九项能力设计](superpowers/specs/2026-07-24-company-message-nine-capabilities-design.md)与[大喇叭纠偏增量方案](银城大喇叭与问模块纠偏增量方案-20260722.md)。不得把本地 Agent 验证或已验证的全员文件消息和直通车闭环外推为已部署 Agent、消息修订、强触达、工单流转、完整个人知识空间或完整试点已经完成。 ## 当前项目文档 @@ -39,7 +39,8 @@ | [银城员工端APP分阶段实施总纲.md](银城员工端APP分阶段实施总纲.md) | 三阶段总纲:陪练 → 大喇叭+知识学习平台(含学模块、开放问题榜、员工个人 AI 助理) → 北森对接;身份三轴模型与防遗漏分发策略 | | [个人AI助理阶段二专项TechSpec.md](个人AI助理阶段二专项TechSpec.md) | 工作助手确认式统一采集的当前契约,以及后续个人知识空间的数据分域、检索、权限、安全和测试规格 | | [工作助手与今日工作成果迭代计划-20260721.md](工作助手与今日工作成果迭代计划-20260721.md) | 工作助手项目选择、统一采集、来源追溯、今日成果、主管视图、成果投稿和外部流转的分阶段计划;含本地实施状态、390×844 证据和剩余生产边界 | -| [银城帮道产品功能优先级与实施计划-20260721.md](银城帮道产品功能优先级与实施计划-20260721.md) | 对《银城帮道介绍》十项能力进行事实校正,给出 P0-P3、明确不做项、发布批次和本轮实施记录;产品全景施工入口 | +| [帮道产品功能优先级与实施计划-20260721.md](帮道产品功能优先级与实施计划-20260721.md) | 2026-07-21 历史优先级快照;只用于追溯当时事实校正,当前状态以 BRD 审查为准 | +| [帮道-练与银城大喇叭功能介绍.md](帮道-练与银城大喇叭功能介绍.md) | “练”、公司消息和问模块的产品介绍;实现与验收状态仍以 BRD 审查为准 | | [银城大喇叭与问模块纠偏增量方案-20260722.md](银城大喇叭与问模块纠偏增量方案-20260722.md) | 已部署的大喇叭、单文件提炼、消息追问和独立五通道直通车边界,以及仍待补齐的定向正反例、修订、补推和强触达 | | [superpowers/specs/2026-07-24-company-message-nine-capabilities-design.md](superpowers/specs/2026-07-24-company-message-nine-capabilities-design.md) | 图示九项公司消息能力的归并口径、R1—R3 当前架构与明确不承担的聊天、工单、SLA 边界 | | [M0自动化验收说明.md](M0自动化验收说明.md) | 本机受控写入的“发布—阅读—追问—撤回”接口验收边界、运行方式与清理约束 | diff --git a/docs/open-org-sync-api-design-v1.md b/docs/open-org-sync-api-design-v1.md index 822c9cba..18c79a04 100644 --- a/docs/open-org-sync-api-design-v1.md +++ b/docs/open-org-sync-api-design-v1.md @@ -292,7 +292,7 @@ X-Nonce "resource_id": 135, "payload": { "name": "张三", - "phone": "13800000000", + "phone": "<手机号>", "department_id": 108 } } diff --git a/docs/银城帮道-练与大喇叭功能介绍.md b/docs/帮道-练与银城大喇叭功能介绍.md similarity index 99% rename from docs/银城帮道-练与大喇叭功能介绍.md rename to docs/帮道-练与银城大喇叭功能介绍.md index e743d144..d3b4faca 100644 --- a/docs/银城帮道-练与大喇叭功能介绍.md +++ b/docs/帮道-练与银城大喇叭功能介绍.md @@ -1,4 +1,4 @@ -# 银城帮道:“练”与“银城大喇叭”功能介绍 +# 帮道:“练”与“银城大喇叭”功能介绍 > 文档用途:产品介绍、项目汇报和员工/主管使用说明。 > @@ -8,7 +8,7 @@ ## 1. 产品全景:让信息被理解,让标准被练会 -银城帮道中的“练”和“银城大喇叭”不是两套孤立功能。 +帮道中的“练”和“银城大喇叭”不是两套孤立功能。 - **银城大喇叭**:把公司的通知、制度和重要提醒可靠地送到员工手中; - **问 · 数字师傅**:让员工读完后还能继续问清楚“这是什么意思、与我有什么关系、应该如何理解”; diff --git a/docs/银城帮道产品功能优先级与实施计划-20260721.md b/docs/帮道产品功能优先级与实施计划-20260721.md similarity index 96% rename from docs/银城帮道产品功能优先级与实施计划-20260721.md rename to docs/帮道产品功能优先级与实施计划-20260721.md index bc7b2416..9b18af68 100644 --- a/docs/银城帮道产品功能优先级与实施计划-20260721.md +++ b/docs/帮道产品功能优先级与实施计划-20260721.md @@ -1,8 +1,9 @@ -# 银城帮道产品功能优先级与实施计划 +# 帮道产品功能优先级与实施计划(2026-07-21 历史快照) > 版本:v1.3 > 日期:2026-07-23 -> 状态:2026-07-21 的多项目、确认式采集和今日工作成果,以及 R0 的历史日期选择、未来日期拒绝和主管手机号授权均已部署;R2 的大喇叭最小闭环和消息追问已于 2026-07-23 随全量迁移发布。其 `57/57` 为首轮历史核验;2026-07-24 当前完整包已再次通过远端服务、产物、后端模块及 `62/62` schema 核验。 +> 文档属性:保留 2026-07-21 至 2026-07-24 的优先级与实施快照,不再作为当前施工或部署状态入口;现状以 [BRD 功能审查](BRD_IMPLEMENTATION_AUDIT.md) 为准。 +> 状态快照:多项目、确认式采集、今日工作成果、历史日期选择、未来日期拒绝、主管手机号授权、大喇叭最小闭环和消息追问当时已部署;`57/57` 与 `62/62` 仅为对应批次的历史核验。 > 需求输入:微信临时文件《银城帮道 介绍(1).html》、2026-07-19/20 客户沟通、当前 BRD/TechSpec 与线上事实 > 适用范围:员工端、主管端、管理端及后续外部业务接口 diff --git a/docs/租户与组织两级治理实施计划-20260723.md b/docs/租户与组织两级治理实施计划-20260723.md index a04717ec..00cb362b 100644 --- a/docs/租户与组织两级治理实施计划-20260723.md +++ b/docs/租户与组织两级治理实施计划-20260723.md @@ -1,7 +1,7 @@ # 租户与组织两级治理实施计划 > 日期:2026-07-23 -> 适用范围:银城帮道管理后台、组织同步服务与多租户数据治理 +> 适用范围:帮道管理后台、组织同步服务与多租户数据治理 ## 1. 建设目标 diff --git a/docs/银城大喇叭与问模块纠偏增量方案-20260722.md b/docs/银城大喇叭与问模块纠偏增量方案-20260722.md index ccba4900..c09977e6 100644 --- a/docs/银城大喇叭与问模块纠偏增量方案-20260722.md +++ b/docs/银城大喇叭与问模块纠偏增量方案-20260722.md @@ -3,8 +3,8 @@ > 版本:v1.2 > 日期:2026-07-24 > 状态:问模块纠偏、大喇叭发布/阅读/追问、定向/必读结构、单文件提炼,以及独立五通道直通车均已部署;当前完整包已通过线上静态资源、后端模块和 `64/64` schema 一致性核验,并完成全员文件消息与直通车的生产认证态回归。定向人群正反例、正式处理人绑定、消息修订/补推和强触达仍待补齐。 -> 适用范围:银城帮道员工端、管理端与 `ruoyi-aihr` 业务模块 -> 关联方案:[产品功能优先级与实施计划](银城帮道产品功能优先级与实施计划-20260721.md)、[员工端 APP 分阶段实施总纲](银城员工端APP分阶段实施总纲.md)、[问师傅多轮会话与原始资料交付设计](20260718/问师傅多轮会话与原始资料交付设计.md) +> 适用范围:帮道员工端、管理端与 `ruoyi-aihr` 业务模块 +> 关联方案:[产品功能优先级与实施计划](帮道产品功能优先级与实施计划-20260721.md)、[员工端 APP 分阶段实施总纲](银城员工端APP分阶段实施总纲.md)、[问师傅多轮会话与原始资料交付设计](20260718/问师傅多轮会话与原始资料交付设计.md) ## 0. 决策摘要 @@ -359,6 +359,6 @@ flowchart LR ## 11. 结论 -“银城大喇叭”应成为银城帮道的**可信公司信息入口**,而不是一个带红点的公告壳;“问”应成为员工**理解消息、理解制度、核验自己真实待办**的助手,而不是把知识库推荐包装成指令。 +“银城大喇叭”应成为帮道的**可信公司信息入口**,而不是一个带红点的公告壳;“问”应成为员工**理解消息、理解制度、核验自己真实待办**的助手,而不是把知识库推荐包装成指令。 因此,首版最关键的产品承诺是:**消息有原文、追问有上下文、行动有事实、无事实就明确说无事实。**