Files
AIclinicalresearch/docs/03-业务模块/DC-数据清洗整理/01-需求分析/PRD:Tool C - 科研数据编辑器 (MVP V1.1).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

5.7 KiB
Raw Blame History

PRD嚗関ool C - 蝘𤑳<E89D98><F0A491B3>唳旿蝻𤥁<E89DBB><F0A4A581>?(MVP V1.1)

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧋦 V1.1 (撌亦<E6928C><EFBFBD><E89D8F><EFBFBD>?
*鈭批<EFBFBD><EFBFBD>? Web 蝡舀㺭<E88880><EFBFBD>颲穃膥 (AG Grid + AI Chat)
<EFBFBD><EFBFBD>蝑𣇉裦 "AI-First" + "Server-side State"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?AI <20><><EFBFBD> Python 隞<><E99A9E>摰峕<E691B0><EFBFBD><E79A9C>嚗𥕢誑<F0A595A2>滚𦛚蝡?DataFrame 銝箏<E98A9D><EFBFBD><E98A9D>唳旿皞琜<E79A9E><E7909C>滨垢韐蠘提皜脫<E79A9C><E884AB>諹蝠<E8ABB9><EFBFBD>颲㻫<E9A2B2>?
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>摨? React + AG Grid + Node.js BFF + Python Sandbox (FastAPI) + DeepSeek-V3
<EFBFBD>䀹凒霈啣<EFBFBD> V1.1: 憓𧼮<E68693><F0A7BCAE>唳旿<E594B3>峕郊<E5B395><EFBFBD><E7AE8F><EFBFBD><EFBFBD><E4BC83><EFBFBD><EFBFBD>蝑𣇉裦<F0A38789><E8A3A6><EFBFBD>霂萘<E99C82><E89098>賢𪂹<E8B3A2><EFBFBD>銋剹<E98A8B>?

<EFBFBD><EFBFBD>?MVP <20><EFBFBD><E8A9A8><EFBFBD> (Objectives)

  1. *撉諹<EFBFBD><EFBFBD>剔㴓嚗? 頝煾<E9A09D>?<3F>𡏭䌊<F0A18FAD>嗉祗閮<E7A597> -> Python 隞<><E99A9E> -> <20>𡒊垢<F0A1928A><EFBFBD> -> <20>滨垢<E6BBA8>瑟鰵<E7919F>?<3F><><EFBFBD><EFBFBD>湧曎頝胯<E9A09D>?
  2. <EFBFBD>唳旿銝<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 蝖桐<E89D96><E6A190>见𢆡蝻𤥁<E89DBB>銝?AI <20><EFBFBD>銝滚<E98A9D><EFBFBD><E89D92><EFBFBD><EFBFBD><E59786>虾餈賣滲<E8B3A3>?
  3. <EFBFBD>舐鍂<EFBFBD><EFBFBD><><E996AB>銝剜<E98A9D>銋梁<E98A8B><E6A281><EFBFBD><EFBFBD>霂肽<E99C82><E882BD><EFBFBD>摰鮋<E691B0>撌亦<E6928C><E4BAA6><EFBFBD><E6A185>?

鈭䎚<EFBFBD>?霂衣<E99C82><E8A1A3><EFBFBD><E8A098><EFBFBD>瘙?(Functional Requirements)

1. <20>屸𢒰獢<F0A292B0>沲銝𦒘<E98A9D>霂?(Shell & Session)

  • *P0: 撌血𢰧<E8A180><F0A2B0A7><EFBFBD><EFBFBD><E692A3>嚗? 撌虫儒 AG Grid (70%)嚗<>𢰧靘?AI Chat (30%)<29>?
  • P0: 隡朞<E99AA1><E69C9E><EFBFBD><E598A5>?(Session Init):
    • <EFBFBD><EFBFBD>銝𠹺<EFBFBD><EFBFBD><EFBFBD>辣 -> <20>𡒊垢撘<E59EA2><E69298>?Python 餈𤤿<E9A488>/摰孵膥 -> <20>㰘蝸 df -> 餈𥪜<E9A488> sessionId<49>?
    • 蝻𣇉<EFBFBD><EFBFBD>瘚页<EFBFBD> <20>𡒊垢敹<E59EA2>◆撠肽<E692A0> utf-8 <20>?gbk 閫<><E996AB>嚗屸俈甇<EFBCB6><E89189><EFBFBD><E5839A><EFBFBD>?
  • P1: 敹<>歲銝𦒘<E98A9D>瘣?(Keep-alive):
    • <EFBFBD>滨垢瘥?30s <20><EFBFBD><E785BE><EFBFBD>頝喋<E9A09D>?
    • *<EFBFBD>𧒄蝑𣇉裦嚗? <20><EFBFBD>餈?30min <20><EFBFBD>雿頣<E99BBF><E9A0A3>𡒊垢<F0A1928A>𦠜𦆮<F0A6A09C><F0A686AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>甈⊥<E79488>雿𨀣𧒄嚗峕<E59A97>蝷算<E89DB7><EFBFBD>霂嘥歇餈<E6AD87><E9A488>嚗諹窈<E8ABB9>齿鰵<E9BDBF>㰘蝸<E3B098><E89DB8><EFBFBD><EFBFBD>?

2. 頞<>漣蝵烐聢 (The Grid) - <EFBFBD>滨垢鈭支<EFBFBD>

  • P0: <20>唳旿撅閧內 (View):
    • <EFBFBD><EFBFBD> API <20><><EFBFBD><EFBFBD><E58CA7>唳旿嚗<E697BF><E59A97><EFBFBD>芋撘𧶏<E69298><EFBFBD><E99A9E><EFBFBD>?100-500 銵䕘<E98AB5><E49598>?
    • <EFBFBD>㛖掩<EFBFBD>𧢲綫<EFBFBD><EFBFBD> <20>滨垢<E6BBA8>寞旿<E5AF9E>𡒊垢餈𥪜<E9A488><F0A5AA9C>?dtypes 皜脫<E79A9C><E884AB>堒仍<E5A092><EFBFBD><EFBFBD><EFBFBD>?<3F><>𧋦/<2F><EFBFBD>嚗剹<E59A97>?
  • P0: <20>见𢆡蝻𤥁<E89DBB> (Manual Edit):
    • <EFBFBD><EFBFBD><EFBFBD><EFBFBD>稬靽格㺿<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
    • <EFBFBD>喲睸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>唳旿<EFBFBD><EFBFBD>扇嚗㚁<EFBFBD> <20><EFBFBD>靽格㺿<E6A0BC>𠬍<EFBFBD><F0A0AC8D><EFBFBD><E8A8AB>澆𢰧<E6BE86><F0A2B0A7>滯嚗峕㺭<E5B395><EFBFBD>摮睃銁<E79D83>滨垢 dirtyRows <20><EFBFBD>銝准<E98A9D>?
  • P0: <20><EFBFBD><E59786><EFBFBD> (UI Locking):
    • 敶?AI 甇<><EFBFBD><EFBFBD><E689AF><EFBFBD>Grid <20>䀝蛹 **<2A>芾粉 (Read-only)**嚗峕遬蝷?Loading <20>桃蔗<E6A183>?

3. AI Copilot <20><EFBFBD><E7AE84><EFBFBD> (The Brain) - <EFBFBD>𡒊垢撽勗𢆡

3.1 鈭支<E988AD><EFBFBD><E7989A> (Chat Loop)

  1. *<EFBFBD><EFBFBD>颲枏<EFBFBD>嚗? <20>𨀣<EFBFBD>撟湧<E6929F>憭找<E686AD>60<36><30>挽銝箄<E98A9D><E7AE84>僑蝏<E58391><E89D8F><EFBFBD>?
  2. <EFBFBD>滨蔭<EFBFBD>峕郊 (Auto-Sync): (V1.1 <20><EFBFBD>)
    • *<EFBFBD><EFBFBD>嚗? <20>滨垢璉<E59EA2><E79289>交糓<E4BAA4><EFBFBD><E8A18C><EFBFBD>摮条<E691AE><E69DA1>见𢆡靽格㺿 (dirtyRows).
    • *<EFBFBD><EFBFBD>嚗?<><E68692><EFBFBD><EFBFBD><E39A81><EFBFBD><EFBFBD>暺睃<E69ABA><E79D83>?PATCH /api/data 撠<><E692A0><EFBFBD>其耨<E585B6><EFBFBD>甇亦<E79487><E4BAA6>𡒊垢 df<64><66>靽?AI <20><EFBFBD><E7AE94><EFBFBD><EFBFBD>唳㺭<E594B3><EFBFBD>雿栶<E99BBF>?
  3. *<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗? <20>𡒊垢靚<E59EA2>鍂 DeepSeek嚗𣬚<E59A97><F0A3AC9A>?Pandas 隞<><E99A9E><EFBFBD>?
  4. <EFBFBD><EFBFBD>雿𦦵霈?(Action Card):
    • 撅閧內嚗帋誨<EFBFBD><EFBFBD><EFBFBD>閫?+ <20><EFBFBD><E48185>?
    • <EFBFBD>厰僼嚗䨵[餈鞱<E9A488>] | [<5B>𡝗<EFBFBD>]<5D>?

3.2 <20><EFBFBD>銝𤾸<E98A9D>皛?(Execute & Rollback) - (V1.1 <20><EFBFBD>)

  • P0: <20>芸𢆡敹怎<E695B9> (Auto-Checkpoint):
    • <EFBFBD><EFBFBD>銵?exec(code) 銋见<E98A8B><EFBFBD><E59A97>蝡臬<E89DA1>憿餃<E686BF>撖孵<E69296><E5ADB5>?df 餈𥡝<E9A488><F0A5A19D><EFBFBD><EFBFBD>敹怎<E695B9><EFBFBD><E59A97>摨誩<E691A8><E8AAA9><EFBFBD>隞踝<E99A9E><E8B89D>?
    • 霈啣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗鋫ctionID: 101, Type: AI_CODE, Code: "..."<22>?
  • P0: <20><EFBFBD><E689AF><EFBFBD>:
    • <EFBFBD>𣂼<EFBFBD>嚗朞<EFBFBD><EFBFBD>墧鰵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?-> <20>瑟鰵 Grid -> 瘛餃<E7989B><EFBFBD><E98A9D><EFBFBD>𨀣<EFBFBD>雿𨀣<E99BBF><F0A880A3><EFBFBD><EFBFBD><E884B2><EFBFBD>?
    • 憭梯揖嚗𡁏<EFBFBD><EFBFBD>?Python Traceback -> 霈?AI 撠肽<E692A0><E882BD><EFBFBD>靽桀<E99DBD> (Self-Correction) 銝<>甈?-> <20><EFBFBD>憭梯揖嚗<E68F96><E59A97><EFBFBD><EFBFBD>撅閧內<E996A7>躰秤<E8BAB0><EFBFBD><E7AC94>?
  • P0: <20><EFBFBD><E697A5><EFBFBD> (Undo):
    • <EFBFBD>𠰴予獢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蠘扇敶蓥<EFBFBD><EFBFBD>曄內 [<5B><EFBFBD>] <20>厰僼<E58EB0>?
    • <EFBFBD><EFBFBD>嚗朞<EFBFBD><EFBFBD><EFBFBD>蝡?rollback(action_id) -> <20><EFBFBD><EFBCB7>啗砲<E59597><EFBFBD><E6BBA2><EFBFBD>敹怎<E695B9> -> <20>瑟鰵 Grid<69>?

4. 敹急㭘<E680A5><E3AD98>誘 (Prompt Chips)

  • P0: 憿園<E686BF>撌亙<E6928C><E4BA99>𤩺<EFBFBD><F0A4A9BA><EFBFBD><E6AEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3979B><EFBFBD>鵭摰質蓮<E8B3AA><EFBFBD>嚗㚁<E59A97><E39A81>孵稬隞<E7A8AC><E99A9E>銝算<E98A9D>𨅯翰<F0A885AF><EFBFBD>霂凌<E99C82><E598A5><EFBFBD><E4BAA5><EFBFBD>嚗䔶<E59A97>閫血<E996AB><E8A180><EFBFBD> UI <20><EFBFBD>嚗䔶<E59A97><E494B6><EFBFBD><EFBFBD><E6B2B2><EFBFBD><EFBFBD><E98A9D>?

5. 撖澆枂 (Export)

  • P0: 撖澆枂 Excel<65>?
    • <EFBFBD><EFBFBD>嚗𡁜<EFBFBD>蝡舐凒<EFBFBD><EFBFBD>敶枏<EFBFBD><EFBFBD>?df (<28><><EFBFBD><E98984><EFBFBD>?AI 靽格㺿<E6A0BC><EFBFBD><E5B395>其耨<E585B6>? <20><EFBFBD> Excel 瘚<>僎餈𥪜<E9A488><F0A5AA9C>?

銝剹<EFBFBD>?撘<>虜憭<E8999C><E686AD><EFBFBD><E996AB> (Error Handling)

<EFBFBD><EFBFBD>箸艶 <EFBFBD>滨垢銵函緵 <EFBFBD>𡒊垢憭<EFBFBD><EFBFBD>
銝剜<EFBFBD>銋梁<EFBFBD> <EFBFBD>鞟內<EFBFBD>𦦵<EFBFBD><EFBFBD><EFBFBD>聢撘讛<EFBFBD><EFBFBD>怠仃韐伐<EFBFBD>霂瑟<EFBFBD><EFBFBD><EFBFBD>㗇𥋘<EFBFBD>? 撠肽<EFBFBD> chardet 璉<>瘚页<E7989A>憭梯揖<E6A2AF>蹱𥁒<E8B9B1>?
AI 隞<><E99A9E><EFBFBD>仿<EFBFBD> Chat 瘞娍部<E5A88D>条滯嚗峕遬蝷算<E89DB7>𦯷I 甇<>銁撠肽<E692A0>靽桀<E99DBD>...<2E>? <EFBFBD>閗繮 stderr嚗<72><E59A97><EFBFBD>躰秤<E8BAB0><EFBFBD>蝏?AI <20><EFBFBD> (Max 1甈?
隡朞<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>桃蔗<EFBFBD><EFBFBD>霂嘥歇餈<EFBFBD><EFBFBD><EFBFBD>? <EFBFBD><EFBFBD> Redis/<2F><><EFBFBD>嚗諹<E59A97><E8ABB9>?401/404
<EFBFBD>见𢆡靽格㺿<EFBFBD><EFBFBD> <EFBFBD>鞟內<EFBFBD>𨀣迤<EFBFBD><EFBFBD>甇交㺭<EFBFBD>?..<2E>? 隡睃<EFBFBD><EFBFBD><EFBFBD><EFBFBD>见𢆡 Patch嚗<68><E59A97><EFBFBD><EFBFBD> AI 隞餃𦛚

<EFBFBD><EFBFBD>?撘<><E69298><EFBFBD>瘚贝<E7989A><E8B49D><EFBFBD> (QA Focus)

  1. <EFBFBD><EFBFBD><EFBFBD><EFBFBD>霂𤏪<EFBFBD>
    • <EFBFBD><EFBFBD><EFBFBD><EFBFBD>冽㺿銝<EFBFBD>銝芸<EFBFBD><EFBFBD><EFBFBD>滩悟 AI <20><EFBFBD>銵䕘<E98AB5>蝖株恕<E6A0AA><E68195><EFBFBD><EFBFBD><E6BDB8><EFBFBD><E585B6><EFBFBD><E58981>𤥁<EFBFBD><F0A4A581><EFBFBD>行迤蝖株◤<E6A0AA>𩤃<EFBFBD><F0A9A483>?
    • <EFBFBD><EFBFBD>悟 AI <20><EFBFBD><E5ABA3><EFBFBD><E6A2B9>齿伃<E9BDBF><E4BC83>嚗𣬚霈斗糓<E69697><EFBFBD><E8A180><EFBFBD>憭溻<E686AD>?
  2. *颲寧<EFBFBD>瘚贝<EFBFBD>嚗?
    • 銝𠹺<EFBFBD>蝛箸<EFBFBD>隞嗚<EFBFBD>?
    • 銝𠹺<EFBFBD><EFBFBD>其葉<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
    • 霈?AI 霈∠<E99C88><EFBFBD>銝芯<E98A9D>摮睃銁<E79D83><E98A81><EFBFBD><EFBFBD>?
  3. *<EFBFBD><EFBFBD>瘚贝<EFBFBD>嚗?
    • 餈䂿賒敹恍<EFBFBD><EFBFBD><EFBFBD>?5 <20><EFBFBD>隞歹<E99A9E>蝖桐<E89D96><E6A190>𡒊垢<F0A1928A>?*銝脰<E98A9D><E884B0><EFBFBD>**憭<><E686AD>嚗諹<E59A97><EFBFBD><E494B6>臬僎<E887AC><EFBFBD>銋望㺭<E69C9B><EFBFBD>?

鈭𢛵<EFBFBD>?<3F><><EFBFBD>嚗𡁏㺭<F0A1818F><EFBFBD>甇?API 摰帋<E691B0> (蝞<><E89D9E>?

  • POST /api/sync: <20>滨垢 -> <20>𡒊垢<F0A1928A><E59EA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>其耨<E585B6><EFBFBD> Diff<66>?
    • Payload: [{ rowId: "P001", col: "age", value: 66 }]
  • POST /api/run: <20>滨垢 -> <20>𡒊垢<F0A1928A><E59EA2><EFBFBD><EFBFBD>?AI 隞<><E99A9E><EFBFBD><EFBFBD>霂瑟<E99C82><E7919F>?
    • Payload: { code: "df['new'] = 1", snapshot: true }
  • POST /api/undo: <20>滨垢 -> <20>𡒊垢<F0A1928A>?
    • Payload: { step: -1 }

### 蝏坔<E89D8F><E59D94>穃𣪧<E7A983><EFBFBD><EFBFBD><E98A9D><EFBFBD><E4BAA5><EFBFBD>

**<2A>𦛼1.1 <20><>瓲敹<E793B2>銁鈭𢛶<E988AD>条𠶖<E69DA1><F0A0B696><EFBFBD><E681A3><EFBFBD><EFBFBD><E8B8BA><EFBFBD><EFBFBD>靽肽<E99DBD><E882BD>𡒊垢 Python <20><><EFBFBD><EFBFBD>𣬚<EFBFBD> `DataFrame` <20>臬𣈲銝<F0A388B2><E98A9D><EFBFBD><EFBFBD><EFBFBD><E69DA1><EFBFBD>䔉皞?(Source of Truth)<29><EFBFBD><E8B8BA><EFBFBD>蝡舐<E89DA1><E88890><EFBFBD><EFBFBD><EFBFBD>雿頣<E99BBF><E9A0A3>㰘捏<E3B098><EFBFBD><E88880><EFBFBD><E5AFA1>?AI <20><EFBFBD>嚗峕𧋦韐其<E99F90><E585B6>賣糓<E8B3A3><EFBFBD>餈嗘葵<E59798><EFBFBD><EFBFBD><E69285><EFBFBD><EFBFBD><EFBFBD>隞文<E99A9E><E69687>峕郊<E5B395><EFBFBD><E59786><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD>摰寞<EFBFBD>蝧餉膠<EFBFBD><EFBFBD><EFBFBD>銝芣<EFBFBD>瘣𠺶<EFBFBD>?