docs(wiki): AI 对话全链路修复 — 关键数字+症状导航+模块描述更新

This commit is contained in:
iven
2026-05-19 21:38:20 +08:00
parent c6d4e76b62
commit d74c7a61de

View File

@@ -4,18 +4,18 @@
## 关键数字
> 最后更新: 2026-05-18 | 数据截止: feat/media-library-banner 分支AI Agent Phase 0 完成)
> 最后更新: 2026-05-19 | 数据截止: feat/media-library-banner 分支AI 对话全链路修复完成)
| 指标 | 值 |
|------|-----|
| Rust crate | 17 个erp-core + 5 基础业务 + erp-health + erp-ai + erp-dialysis + erp-plugin + 7 插件/原型) |
| Rust 源文件 | **652 个**136,908 行) |
| 数据库表 | 30 基础表 + 49 健康业务表 + 13 AI 表(+4 会话/消息/tool_log/user_profile + 3 媒体库/轮播图表 |
| 数据库迁移 | **148**(最新 m20260518_000148 |
| 数据库迁移 | **156**(最新 m20260519_000156 |
| 后端路由 | 260+ 个11 公开 + 14 FHIR + 2 网关 + ~240 受保护) |
| 核心模块 | 5 基础 (auth/config/workflow/message/plugin) + 3 业务 (health + ai + dialysis) |
| erp-health 实体 | **59 个** Entity32 handler / 41 service / 22 DTO214 文件) |
| erp-ai 实体 | 9 个 Entity62 文件4 AI Provider |
| erp-ai 实体 | 9 个 Entity62 文件4 AI Providerchat_handler 支持 FC/Ollama fallback |
| 全系统 Entity | **109 个** / Handler **47 个** / Service **107 个** / DTO **29 个** |
| Web 前端 | 307 个 TS/TSX 文件36 活跃路由 + 5 冻结路由42 API 模块161 页面) |
| 微信小程序 | Taro 4.2 + React 18161 个 TS/TSX 文件 / 60 页面 / 4 TabBar + 医生端分包,统一组件库 + CSS 变量主题75 页面 SCSS 全量接入 `var(--tk-*)`,字号 token 对齐原型统计,医生端 `.doctor-mode` 靛蓝覆盖,登录页账号密码+微信一键登录);**并发安全**:长轮询独立通道 `requestUnlimited` + ConcurrencyLimiter(12) + safeNavigateTo 全局页栈保护 + reLaunch 去重 + 分包预加载 preloadRule |
@@ -27,14 +27,14 @@
| Clippy | **全 workspace 0 警告**2026-05-07 清零) |
| 依赖版本 | 全部最新主版本线Rust edition 2024 |
| API 文档 | `http://localhost:3000/api/docs/openapi.json` |
| Git 提交 | **860** |
| Git 提交 | **862** |
| 系统分析评分 | **6.8/10 (B)**六维度全面均衡分析2026-05-17架构 8.5 / 安全 7.5 / 测试 5.5 / 前端 7.2 / DevOps 3.8 / 产品 8.0 |
| 审计状态 | V1: 83% → V2: 85%P0 安全修复已完成V2 CRITICAL 全清零 |
| 角色测试 | R01-R05 全角色验证完成86.5% 通过率5 个 BUG 已修复;小程序 MP 多角色 96.2% 通过率 |
| Design Token | 11 级字号(对齐 18 份原型稿 fontSize 统计h1=28/h2=22/body-lg=18/body=16/body-sm=14/cap=13+ 12 结构 token75 SCSS 页面全量接入 `var(--tk-*)``.doctor-mode` / `.elder-mode` CSS 变量级联覆盖ContentCard 支持 padding+margin prop |
| 长者模式 | 58/58 页面 100% 覆盖 |
| UI 合规审计 | T40: 60 页面全覆盖PASS 24 / PASS_WITH_ISSUES 36 / NEEDS_WORK 0HIGH×2 + MEDIUM×6 + LOW×67 全部修复,评分 95/100 |
| 项目阶段 | **系统分析 + 六维度均衡优化**(综合 6.8/10DevOps 3.8 是最明显短板 |
| 项目阶段 | **AI 对话全链路修复完成**ChatPage + AiSidebar + 会话持久化 + 菜单配置 + Provider fallback |
## 症状导航
@@ -96,6 +96,12 @@
| 后端启动 panic "Path segments must not start with `:`" | [[erp-health]] module.rs | Axum v0.8+ 路由参数语法变更 | 路由定义使用 `{param}` 而非 `:param` |
| 小程序分包页 navigateTo:fail timeout | [[miniprogram]] 页面生命周期 | `useEffect` + `usePageData`(useDidShow) 双重初始化 | **已修复:** 合并为 `usePageData` 单次回调,移除独立 `useEffect` |
| 小程序/开发者工具卡死无响应 | [[miniprogram]] request.ts 并发控制 | 长轮询占用 ConcurrencyLimiter 槽位 25-30s叠加 401 形成死锁 | **已修复:** 长轮询走 `requestUnlimited` 独立通道 + 并发上限 8→12 + reLaunch 去重 + maxFailures 50→10 |
| AI 对话 500 / 配额已用尽 | [[erp-ai]] chat_handler | `ai_tenant_config` Entity 表名错误(复数 vs 单数) | **已修复:** Entity table_name 改为 `ai_tenant_config`(单数),配额检查错误区分耗尽/DB 异常 |
| AI 对话 Provider 不可用 | [[erp-ai]] provider_registry | 硬编码 `get_provider("claude")` 忽略配置 | **已修复:** 改为 `config.default_provider` 优先 + fallback chainclaude→openai→ollama |
| Ollama generate_with_tools 未实现 | [[erp-ai]] chat_handler | Ollama FC 是 stub 返回错误 | **已修复:** 非 FC provider 降级为 `generate()` 简单对话模式 |
| AI 侧边栏/ChatPage 刷新丢失消息 | [[frontend]] ChatPage | 无后端消息加载 API | **已修复:** 新增 `GET /ai/chat/sessions/{id}/messages` + 前端切换时加载历史 |
| AI 菜单缺失 / 客服入口不存在 | [[database]] 菜单迁移 | AI 客服菜单未配置 | **已修复:** 迁移 000155-000156 添加 AI 客服菜单 + 角色绑定 |
| copilot 患者风险 500 | [[erp-ai]] risk_service | SQL 列名/表名与实际 schema 不匹配 | **已修复:** `vital_signs_daily.device_type/avg_val` + `lab_report`(单数)+ JSON 查询 |
## 模块导航
@@ -112,7 +118,7 @@
### 核心业务层HMS 专属)
- [[erp-health]] — **患者管理 · 健康数据 · 预约排班 · 随访管理 · 咨询管理 · 内容管理 · 媒体库 · 轮播图管理 · 积分商城 · 透析管理 · 线下活动 · 日常监测 · 告警系统**(原生 Rust 模块57 实体 / 31 handler / 36 service已实现
- [[erp-ai]] — **AI 智能分析 · 化验单解读 · 趋势分析 · 报告摘要**(原生 Rust 模块9 实体 / 45 文件 / 4 AI ProviderPhase 1 MVP
- [[erp-ai]] — **AI 智能分析 · 化验单解读 · 趋势分析 · 报告摘要 · AI 对话(ChatPage+AiSidebar) · 会话持久化**(原生 Rust 模块9 实体 / 62 文件 / 4 AI Provider / chat_handler FC+fallbackPhase 1 MVP
### 组装层
- [[erp-server]] — Axum 入口 · AppState · 7+ 模块注册 · 后台任务 · 优雅关闭