Files
AIclinicalresearch/docs/03-业务模块/IIT Manager Agent/02-技术设计/文档 B:EDC 适配器 (REDCap) 技术详细设计 (V1.0).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.7 KiB
Raw Blame History

<EFBFBD><EFBFBD>﹝ 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>亙藁銵?

撖寞𦻖<EFBFBD><EFBFBD> REDCap <20><EFBFBD> API / EM Hook 撖孵<EFBFBD><EFBFBD>?Agent <20><EFBFBD>
摰墧𧒄<EFBFBD><EFBFBD><EFBFBD>𡁶䰻 redcap_save_record (Hook) 閫血<EFBFBD>韐冽綉璉<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>唳𠯫<EFBFBD>?
<EFBFBD><EFBFBD><EFBFBD>唳旿<EFBFBD>峕郊 exportRecords (API) <EFBFBD><EFBFBD><EFBFBD><EFBFBD>冽𥁒頞见飵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
AI <20>芸𢆡敶訫<E695B6> importRecords (API) <EFBFBD><EFBFBD><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) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>餈𥡝<EFBFBD> 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. **<2A><><EFBFBD><EFBFBD><EFBFBD><E588BB>?*嚗鐭ode.js <20>𣂼<EFBFBD>霂交辺<E4BAA4><EFBFBD> edc_api_token嚗𣬚<E59A97><EFBFBD><E98B86><EFBFBD><EFBFBD><EFBFBD> REDCap importRecords JSON <20><EFBFBD><E4BAA4>?

  4. **<2A>𧼮<EFBFBD><F0A7BCAE><EFBFBD>**嚗? // REDCap <20><EFBFBD><E4BA99><EFBFBD><EFBFBD>格聢撘讐內靘? [
    {"record_id": "P001", "redcap_repeat_instance": 1, "field_name": "ai_qc_status", "value": "2"}
    ]

  5. 摰∟恣<EFBFBD>剔㴓嚗𡁜<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗峕凒<EFBFBD>?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. <EFBFBD><EFBFBD>銋㕑<EFBFBD><EFBFBD>閖曎<EFBFBD>?(links)嚗? <0A>?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. 摰𡁏𧒄隞餃𦛚蝞∠<EFBFBD> (crons)嚗? <0A>?REDCap 靘批⏚<E689B9>?Cron 閫血<E996AB>摰𡁏<E691B0><F0A1818F><EFBFBD><EFBFBD><EFBFBD>摨瑟<E691A8><E7919F><EFBFBD><E4BC90>讛蝠<E8AE9B>睲賑銝餌頂蝏毺<E89D8F>頧株砭<E6A0AA><EFBFBD><E8A781>?
  3. 摮埈挾蝥折<EFBFBD><EFBFBD><EFBFBD>鈭殷<EFBFBD>
    <0A><EFBFBD> EM 靽格㺿敶訫<E695B6>憿菟𢒰<E88F9F>?DOM嚗<4D><E59A97> Agent <20>𤑳緵<F0A491B3>厰䔮憸条<E686B8>摮埈挾<E59F88><E68CBE>扇銝粹<E98A9D><E7B2B9><EFBFBD>𠧧<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)嚗? <0A><>笆憭找葉敹<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 銝枏振 | **<2A><EFBFBD>?*嚗朞祕蝏<E7A595>挽霈<E99C88><E288AA>