feat(aia): Complete AIA V2.0 with universal streaming capabilities

Major Changes:
- Add StreamingService with OpenAI Compatible format
- Upgrade Chat component V2 with Ant Design X integration
- Implement AIA module with 12 intelligent agents
- Update API routes to unified /api/v1 prefix
- Update system documentation

Backend (~1300 lines):
- common/streaming: OpenAI Compatible adapter
- modules/aia: 12 agents, conversation service, streaming integration
- Update route versions (RVW, PKB to v1)

Frontend (~3500 lines):
- modules/aia: AgentHub + ChatWorkspace (100% prototype restoration)
- shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook
- Update API endpoints to v1

Documentation:
- AIA module status guide
- Universal capabilities catalog
- System overview updates
- All module documentation sync

Tested: Stream response verified, authentication working
Status: AIA V2.0 core completed (85%)
This commit is contained in:
2026-01-14 19:15:01 +08:00
parent 3d35e9c58b
commit 1b53ab9d52
386 changed files with 52096 additions and 65238 deletions

View File

@@ -1,164 +1,149 @@
# **AI 临床医生与医院知识库 \- MVP 阶段产品需求文档 (PRD) V5.0**
# **AI 銝游<EFBFBD><EFBFBD><EFBFBD>銝𤾸龫<EFBFBD>䰻霂<EFBFBD><EFBFBD> \- MVP <20>嗆挾鈭批<E988AD><E689B9><EFBFBD><EFBFBD><E79899>獢?(PRD) V5.0**
|
| 版本号 | 日期 | 修改人 | 修改内容 |
| <EFBFBD><EFBFBD>𧋦<EFBFBD>?| <20><EFBFBD> | 靽格㺿鈭?| 靽格㺿<E6A0BC><E3BABF> |
| V4.0 | 2024-06-XX | Product Lead | <20>滨輕蝑𣇉裦 MVP |
| V5.0 | 2024-06-XX | Product Lead | 完整落地版:基于“全量阅读”策略,补全 UI/UX 规范与详细功能定义 |
| V5.0 | 2024-06-XX | Product Lead | 摰峕㟲<EFBFBD>賢𧑐<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>霂領<EFBFBD><EFBFBD><EFBFBD><EFBFBD>銵亙<EFBFBD> UI/UX 閫<><E996AB>銝舘祕蝏<E7A595><E89D8F><EFBFBD><EFBFBD>銋?|
## **1\. 核心战略与范围 (Strategy & Scope)**
## **1\. <EFBFBD><EFBFBD><EFBFBD>条裦銝舘<EFBFBD><EFBFBD>?(Strategy & Scope)**
### **1.1 核心价值主张**
放弃传统的“切片式 RAG”利用 DeepSeek-V3 / Qwen-Max 的长窗口能力,通过 **Document-Level RAG (文档级阅读)** 技术,为医生提供**逻辑完整、引用精准**的知识库问答体验。
### **1.1 <EFBFBD><EFBFBD>隞瑕<EFBFBD>潔蜓撘?*
<EFBFBD><EFBFBD>隡删<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD><EFBFBD> RAG<41><EFBFBD><E59885>拍鍂 DeepSeek-V3 / Qwen-Max <20><>鵭蝒堒藁<E5A092><EFBFBD>嚗屸<E59A97><EFBFBD> **Document-Level RAG (<28><>﹝蝥折<E89DA5>霂?** <20><><EFBFBD><EFBFBD>銝箏龫<E7AE8F><E9BEAB><EFBFBD>靘?*<2A><EFBFBD>摰峕㟲<E5B395><E39FB2><EFBFBD><EFBFBD>函移<E587BD>?*<2A><>䰻霂<E4B0BB><E99C82><EFBFBD><EFBFBD>雿㯄<E99BBF><E3AF84>?
### **1.2 MVP <20>嗆挾颲寧<E9A2B2> (Scope Freeze)**
* **适用终端:** Web (PC/Mac 浏览器),兼容 iPad
* **支持格式:** PDF, Word (.docx), PPT (.pptx)
* **硬性限制:** 单库文件数 ≤ 30 个;单文件大小 ≤ 20MB
* **核心场景:** 循证检索 (指南)、深度研读 (文献)、用药助手 (药品)、考典刷题 (考试)。
* **<EFBFBD><EFBFBD>鍂蝏<EFBFBD>:** Web 蝡?(PC/Mac 瘚讛<EFBFBD><EFBFBD>?嚗<><E59A97>摰?iPad<EFBFBD>?
* **<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:** PDF, Word (.docx), PPT (.pptx)<EFBFBD>?
* **蝖祆<EFBFBD><EFBFBD><EFBFBD>?** <20><EFBFBD><E8A8AB><EFBFBD><EFBFBD>?<3F>?30 銝迎<E98A9D><E8BF8E><EFBFBD>隞嗅之撠?<3F>?20MB<EFBFBD>?
* **<EFBFBD><EFBFBD><EFBFBD>箸艶:** 敺芾<E695BA><EFBFBD>蝝?(<28><><EFBFBD>)<29><>楛摨衣<E691A8>霂?(<28><>讃)<29><><EFBFBD>臬𨭌<E887AC>?(<28><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD>)<29>?
## **2\. <20><EFBFBD><E79285>霂行<E99C82> (Detailed Requirements)**
### **2.1 璅<E79285><EFBFBD>嚗帋貌銵函<E98AB5> (Dashboard)**
**用户故事:** 作为医生,我希望一眼看到我有多少个知识库,并能快速创建一个新的专科知识库。
#### **2.1.1 页面布局与 UI 规范**
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:** 雿靝蛹<E99D9D><EFBFBD>嚗峕<E59A97>撣峕<E692A3><EFBFBD><E98A9D><EFBFBD><E6BD9B><EFBFBD><E594B3><EFBFBD>撠睲葵<E79DB2><EFBFBD>摨橒<E691A8>撟嗉<E6929F>敹恍<E695B9><EFBFBD>撱箔<E692B1>銝芣鰵<E88AA3><E9B0B5><EFBFBD>蝘𤑳䰻霂<E4B0BB><E99C82><EFBFBD>?
#### **2.1.1 憿菟𢒰撣<F0A292B0><E692A3>銝?UI 閫<><E996AB>**
* **撣<><E692A3>蝏𤘪<E89D8F>:**
* **顶部:** 全局导航栏 (Logo \+$$智能统计$$$$智能清洗$$$$\*\*AI 知识库\*\*$$$$AI 问答$$
\+ 头像)。
* **主体:** "1+3" 卡片阵列布局 (Grid System)
* **憿園<EFBFBD>:** <EFBFBD><EFBFBD>撖潸⏛<EFBFBD>?(Logo \+$$<EFBFBD><EFBFBD>蝏蠘恣$$$$<24><EFBFBD><EFBFBD><E79A9C>$$$$\*\*AI <EFBFBD><EFBFBD>摨脪*\*$$$$AI <EFBFBD><EFBFBD>$$
\+ 憭游<EFBFBD>)<29>?
* **銝颱<EFBFBD>:** "1+3" <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Grid System)<EFBFBD>?
* **<2A><EFBFBD>霈曇恣:**
* **Slot 1 (<28>啣遣<E595A3>亙藁):**
* **样式:** 浅蓝色渐变背景 (bg-blue-50),深蓝色虚线边框。
* **内容:** 大号 "+" 图标,文案 "创建知识库",下方并列展示 5 个场景图标 (指南/文献/病例/药品/考试) 以提示能力。
* **Slot 2-N (现有知识库):**
* **样式:** 白色卡片,微阴影 (shadow-sm \-\> hover shadow-md)
* **内容:** 图标(左上) \+ 标题(加粗) \+ 类型标签(胶囊样式) \+ "进入工作台"按钮(底部通栏)。
* **<EFBFBD><EFBFBD>:** <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?(bg-blue-50)嚗峕楛<EFBFBD>肽𠧧<EFBFBD>𡁶瑪颲寞<EFBFBD><EFBFBD>?
* **<EFBFBD><EFBFBD>:** 憭批噡 "+" <EFBFBD><EFBFBD>嚗峕<EFBFBD>獢?"<22>𥕦遣<F0A595A6><EFBFBD>摨?嚗䔶<E59A97><E494B6>孵僎<E5ADB5><EFBFBD>蝷?5 銝芸㦤<E88AB8>臬㦛<E887AC>?(<28><><EFBFBD>/<2F><>讃/<2F><><EFBFBD>/<2F><EFBFBD>/<2F><><EFBFBD>) 隞交<E99A9E>蝷箄<E89DB7><E7AE84><EFBFBD>?
* **Slot 2-N (<EFBFBD><EFBFBD><EFBFBD><EFBFBD>摨?:**
* **<EFBFBD><EFBFBD>:** <EFBFBD>質𠧧<EFBFBD><EFBFBD><EFBFBD><EFBFBD>游蔣 (shadow-sm \-\> hover shadow-md)<EFBFBD>?
* **<EFBFBD><EFBFBD>:** <EFBFBD><EFBFBD>(撌虫<E6928C>) \+ <20><><EFBFBD>(<28><EFBFBD>) \+ 蝐餃<E89D90><E9A483><EFBFBD>倌(<28><EFBFBD><E59785><EFBFBD>) \+ "餈𥕦<E9A488>撌乩<E6928C><E4B9A9>?<3F>厰僼(摨閖<E691A8><E99696>𡁏<EFBFBD>)<29>?
#### **2.1.2 鈭支<E988AD><EFBFBD><E7989A>嚗𡁜<E59A97>撱箇䰻霂<E4B0BB><E99C82>**
* **触发:** 点击“创建知识库”卡片 \-\> 弹出模态框 (Modal)
* **閫血<EFBFBD>:** <EFBFBD>孵稬<EFBFBD>𨅯<EFBFBD>撱箇䰻霂<EFBFBD><EFBFBD><EFBFBD>嘥㨃<EFBFBD>?\-\> 撘孵枂璅⊥<E79285><E28AA5><EFBFBD> (Modal)<EFBFBD>?
* **Step 1: 蝐餃<E89D90><E9A483>㗇𥋘 (Type Selection)**
* **UI:** 5 个大卡片网格。
* **UI:** 5 銝芸之<EFBFBD><EFBFBD>蝵烐聢<EFBFBD>?
* **<2A>厰★:**
1. **循证检索 (指南):** 图标 BookOpen (Blue)。文案:"查诊疗标准、用药剂量"。
2. **深度研读 (文献):** 图标 Microscope (Purple)。文案:"文献综述、横向对比"。
3. **临床决策 (病例):** 图标 Stethoscope (Green)。文案:"疑难病例参考"。
4. **用药助手 (药品):** 图标 Pill (Rose)。文案:"查配伍禁忌"。
5. **考典刷题 (考试):** 图标 GraduationCap (Orange)。文案:"主治/副高备考"。
1. **敺芾<EFBFBD><EFBFBD>蝝?(<28><><EFBFBD>):** <EFBFBD><EFBFBD> BookOpen (Blue)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><EFBFBD><E4BAA5><EFBFBD><E59F88><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E887AC>?<3F>?
2. **瘛勗漲<EFBFBD>磰粉 (<28><>):** <EFBFBD><EFBFBD> Microscope (Purple)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><>讃蝏潸膩<E6BDB8><E886A9><EFBFBD>穃笆瘥?<3F>?
3. **銝游<EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD>):** <EFBFBD><EFBFBD> Stethoscope (Green)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22>煾𠗕<E785BE><F0A09795><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>?
4. **<EFBFBD>刻晓<EFBFBD><EFBFBD> (<28><EFBFBD>):** <20><EFBFBD> Pill (Rose)<29><><EFBFBD><EFBFBD><E78DA2>"<22>仿<EFBFBD>隡滨<E99AA1>敹?<3F>?
5. **<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD>):** <20><EFBFBD> GraduationCap (Orange)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"銝餅祥/<2F><EFBFBD><EFBFBD><E686AD>?<3F>?
* **Step 2: <20><EFBFBD>靽⊥<E99DBD> & 閫坿𠧧瘜典<E7989C>**
* **字段:** 知识库名称 (必填)、所属科室 (下拉选:心内/呼吸/消化...)
* **逻辑:** 选中“心内科”后,后端自动在 System Prompt 中注入 *"你是一名心内科专家..."*
* **摮埈挾:** <EFBFBD><EFBFBD>摨枏<EFBFBD>蝘?(敹<>)<29><><EFBFBD>撅䂿<E69285>摰?(銝𧢲<E98A9D><F0A7A2B2><EFBFBD><EFBFBD><E695B9>/<2F>澆𢙺/瘨<><E798A8>...)<EFBFBD>?
* **<EFBFBD><EFBFBD>:** <EFBFBD>劐葉<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝡航䌊<EFBFBD>典銁 System Prompt 銝剜釣<E5899C>?*"雿䭾糓銝<E7B393><E98A9D><EFBFBD><E6BB9A><EFBFBD><EFBFBD>銝枏振..."*<2A>?
* **Step 3: <20><>辣銝𠹺<E98A9D> (Upload)**
* **UI:** 大面积拖拽上传区 (Dropzone)
* **UI:** 憭折𢒰蝘舀<EFBFBD><EFBFBD><EFBFBD>隡惩躹 (Dropzone)<EFBFBD>?
* **<2A><EFBFBD>:**
* 前端校验大小 (\>20MB 飘红报错)。
* 前端校验数量 (\>30 个 飘红报错)。
* 上传成功后显示列表,状态流转:上传中... \-\> 就绪。
* <EFBFBD>滨垢<EFBFBD><EFBFBD>憭批<EFBFBD> (\>20MB 憌条滯<E69DA1>仿<EFBFBD>)<29>?
* <EFBFBD>滨垢<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (\>30 銝?憌条滯<E69DA1>仿<EFBFBD>)<29>?
* 銝𠹺<EFBFBD><EFBFBD>𣂼<EFBFBD><EFBFBD>擧遬蝷箏<EFBFBD>銵剁<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頧穿<EFBFBD>銝𠹺<EFBFBD>銝?.. \-\> 撠梁貌<EFBFBD>?
### **2.2 璅<E79285>鈭䕘<E988AD>瘝㗇絡撘誩極雿𨅯蝱 (Workspace)**
**用户故事:** 作为医生,我希望在一个无干扰的环境中与我的资料对话,并能随时核对原文。
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:** 雿靝蛹<E99D9D><EFBFBD>嚗峕<E59A97>撣峕<E692A3><E5B395><EFBFBD>銝芣<E98A9D>撟脫贋<E884AB><E8B48B>㴓憓<E3B493>葉銝擧<E98A9D><E693A7><EFBFBD><EFBFBD><EFBFBD>坔笆霂嘅<E99C82>撟嗉<E6929F><E59789>𤩺𧒄<F0A4A9BA>詨笆<E8A9A8><E7AC86><EFBFBD><EFBFBD>?
#### **2.2.1 <20><EFBFBD><EFBFBD>沲 (Immersive Layout)**
* **憿園<E686BF>撖潸⏛ (Header):**
* **样式:** 深色背景 (bg-slate-900),高度 56px
* **左侧:** \< 返回 (白色文字按钮,点击返回 Dashboard)
* **中间:** 知识库名称 \+ 图标。
* **右侧:** 简单的设置齿轮。
* **<EFBFBD><EFBFBD>:** 瘛梯𠧧<EFBFBD>峕艶 (bg-slate-900)嚗屸<EFBFBD>摨?56px<EFBFBD>?
* **撌虫儒:** \< 餈𥪜<EFBFBD> (<28>質𠧧<E8B3AA><F0A0A7A7><EFBFBD><EFBFBD>厰僼嚗𣬚<E59A97><F0A3AC9A><EFBFBD><E9A489>?Dashboard)<EFBFBD>?
* **銝剝𡢿:** <EFBFBD><EFBFBD>摨枏<EFBFBD>蝘?\+ <20><EFBFBD><E69AB9>?
* **<EFBFBD>喃儒:** <EFBFBD><EFBFBD><EFBFBD>霈曄蔭朣輯蔭<EFBFBD>?
* **璅<E79285><E288AA><EFBFBD>揢 (Tabs):**
* 位于 Header 下方,白色背景,高度 48px
* **Tab A:** \[💬 智能问答\] (默认选中,底部蓝条)。
* **Tab B:** \[📂 知识资产\] (显示文件计数 Badge)
#### **2.2.2 视图 A智能问答 (Smart Chat)**
* 雿滢<EFBFBD> Header 銝𧢲䲮嚗𣬚蒾<EFBFBD><EFBFBD><EFBFBD><EFBFBD>擃睃漲 48px<EFBFBD>?
* **Tab A:** \[<EFBFBD><20><EFBFBD><E7AE84><EFBFBD>\] (暺䁅恕<E48185>劐葉嚗<E89189><E59A97><EFBFBD><EFBFBD><E588BB>?<3F>?
* **Tab B:** \[<EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD>漣\] (<28>曄內<E69B84><E585A7>辣霈⊥㺭 Badge)<EFBFBD>?
#### **2.2.2 閫<>㦛 A嚗𡁏惣<F0A1818F>賡䔮蝑?(Smart Chat)**
* **撣<><E692A3>:**
* **默认:** 单栏宽屏聊天窗口 (最大宽度 900px居中)。
* **扩展:** 当点击引用或手动展开时,右侧滑出 PDF 阅读器 (占比 45%),聊天窗自动收缩至左侧。
* **暺䁅恕:** <EFBFBD><EFBFBD>摰賢<EFBFBD><EFBFBD>𠰴予蝒堒藁 (<28><>憭批捐摨?900px嚗<78><E59A97>銝?<3F>?
* **<EFBFBD><EFBFBD>:** 敶梶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>见𢆡撅訫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>喃儒皛穃枂 PDF <20><><EFBFBD>?(<28><EFBFBD> 45%)嚗諹<E59A97>憭拍<E686AD><E68B8D>芸𢆡<E88AB8>嗥憬<E597A5>喳椰靘扼<E99D98>?
* **撖寡<E69296>鈭支<E988AD> (Chat Interaction):**
* **输入框:** 底部固定。支持 Shift+Enter 换行。
* **AI 回答:** 流式输出 (Typewriter Effect)
* **引用标注:** 必须以 \[文档名\] 或 \[1\] 形式高亮显示,颜色为品牌蓝。
* **颲枏<EFBFBD>獢?** 摨閖<E691A8><E99696><EFBFBD><E7AE8F><EFBFBD>𣈲<EFBFBD>?Shift+Enter <EFBFBD><EFBFBD><EFBFBD>?
* **AI <EFBFBD><EFBFBD>:** <EFBFBD><EFBFBD>颲枏枂 (Typewriter Effect)<EFBFBD>?
* **撘閧鍂<EFBFBD><EFBFBD>釣:** 敹<>◆隞?\[<5B><><EFBFBD>㙡] <20>?\[1\] 敶<E695B6>擃䀝漁<E4809D>曄內嚗屸<E59A97><E5B1B8>脖蛹<E88496><E89BB9><EFBFBD><EFBFBD><EFBFBD>?
* **<2A>𡒊垢蝑𣇉裦頝舐眏 (<28><EFBFBD><E8A9A8><EFBFBD>):**
* **场景一 (小库直读):** 知识库总 Token \< 32k
* *UI:* 顶部 Toast 提示 "已加载全量上下文AI 具备全知视角"。
* **场景二 (大库路由):** 知识库总 Token \> 32k
* *UI:* 用户提问后,输入框上方出现微型 Loading 状态 —— "正在分析摘要..." \-\> "已定位至《2024指南》等 3 篇文档" \-\> 开始回答。
#### **2.2.3 视图 B知识资产 (Assets Management)**
* **UI 形式:** 全屏数据表格 (Table)。
* **列定义:**
1. **文件名:** 图标 (PDF/Word) \+ 名称。
2. **AI 摘要:** 展示 2-3 行核心摘要文本 (由 DeepSeek 生成),支持 hover 查看全部。
3. **状态:** 准备中 (灰色) / 就绪 (绿色) / 失败 (红色)。
4. **操作:** 预览、删除。
* **筛选器:** 右上角“筛选”按钮,点击弹出下拉面板 (按时间/状态/类型)。
* **<EFBFBD>箸艶銝<EFBFBD> (撠誩<E692A0><E8AAA9>渲粉):** <20><EFBFBD>摨𤘪<E691A8>?Token \< 32k<EFBFBD>?
* *UI:* 憿園<EFBFBD> Toast <EFBFBD>鞟內 "撌脣<E6928C>頧賢<E9A0A7><E8B3A2><EFBFBD>銝𧢲<E98A9D>嚗淾I <20><EFBFBD><E79195>函䰻閫<E4B0BB><E996AB>"<22>?
* **<EFBFBD>箸艶鈭?(憭批<E686AD>頝舐眏):** <20><EFBFBD>摨𤘪<E691A8>?Token \> 32k<EFBFBD>?
* *UI:* <EFBFBD><EFBFBD><EFBFBD>鞾䔮<EFBFBD>𠬍<EFBFBD>颲枏<EFBFBD><EFBFBD><EFBFBD><EFBFBD>孵枂<EFBFBD>啣凝<EFBFBD>?Loading <20><EFBFBD>?<3F><EFBFBD>?"甇<><EFBFBD><E98A81><EFBFBD><EFBFBD><EFBFBD>..." \-\> "撌脣<E6928C>雿滩秐<E6BBA9>?024<32><34><EFBFBD><EFBFBD><EFBFBD> 3 蝭<><E89DAD>獢? \-\> 撘<>憪见<E686AA>蝑𢛵<E89D91>?
#### **2.2.3 閫<>㦛 B嚗𡁶䰻霂<E4B0BB><E99C82>鈭?(Assets Management)**
* **UI 敶<E695B6>:** <20><EFBFBD><E585B8>唳旿銵冽聢 (Table)<29>?
* **<2A><EFBFBD>銋?**
1. **<EFBFBD><EFBFBD><EFBFBD>?** <20><EFBFBD> (PDF/Word) \+ <20>滨妍<E6BBA8>?
2. **AI <20><EFBFBD>:** 撅閧內 2-3 銵峕瓲敹<E793B2><E695B9><EFBFBD><E996AC><EFBFBD>?(<28>?DeepSeek <20><><EFBFBD>)嚗峕𣈲<E5B395>?hover <20><EFBFBD><E4BAA6><EFBFBD><E588B8>?
3. **<EFBFBD><EFBFBD>?** <20><><EFBFBD>銝?(<28>啗𠧧) / 撠梁貌 (蝏輯𠧧) / 憭梯揖 (蝥Z𠧧)<29>?
4. **<EFBFBD><EFBFBD>:** 憸<><E686B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
* **蝑偦<E89D91>匧膥:** <20><EFBFBD>閫圝<E996AB>𦦵<EFBFBD><F0A6A6B5><EFBFBD><EFBFBD><E884B2><EFBFBD><E6AEB7>孵稬撘孵枂銝𧢲<E98A9D><F0A7A2B2>踎 (<28>㗇𧒄<E39787>?<3F><EFBFBD>?蝐餃<E89D90>)<29>?
## **3\. 霂衣<E99C82> UI/UX 霈曇恣閫<E681A3><E996AB> (Design Specs)**
銝箇靽肽<EFBFBD><EFBFBD>笔漲嚗諹窈 UI 霈曇恣撣<E681A3><E692A3><EFBFBD>滨垢撘<E59EA2><E69298><EFBFBD>敺芯誑銝贝<E98A9D><E8B49D><EFBFBD><EFBFBD>
### **3.1 <20>脣蔗雿梶頂 (Color Palette)**
使用 Tailwind CSS 默认色板:
* **主色 (Primary):** Blue-600 (\#2563EB) \- 用于按钮、链接、高亮。
* **场景色 (Category Colors):**
雿輻鍂 Tailwind CSS 暺䁅恕<EFBFBD>脫踎嚗?
* **銝餉𠧧 (Primary):** Blue-600 (\#2563EB) \- <20><EFBFBD><E585B6>厰僼<E58EB0><E583BC><EFBFBD><EFBFBD><E4B993><EFBFBD>鈭柴<E988AD>?
* **<2A>箸艶<E7AEB8>?(Category Colors):**
* <20><><EFBFBD>: Blue-500
* <20><>讃: Purple-600
* <20><><EFBFBD>: Emerald-600
* <20><EFBFBD>: Rose-600
* <20><><EFBFBD>: Orange-500
* **中性色:** Slate-50 (背景), Slate-900 (Header), Slate-500 (次要文字)。
* **銝剜<EFBFBD>扯𠧧:** Slate-50 (<EFBFBD>峕艶), Slate-900 (Header), Slate-500 (甈∟<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29>?
### **3.2 <20><EFBFBD>蝟餌<E89D9F> (Iconography)**
* **风格:** 线性图标 (Stroke 2px)
* **技术:** 使用 **Inline SVG** (参考 TDD V3.0 Icons 常量),严禁引入外部 Icon Font
* **憌擧聢:** 蝥踵<EFBFBD>批㦛<EFBFBD>?(Stroke 2px)<EFBFBD>?
* **<EFBFBD><EFBFBD><EFBFBD>?** 雿輻鍂 **Inline SVG** (<EFBFBD><EFBFBD><EFBFBD>?TDD V3.0 <EFBFBD>?Icons 撣賊<EFBFBD>)嚗䔶艇蝳<E88987><E89DB3><EFBFBD><EFBFBD><E4BA99>?Icon Font<EFBFBD>?
### **3.3 摮𦯀<E691AE>銝擧<E98A9D><E693A7>?*
### **3.3 字体与排版**
* **字体:** 系统默认无衬线字体 (Inter, Roboto, PingFang SC)。
* **摮𦯀<E691AE>:** 蝟餌<E89D9F>暺䁅恕<E48185>蝥踹<E89DA5>雿?(Inter, Roboto, PingFang SC)<29>?
* **摮堒噡:**
* H1 (憿菟𢒰<E88F9F><F0A292B0><EFBFBD>): 20px Bold
* H2 (璅<E79285><E288AA><EFBFBD><EFBFBD>): 16px Bold
* Body (甇<><E79487>): 14px Regular (銵屸<E98AB5> 1.6)
* Caption (霂湔<E99C82>): 12px Text-Slate-400
## **4\. 异常流程与边界处理 (Exception Handling)**
## **4\. <EFBFBD>虜瘚<EFBFBD><EFBFBD>銝舘器<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?(Exception Handling)**
### **4.1 銝𠹺<E98A9D>憭梯揖**
* **场景:** 用户上传了加密 PDF 或损坏文件。
* **后端:** 解析器捕获异常,返回 status: FAILEDerror\_msg: "File encrypted"
* **前端:** 资产列表中该行变红,显示“解析失败:文件已加密”,并提供“删除”按钮。
* **<EFBFBD>箸艶:** <EFBFBD><EFBFBD>銝𠹺<EFBFBD><EFBFBD><EFBFBD>撖?PDF <20>𡝗<EFBFBD><F0A19D97>𤩺<EFBFBD>隞嗚<E99A9E>?
* **<EFBFBD>𡒊垢:** <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>撣賂<EFBFBD>餈𥪜<EFBFBD> status: FAILED嚗𨫪rror\_msg: "File encrypted"<EFBFBD>?
* **<EFBFBD>滨垢:** <EFBFBD><EFBFBD>𡑒”銝剛砲銵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>曄內<EFBFBD>𡏭圾<EFBFBD>𣂼仃韐伐<EFBFBD><EFBFBD><EFBFBD>辣撌脣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>撟嗆<EFBFBD>靘𥕞<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
### **4.2 AI <20><EFBFBD><EFBFBD>𧒄/憭梯揖**
* **场景:** DeepSeek API 响应超时 (\>60s)
* **<EFBFBD>箸艶:** DeepSeek API <EFBFBD><EFBFBD><EFBFBD>𧒄 (\>60s)<EFBFBD>?
* **UI:**
* 消息气泡显示红色感叹号。
* 提示文案: "AI 思考超时,请尝试精简问题或重试。"
* <EFBFBD><EFBFBD>瘞娍部<EFBFBD>曄內蝥𠧧<EFBFBD>笔桖<EFBFBD><EFBFBD>?
* <EFBFBD>鞟內<EFBFBD><EFBFBD><EFBFBD>: "AI <20><EFBFBD><E882BD><EFBFBD><EFBFBD><EFBFBD>霂瑕<E99C82>霂閧移蝞<E7A7BB><E89D9E><EFBFBD><E6A185><EFBFBD>霂𨰻<E99C82>?
* <20>𣂷<EFBFBD>$$<24><EFBFBD>$$
按钮。
### **4.3 引用源定位失败**
* **场景:** 用户点击 \[1\],但该文件已被删除。
* **UI:** 弹出 Toast 提示 "源文件已被删除,无法查看原文"。
<EFBFBD>厰僼<EFBFBD>?
### **4.3 撘閧鍂皞𣂼<E79A9E>雿滚仃韐?*
* **<2A>箸艶:** <20><EFBFBD><E586BD>孵稬 \[1\]嚗䔶<E59A97>霂交<E99C82>隞嗅歇鋡怠<E98BA1><E680A0><EFBFBD>?
* **UI:** 撘孵枂 Toast <20>鞟內 "皞鞉<E79A9E>隞嗅歇鋡怠<E98BA1><E680A0><EFBFBD><E6ADB9><EFBFBD><E4ADBE><EFBFBD><E4BAA6><EFBFBD><EFBFBD>"<22>?
## **5\. 撉峕𤣰瘚贝<E7989A><E8B49D><EFBFBD><EFBFBD> (QA Acceptance)**
| ID | 测试点 | 预期结果 | 优先级 |
| TC01 | 格式兼容性 | 上传 .pdf, .docx, .pptx 文件,均能在资产列表显示“就绪”,且能被检索到。 | P0 |
| TC02 | 边界限制 | 尝试上传第 31 个文件,前端应阻止上传并弹窗提示限制。 | P0 |
| TC03 | 引用跳转 | 提问后,点击回答中的 \[文档名\],右侧面板应滑出并正确加载该文档。 | P0 |
| TC04 | Word表格解析 | 上传包含表格的 Word 指南询问表格内数据AI 应能准确回答数值。 | P1 |
| TC05 | 路由逻辑 | \>32k Token 的库中提问,观察 Network 请求,应看到系统先请求了摘要接口,再请求了全文接口。 | P1 |
| ID | 瘚贝<EFBFBD><EFBFBD>?| 憸<><E686B8>蝏𤘪<E89D8F> | 隡睃<E99AA1>蝥?|
| TC01 | <EFBFBD><EFBFBD><EFBFBD>澆捆<EFBFBD>?| 銝𠹺<E98A9D> .pdf, .docx, .pptx <EFBFBD><EFBFBD>辣嚗<EFBFBD><EFBFBD><EFBFBD>賢銁韏<EFBFBD><EFBFBD>𡑒”<EFBFBD>曄內<EFBFBD>𨅯停蝏芬<EFBFBD><EFBFBD>銝磰<EFBFBD>鋡急<EFBFBD><EFBFBD><EFBFBD>?| P0 |
| TC02 | 颲寧<EFBFBD><EFBFBD>𣂼<EFBFBD> | 撠肽<E692A0>銝𠹺<E98A9D>蝚?31 銝芣<E98A9D>隞塚<E99A9E><E5A19A>滨垢摨娪獈甇<E79487>隡惩僎撘寧<E69298><E5AFA7>鞟內<E99E9F>𣂼<EFBFBD><F0A382BC>?| P0 |
| TC03 | 撘閧鍂頝唾蓮 | <20>鞾䔮<E99EBE>𠬍<EFBFBD><F0A0AC8D>孵稬<E5ADB5><EFBFBD>銝剔<E98A9D> \[<5B><><EFBFBD>㙡]嚗<>𢰧靘折𢒰<E68A98><EFBFBD>皛穃枂撟嗆迤蝖桀<E89D96>頧質砲<E8B3AA><E7A0B2><EFBFBD>?| P0 |
| TC04 | Word銵冽聢閫<EFBFBD><EFBFBD> | 銝𠹺<E98A9D><F0A0B9BA><EFBFBD>鉄銵冽聢<E586BD>?Word <20><><EFBFBD>嚗諹砭<E8ABB9>株”<E6A0AA><EFBFBD><E6BE86>唳旿嚗淾I 摨磰<E691A8><E7A3B0><EFBFBD><EFBFBD><EFBFBD><E482BF><EFBFBD><EFBFBD>?| P1 |
| TC05 | 頝舐眏<EFBFBD><EFBFBD> | <EFBFBD>?\>32k Token <EFBFBD><EFBFBD><EFBFBD>銝剜<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Network 霂瑟<E99C82><EFBFBD><E59A97><EFBFBD><EFBFBD>蝟餌<E89D9F><E9A48C><EFBFBD>窈瘙<E7AA88><E79899><EFBFBD><EFBFBD><E48185>亙藁嚗<E89781><E59A97>霂瑟<E99C82><EFBFBD><E988AD><EFBFBD><EFBFBD>𦻖<EFBFBD><F0A6BB96><EFBFBD>?| P1 |