Files
AIclinicalresearch/docs/03-业务模块/DC-数据清洗整理/01-需求分析/PRD:智能数据清洗工作台 (The Data Cleaning Portal).md
HaHafeng 1b53ab9d52 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%)
2026-01-14 19:15:01 +08:00

4.4 KiB
Raw Blame History

PRD:智能数æ<EFBFBD>®æ¸…洗工作å<EFBFBD>° (The Data Cleaning Portal)

文档版本 V1.0 (基于原型 V2)
*产å“<EFBFBD>å½¢æ€? Web 端综å<C2BC>ˆä»ªè¡¨ç˜ (Dashboard)
*核心价å€? 作为数æ<EFBFBD>®æ¸…洗模å<EFBFBD>—的统一入å<EFBFBD>£ï¼Œæ<EFBFBD><EFBFBD>ä¾å·¥å…·å<EFBFBD>¯åЍã€<EFBFBD>弿­¥ä»»åŠ¡çæŽ§ã€<EFBFBD>æ•°æ<EFBFBD>®èµ„产管ç<EFBFBD>†å<EFBFBD>Šè·¨å·¥å…·æµ<EFBFBD>转能åŠã€?
目标用户 临床医生ã€<EFBFBD>ç§ç ”助ç<EFBFBD>?

一ã€?产å“<C3A5>æž¶æž„å?(Product Architecture)

工作å<EFBFBD>°å¤„于系统的二级导航ä½<EFBFBD>置,å<EFBFBD>ä¸è¿žæŽ¥ä¸‰ä¸ªå…·ä½“工具,横å<EFBFBD>连接任务与数æ<EFBFBD>®ã€? 全局导航 -> 工作å<EFBFBD>?(本PRD) -> (工具 A, 工具 B, 工具 C)

二�核心功能需�(Functional Requirements)

1. å…¨å±€å¯¼èˆªé†æˆ<C3A6> (Global Navigation)

  • P0: 必须无ç¼<C3A7>嵌入现有系统顶部导航æ <C3A6>ã€?
  • *ä½<EFBFBD>ç½®ï¼? ä½<C3A4>于 知识åº?ä¸?智能数æ<C2B0>®åˆ†æž<C3A6> 之间ã€?
  • 状æ€<EFBFBD>: ç¹å‡»å<C2BB>Žé«˜äº®æ˜¾ç¤ºâ€œæ™ºèƒ½æ•°æ<C2B0>®æ¸…æ´—â€<C3A2>ã€?

2. 工具å<C2B7>¯åЍåŒ?(The Launcher)

  • P0: 三å<EFBFBD>¡ç‰‡å…¥å<EFBFBD>£ï¼š é†ç®å±•示三个核心工具的入å<C2A5>£å<C2A3>¡ç‰‡ã€?
    • 工具 A (超级å<C2A7>ˆå¹¶å™?: 强调“多æº<C3A6>æ•°æ<C2B0>®å<C2AE>ˆå¹¶ã€<C3A3>ID对é½<C3A9>â€<C3A2>ã€?
    • 工具 B (病历结构化机器人): 强调“AI æ<><C3A6>å<EFBFBD>ã€<C3A3>é<EFBFBD>žç»“æž„åŒè½¬ç»“æž„åŒâ€<C3A2>ã€?
    • 工具 C (ç§ç ”æ•°æ<C2B0>®ç¼è¾å™?: 强调“在线清洗ã€<C3A3>缺失值处ç<E2809E>†â€<C3A2>ã€?
  • *交互ï¼? ç¹å‡»å<C2BB>¡ç‰‡ï¼Œä»¥**å…¨å±<C3A5>模æ€<C3A6>框**æˆ?*æ°é¡µé<C2B5>?*å½¢å¼<C3A5>打开对应工具ã€?

3. 任务æµ<C3A6>转中心 (Task Flow Hub) —â€?核心交互

  • P0: 最近任务列表: 展示用户最è¿å<E28098>èµ·çš„ 10 æ<>¡ä»»åŠ¡ã€?
  • *字段定义ï¼? 任务å<C2A1><C3A5>ç§° | 所属工å…?A/B/C) | 状æ€?处ç<E2809E>†ä¸?完æˆ<C3A6>/失败) | è¿åº¦æ<C2A6>?| æ“<C3A6>作ã€?
  • P0: 状æ€<EFBFBD>å®žæ—¶æ´æ°ï¼š
    • 处ç<EFBFBD>†ä¸­ï¼š 显示动æ€<C3A6>è¿åº¦æ<C2A6>¡ï¼ˆå¦ 45%)ã€?
    • *失败ï¼? 显示红色警åŠï¼Œæ”¯æŒ<C3A6>查çœé”™è¯¯æ—¥å¿—ã€?
  • P0: *智能æµ<EFBFBD>转æ“<EFBFBD>作 (Smart Action)ï¼?
    • 基于任务类åžï¼ŒåЍæ€<EFBFBD>推è<EFBFBD><EFBFBD>ä¸ä¸€æ­¥æ“<EFBFBD>作:
    • 工具 A 完æˆ<C3A6>å<EFBFBD>Žï¼š 显示按钮 [下载] å’?[åŽ?AI æ<><C3A6>å<EFBFBD>] (跳转工具 B)ã€?
    • 工具 B 完æˆ<C3A6>å<EFBFBD>Žï¼š 显示按钮 [下载] å’?[去清洗] (跳转工具 C)ã€?
    • 工具 C 完æˆ<C3A6>å<EFBFBD>Žï¼š 显示按钮 [下载]ã€?

