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%)
4.4 KiB
4.4 KiB
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)
- 任务轮询 (Polling):
- 工作å<EFBFBD>°åŠ è½½æ—¶ï¼Œè°ƒç”?GET /api/tasks/recentã€?
- è‹¥åˆ—è¡¨ä¸æœ‰çжæ€<EFBFBD>为 processing 的任务,æ¯<C3A6>éš” 5 秒轮询一次状æ€<C3A6>更新,直到完æˆ<C3A6>ã€?
- 跨工具æµ<EFBFBD>è½?(Handoff):
- 当用户点å‡?[åŽ?AI æ<><C3A6>å<EFBFBD>–] 时:
- å‰<EFBFBD>端获å<EFBFBD>–该任务的 resultFileIdã€?
- 跳转路由�/tools/b?sourceFileId={resultFileId}�
- 工具 B åˆ<C3A5>å§‹åŒ–æ—¶ï¼Œè‡ªåŠ¨åŠ è½½è¯¥æ–‡ä»¶ï¼Œæ— éœ€ç”¨æˆ·é‡<C3A9>æ–°ä¸Šä¼ ã€?
- 资产管ç<EFBFBD>†:
- 工具 A/B/C 产生的最终结果,需自动注册åˆ?DataAsset 表ä¸ï¼Œå¹¶æ ‡è®° type='output'ã€?
- ç”¨æˆ·æ‰‹åŠ¨ä¸Šä¼ çš„æ–‡ä»¶ï¼Œæ³¨å†Œä¸?type='input'ã€?
*五�埋点与统计需�
- UV/PV: 工作å<C593>°è®¿é—®é‡<C3A9>ã€?
- CTR: 三个工具å<C2B7>¡ç‰‡çš„点击率(判æ–哪个工具最常用)ã€?
- æµ<EFBFBD>转çŽ? 用户点击“去 AI æ<><C3A6>å<EFBFBD>–â€<C3A2>ç‰æµ<C3A6>转按钮的比例(判æ–工作æµ<C3A6>是å<C2AF>¦é¡ºç•…)ã€