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%)
80 lines
4.7 KiB
Markdown
80 lines
4.7 KiB
Markdown
# **<2A><>﹝ B嚗鍃DC <20><><EFBFBD><EFBFBD>?(REDCap) <20><><EFBFBD>航祕蝏<E7A595>挽霈?(V1.0)**
|
||
|
||
## **1\. <20><>瘙<EFBFBD><E79899>撠<EFBFBD><E692A0>PRD V3 撖?REDCap <20>賢<EFBFBD><E8B3A2><EFBFBD><EFBFBD>瘙?*
|
||
|
||
<EFBFBD>箔<EFBFBD> IIT Manager Agent V3 <20><><EFBFBD><EFBFBD>賢<EFBFBD>銋㚁<E98A8B><E39A81><EFBFBD><EFBFBD><EFBFBD>典<EFBFBD>憿餅𣈲<E9A485><F0A388B2>誑銝?REDCap <20>詨<EFBFBD><E8A9A8>賢<EFBFBD><E8B3A2>?
|
||
### **1.1 <20>毺䰻<E6AFBA>賢<EFBFBD> (Read & Monitor)**
|
||
|
||
* **摰墧𧒄<E5A2A7>穃𨯬 (Real-time Hook)**嚗𡁜笆摨婙<E691A8>𨀣㺭<F0A880A3>株捶<E6A0AA>?Agent<6E>腈<EFBFBD><E88588><EFBFBD> CRC 敶訫<E695B6><E8A8AB>唳旿<E594B3>塚<EFBFBD>REDCap 敹<>◆<EFBFBD>賭蜓<E8B3AD>兩<EFBFBD>𨀣綫<F0A880A3>嘥枂鈭衤辣<E8A1A4>?
|
||
* **<2A>唳旿<E594B3>券<EFBFBD>/憓鮋<E68693>撖澆枂 (Data Export)**嚗𡁜笆摨婙<E691A8>𣈯★<F0A388AF>桃恣<E6A183>?Agent<6E>腈<EFBFBD><E88588><EFBFBD>閬<EFBFBD><E996AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𡝗<EFBFBD><F0A19D97>㕑扇敶𤏪<E695B6>餈𥡝<E9A488><F0A5A19D>亦<EFBFBD><E4BAA6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>渡<EFBFBD><E6B8A1><EFBFBD><EFBFBD>霈∪<E99C88><E288AA>僐<EFBFBD>?
|
||
* **<2A><>㺭<EFBFBD>桀<EFBFBD>銋㕑繮<E39591>?(Metadata Export)**嚗𡁜笆摨婙<E691A8>𨀣䲮獢<E4B2AE>㺭摮堒<E691AE><E5A092>腈<EFBFBD><E88588><EFBFBD>閬<EFBFBD>繮<EFBFBD>㚚★<E39A9A>桃<EFBFBD>銵典<E98AB5>蝏𤘪<E89D8F><F0A498AA><EFBFBD><EFBFBD><EFBFBD>誩<EFBFBD><E8AAA9><EFBFBD><EFBFBD>畾萇掩<E89087>页<EFBFBD>銝𧢲<E98A9D>獢?<3F><>𧋦獢<F0A78BA6><E78DA2>嚗𣬚鍂鈭?AI <20>芸𢆡<E88AB8><F0A286A1><EFBFBD><EFBFBD>惩<EFBFBD><E683A9>?
|
||
### **1.2 <20>扯<EFBFBD><E689AF>賢<EFBFBD> (Write & Query)**
|
||
|
||
* **霈啣<E99C88>瘜典<E7989C>銝擧凒<E693A7>?(Record Import)**嚗𡁜笆摨婙<E691A8>𨀣㺭<F0A880A3>格惣<E6A0BC>賡<EFBFBD><E8B3A1>?Agent<6E>腈<EFBFBD><E88588>I 霂<><E99C82><EFBFBD>箇<EFBFBD>蝏𤘪<E89D8F><F0A498AA>𡝗㺭<F0A19D97>桅<EFBFBD><E6A185>坔<EFBFBD><E59D94><EFBFBD><EFBFBD>摮埈挾<E59F88>?
|
||
* **韐函<E99F90>蝞∠<E89D9E> (Query/Data Resolution)**嚗𡁜笆摨婙<E691A8>𡏭捶<F0A18FAD>?Agent<6E>腈<EFBFBD><E88588>I <20>𤑳緵<F0A491B3>桅<EFBFBD><E6A185>𠬍<EFBFBD><F0A0AC8D><EFBFBD><EFBFBD>朞<EFBFBD><E69C9E>亙藁<E4BA99>?REDCap 銝剖<E98A9D>撱算<E692B1>𡏭捶<F0A18FAD>?(Query)<29>腈<EFBFBD>?
|
||
* **<2A>冽<EFBFBD>霈方<E99C88><E696B9>惩<EFBFBD> (Auth API)**嚗𡁶&靽?Agent <20>滢<EFBFBD><E6BBA2>嗅<EFBFBD>憭<EFBFBD><E686AD>瘜閧<E7989C> User Token 摰∟恣<E2889F>?
|
||
## **2\. <20><><EFBFBD>臬<EFBFBD><E887AC>堆<EFBFBD>External Module (EM) 銝?REST API 瘛瑕<E7989B><E79195>嗆<EFBFBD>**
|
||
|
||
銝箔<EFBFBD>摰䂿緵瘛勗漲<EFBFBD>滚<EFBFBD>銝𥪯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>扯<EFBFBD>嚗峕<EFBFBD>隞祇<EFBFBD><EFBFBD>?**<2A>諪M 靘扳<E99D98><E689B3>雴辣 \+ Node.js <20><><EFBFBD><EFBFBD>兩<EFBFBD>?* <20><>毽<EFBFBD><E6AFBD>䲮獢<E4B2AE><E78DA2>?
|
||
### **2.1 External Module (EM) <20>詨<EFBFBD><E8A9A8>諹提嚗帋蜓<E5B88B>券偬摮?*
|
||
|
||
<EFBFBD>曹<EFBFBD><EFBFBD>睲賑<EFBFBD>交<EFBFBD> REDCap 皞鞟<E79A9E>嚗峕<E59A97>隞砍<E99A9E>撘<EFBFBD><E69298>睲<EFBFBD>銝芸<E98A9D>銝?ai\_research\_assistant <20>?EM<45>?
|
||
* **<2A>唳旿靽嘥<E99DBD><E598A5>拙<EFBFBD> (redcap\_save\_record)**嚗?
|
||
* **<2A>餉<EFBFBD>**嚗𡁏<E59A97>敶栞扇敶蓥<E695B6>摮矋<E691AE>EM <20>閗繮敶枏<E695B6> project\_id <20>?record\_id<69>?
|
||
* **<2A>其<EFBFBD>**嚗𡁻<E59A97>朞<EFBFBD> HTTP POST <20>煾<EFBFBD>?Webhook 蝏?Node.js <20>𡒊垢<F0A1928A>?
|
||
* **隞瑕<E99A9E>?*嚗𡁜<E59A97><F0A1819C>售<EFBFBD>𡏭捶<F0A18FAD>?Agent<6E>萘<EFBFBD>鈭𡁶<E988AD>蝥批<E89DA5>摨𢛵<E691A8>?
|
||
* **憿菟𢒰瘜典<E7989C><E585B8>拙<EFBFBD> (redcap\_every\_page\_top)**嚗?
|
||
* **<2A>餉<EFBFBD>**嚗𡁜銁<F0A1819C>唳旿敶訫<E695B6>憿菟𢒰瘜典<E7989C><E585B8>芸<EFBFBD>銋?JS (ai\_assistant.js)<29>?
|
||
* **<2A>其<EFBFBD>**嚗𡁜銁敶訫<E695B6>獢<EFBFBD><E78DA2><EFBFBD>曄內 AI 颲<>𨭌<EFBFBD>厰僼<E58EB0>㚚<EFBFBD>鈭株<E988AD><E6A0AA>格<EFBFBD><E6A0BC>鉝<EFBFBD>?
|
||
* **隞瑕<E99A9E>?*嚗𡁜<E59A97><F0A1819C>啣<EFBFBD><E595A3>仿𧫴畾萇<E795BE><E89087>𨀣㺭摮堒𨭌<E5A092>𦥑<EFBFBD>嘥<EFBFBD><E598A5><EFBFBD><EFBFBD>?
|
||
### **2.2 Node.js EDC Adapter <20>詨<EFBFBD><E8A9A8>諹提嚗朞◤<E69C9E>刻挪<E588BB>?*
|
||
|
||
<EFBFBD>典<EFBFBD>蝡臬<EFBFBD>鋆?RedcapAdapter 蝐鳴<E89D90>憭<EFBFBD><E686AD><EFBFBD><EFBFBD><EFBFBD>劐蜓<E58A90>冽<EFBFBD><E586BD>碶遙<E7A2B6>~<EFBFBD>?
|
||
* **API 靚<>鍂撠<E98D82><E692A0>**嚗?
|
||
* exportRecords: <20>枏<EFBFBD>銝游<E98A9D><E6B8B8>唳旿<E594B3>?
|
||
* importRecords: <20>𧼮<EFBFBD>敶勗<E695B6><E58B97>嗆<EFBFBD><E59786>&霈文<E99C88><E69687><EFBFBD>㺭<EFBFBD>柴<EFBFBD>?
|
||
* exportMetadata: <20>瑕<EFBFBD>銵典<E98AB5><E585B8>㗛<EFBFBD>皜<EFBFBD><E79A9C><EFBFBD>?
|
||
* importQueries: (<28>箔<EFBFBD> EM <20><>䌊摰帋<E691B0>憿菟𢒰) 摰䂿緵 AI <20>芸𢆡<E88AB8>𥕦遣韐函<E99F90><E587BD>?
|
||
## **3\. <20>喲睸<E596B2>亙藁皜<E89781><E79A9C>銝𤾸<E98A9D><F0A4BEB8>啁<EFBFBD><E59581>?*
|
||
|
||
### **3.1 <20>詨<EFBFBD>撖寞𦻖<E5AF9E>亙藁銵?*
|
||
|
||
| 撖寞𦻖<E5AF9E>蠘<EFBFBD> | REDCap <20>毺<EFBFBD> API / EM Hook | 撖孵<E69296><E5ADB5>?Agent <20>其<EFBFBD> |
|
||
| :---- | :---- | :---- |
|
||
| **摰墧𧒄<E5A2A7>亦<EFBFBD><E4BAA6>𡁶䰻** | redcap\_save\_record (Hook) | 閫血<E996AB>韐冽綉璉<E7B689><E79289>乓<EFBFBD><E4B993>凒<EFBFBD>唳𠯫<E594B3>?|
|
||
| **<EFBFBD>券<EFBFBD><EFBFBD>唳旿<EFBFBD>峕郊** | exportRecords (API) | <20><><EFBFBD><EFBFBD>冽𥁒頞见飵<E8A781>整<EFBFBD><E695B4><EFBFBD><EFBFBD>賢<EFBFBD><E8B3A2>?|
|
||
| **AI <20>芸𢆡敶訫<E695B6>** | importRecords (API) | <20><><EFBFBD> Agent <20>坔<EFBFBD><E59D94>唳旿嚗<E697BF>蔣摮鞟&霈文<E99C88>嚗?|
|
||
| **<EFBFBD>唳旿撘<EFBFBD>虜憸<EFBFBD>郎** | importQueries (<28>芸<EFBFBD>銋? | 韐冽綉 Agent <20>𥕦遣韐函<E99F90><E587BD>∠𤌍 |
|
||
| **<EFBFBD>寞<EFBFBD>閫<EFBFBD><EFBFBD><EFBFBD>惩<EFBFBD>** | exportMetadata (API) | <20>瑕<EFBFBD><E79195>㗛<EFBFBD>皜<EFBFBD><E79A9C>餈𥡝<E9A488> AI 霂凋<E99C82><E5878B>惩<EFBFBD> |
|
||
|
||
### **3.2 敶勗<E695B6><E58B97>嗆<EFBFBD>?(Shadow State) <20><><EFBFBD><EFBFBD>䠷曎頝?*
|
||
|
||
餈蹱糓<EFBFBD>賜铜銋衣<EFBFBD><EFBFBD>詨<EFBFBD>閬<EFBFBD><EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>臬<EFBFBD><EFBFBD>啗楝敺<EFBFBD><EFBFBD>銝页<EFBFBD>
|
||
|
||
1. **撱箄悅<E7AE84><E68285><EFBFBD>**嚗鋫gent 蝏𤘪<E89D8F>摮睃<E691AE><E79D83>睲賑<E79DB2>?pending\_actions 銵具<E98AB5>?
|
||
2. **鈭箇掩摰⊥瓲**嚗鋴RC <20>?Workbench <20>孵稬<E5ADB5>𦦵&霈手<E99C88>腈<EFBFBD>?
|
||
3. **<EFBFBD><EFBFBD><EFBFBD><EFBFBD>刻<EFBFBD><EFBFBD>?*嚗鐭ode.js <20>𣂼<EFBFBD>霂交辺<E4BAA4>桃<EFBFBD> edc\_api\_token嚗𣬚<E59A97>鋆<EFBFBD><E98B86><EFBFBD><EFBFBD><EFBFBD> REDCap importRecords JSON <20>交<EFBFBD><E4BAA4>?
|
||
4. **<EFBFBD>𧼮<EFBFBD><EFBFBD>扯<EFBFBD>**嚗?
|
||
// REDCap <20>亙<EFBFBD><E4BA99><EFBFBD>㺭<EFBFBD>格聢撘讐內靘?
|
||
\[
|
||
{"record\_id": "P001", "redcap\_repeat\_instance": 1, "field\_name": "ai\_qc\_status", "value": "2"}
|
||
\]
|
||
|
||
5. **摰∟恣<E2889F>剔㴓**嚗𡁜<E59A97><F0A1819C>蹱<EFBFBD><E8B9B1>笔<EFBFBD>嚗峕凒<E5B395>?pending\_actions.status \= 'EXECUTED'<27>?
|
||
## **4\. <20>祉鸌<E7A589><E9B88C><EFBFBD>臭漁<E887AD>對<EFBFBD>External Module 撖孵<E69296><E5ADB5><EFBFBD><EFBFBD><EFBFBD>箏<EFBFBD>**
|
||
|
||
<EFBFBD>拍鍂 REDCap <20>?EM <20>箏<EFBFBD>嚗峕<E59A97>隞砍虾隞亙<E99A9E><E4BA99>唳<EFBFBD><E594B3>桅<EFBFBD>?API <20>湔楛<E6B994>亦<EFBFBD><E4BAA6>游<EFBFBD>嚗?
|
||
1. <20>芸<EFBFBD>銋㕑<E98A8B><E39591>閖曎<E99696>?(links)嚗?
|
||
<20>?REDCap 撌虫儒撖潸⏛<E6BDB8>讐凒<E8AE90>亙<EFBFBD><E4BA99>?<3F>𨅯ㄨ霂<E384A8>儐 AI <20>批<EFBFBD>銝剖<E98A9D><E58996>?<3F>?H5 <20>暹𦻖嚗諹悟<E8ABB9>冽<EFBFBD>銝滚枂 EDC 撠梯<E692A0>雿輻鍂<E8BCBB>睲賑<E79DB2><E8B391><EFBFBD><EFBFBD>賬<EFBFBD>?
|
||
2. 摰𡁏𧒄隞餃𦛚蝞∠<E89D9E> (crons)嚗?
|
||
<20>?REDCap 靘批⏚<E689B9>?Cron 閫血<E996AB>摰𡁏<E691B0><F0A1818F><EFBFBD>㺭<EFBFBD>桀<EFBFBD>摨瑟<E691A8><E7919F>伐<EFBFBD><E4BC90>讛蝠<E8AE9B>睲賑銝餌頂蝏毺<E89D8F>頧株砭<E6A0AA>见<EFBFBD><E8A781>?
|
||
3. 摮埈挾蝥折<E89DA5><E68A98>脤<EFBFBD>鈭殷<E988AD>
|
||
<20>朞<EFBFBD> EM 靽格㺿敶訫<E695B6>憿菟𢒰<E88F9F>?DOM嚗<4D><E59A97> Agent <20>𤑳緵<F0A491B3>厰䔮憸条<E686B8>摮埈挾<E59F88><E68CBE>扇銝粹<E98A9D><E7B2B9>脫<EFBFBD>蝥Z𠧧<EFBCBA>?
|
||
## **5\. 摰匧<E691B0>銝舘恕霂<E68195>挽霈?(Security)**
|
||
|
||
* **<2A>屸<EFBFBD> Token <20>⊿<EFBFBD>**嚗?
|
||
* **蝟餌<E89D9F>蝥?*嚗鍃M 霈輸䔮 Node.js <20>塚<EFBFBD>Headers <20>箏蒂 X-Signature嚗𠃍MAC-SHA256 <20>惩<EFBFBD>嚗剹<E59A97>?
|
||
* **<2A>冽<EFBFBD>蝥?*嚗鐭ode.js 霈輸䔮 REDCap <20>塚<EFBFBD>雿輻鍂<E8BCBB>惩<EFBFBD>摮睃<E691AE><E79D83>?Personal API Token<65>?
|
||
* API <20>鞉<EFBFBD> (Rate Limiting)嚗?
|
||
<20><>笆憭找葉敹<E89189>★<EFBFBD>殷<EFBFBD><E6AEB7><EFBFBD><EFBFBD><EFBFBD>刻䌊<E588BB>典笆 API 霂瑟<E99C82>餈𥡝<E9A488><F0A5A19D><EFBFBD><EFBFBD><EFBFBD>屸<EFBFBD>瘚<EFBFBD><E7989A><EFBFBD>脫迫 REDCap <20>滚𦛚<E6BB9A>典<EFBFBD>擃㗛<E69383> AI 韐冽綉<E586BD><E7B689>援皞<E68FB4><E79A9E>?
|
||
**蝏湔擪<E6B994>?*嚗𡁏沲<F0A1818F><E6B2B2><EFBFBD> & REDCap 銝枏振 | **<EFBFBD>嗆<EFBFBD>?*嚗朞祕蝏<E7A595>挽霈∪<E99C88><E288AA> |