4. æ•°æ<C2B0>®èµ„产åº?(Data Asset Library) —â€?V2 核心å<C692>‡çº§

  • P0: *Tab 分æ <C3A6>视å¾ï¼?
    • [全部]
    • [处ç<E2809E>†ç»“æžœ] (Outputs): 存放工具 A/B/C 生æˆ<C3A6>的最终æ‡ä»¶ã€å¾æ ‡ä½¿ç”¨ç»¿è‰?è“<C3A8>色区分ã€?
    • [原始上传] (Inputs): å­˜æ”¾ç”¨æˆ·ç´æŽ¥ä¸Šä¼ çš„åº•è¡¨ã€å¾æ ‡ä½¿ç”¨ç<C2A8>°è‰²åŒºåˆ†ã€?
  • P0: *资产å<EFBFBD>¡ç‰‡ä¿¡æ<EFBFBD>¯ï¼?
    • æ‡ä»¶å<EFBFBD><EFBFBD>ã€<EFBFBD>标签(å¦â€œå·²æ¸…æ´—â€<EFBFBD>ã€<EFBFBD>“已脱æ•<EFBFBD>â€<EFBFBD>)ã€<EFBFBD>行数ã€<EFBFBD>修改时间ã€?
  • P0: å¿«æ<EFBFBD>·æ“<EFBFBD>作 (Hover Actions):
    • é¼ æ ‡æ¬å<EFBFBD>œåœ¨å<EFBFBD>¡ç‰‡ä¸Šæ—¶ï¼Œæ˜¾ç¤ºæ“<EFBFBD>作按é®ï¼?
    • [下载]: 下载到本地ã€?
    • [去处ç<E2809E>†]: 如果是原始文件,点击跳转到工具选择页(或默认工å…?A)ã€?
    • ˆ†æž<C3A6>]: 妿žœæ˜¯å¤„ç<E2809E>†ç»“果,ç¹å‡»è·³è½¬åˆ°â€œæ™ºèƒ½æ•°æ<C2B0>®åˆ†æž<C3A6>â€<C3A2>模å<C2A1>—(未æ<C2AA>¥è§„åˆï¼‰ã€?
  • P0: *åŽŸå§æ‡ä»¶ä¸Šä¼ å…¥å<EFBFBD>£ï¼?
    • 底部固定按钮 [+ 上传原始文件到库],å…<C3A5>许用户将本地 Excel 存入云端备用ã€?

三ã€?界é<C592>¢åŽŸåžå<E280B9>è€?(UI Reference)

请严格å<EFBFBD>è€?智能数æ<C2B0>®æ¸…洗工作å<C593>°_åŽŸåžæ¼”示_V2.htmlã€?

  • *布局ï¼? 顶部ä¸?Launcherï¼Œä¸æ¹åˆ†ä¸ºå·¦å<C2A6>³ä¸¤æ <C3A6>(å·?2/3 为任务,å<C592>?1/3 为资产)ã€?
  • *视觉风格ï¼?
    • 工具 A:è“<C3A8>色系 (Blue)
    • 工具 B:紫色系 (Purple)
    • 工具 C:翠绿色ç³?(Emerald)
    • 状æ€<EFBFBD>色:处ç<EFBFBD>†ä¸­(è“?ã€<C3A3>æˆ<C3A6>åŠ?ç»?ã€<C3A3>失è´?çº?ã€<C3A3>è­¦å?æ©?ã€?

å››ã€?æ•°æ<C2B0>®äº¤äºé€»è¾ (Data Logic)

  1. 任务轮询 (Polling):
    • 工作å<EFBFBD>°åŠ è½½æ—¶ï¼Œè°ƒç”?GET /api/tasks/recentã€?
    • è¥åˆ—表中有状æ€<EFBFBD>为 processing 的任务,æ¯<C3A6>éš” 5 ç§è½®è¯¢ä¸€æ¬¡çжæ€<C3A6>æ´æ°ï¼Œç´åˆ°å®Œæˆ<C3A6>ã€?
  2. 跨工具æµ<EFBFBD>è½?(Handoff):
    • 当用户点å‡?[åŽ?AI æ<><C3A6>å<EFBFBD>] 时:
    • å‰<EFBFBD>端获å<EFBFBD>该任务的 resultFileIdã€?
    • 跳转路由è‡?/tools/b?sourceFileId={resultFileId}ã€?
    • 工具 B åˆ<C3A5>å§åŒæ—¶ï¼Œè‡ªåŠ¨åŠ è½½è¯¥æ‡ä»¶ï¼Œæ— éœ€ç”¨æˆ·é‡<C3A9>æ°ä¸Šä¼ ã€?
  3. 资产管ç<EFBFBD>†:
    • 工具 A/B/C 产生的最终结果,需自动注册åˆ?DataAsset 表中,并标记 type='output'ã€?
    • 用户手动上传的文件,注册ä¸?type='input'ã€?

*五�埋点与统计需�

  • UV/PV: 工作å<C593>°è®¿é—®é‡<C3A9>ã€?
  • CTR: 三个工具å<C2B7>¡ç‰‡çš„ç¹å‡»çŽ‡ï¼ˆåˆ¤æ­å“ªä¸ªå·¥å…·æœ€å¸¸ç”¨ï¼‰ã€?
  • æµ<EFBFBD>转çŽ? 用户点击“去 AI æ<><C3A6>å<EFBFBD>â€<C3A2>ç­‰æµ<C3A6>转按é®çš„æ¯”ä¾ï¼ˆåˆ¤æ­å·¥ä½œæµ<C3A6>是å<C2AF>¦é¡ºç•…)ã€