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
admin
4536d607e3
feat: add project-scoped work assistant results
2026-07-21 04:44:15 +08:00
admin
0a5fc9a463
feat(assistant): unify confirmed memory capture
2026-07-20 02:30:06 +08:00
admin
46a6156d8c
fix(mobile): highlight new-chat button and flex-center composer labels
...
- AskSourceHeader: solid brand-red new-chat button, flex-centered label
- replace padding+line-height centering with flex on chips, hold-talk,
send, bubble-action, transcript-toggle, system-text, scope-note
- carries the in-flight AskSourceHeader extraction on sop/web-ai pages
(parallel session work; its test updates intentionally left uncommitted)
2026-07-19 23:21:24 +08:00
admin
c47bf748cb
fix(mobile): replace emoji glyphs with uni-icons and flex centering app-wide
...
- ChatComposer panel contract: callers now pass uni-icons type names
(image/sound/list/help/checkmark) instead of emoji
- voice playback buttons: sound icon + pulse animation, no more 🔊 /◼ chars
- practice recent list: rare symbols ⌕⌁◉ (tofu risk) -> wallet/gear/chatbubble
- sop resource icon ▶/文 -> 视/文 character badges
- back arrows: 22 char-based ← -> uni-icons back across 21 pages
- line-height centering -> flex in 8 spots (back buttons, media-remove,
turn-voice capsule, option-marker, text-button, play-question)
2026-07-19 20:16:05 +08:00
admin
24da833fa6
feat(personal-assistant): add confirmed project memory
2026-07-19 08:19:24 +08:00
admin
151cc26caf
fix(mobile): precise centering in ask page switch and composer
...
Replace line-height centering with flex + fixed heights, and swap
emoji/unicode glyphs (+ × ⌨ 🎤 ) for uni-icons vector icons so
alignment and rendering are consistent across platforms.
2026-07-19 03:27:46 +08:00
admin
064816a784
feat(knowledge): add short-term ask memory
2026-07-18 21:22:49 +08:00
admin and Claude Fable 5
d5ea4b5451
feat(mobile): restore two old-H5 interaction loops in chat form
...
旧 H5 vs uniapp 逐功能盘点(客户要求'html 版本逻辑保持')后确认的
两个交互缺口,以会话形态补齐:
1. 学练闭环:总结卡底部新增「去练一遍」(旧版'开始跟读'),
关卡后直达练页预习视图,学完话术立刻练。
2. 建议采用:老师傅提示气泡新增「用这句话回复」(旧版'建议回复'
的真实数据版),ChatComposer 暴露 setDraft(text)——填入输入框并
切键盘模式,员工可修改后发送;对打字困难的老年员工是关键路径。
盘点其余结论:旧版功能全部已迁移或被更优实现替代;
团队短板热力图为写死演示数据,真实版记 P2(需后端维度聚合);
演示角色切换/假数据脚手架确认不迁。
验证:本地+生产 E2E——总结卡→去练一遍→预习视图;
对练→老师傅提示→用这句话回复→输入框回填→发送进入下一轮。
发布备份 h5-before-$TS。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-18 11:29:05 +08:00
admin and Claude Fable 5
9d7d621300
feat(mobile): rebuild practice session as WeChat-style chat (batch 2)
...
对练进行中(practiceView=active)改为微信式会话,复用问页同款形态;
预习(场景卡/最近练过/每日三题)与评分/满意度视图保持不变,
start/turn/finish/求助/风格重生成/幂等/红线/满意度脚本逻辑零改动。
ChatComposer:新增 panelItems 属性(自定义⊕面板项+panel事件),
sop 页默认面板不受影响。
practice/index.vue:
- 会话视图:固定铺满窗口区;头部=场景名+第N/3轮+情绪/信任细条+红线提示
- 业主台词=语音优先气泡(TTS预合成+时长+未读红点+转文字/收起,
TTS不可用回退文本);我的回复右侧粉色气泡;老师傅提示/求助SOP=
蓝色教练气泡(带播报/引用来源);提交中「业主回应中…」系统气泡
- 风格chips(再严肃/再温柔/更细致/更专业)横排贴输入条上方
- 输入条:按住说话松开即发送(转写→带audioOssId直接提交回合),
键盘切换,⊕面板=选音频转文字/求助SOP/结束评分(结束评分随
canFinishPractice置灰)
- 错题重说(红线)、退避回滚(提交失败恢复对话)原逻辑保留
验证:
- 本地全链路:开始练习→业主语音气泡6"+红点→转文字→键盘回复→
老师傅提示+4风格chips→风格调整→⊕求助SOP气泡→第二轮→
⊕结束评分→评分74+老师傅建议+满意度,8张截图目检
- 生产冒烟:语音气泡+红点+按住说话+老师傅提示+风格chips全就位
- H5已发布(备份 h5-before-20260718052458);冲突表已更新
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-18 05:26:28 +08:00
admin and Claude Fable 5
95dfd653ba
fix(mobile): remove inherited page padding gaps around chat layout
...
客户标注了四处间距问题:头部上方空隙、头部/切换条两侧内缩、
输入条两侧内缩、输入条与 tab 栏之间约 96px 灰色空档。
根因:全局 .page 类自带 padding: 22px 16px 96px 且 min-height:100vh,
会话页继承后四边都被垫开;页面高度 calc 与之叠加产生底部大空档。
修复:
- .sop-chat-page 改为 fixed 铺满窗口区(--window-top 到 --window-bottom),
padding 清零,头部/线程/输入条边到边,与微信布局一致
- ChatComposer 底部去掉 env(safe-area-inset-bottom) 叠加(tab 栏自行处理)
验证:本地与生产实测 headTop=0 headLeft=0 composer 与 tab 栏间距 ≤1px;
截图目检通过。发布备份 h5-before-20260718051038。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-18 05:11:21 +08:00
admin and Claude Fable 5
bf1e881a8c
feat(mobile): rebuild SOP ask page as WeChat-style chat (batch 1)
...
客户 2026-07-18 新要求:语音文字交互改为微信聊天式,替代表单式操作
(客户原话 > Figma,已记入版本对比冲突表)。
新增 components/chat/ChatComposer.vue(可复用,练页批次二直接使用):
- 微信式输入条:⊕功能面板(图片/视频、选音频转文字、训练概况)、
按住说话(touch+mouse,松开即发送/滑出取消)、麦克风⇄键盘切换、
文本发送;录音兜底:环境不支持自动转选音频
- 快捷问题 chips 横向滚动置于输入条上方;附件以可移除 chip 展示
pages/user/sop/index.vue 重构为消息流模型:
- user/master/system/pending 四类消息;答案气泡内含要点/提醒/无依据提示,
操作行=播报、引用N条(折叠展开)、总结卡、有帮助/没解决(逐条反馈)
- 语音松开即发送(按用户决策):转写成功直接成为消息(带🎤 标),
失败以系统气泡提示;选音频同语义
- 登录守卫、pending query/tool、主管学员态、生成计数取消、
onHide/onUnload 清理全部保留;总结卡弹窗(下载/播报)原样保留
验证:
- 本地(构建产物+生产API)9 张截图人工目检:空态/快捷词问答/引用展开/
键盘输入发送/按住录音/语音失败系统气泡/⊕面板/总结卡/超大字号档
- 生产冒烟:composer 存在 + 完整问答回合渲染通过
- H5 已发布(备份 h5-before-20260718044611)
批次二(待办):练页会话化(复用 ChatComposer)、web-ai 页统一、
旧表单样式清理。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-18 04:47:33 +08:00