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%)
578 lines
34 KiB
Markdown
578 lines
34 KiB
Markdown
# IIT Manager Agent妯″潡 - 褰撳墠鐘舵€佷笌寮€鍙戞寚鍗?
|
||
> **鏂囨。鐗堟湰锛?* v1.6
|
||
> **鍒涘缓鏃ユ湡锛?* 2026-01-01
|
||
> **缁存姢鑰咃細** IIT Manager寮€鍙戝洟闃?
|
||
> **鏈€鍚庢洿鏂帮細** 2026-01-04 馃帀 **Dify鐭ヨ瘑搴撻泦鎴愬畬鎴?- 娣峰悎妫€绱㈠疄鐜帮紒**
|
||
> **閲嶅ぇ閲岀▼纰戯細** 鉁?娣峰悎妫€绱㈡灦鏋勫疄鐜帮紙REDCap瀹炴椂鏁版嵁 + Dify鏂囨。鐭ヨ瘑搴擄級锛?
|
||
> **鏂囨。鐩<E38082>殑锛?* 鍙嶆槧妯″潡鐪熷疄鐘舵€侊紝璁板綍寮€鍙戝巻绋?
|
||
---
|
||
|
||
## 馃搵 鏂囨。璇存槑
|
||
|
||
鏈<EFBFBD>枃妗f槸IIT Manager Agent妯″潡鐨?*鐪熷疄鐘舵€佸揩鐓?*锛屽<E9949B>瀹炶<E780B9>褰曞紑鍙戣繘搴︺€佸叧閿<E58FA7>厤缃<E58EA4>拰褰撳墠鐪熷疄鐘跺喌銆?
|
||
**涓庡叾浠栨枃妗g殑鍏崇郴**锛?- **鏈<>枃妗o紙00-妯″潡褰撳墠鐘舵€侊級**锛歐hat is锛堢湡瀹炵姸鎬侊紝褰撳墠杩涘害锛?- **MVP寮€鍙戜换鍔℃竻鍗?*锛歐hat to do锛堝紑鍙戣<E98D99>鍒掞級
|
||
- **鎶€鏈<E282AC><E98F88>璁℃枃妗?*锛欻ow to do锛堟妧鏈<E5A6A7>柟妗堬級
|
||
- **寮€鍙戣<E98D99>褰曟枃妗?*锛歐hat done锛堝巻鍙茶<E98D99>褰曪級
|
||
|
||
---
|
||
|
||
## 馃幆 妯″潡姒傝堪
|
||
|
||
### 鏍稿績鍔熻兘
|
||
IIT Manager Agent锛堢爺绌惰€呭彂璧疯瘯楠岀<E6A5A0>鐞嗗姪鎵嬶級鏄<E7B49A>竴涓<E7ABB4>熀浜庝紒涓氬井淇$殑涓诲姩寮廇I Agent浜у搧锛屼负IIT锛堢爺绌惰€呭彂璧疯瘯楠岋級鎻愪緵鏅鸿兘鍖栫<E98D96>鐞嗚兘鍔涖€?
|
||
### 鏋舵瀯璁捐<E79281>
|
||
- **鏍稿績鐞嗗康**锛歂ative Orchestration锛堝師鐢熺紪鎺掞級+ Dify RAG + Shadow State锛堝奖瀛愮姸鎬侊級
|
||
- **鎶€鏈<E282AC>爤**锛? - 鍚庣<E98D9A>锛歂ode.js (Fastify) + PostgreSQL (Prisma) + pg-boss
|
||
- 鍓嶇<E98D93>锛氬井淇″皬绋嬪簭 (Taro 4.x)
|
||
- 鏁版嵁婧愶細REDCap (EDC绯荤粺)
|
||
- 閫氱煡锛氫紒涓氬井淇? - AI鑳藉姏锛欴ify RAG + DeepSeek/Qwen
|
||
|
||
### 褰撳墠鐘舵€?- **寮€鍙戦樁娈?*锛氿煄?**Phase 1.5瀹屾垚 - 娣峰悎妫€绱㈡灦鏋勫疄鐜帮紒**
|
||
- **鏁翠綋瀹屾垚搴?*锛?5%锛圖ay 1-3 + Phase 1.5瀹屾垚 + Dify闆嗘垚瀹屾垚锛?- **宸插畬鎴愬姛鑳?*锛? - 鉁?鏁版嵁搴揝chema鍒涘缓锛坕it_schema锛?涓<>〃锛? - 鉁?Prisma Schema缂栧啓锛?23琛岀被鍨嬪畾涔夛級
|
||
- 鉁?妯″潡鐩<E6BDA1>綍缁撴瀯鍒涘缓
|
||
- 鉁?浼佷笟寰<E7AC9F>俊搴旂敤娉ㄥ唽鍜岄厤缃? - 鉁?浼佷笟寰<E7AC9F>俊Access Token鑾峰彇鎴愬姛
|
||
- 鉁?**浼佷笟寰<E7AC9F>俊鍙<E4BF8A>俊鍩熷悕閰嶇疆鎴愬姛**锛坉evlocal.xunzhengyixue.com锛? - 鉁?**REDCap鏈<70>湴Docker鐜<72><E9909C>閮ㄧ讲鎴愬姛**锛?5.8.0锛? - 鉁?**REDCap瀵规帴鎶€鏈<E282AC>柟妗堢‘瀹?*锛圖ET + REST API锛? - 鉁?**REDCap娴嬭瘯椤圭洰鍒涘缓**锛坱est0102, PID 16, 11鏉¤<E98F89>褰曪級
|
||
- 鉁?**REDCap瀹炴椂闆嗘垚瀹屾垚**锛圖ET + REST API + WebhookController + SyncManager锛? - 鉁?**浼佷笟寰<E7AC9F>俊鎺ㄩ€佹湇鍔″畬鎴?*锛圵echatService, 314琛岋級
|
||
- 鉁?**浼佷笟寰<E7AC9F>俊鍥炶皟澶勭悊瀹屾垚**锛圵echatCallbackController, 501琛岋級
|
||
- 鉁?**natapp鍐呯綉绌块€忛厤缃<E58EA4>垚鍔?*锛坔ttps://devlocal.xunzhengyixue.com + 鍏<>徃澶囨<E6BEB6>鍩熷悕锛? - 鉁?**RedcapAdapter API閫傞厤鍣ㄥ畬鎴?*锛?71琛岋紝7涓狝PI鏂规硶锛? - 鉁?**WebhookController瀹屾垚**锛?27琛岋紝<10ms鍝嶅簲锛? - 鉁?**SyncManager瀹屾垚**锛?98琛岋紝澧為噺+鍏ㄩ噺鍚屾<E98D9A>锛? - 鉁?**Worker娉ㄥ唽瀹屾垚**锛坕it_quality_check, iit_redcap_poll锛? - 鉁?**璐ㄦ帶Worker瀹屽杽**锛堣川鎺ч€昏緫 + 浼佷笟寰<E7AC9F>俊鎺ㄩ€?+ 瀹¤<E780B9>鏃ュ織锛? - 鉁?**馃幆 绔<>埌绔<E59F8C>祴璇曢€氳繃**锛圧EDCap 鈫?Node.js 鈫?浼佷笟寰<E7AC9F>俊锛?2绉掑欢杩燂級
|
||
- 鉁?**馃幆 MVP闂<50>幆瀹屽叏鎵撻€?*锛?00%娑堟伅鎴愬姛鐜囷級
|
||
- 鉁?**馃殌 Phase 1.5: AI瀵硅瘽闆嗘垚瀹屾垚**锛?026-01-03 & 2026-01-04锛? - 鉁?ChatService闆嗘垚锛?85琛岋級
|
||
- 鉁?SessionMemory锛?20琛岋紝涓婁笅鏂囪<E98F82>蹇嗭級
|
||
- 鉁?REDCap鏁版嵁鏌ヨ<E98F8C>闆嗘垚锛坬ueryRedcapRecord, countRedcapRecords锛? - 鉁?**Dify鐭ヨ瘑搴撻泦鎴?*锛坬ueryDifyKnowledge锛? - 鉁?**娣峰悎妫€绱㈠疄鐜?*锛圧EDCap瀹炴椂鏁版嵁 + Dify鏂囨。鐭ヨ瘑搴擄級
|
||
- 鉁?**鏅鸿兘璺<E58598>敱**锛堟牴鎹<E789B4>剰鍥捐嚜鍔ㄩ€夋嫨鏁版嵁婧愶級
|
||
- 鉁?鎰忓浘璇嗗埆浼樺寲锛堟墿鍏呭尰瀛﹀叧閿<E58FA7>瘝搴擄級
|
||
- 鉁?鏁版嵁娉ㄥ叆LLM锛堝熀浜庣湡瀹炴暟鎹<E69A9F>紝涓嶇紪閫狅級
|
||
- 鉁?鍗虫椂鍙嶉<E98D99>锛?姝e湪鏌ヨ<E98F8C>"锛? - 鉁?**Dify Dataset鍏宠仈**锛坱est0102 鈫?b49595b2-bf71-4e47-9988-4aa2816d3c6f锛? - 鉁?**Bug淇<67><E6B787>**锛圖ify API瀛楁<E7809B>璺<EFBFBD>緞閿欒<E996BF>淇<EFBFBD><E6B787>锛? - 鉁?娴嬭瘯閫氳繃锛?涓<>満鏅<E6BA80>細REDCap鏌ヨ<E98F8C>銆丏ify鏂囨。鏌ヨ<E98F8C>銆佹贩鍚堟煡璇<E785A1>級
|
||
- **鏈<>紑鍙戝姛鑳?*锛? - 鈴?Function Calling锛圠LM鑷<4D>富鍐崇瓥锛? Phase 2
|
||
- 鈴?澶氶」鐩<E3808D>敮鎸侊紙椤圭洰鍒囨崲锛? Phase 2
|
||
- 鈴?鏂囨。API涓婁紶锛堣嚜鍔ㄥ寲涓婁紶鍒癉ify锛? Phase 2
|
||
- 鈴?鏁版嵁璐ㄩ噺Agent锛圓I璐ㄦ帶閫昏緫锛? Phase 2
|
||
- 鈴?浠诲姟椹卞姩寮曟搸 - Phase 2
|
||
- 鈴?鎮h€呴殢璁緼gent - Phase 2
|
||
- 鈴?寰<>俊灏忕▼搴忓墠绔?- Phase 3
|
||
- 鈴?REDCap鍙屽悜鍥炲啓 - Phase 2
|
||
- **閮ㄧ讲鐘舵€?*锛氣渽 AI瀵硅瘽姝e父杩愯<E69DA9>锛屾敮鎸丷EDCap瀹炴椂鏁版嵁 + Dify鏂囨。鏌ヨ<E98F8C>
|
||
- **宸茬煡闂<E785A1><E99782>**锛氭棤
|
||
- **涓存椂鎺<E6A482>柦**锛? - 鈿狅笍 浣跨敤鍏抽敭璇嶅尮閰嶈瘑鍒<E79891>剰鍥撅紙Phase 2鍗囩骇涓篎unction Calling锛? - 鈿狅笍 SessionMemory鍩轰簬鍐呭瓨锛圥hase 2鏀逛负Redis锛? - 鈿狅笍 榛樿<E6A69B>鏌ヨ<E98F8C>绗<EFBFBD>竴涓猘ctive椤圭洰锛圥hase 2鏀<32>寔椤圭洰閫夋嫨锛? - 鈿狅笍 Dify鏂囨。閫氳繃Web鐣岄潰鎵嬪姩涓婁紶锛圥hase 2寮€鍙慉PI鑷<49>姩涓婁紶锛? - 鈿狅笍 鍗曢」鐩<E3808D>崟鐭ヨ瘑搴擄紙Phase 2鏀<32>寔澶氱煡璇嗗簱锛? - 鈿狅笍 UserID浠庣幆澧冨彉閲忚幏鍙栵紙`WECHAT_TEST_USER_ID`锛? Phase 2鏀硅繘
|
||
- 鈿狅笍 瀹氭椂杞<E6A482><E69D9E>鏆傛椂绂佺敤锛圧EDCap DET宸茶冻澶燂級- Phase 2娣诲姞
|
||
|
||
---
|
||
|
||
## 馃搳 涓€銆佸綋鍓嶅紑鍙戣繘搴?
|
||
### MVP寮€鍙戦樁娈碉紙2鍛<32>紝10涓<30>伐浣滄棩锛?
|
||
| 闃舵<E99783> | 鐘舵€?| 瀹屾垚鏃堕棿 | 鏍稿績浜や粯鐗?|
|
||
|------|------|---------|-----------|
|
||
| **Day 1锛氱幆澧冨垵濮嬪寲** | 鉁?宸插畬鎴?| 2026-01-01 | 鏁版嵁搴揝chema + 浼佷笟寰<E7AC9F>俊閰嶇疆 + 妯″潡楠ㄦ灦 |
|
||
| **REDCap鐜<70><E9909C>鍑嗗<E98D91>** | 鉁?宸插畬鎴?| 2026-01-02 | REDCap Docker閮ㄧ讲 + 瀵规帴鏂规<E98F82>纭<EFBFBD>畾 |
|
||
| **Day 2锛歊EDCap鎷夊彇** | 鉁?宸插畬鎴?| 2026-01-02 | RedcapAdapter(271琛? + WebhookController(327琛? + SyncManager(398琛? |
|
||
| **Day 3锛氫紒寰<E7B492>帹閫?* | 鉁?宸插畬鎴?| 2026-01-03 | WechatService(314琛? + WechatCallbackController(501琛? + 璐ㄦ帶Worker |
|
||
| **Phase 1.5锛欰I瀵硅瘽** | 鉁?宸插畬鎴?| 2026-01-03 & 2026-01-04 | ChatService(485琛? + SessionMemory(120琛? + Dify闆嗘垚 |
|
||
| **Day 6-7锛氬皬绋嬪簭** | 鈴?寰呭紑濮?| - | Taro鍓嶇<E98D93> + 瀹℃壒鐣岄潰 |
|
||
| **Day 8锛氬洖鍐?闆嗘垚** | 鈴?寰呭紑濮?| - | REDCap鍥炲啓 + 绔<>埌绔<E59F8C>祴璇?|
|
||
| **Day 9-10锛氬畬鍠?娴嬭瘯** | 鈴?寰呭紑濮?| - | 閿欒<E996BF>澶勭悊 + 鏃ュ織 + 鎬ц兘浼樺寲 |
|
||
|
||
### 褰撳墠杩涘害缁熻<E7BC81>
|
||
|
||
**鏁翠綋瀹屾垚搴?*锛?0%锛圖ay 1 + Day 2 + Day 3瀹屾垚锛?
|
||
**宸插畬鎴愪换鍔?*锛?- 鉁?鏁版嵁搴撳垵濮嬪寲锛?1/11娴嬭瘯閫氳繃锛?- 鉁?REDCap瀹炴椂闆嗘垚锛圖ET + REST API锛?- 鉁?浼佷笟寰<E7AC9F>俊鎺ㄩ€佹湇鍔★紙WechatService锛?- 鉁?浼佷笟寰<E7AC9F>俊鍥炶皟澶勭悊锛圵echatCallbackController锛?- 鉁?浼佷笟寰<E7AC9F>俊URL楠岃瘉锛堣皟璇曞伐鍏烽€氳繃锛?- 鉁?浼佷笟寰<E7AC9F>俊鍒濆<E98D92>鍖栵紙Access Token鑾峰彇鎴愬姛锛?- 鉁?椤圭洰鍒濆<E98D92>鍖栵紙鐩<E7B499>綍缁撴瀯 + 绫诲瀷瀹氫箟锛?- 鉁?**浼佷笟寰<E7AC9F>俊缃戦〉鎺堟潈鍙奐S-SDK鎺堟潈鑾峰彇**
|
||
- 鉁?**鍙<>俊鍩熷悕閰嶇疆锛坕it.xunzhengyixue.com锛?*
|
||
- 鉁?**REDCap鏈<70>湴Docker鐜<72><E9909C>閮ㄧ讲**锛?5.8.0锛?- 鉁?**REDCap瀵规帴鎶€鏈<E282AC>皟鐮?*锛堟簮鐮佸垎鏋?+ 瀹樻柟鏂囨。鐮旂┒锛?- 鉁?**REDCap瀵规帴鏂规<E98F82>纭<EFBFBD>畾**锛圖ET + REST API鏋舵瀯锛?- 鉁?**REDCap娴嬭瘯椤圭洰鍒涘缓**锛坱est0102, PID 16锛屽凡鏈夋暟鎹<E69A9F>級
|
||
- 鉁?**REDCap瀵规帴鎶€鏈<E282AC>柟妗堟枃妗g紪鍐?*锛?070琛屽畬鏁村疄鏂芥寚鍗楋級
|
||
- 鉁?**RedcapAdapter寮€鍙戝畬鎴?*锛?71琛岋紝7涓狝PI鏂规硶锛屾祴璇曢€氳繃锛?- 鉁?**WebhookController寮€鍙戝畬鎴?*锛?27琛岋紝<10ms鍝嶅簲锛屾敮鎸乫orm-urlencoded锛?- 鉁?**SyncManager寮€鍙戝畬鎴?*锛?98琛岋紝澧為噺+鍏ㄩ噺+鎵嬪姩鍚屾<E98D9A>锛?- 鉁?**Worker娉ㄥ唽瀹屾垚**锛坕it_quality_check + iit_redcap_poll锛?- 鉁?**璺<>敱閰嶇疆瀹屾垚**锛?涓狝PI绔<49>偣锛?- 鉁?**闆嗘垚娴嬭瘯閫氳繃**锛?2/12娴嬭瘯鐢ㄤ緥鍏ㄩ儴閫氳繃锛?- 鉁?**鐪熷疄鍦烘櫙楠岃瘉**锛堟柊澧?缂栬緫璁板綍锛孌ET瀹炴椂瑙﹀彂锛屾暟鎹<E69A9F>竴鑷存€ч獙璇侊級
|
||
|
||
**Day 3宸插畬鎴?*锛?026-01-03锛夛細
|
||
- 鉁?浼佷笟寰<E7AC9F>俊鎺ㄩ€佹湇鍔★紙WechatService, 314琛岋級
|
||
- 鉁?浼佷笟寰<E7AC9F>俊鍥炶皟澶勭悊锛圵echatCallbackController, 501琛岋級
|
||
- 鉁?璐ㄦ帶Worker瀹屽杽锛堣川鎺ч€昏緫 + 閫氱煡鎺ㄩ€?+ 瀹¤<E780B9>鏃ュ織锛?- 鉁?Worker娉ㄥ唽淇<E594BD><E6B787>锛坄initIitManager()` 璋冪敤锛?- 鉁?鏁版嵁搴撳瓧娈典慨澶嶏紙`action_type`锛?- 鉁?绔<>埌绔<E59F8C>祴璇曢€氳繃锛?2绉掑欢杩燂紝100%鎴愬姛鐜囷級
|
||
- 鉁?**馃幆 MVP闂<50>幆瀹屽叏鎵撻€?*锛圧EDCap 鈫?Node.js 鈫?浼佷笟寰<E7AC9F>俊锛?
|
||
**涓嬩竴姝ヤ换鍔?*锛?- 鈴?Phase 1.5锛欰I璐ㄦ帶鑳藉姏锛圖ify RAG + 瑙勫垯寮曟搸锛?- 鈴?Phase 2锛氬<E9949B>椤圭洰鏀<E6B4B0>寔锛坄notification_config` 瀛楁<E7809B>锛?- 鈴?Phase 2锛氬畾鏃惰疆璇㈠疄鐜帮紙鍏滃簳鏈哄埗锛?
|
||
**寰呭畬鎴愪换鍔?*锛?- 鈴?鏁版嵁璐ㄩ噺Agent寮€鍙戯紙AI璐ㄦ帶锛?- 鈴?浼佷笟寰<E7AC9F>俊瀵硅瘽鍔熻兘锛堢敤鎴锋秷鎭<E7A7B7><E98EAD>鐞嗭級
|
||
- 鈴?褰卞瓙鐘舵€佺<E282AC>鐞?- 鈴?寰<>俊灏忕▼搴忓墠绔?- 鈴?REDCap鍙屽悜鍥炲啓
|
||
|
||
---
|
||
|
||
## 馃梽锔?浜屻€佹暟鎹<E69A9F>簱Schema
|
||
|
||
### 2.1 Schema淇℃伅
|
||
|
||
- **Schema鍚嶇О**锛歚iit_schema`
|
||
- **鏁版嵁搴?*锛歚ai_clinical_research`锛圧DS PostgreSQL 15锛?- **鍒涘缓鏃堕棿**锛?025-12-31
|
||
- **琛ㄦ暟閲?*锛?涓?- **楠岃瘉鐘舵€?*锛氣渽 宸插垱寤哄苟楠岃瘉
|
||
|
||
### 2.2 琛ㄧ粨鏋?
|
||
| 琛ㄥ悕 | 鐢ㄩ€?| 涓昏<E6B693>瀛楁<E7809B> | 绱㈠紩 |
|
||
|------|------|---------|------|
|
||
| **IitProject** | 椤圭洰閰嶇疆 | id, redcapApiUrl, redcapApiToken, difyAgentUrl | redcapProjectId |
|
||
| **IitPendingAction** | 褰卞瓙鐘舵€侊紙寰呭<E5AFB0>鏍稿姩浣滐級 | id, projectId, actionType, status | projectId, status |
|
||
| **IitTaskRun** | 浠诲姟杩愯<E69DA9>璁板綍 | id, projectId, taskType, status | projectId, status |
|
||
| **IitUserMapping** | 璺ㄧ郴缁熺敤鎴锋槧灏?| id, projectId, redcapUsername, wechatUserId | redcapUsername, wechatUserId |
|
||
| **IitAuditLog** | 瀹¤<E780B9>鏃ュ織 | id, projectId, actionType, operator | projectId, createdAt |
|
||
|
||
### 2.3 Prisma Schema浣嶇疆
|
||
|
||
```
|
||
AIclinicalresearch/backend/prisma/schema.prisma
|
||
```
|
||
|
||
**IIT Manager Schema瀹氫箟**锛堜綅浜庢枃浠舵湯灏撅級锛?- 瀹屾暣鐨?涓<>〃妯″瀷瀹氫箟
|
||
- 澶栭敭鍏崇郴閰嶇疆
|
||
- 绱㈠紩浼樺寲
|
||
- JSON瀛楁<E7809B>鏀<EFBFBD>寔
|
||
|
||
---
|
||
|
||
## 馃敡 涓夈€佹妧鏈<E5A6A7>灦鏋?
|
||
### 3.1 鍚庣<E98D9A>鎶€鏈<E282AC>爤
|
||
|
||
**鏍稿績妗嗘灦**锛?- **Node.js**锛歷22.x
|
||
- **Web妗嗘灦**锛欶astify
|
||
- **ORM**锛歅risma 6.17.0锛堝<EFBFBD>Schema鏀<EFBFBD>寔锛?- **浠诲姟闃熷垪**锛歱g-boss锛圥ostgres-Only鏋舵瀯锛?- **AI鑳藉姏**锛欴ify RAG锛圧ESTful API锛?
|
||
**妯″潡缁撴瀯**锛?```
|
||
backend/src/modules/iit-manager/
|
||
鈹溾攢鈹€ index.ts 鉁?涓诲叆鍙o紙妯″潡娉ㄥ唽锛?鈹溾攢鈹€ types/
|
||
鈹? 鈹斺攢鈹€ index.ts 鉁?绫诲瀷瀹氫箟锛?23琛岋級
|
||
鈹溾攢鈹€ routes/
|
||
鈹? 鈹斺攢鈹€ index.ts 鉁?璺<>敱楠ㄦ灦
|
||
鈹溾攢鈹€ controllers/ 鈴?寰呭紑鍙?鈹溾攢鈹€ services/ 鈴?寰呭紑鍙?鈹溾攢鈹€ agents/ 鈴?寰呭紑鍙?鈹斺攢鈹€ adapters/ 鈴?寰呭紑鍙?```
|
||
|
||
### 3.2 鍓嶇<E98D93>鎶€鏈<E282AC>爤
|
||
|
||
**寰<>俊灏忕▼搴?*锛?- **妗嗘灦**锛歍aro 4.x锛圧eact璇<74>硶锛?- **UI缁勪欢**锛歍aro UI / WeUI
|
||
- **鐘舵€佺<E282AC>鐞?*锛歊eact Hooks
|
||
- **寮€鍙戠姸鎬?*锛氣彸 鏈<>紑濮?
|
||
### 3.3 浼佷笟寰<E7AC9F>俊闆嗘垚
|
||
|
||
**搴旂敤淇℃伅**锛?- **搴旂敤鍚嶇О**锛歚IIT Manager Agent`
|
||
- **CorpID**锛歚ww01cb7b72ea2db83c`
|
||
- **AgentID**锛歚1000002`
|
||
- **Secret**锛歚F3XqlAqKdcOKHi9pLGv5a2dSUowWbevdcDRrBk2pXLM`
|
||
|
||
**鎺堟潈閰嶇疆**锛?- 鉁?**缃戦〉鎺堟潈鍙奐S-SDK鎺堟潈**锛氬凡鑾峰彇
|
||
- 鉁?**鍙<>俊鍩熷悕**锛歚iit.xunzhengyixue.com`
|
||
- 鉁?**鍩熷悕楠岃瘉鏂囦欢**锛氬凡閮ㄧ讲锛堝墠绔痸1.2锛?
|
||
**娑堟伅鎺ㄩ€佽兘鍔?*锛?- 鉁?Access Token鑾峰彇锛氭祴璇曢€氳繃
|
||
- 鈴?鏂囨湰娑堟伅鎺ㄩ€侊細寰呭紑鍙?- 鈴?鍗$墖娑堟伅鎺ㄩ€侊細寰呭紑鍙?- 鈴?娑堟伅妯℃澘锛氬緟璁捐<E79281>
|
||
|
||
**鐜<><E9909C>鍙橀噺閰嶇疆**锛圢ode.js鍚庣<E98D9A>SAE锛夛細
|
||
```bash
|
||
WECHAT_CORP_ID=ww6ab493470ab4f377
|
||
WECHAT_AGENT_ID=1000002
|
||
WECHAT_CORP_SECRET=AZIVxMtoLb0rEszXS81e4dBRl-I9kgTjygIS0cFfENU
|
||
WECHAT_TOKEN=oXlRBm1YnvMy2SbDLbvAdDd5Gq3oBGq
|
||
WECHAT_ENCODING_AES_KEY=v88eT3O9bMW897h4btr7v7qvQImlMf31edTQCmuhOhO
|
||
```
|
||
|
||
---
|
||
|
||
## 馃殌 鍥涖€佸叧閿<E58FA7>噷绋嬬<E7BB8B>
|
||
|
||
### 2026-01-02锛歊EDCap鐜<70><E9909C>灏辩华 - 瀵规帴鏂规<E98F82>纭<EFBFBD>畾 鉁?
|
||
**瀹屾垚鍐呭<E98D90>**锛?1. **REDCap鏈<70>湴鐜<E6B9B4><E9909C>閮ㄧ讲**锛? - 鉁?Docker Compose閰嶇疆锛?瀹瑰櫒鏋舵瀯锛? - 鉁?REDCap 15.8.0閮ㄧ讲鎴愬姛
|
||
- 鉁?瑙e喅閮ㄧ讲闂<E8AEB2><E99782>锛圗RR_CONTENT_DECODING_FAILED銆丆RLF姹℃煋绛夛級
|
||
- 鉁?Admin璐︽埛鐧诲綍鎴愬姛
|
||
- 鉁?娴嬭瘯椤圭洰鍒涘缓锛坱est0102, PID 16锛? - 鉁?娴嬭瘯鏁版嵁褰曞叆鎴愬姛
|
||
|
||
2. **REDCap鎶€鏈<E282AC>皟鐮?*锛? - 鉁?婧愮爜鍒嗘瀽锛坄redcap15.8.0/`锛? - 鉁?External Module鏂囨。鐮旂┒锛坄redcap_external_module_framework_docs_main/`锛? - 鉁?楠岃瘉DET鍔熻兘鐪熷疄瀛樺湪锛坄Classes/DataEntry.php`锛? - 鉁?纭<><E7BAAD>REST API鍙<49>敤鎬?
|
||
3. **瀵规帴鏂规<E98F82>纭<EFBFBD>畾**锛? - 鉁?鎶€鏈<E282AC>€夊瀷锛?*DET + REST API**锛堜笉浣跨敤External Module锛? - 鉁?鏋舵瀯璁捐<E79281>锛氬疄鏃惰Е鍙戯紙DET锛?+ 杞<><E69D9E>琛ュ厖锛堟瘡30鍒嗛挓锛? - 鉁?瀹炴椂鎬т繚璇侊細0绉掑欢杩熻Е鍙?+ 5绉掑唴瀹屾垚璐ㄦ帶
|
||
- 鉁?鍙<>潬鎬т繚璇侊細Webhook骞傜瓑鎬?+ 杞<><E69D9E>琛ュ厖鏈哄埗
|
||
|
||
4. **鎶€鏈<E282AC>柟妗堟枃妗g紪鍐?*锛? - 鉁?鍒涘缓銆奟EDCap瀵规帴鎶€鏈<E282AC>柟妗堜笌瀹炴柦鎸囧崡銆嬶紙1070琛岋級
|
||
- 鉁?瀹屾暣浠g爜璁捐<E79281>锛圧edcapAdapter銆乄ebhookController銆丼yncManager锛? - 鉁?璇︾粏瀹炴柦姝ラ<E5A79D>锛圖ay 2娓呭崟锛? - 鉁?娴嬭瘯楠岃瘉鏂规<E98F82>
|
||
|
||
5. **REDCap鏂囨。浣撶郴寤虹珛**锛? - 鉁?鍒涘缓REDCap妯″潡鏂囨。缁撴瀯
|
||
- 鉁?缂栧啓銆奟EDCap Docker閮ㄧ讲鎿嶄綔鎵嬪唽銆? - 鉁?缂栧啓銆婇儴缃查棶棰樻帓鏌ユ墜鍐屻€? - 鉁?鏁寸悊鍙傝€冭祫鏂欏拰鏈€浣冲疄璺?
|
||
**鍏抽敭鎴愭灉**锛?- 馃帀 REDCap鏈<70>湴鐜<E6B9B4><E9909C>杩愯<E69DA9>绋冲畾
|
||
- 馃帀 DET鍔熻兘楠岃瘉鎴愬姛锛圧EDCap鍘熺敓鏀<E69593>寔锛?- 馃帀 瀵规帴鏂规<E98F82>鎶€鏈<E282AC>彲琛屾€?00%纭<><E7BAAD>
|
||
- 馃帀 瀹屾暣瀹炴柦鎸囧崡宸茬紪鍐欙紙鍙<E7B499>洿鎺ュ紑鍙戯級
|
||
|
||
**鎶€鏈<E282AC>寒鐐?*锛?1. **DET瀹炴椂瑙﹀彂**锛?绉掑欢杩燂紝婊¤冻瀹炴椂璐ㄦ帶闇€姹?2. **鍙屼繚闄╂満鍒?*锛歐ebhook + 杞<><E69D9E>锛岀‘淇濇暟鎹<E69A9F>笉涓㈠け
|
||
3. **闆朵镜鍏ユ€?*锛氭棤闇€淇<E282AC>敼REDCap婧愮爜锛屽彧鐢ㄥ師鐢烝PI
|
||
4. **鐢熶骇绾ф灦鏋?*锛氬紑鍙戠幆澧冧笌鐢熶骇鐜<E9AA87><E9909C>閰嶇疆涓€鑷?
|
||
**楠屾敹鏍囧噯**锛?- 鉁?REDCap鍙<70>€氳繃娴忚<E5A8B4>鍣ㄨ<E98DA3>闂?- 鉁?Admin璐︽埛鐧诲綍鎴愬姛
|
||
- 鉁?娴嬭瘯椤圭洰鍙<E6B4B0><E98D99>甯镐娇鐢?- 鉁?DET鍔熻兘鍦ㄦ簮鐮佷腑纭<E88591><E7BAAD>瀛樺湪
|
||
- 鉁?REST API绔<49>偣鍙<E581A3><E98D99>闂?- 鉁?鎶€鏈<E282AC>柟妗堟枃妗e畬鏁?- 鉁?浠g爜璁捐<E79281>鍙<EFBFBD>洿鎺ュ疄鐜?
|
||
---
|
||
|
||
### 2026-01-01锛欴ay 1瀹屾垚 - 鐜<><E9909C>鍒濆<E98D92>鍖?鉁?
|
||
**瀹屾垚鍐呭<E98D90>**锛?1. **鏁版嵁搴撳垵濮嬪寲**锛? - 鉁?鍒涘缓 `iit_schema`
|
||
- 鉁?缂栧啓 Prisma Schema锛?涓<>〃锛? - 鉁?鍚屾<E98D9A>鏁版嵁搴擄紙`npx prisma db push`锛? - 鉁?鐢熸垚 Prisma Client
|
||
- 鉁?楠岃瘉CRUD鎿嶄綔锛?1/11娴嬭瘯閫氳繃锛?
|
||
2. **浼佷笟寰<E7AC9F>俊鍒濆<E98D92>鍖?*锛? - 鉁?娉ㄥ唽浼佷笟寰<E7AC9F>俊寮€鍙戣€呰处鍙? - 鉁?鍒涘缓鑷<E7BC93>缓搴旂敤
|
||
- 鉁?鑾峰彇骞堕厤缃<E58EA4>嚟璇侊紙CorpID銆丄gentID銆丼ecret锛? - 鉁?娴嬭瘯Access Token鑾峰彇鎴愬姛
|
||
- 鉁?**鑾峰彇缃戦〉鎺堟潈鍙奐S-SDK鎺堟潈**
|
||
- 鉁?**閰嶇疆鍙<E79686>俊鍩熷悕锛坕it.xunzhengyixue.com锛?*
|
||
|
||
3. **椤圭洰鍒濆<E98D92>鍖?*锛? - 鉁?鍒涘缓妯″潡鐩<E6BDA1>綍缁撴瀯
|
||
- 鉁?閰嶇疆璺<E79686>敱鍓嶇紑锛坄/api/v1/iit`锛? - 鉁?鍒涘缓鍩虹<E98DA9>绫诲瀷瀹氫箟锛?23琛岋級
|
||
|
||
4. **鍓嶇<E98D93>閮ㄧ讲**锛? - 鉁?鍓嶇<E98D93>v1.2閮ㄧ讲鎴愬姛
|
||
- 鉁?浼佷笟寰<E7AC9F>俊鍩熷悕楠岃瘉鏂囦欢閮ㄧ讲
|
||
- 鉁?瑙e喅Windows鎹㈣<E98EB9>绗﹂棶棰橈紙CRLF鈫扡F锛?
|
||
**鍏抽敭鎴愭灉**锛?- 馃帀 IIT Manager Agent妯″潡姝e紡鍚<E7B4A1>姩
|
||
- 馃帀 浼佷笟寰<E7AC9F>俊闆嗘垚鍩虹<E98DA9>瀹屾垚
|
||
- 馃帀 缃戦〉鎺堟潈鍙奐S-SDK鎺堟潈宸茶幏鍙?- 馃帀 鍙<>俊鍩熷悕閰嶇疆鎴愬姛
|
||
|
||
**楠屾敹鏍囧噯**锛?- 鉁?5涓<35>〃鍏ㄩ儴鍒涘缓鎴愬姛
|
||
- 鉁?Prisma Client鍙<74><E98D99>甯稿<E794AF>鍏?- 鉁?娴嬭瘯鑴氭湰鑳芥墽琛孋RUD
|
||
- 鉁?浼佸井璐﹀彿娉ㄥ唽鎴愬姛
|
||
- 鉁?鑳芥垚鍔熻幏鍙朅ccess Token
|
||
- 鉁?鐩<>綍缁撴瀯瀹屾暣
|
||
- 鉁?绫诲瀷瀹氫箟瀹屾暣
|
||
|
||
---
|
||
|
||
## 馃搧 浜斻€佷唬鐮佹枃浠舵竻鍗?
|
||
### 5.1 鍚庣<E98D9A>浠g爜
|
||
|
||
**Prisma Schema**锛?```
|
||
backend/prisma/schema.prisma
|
||
- IIT Manager Schema锛?涓<>〃瀹氫箟锛?- 浣嶄簬鏂囦欢鏈<E6ACA2>熬
|
||
- 鍖呭惈澶栭敭鍏崇郴鍜岀储寮?```
|
||
|
||
**妯″潡浠g爜**锛?```
|
||
backend/src/modules/iit-manager/
|
||
鈹溾攢鈹€ index.ts 鉁?82琛岋紙妯″潡娉ㄥ唽锛?鈹溾攢鈹€ types/index.ts 鉁?223琛岋紙绫诲瀷瀹氫箟锛?鈹溾攢鈹€ routes/index.ts 鉁?23琛岋紙璺<E7B499>敱楠ㄦ灦锛?鈹溾攢鈹€ test-iit-database.ts 鉁?111琛岋紙鏁版嵁搴撴祴璇曪級
|
||
鈹斺攢鈹€ test-wechat-push.ts 鉁?138琛岋紙浼佸井娴嬭瘯锛?```
|
||
|
||
**浠g爜缁熻<E7BC81>**锛?- **宸插畬鎴愪唬鐮?*锛?77琛?- **娴嬭瘯鑴氭湰**锛?49琛?- **鎬昏<E98EAC>**锛?26琛?
|
||
### 5.2 鍓嶇<E98D93>浠g爜
|
||
|
||
**鍩熷悕楠岃瘉鏂囦欢**锛?```
|
||
frontend-v2/public/WW_verify_YnhsQBwI0ARnNoG0.txt
|
||
- 浼佷笟寰<E7AC9F>俊鍩熷悕楠岃瘉鏂囦欢
|
||
- 宸查儴缃插埌SAE锛堝墠绔痸1.2锛?```
|
||
|
||
**寰<>俊灏忕▼搴?*锛?- 鈴?鏈<>紑濮?
|
||
---
|
||
|
||
## 馃攽 鍏<>€佸叧閿<E58FA7>厤缃<E58EA4>俊鎭?
|
||
### 6.1 浼佷笟寰<E7AC9F>俊閰嶇疆
|
||
|
||
**搴旂敤鍑<E695A4>瘉**锛?- **CorpID**锛歚ww6ab493470ab4f377`
|
||
- **AgentID**锛歚1000002`
|
||
- **Secret**锛歚AZIVxMtoLb0rEszXS81e4dBRl-I9kgTjygIS0cFfENU`
|
||
- **搴旂敤鍚嶇О**锛歚IIT Manager Agent`
|
||
|
||
**鍥炶皟閰嶇疆**锛堝凡楠岃瘉锛夛細
|
||
- **Token**锛歚oXlRBm1YnvMy2SbDLbvAdDd5Gq3oBGq`
|
||
- **EncodingAESKey**锛歚v88eT3O9bMW897h4btr7v7qvQImlMf31edTQCmuhOhO`
|
||
- **鍥炶皟URL**锛歚https://iit.nat100.top/api/v1/iit/wechat/callback`锛堣皟璇曞伐鍏烽獙璇侀€氳繃 鉁咃級
|
||
|
||
**鎺堟潈閰嶇疆**锛?- **缃戦〉鎺堟潈鍩熷悕**锛歚iit.xunzhengyixue.com`
|
||
- **JS-SDK瀹夊叏鍩熷悕**锛歚iit.xunzhengyixue.com`
|
||
- **楠岃瘉鏂囦欢**锛歚WW_verify_YnhsQBwI0ARnNoG0.txt`
|
||
- **楠岃瘉鏂囦欢鍐呭<E98D90>**锛歚YnhsQBwI0ARnNoG0`
|
||
|
||
**API绔<49>偣**锛?- **鑾峰彇Access Token**锛歚https://qyapi.weixin.qq.com/cgi-bin/gettoken`
|
||
- **鍙戦€佹秷鎭?*锛歚https://qyapi.weixin.qq.com/cgi-bin/message/send`
|
||
|
||
### 6.2 REDCap閰嶇疆
|
||
|
||
**鏈<>湴寮€鍙戠幆澧?*锛?- **REDCap鐗堟湰**锛?5.8.0
|
||
- **璁块棶鍦板潃**锛歚http://localhost:8080`
|
||
- **Admin璐︽埛**锛歚Admin` / `Xilu,881009`
|
||
- **閮ㄧ讲鏂瑰紡**锛欴ocker Compose锛?瀹瑰櫒锛欰pache+PHP+REDCap銆丮ySQL銆乸hpMyAdmin锛?- **Docker椤圭洰璺<E6B4B0>緞**锛歚AIclinicalresearch/redcap-docker-dev/`
|
||
- **閮ㄧ讲鐘舵€?*锛氣渽 杩愯<E69DA9>涓?
|
||
**娴嬭瘯椤圭洰淇℃伅**锛?- **椤圭洰鍚嶇О**锛歵est0102
|
||
- **Project ID (PID)**锛?6
|
||
- **椤圭洰鐘舵€?*锛氬凡鍒涘缓锛屽凡褰曞叆娴嬭瘯鏁版嵁
|
||
- **API Token**锛氬緟鐢熸垚锛圖ay 2绗<32>竴姝ワ級
|
||
|
||
**REDCap瀵规帴鏂规<E98F82>**锛?- **鎶€鏈<E282AC>柟妗?*锛欴ata Entry Trigger (DET) + REST API
|
||
- **瀹炴椂瑙﹀彂**锛欴ET Webhook 鈫?Node.js鎺ユ敹鍣?鈫?寮傛<E5AFAE>澶勭悊
|
||
- **鏁版嵁鎷夊彇**锛歊EST API exportRecords锛堟敮鎸佸<E98EB8>閲忓悓姝ワ級
|
||
- **鏁版嵁鍥炲啓**锛歊EST API importRecords锛圥hase 2锛?- **杞<><E69D9E>琛ュ厖**锛歱g-boss瀹氭椂浠诲姟锛堟瘡30鍒嗛挓锛岄槻姝<E6A7BB>ET閬楁紡锛?- **鏂规<E98F82>鏂囨。**锛歚docs/03-涓氬姟妯″潡/IIT Manager Agent/04-寮€鍙戣<E98D99>鍒?REDCap瀵规帴鎶€鏈<E282AC>柟妗堜笌瀹炴柦鎸囧崡.md`
|
||
|
||
**DET閰嶇疆**锛堝緟鎵ц<E98EB5>锛夛細
|
||
- **Control Center鍚<72>敤**锛氬緟鍚<E7B79F>敤
|
||
- **Webhook URL**锛歚http://localhost:3001/api/v1/iit/webhooks/redcap`锛堝紑鍙戠幆澧冿級
|
||
- **鐢熶骇URL**锛歚https://iit.xunzhengyixue.com/api/v1/iit/webhooks/redcap`
|
||
|
||
### 6.3 鏁版嵁搴撻厤缃?
|
||
**鏁版嵁搴撹繛鎺?*锛?```
|
||
postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research
|
||
```
|
||
|
||
**Schema**锛歚iit_schema`
|
||
|
||
---
|
||
|
||
## 馃摑 涓冦€佹祴璇曡剼鏈?
|
||
### 7.1 鏁版嵁搴撴祴璇?
|
||
**鏂囦欢浣嶇疆**锛歚backend/src/modules/iit-manager/test-iit-database.ts`
|
||
|
||
**娴嬭瘯鍐呭<E98D90>**锛?1. 鉁?IitProject CRUD鎿嶄綔
|
||
2. 鉁?IitPendingAction CRUD鎿嶄綔
|
||
3. 鉁?IitTaskRun CRUD鎿嶄綔
|
||
4. 鉁?IitUserMapping CRUD鎿嶄綔
|
||
5. 鉁?IitAuditLog CRUD鎿嶄綔
|
||
|
||
**杩愯<E69DA9>鏂瑰紡**锛?```bash
|
||
cd backend
|
||
npx ts-node src/modules/iit-manager/test-iit-database.ts
|
||
```
|
||
|
||
**娴嬭瘯缁撴灉**锛氣渽 11/11娴嬭瘯閫氳繃
|
||
|
||
### 7.2 浼佷笟寰<E7AC9F>俊娴嬭瘯
|
||
|
||
**鏂囦欢浣嶇疆**锛歚backend/src/modules/iit-manager/test-wechat-push.ts`
|
||
|
||
**娴嬭瘯鍐呭<E98D90>**锛?1. 鉁?Access Token鑾峰彇
|
||
2. 鈴?鏂囨湰娑堟伅鍙戦€侊紙寰呮祴璇曪級
|
||
3. 鈴?鍗$墖娑堟伅鍙戦€侊紙寰呮祴璇曪級
|
||
|
||
**杩愯<E69DA9>鏂瑰紡**锛?```bash
|
||
cd backend
|
||
npx ts-node src/modules/iit-manager/test-wechat-push.ts
|
||
```
|
||
|
||
**娴嬭瘯缁撴灉**锛氣渽 Access Token鑾峰彇鎴愬姛
|
||
|
||
---
|
||
|
||
## 馃幆 鍏<>€佷笅涓€姝ュ伐浣滐紙Day 2锛?
|
||
### 8.1 Day 2鎬讳綋鐩<E7B68B>爣
|
||
|
||
**鏍稿績鐩<E7B8BE>爣**锛氬疄鐜癛EDCap鏁版嵁鐨勫疄鏃舵媺鍙栬兘鍔?
|
||
**浜や粯鐗?*锛?- 鉁?REDCap API Adapter锛坄RedcapAdapter.ts`锛?- 鉁?Webhook鎺ユ敹鍣<E695B9>紙`WebhookController.ts`锛?- 鉁?鏁版嵁鍚屾<E98D9A>绠$悊锛坄SyncManager.ts`锛?- 鉁?瀹屾暣娴嬭瘯锛堝崟鍏冩祴璇?+ 闆嗘垚娴嬭瘯锛?
|
||
**棰勮<E6A3B0>宸ヤ綔閲?*锛?-8灏忔椂锛堝畬鏁村伐浣滄棩锛?
|
||
---
|
||
|
||
### 8.2 闃舵<E99783>1锛氱幆澧冨噯澶囷紙30鍒嗛挓锛?
|
||
**REDCap閰嶇疆**锛?- [ ] 鍦–ontrol Center鍚<72>敤DET鍔熻兘
|
||
- [ ] 鍦╰est0102椤圭洰鐢熸垚API Token
|
||
- [ ] 閰嶇疆鐜<E79686><E9909C>鍙橀噺锛? ```env
|
||
REDCAP_BASE_URL=http://localhost:8080
|
||
REDCAP_API_TOKEN_TEST=YOUR_TOKEN_HERE
|
||
```
|
||
- [ ] 浣跨敤curl娴嬭瘯API鏄<49>惁鍙<E68381>敤
|
||
|
||
**娴嬭瘯宸ュ叿鍑嗗<E98D91>**锛?- [ ] 瀹夎<E780B9>ngrok锛堢敤浜嶥ET娴嬭瘯锛?- [ ] 鍑嗗<E98D91>Postman Collection锛圓PI璋冭瘯锛?- [ ] 鍑嗗<E98D91>娴嬭瘯鏁版嵁锛堝湪REDCap涓<70>綍鍏ュ嚑鏉¤<E98F89>褰曪級
|
||
|
||
---
|
||
|
||
### 8.3 闃舵<E99783>2锛歊edcapAdapter寮€鍙戯紙1.5灏忔椂锛?
|
||
**鏂囦欢浣嶇疆**锛歚backend/src/modules/iit-manager/adapters/RedcapAdapter.ts`
|
||
|
||
**浠诲姟娓呭崟**锛?- [ ] 鍒涘缓RedcapAdapter绫?- [ ] 瀹炵幇 `exportRecords()` 鏂规硶锛堟敮鎸佸<E98EB8>閲忓悓姝ワ級
|
||
- [ ] 瀹炵幇 `exportMetadata()` 鏂规硶锛堣幏鍙栧瓧娈靛畾涔夛級
|
||
- [ ] 瀹炵幇 `importRecords()` 鏂规硶锛圥hase 2浣跨敤锛?- [ ] 瀹炵幇 `formatRedcapDate()` 宸ュ叿鏂规硶
|
||
- [ ] 閰嶇疆axios瓒呮椂鍜岄噸璇?- [ ] 缂栧啓鍗曞厓娴嬭瘯锛歚RedcapAdapter.test.ts`
|
||
|
||
**楠屾敹鏍囧噯**锛?- 鉁?鍙<>互鎷夊彇test0102鐨勬墍鏈夎<E98F88>褰?- 鉁?鍙<>互鎷夊彇鎸囧畾record_id鐨勮<E990A8>褰?- 鉁?鍙<>互浣跨敤dateRangeBegin澧為噺鎷夊彇
|
||
- 鉁?鍙<>互鑾峰彇鍏冩暟鎹<E69A9F>紙瀛楁<E7809B>瀹氫箟锛?- 鉁?鍗曞厓娴嬭瘯鍏ㄩ儴閫氳繃
|
||
|
||
---
|
||
|
||
### 8.4 闃舵<E99783>3锛歐ebhookController寮€鍙戯紙2灏忔椂锛?
|
||
**鏂囦欢浣嶇疆**锛歚backend/src/modules/iit-manager/controllers/webhookController.ts`
|
||
|
||
**浠诲姟娓呭崟**锛?- [ ] 鍒涘缓WebhookController绫?- [ ] 瀹炵幇 `handleRedcapWebhook()` 鏂规硶锛堝搷搴旀椂闂?100ms锛?- [ ] 瀹炵幇 `processWebhook()` 寮傛<E5AFAE>澶勭悊鏂规硶
|
||
- [ ] 瀹炵幇 `checkDuplicate()` 骞傜瓑鎬ф<E98EAC>鏌?- [ ] 閰嶇疆璺<E79686>敱锛歚POST /api/v1/iit/webhooks/redcap`
|
||
- [ ] 璁板綍瀹¤<E780B9>鏃ュ織
|
||
- [ ] 鎺ㄩ€佸埌璐ㄦ帶闃熷垪锛坄iit:quality-check`锛?
|
||
**楠屾敹鏍囧噯**锛?- 鉁?Webhook鍙<6B>互鎺ユ敹POST璇锋眰
|
||
- 鉁?绔嬪嵆杩斿洖200 OK锛?100ms锛?- 鉁?寮傛<E5AFAE>澶勭悊涓嶉樆濉炲搷搴?- 鉁?5鍒嗛挓鍐呯浉鍚岃<E98D9A>褰曚笉閲嶅<E996B2>澶勭悊
|
||
- 鉁?鎴愬姛璋冪敤RedcapAdapter鎷夊彇鏁版嵁
|
||
- 鉁?鏁版嵁鎺ㄩ€佸埌pg-boss闃熷垪
|
||
|
||
---
|
||
|
||
### 8.5 闃舵<E99783>4锛歋yncManager寮€鍙戯紙1.5灏忔椂锛?
|
||
**鏂囦欢浣嶇疆**锛歚backend/src/modules/iit-manager/services/SyncManager.ts`
|
||
|
||
**浠诲姟娓呭崟**锛?- [ ] 鍒涘缓SyncManager绫?- [ ] 瀹炵幇 `initializeSync()` 鏂规硶锛堟敞鍐屽畾鏃朵换鍔★級
|
||
- [ ] 瀹炵幇 `handlePoll()` 鏂规硶锛堣疆璇㈤€昏緫锛?- [ ] 瀹炵幇 `stopSync()` 鏂规硶锛堝仠姝㈠悓姝ワ級
|
||
- [ ] 娉ㄥ唽pg-boss Worker锛歚iit:redcap:poll`
|
||
- [ ] 澧為噺鎷夊彇閫昏緫锛堜娇鐢╨astSyncAt锛?- [ ] 鏇存柊椤圭洰lastSyncAt瀛楁<E7809B>
|
||
|
||
**楠屾敹鏍囧噯**锛?- 鉁?鍙<>互鎵嬪姩瑙﹀彂涓€娆¤疆璇?- 鉁?瀹氭椂浠诲姟鍙<E5A79F>互鑷<E4BA92>姩鎵ц<E98EB5>锛堟瘡30鍒嗛挓锛?- 鉁?澧為噺鎷夊彇姝g‘锛堝彧鎷夊彇鏂版暟鎹<E69A9F>級
|
||
- 鉁?lastSyncAt姝g‘鏇存柊
|
||
- 鉁?鏁版嵁鎺ㄩ€佸埌璐ㄦ帶闃熷垪
|
||
|
||
---
|
||
|
||
### 8.6 闃舵<E99783>5锛氶泦鎴愭祴璇曪紙1灏忔椂锛?
|
||
**娴嬭瘯鍐呭<E98D90>**锛?1. **DET閰嶇疆楠岃瘉**锛? - [ ] 鍦≧EDCap涓<70>厤缃瓺ET URL
|
||
- [ ] 浣跨敤ngrok娴嬭瘯Webhook
|
||
- [ ] 楠岃瘉Payload鏍煎紡
|
||
|
||
2. **API娴嬭瘯**锛? - [ ] 杩愯<E69DA9> `test-redcap-api.ts`
|
||
- [ ] 楠岃瘉exportRecords姝e父
|
||
- [ ] 楠岃瘉exportMetadata姝e父
|
||
|
||
3. **绔<>埌绔<E59F8C>祴璇?*锛? - [ ] 鍦≧EDCap淇濆瓨涓€鏉¤<E98F89>褰? - [ ] 楠岃瘉Webhook琚<6B>Е鍙? - [ ] 楠岃瘉鏁版嵁琚<E5B581>媺鍙? - [ ] 楠岃瘉鏁版嵁鎺ㄩ€佸埌闃熷垪
|
||
- [ ] 楠岃瘉瀹¤<E780B9>鏃ュ織璁板綍
|
||
|
||
4. **杞<><E69D9E>娴嬭瘯**锛? - [ ] 鎵嬪姩瑙﹀彂杞<E5BD82><E69D9E>
|
||
- [ ] 楠岃瘉澧為噺鎷夊彇
|
||
- [ ] 楠岃瘉lastSyncAt鏇存柊
|
||
|
||
**楠屾敹鏍囧噯**锛?- 鉁?DET瀹炴椂瑙﹀彂姝e父
|
||
- 鉁?API鎷夊彇鏁版嵁姝e父
|
||
- 鉁?杞<><E69D9E>琛ュ厖鏈哄埗姝e父
|
||
- 鉁?绔<>埌绔<E59F8C>祦绋嬬晠閫?- 鉁?鎵€鏈夋祴璇曢€氳繃
|
||
|
||
---
|
||
|
||
### 8.7 闃舵<E99783>6锛氭枃妗f洿鏂帮紙30鍒嗛挓锛?
|
||
**鏇存柊鍐呭<E98D90>**锛?- [ ] 鏇存柊MVP寮€鍙戜换鍔℃竻鍗曪紙Day 2鏍囪<E98F8D>涓哄畬鎴愶級
|
||
- [ ] 璁板綍API Token鍜岄厤缃<E58EA4>俊鎭?- [ ] 鏇存柊妯″潡褰撳墠鐘舵€佹枃妗?- [ ] 鏇存柊鏋舵瀯鍥?- [ ] 鎻愪氦Git锛堥伒寰狦it鎻愪氦瑙勮寖锛?
|
||
---
|
||
|
||
### 8.8 鍏抽敭娉ㄦ剰浜嬮」
|
||
|
||
**鎬ц兘瑕佹眰**锛?- 鈿狅笍 Webhook鍝嶅簲鏃堕棿蹇呴』<100ms
|
||
- 鈿狅笍 浣跨敤`setImmediate()`寮傛<EFBFBD>澶勭悊锛屼笉闃诲<EFBFBD>鍝嶅簲
|
||
|
||
**瀹夊叏瑕佹眰**锛?- 鈿狅笍 API Token瀛樺偍鍦ㄧ幆澧冨彉閲?- 鈿狅笍 涓嶈<E6B693>鍦ㄦ棩蹇椾腑鎵撳嵃瀹屾暣Token
|
||
- 鈿狅笍 涓嶈<E6B693>鎻愪氦Token鍒癎it
|
||
|
||
**鍙<>潬鎬ц<E98EAC>姹?*锛?- 鈿狅笍 瀹炵幇骞傜瓑鎬ф<E98EAC>鏌ワ紙闃叉<E99783>閲嶅<E996B2>澶勭悊锛?- 鈿狅笍 瀹炵幇杞<E5B987><E69D9E>琛ュ厖锛堥槻姝<E6A7BB>ET閬楁紡锛?- 鈿狅笍 璁板綍璇︾粏鏃ュ織锛堜究浜庢帓鏌ラ棶棰橈級
|
||
|
||
**鎶€鏈<E282AC>弬鑰?*锛?- 馃摉 [REDCap瀵规帴鎶€鏈<EFBFBD>柟妗堜笌瀹炴柦鎸囧崡](./04-寮€鍙戣<E98D99>鍒?REDCap瀵规帴鎶€鏈<E282AC>柟妗堜笌瀹炴柦鎸囧崡.md)
|
||
- 馃摉 [REDCap浜屾<E6B59C>寮€鍙戞繁搴︽寚鍗梋(../../Redcap/03-API瀵规帴涓庡紑鍙?33-REDCap浜屾<E6B59C>寮€鍙戞繁搴︽寚鍗?md)
|
||
- 馃摉 [REDCap Docker閮ㄧ讲鎿嶄綔鎵嬪唽](../../Redcap/01-閮ㄧ讲涓庨厤缃?10-REDCap_Docker閮ㄧ讲鎿嶄綔鎵嬪唽.md)
|
||
|
||
---
|
||
|
||
## 馃摎 涔濄€佺浉鍏虫枃妗g储寮?
|
||
### 9.1 鎶€鏈<E282AC><E98F88>璁℃枃妗?
|
||
- [IIT Manager Agent 瀹屾暣鎶€鏈<E282AC>紑鍙戞柟妗?(V1.1)](./02-鎶€鏈<E282AC><E98F88>璁?IIT%20Manager%20Agent%20瀹屾暣鎶€鏈<E282AC>紑鍙戞柟妗?20(V1.1).md) - 瀹屾暣鎶€鏈<E282AC>柟妗?- [IIT Manager Agent 鎶€鏈<E282AC>灦鏋勭櫧鐨<E6ABA7>功](./00-绯荤粺璁捐<E79281>/IIT%20Manager%20Agent%20鎶€鏈<E282AC>灦鏋勭櫧鐨<E6ABA7>功.md) - 鏋舵瀯璁捐<E79281>
|
||
- [IIT Manager Agent V4 瀹屾暣浜у搧闇€姹傛枃妗<E69E83>(./00-绯荤粺璁捐<E79281>/IIT%20Manager%20Agent%20V4%20瀹屾暣浜у搧闇€姹傛枃妗?md) - 浜у搧闇€姹?- [EDC 閫傞厤鍣?(REDCap) 鎶€鏈<E282AC><E98F88>缁嗚<E7BC81>璁?(V1.0)](./02-鎶€鏈<E282AC><E98F88>璁?鏂囨。%20B锛欵DC%20閫傞厤鍣?20(REDCap)%20鎶€鏈<E282AC><E98F88>缁嗚<E7BC81>璁?20(V1.0).md) - REDCap閫傞厤鍣ㄨ<E98DA3>璁?
|
||
### 9.2 寮€鍙戣<E98D99>鍒掓枃妗?
|
||
- [MVP寮€鍙戜换鍔℃竻鍗昡(./04-寮€鍙戣<E98D99>鍒?MVP寮€鍙戜换鍔℃竻鍗?md) - 璇︾粏浠诲姟娓呭崟
|
||
- [浼佷笟寰<EFBFBD>俊娉ㄥ唽鎸囧崡](./04-寮€鍙戣<E98D99>鍒?浼佷笟寰<E7AC9F>俊娉ㄥ唽鎸囧崡.md) - 浼佷笟寰<E7AC9F>俊閰嶇疆
|
||
- 猸?[REDCap瀵规帴鎶€鏈<EFBFBD>柟妗堜笌瀹炴柦鎸囧崡](./04-寮€鍙戣<E98D99>鍒?REDCap瀵规帴鎶€鏈<E282AC>柟妗堜笌瀹炴柦鎸囧崡.md) - REDCap闆嗘垚瀹屾暣鏂规<E98F82>锛圖ay 2鏍稿績鍙傝€冿級
|
||
|
||
### 9.3 REDCap鐩稿叧鏂囨。
|
||
|
||
- [REDCap妯″潡鏂囨。瀵艰埅](../../Redcap/00-妯″潡姒傝<E5A792>/00-REDCap妯″潡鏂囨。瀵艰埅.md) - REDCap鏂囨。鎬昏<E98EAC>
|
||
- [REDCap Docker閮ㄧ讲鎿嶄綔鎵嬪唽](../../Redcap/01-閮ㄧ讲涓庨厤缃?10-REDCap_Docker閮ㄧ讲鎿嶄綔鎵嬪唽.md) - Docker閮ㄧ讲鎸囧崡
|
||
- [REDCap浜屾<EFBFBD>寮€鍙戞繁搴︽寚鍗梋(../../Redcap/03-API瀵规帴涓庡紑鍙?33-REDCap浜屾<E6B59C>寮€鍙戞繁搴︽寚鍗?md) - 浜屾<E6B59C>寮€鍙戝弬鑰?- [閮ㄧ讲闂<E8AEB2><E99782>鎺掓煡鎵嬪唽](../../Redcap/01-閮ㄧ讲涓庨厤缃?13-閮ㄧ讲闂<E8AEB2><E99782>鎺掓煡鎵嬪唽.md) - 甯歌<E794AF>闂<EFBFBD><E99782>瑙e喅
|
||
|
||
### 9.4 寮€鍙戣<E98D99>褰曟枃妗?
|
||
- [V1.1鏇存柊瀹屾垚鎶ュ憡](./06-寮€鍙戣<E98D99>褰?V1.1鏇存柊瀹屾垚鎶ュ憡.md) - 鎶€鏈<E282AC>柟妗堟洿鏂拌<E98F82>褰?
|
||
---
|
||
|
||
## 馃攧 鍗併€佹洿鏂版棩蹇?
|
||
### 2026-01-04锛欴ify鐭ヨ瘑搴撻泦鎴愬畬鎴?- 娣峰悎妫€绱㈠疄鐜?鉁?
|
||
**瀹屾垚鍐呭<E98D90>**锛?- 鉁?**Dify鐭ヨ瘑搴撳垱寤?*锛圖ify_test0102锛?涓<>枃妗e凡澶勭悊锛?- 鉁?**椤圭洰鍏宠仈閰嶇疆**锛坱est0102 鈫?Dataset ID: b49595b2-bf71-4e47-9988-4aa2816d3c6f锛?- 鉁?**鎰忓浘璇嗗埆鎵╁睍**锛堟柊澧瀜uery_protocol鎰忓浘锛屾墿鍏呭尰瀛﹀叧閿<E58FA7>瘝锛?- 鉁?**Dify鏌ヨ<E98F8C>闆嗘垚**锛坬ueryDifyKnowledge鏂规硶锛孴op 5璇<35>箟妫€绱<E282AC>級
|
||
- 鉁?**娣峰悎妫€绱㈠疄鐜?*锛堝悓鏃舵敮鎸丷EDCap鏁版嵁 + Dify鏂囨。锛?- 鉁?**鏅鸿兘璺<E58598>敱**锛堟牴鎹<E789B4>剰鍥捐嚜鍔ㄩ€夋嫨鏁版嵁婧愶級
|
||
- 鉁?**Bug淇<67><E6B787>**锛圖ify API瀛楁<E7809B>璺<EFBFBD>緞閿欒<E996BF>锛歳ecord.segment.document.name锛?- 鉁?**璋冭瘯宸ュ叿寮€鍙?*锛坉ebug-dify-injection.ts銆乮nspect-dify-response.ts锛?- 鉁?**绔<>埌绔<E59F8C>祴璇?*锛?涓<>満鏅<E6BA80>叏閮ㄩ€氳繃锛?- 鉁?**寮€鍙戣<E98D99>褰曟枃妗?*锛?00+琛屽畬鏁磋<E98F81>褰曪級
|
||
|
||
**鍏抽敭鎴愭灉**锛?- 馃帀 **娣峰悎妫€绱㈡灦鏋勫疄鐜?*锛堢粨鏋勫寲鏁版嵁 + 闈炵粨鏋勫寲鏂囨。锛?- 馃帀 **AI鍥炵瓟瀹屽叏鍩轰簬鐪熷疄鏁版嵁/鏂囨。**锛堥槻姝㈠够瑙夛級
|
||
- 馃帀 **鏅鸿兘璺<E58598>敱鏈哄埗**锛堟牴鎹<E789B4>棶棰樿嚜鍔ㄩ€夋嫨鏁版嵁婧愶級
|
||
- 馃帀 **瀹屾暣鎺掓煡娴佺▼璁板綍**锛堜粠闂<E7B2A0><E99782>鍙戠幇鍒版牴鍥犱慨澶嶏級
|
||
|
||
**鎶€鏈<E282AC>寒鐐?*锛?1. **鍗曢」鐩<E3808D>崟鐭ヨ瘑搴撴灦鏋?*锛圡VP蹇<50>€熻惤鍦版柟妗堬級
|
||
2. **璇<>箟妫€绱?*锛圖ify semantic_search, Top 5锛?3. **鏁版嵁娉ㄥ叆LLM**锛堟牸寮忓寲鏂囨。鐗囨<E99097>娉ㄥ叆System Prompt锛?4. **瀹屾暣璋冭瘯閾捐矾**锛堜粠鎰忓浘璇嗗埆 鈫?Dify璋冪敤 鈫?LLM娉ㄥ叆锛?5. **鍏抽敭Bug蹇<67>€熷畾浣?*锛堥€氳繃璋冭瘯鑴氭湰鍙戠幇瀛楁<E7809B>璺<EFBFBD>緞閿欒<E996BF>锛?
|
||
**娴嬭瘯楠岃瘉**锛?
|
||
| 娴嬭瘯鍦烘櫙 | 鐢ㄦ埛闂<E59F9B><E99782> | 鏁版嵁婧?| 缁撴灉 | 鍝嶅簲鏃堕棿 |
|
||
|---------|---------|--------|------|---------|
|
||
| 鏂囨。鏌ヨ<E98F8C> | "杩欎釜鐮旂┒鐨勬帓闄ゆ爣鍑嗘槸浠€涔堬紵" | Dify | 鉁?鍑嗙‘ | ~5s |
|
||
| CRF鏌ヨ<E98F8C> | "CRF琛ㄦ牸涓<E789B8>湁鍝<E6B981>簺瑙傚療鎸囨爣锛? | Dify | 鉁?鍑嗙‘ | ~5s |
|
||
| 鎮h€呮煡璇?| "ID 7鐨勬偅鑰呮儏鍐? | REDCap | 鉁?鍑嗙‘ | ~5s |
|
||
| 缁熻<E7BC81>鏌ヨ<E98F8C> | "鐩<>墠鍏ョ粍浜嗗<E6B59C>灏戜汉锛? | REDCap | 鉁?鍑嗙‘ (11浜? | ~4s |
|
||
| 娣峰悎鏌ヨ<E98F8C> | "杩欎釜鐮旂┒鐨勪富瑕佺爺绌剁洰鐨勬槸浠€涔堬紵" | Dify | 鉁?鍑嗙‘ | ~5s |
|
||
|
||
**闂<><E99782>鎺掓煡璁板綍**锛?
|
||
1. **闂<><E99782>**锛欰I缂栭€犵瓟妗堬紝涓嶆煡璇<E785A1>ify
|
||
- **鏍瑰洜1**锛氭剰鍥捐瘑鍒<E79891>叧閿<E58FA7>瘝涓嶅叏锛堢己"鍏ラ€?銆?璇婃柇鏍囧噯"绛夛級
|
||
- **瑙e喅**锛氭墿鍏呭叧閿<E58FA7>瘝姝e垯琛ㄨ揪寮? - **鏍瑰洜2**锛欴ify API瀛楁<E7809B>璺<EFBFBD>緞閿欒<E996BF>锛坮ecord.document_name 鈫?record.segment.document.name锛? - **瑙e喅**锛氫慨姝e瓧娈佃<E5A888>闂<EFBFBD>矾寰?
|
||
2. **璋冭瘯宸ュ叿**锛? - `debug-dify-injection.ts`锛氳拷韪狣ify缁撴灉鏄<EFBFBD>惁姝g‘娉ㄥ叆LLM
|
||
- `inspect-dify-response.ts`锛氭煡鐪婦ify API瀹為檯杩斿洖缁撴瀯
|
||
|
||
**鎶€鏈<E282AC>€哄姟**锛?- 鈿狅笍 Dify鏂囨。閫氳繃Web鐣岄潰鎵嬪姩涓婁紶锛圥hase 2寮€鍙慉PI鑷<49>姩涓婁紶锛?- 鈿狅笍 鍗曢」鐩<E3808D>崟鐭ヨ瘑搴擄紙Phase 2鏀<32>寔澶氱煡璇嗗簱锛?- 鈿狅笍 妫€绱㈠弬鏁板浐瀹氾紙top_k=5锛孭hase 2鏀<32>寔鍔ㄦ€佽皟浼橈級
|
||
|
||
**鍙傝€冩枃妗?*锛?- [Dify鐭ヨ瘑搴撻泦鎴愬紑鍙戣<EFBFBD>褰昡(./06-寮€鍙戣<E98D99>褰?2026-01-04-Dify鐭ヨ瘑搴撻泦鎴愬紑鍙戣<E98D99>褰?md)
|
||
- [IIT Manager Agent 鎶€鏈<E282AC>矾寰勪笌鏋舵瀯璁捐<E79281>](./02-鎶€鏈<E282AC><E98F88>璁?IIT%20Manager%20Agent%20鎶€鏈<E282AC>矾寰勪笌鏋舵瀯璁捐<E79281>.md)
|
||
|
||
**涓嬩竴姝?*锛?- 馃攧 **Phase 2**锛氬<E9949B>椤圭洰鏀<E6B4B0>寔銆佹枃妗<E69E83>PI涓婁紶銆丗unction Calling
|
||
|
||
---
|
||
|
||
### 2026-01-03锛欴ay 3瀹屾垚 - 浼佷笟寰<E7AC9F>俊闆嗘垚 + Phase 1.5 AI瀵硅瘽 鉁?
|
||
**瀹屾垚鍐呭<E98D90>**锛?- 鉁?**WechatService寮€鍙?*锛?14琛岋紝娑堟伅鎺ㄩ€佹湇鍔★級
|
||
- 鉁?**WechatCallbackController寮€鍙?*锛?01琛岋紝鍥炶皟澶勭悊 + 瀵硅瘽闆嗘垚锛?- 鉁?**璐ㄦ帶Worker瀹屽杽**锛?36琛岋紝璐ㄦ帶閫昏緫 + 浼佸井鎺ㄩ€?+ 瀹¤<E780B9>鏃ュ織锛?- 鉁?**Worker娉ㄥ唽淇<E594BD><E6B787>**锛坕nitIitManager璋冪敤锛?- 鉁?**鏁版嵁搴撳瓧娈典慨澶?*锛坅ction_type锛?- 鉁?**绔<>埌绔<E59F8C>祴璇曢€氳繃**锛圧EDCap 鈫?Node.js 鈫?浼佸井锛?2绉掞級
|
||
- 鉁?**Phase 1.5: ChatService寮€鍙?*锛?90琛岋紝AI瀵硅瘽鏈嶅姟锛?- 鉁?**SessionMemory寮€鍙?*锛?70琛岋紝涓婁笅鏂囪<E98F82>蹇嗭級
|
||
- 鉁?**REDCap鏁版嵁鏌ヨ<E98F8C>闆嗘垚**锛坬ueryRedcapRecord, countRedcapRecords锛?- 鉁?**鎰忓浘璇嗗埆瀹炵幇**锛堝叧閿<E58FA7>瘝鍖归厤锛?- 鉁?**LLM闆嗘垚**锛圖eepSeek-V3, LLMFactory澶嶇敤锛?- 鉁?**闃叉<E99783>骞昏<E9AA9E>**锛堟暟鎹<E69A9F>敞鍏<E6959E>LM锛屽熀浜庣湡瀹炴暟鎹<E69A9F>洖绛旓級
|
||
|
||
**鍏抽敭鎴愭灉**锛?- 馃帀 **MVP闂<50>幆瀹屽叏鎵撻€?*锛圧EDCap 鈫?Node.js 鈫?浼佸井 鈫?AI瀵硅瘽锛?- 馃帀 **AI鍩轰簬REDCap鐪熷疄鏁版嵁瀵硅瘽**锛堣В鍐矻LM骞昏<E9AA9E>闂<EFBFBD><E99782>锛?- 馃帀 **涓婁笅鏂囪<E98F82>蹇嗗疄鐜?*锛堟渶杩?杞<><E69D9E>璇濓級
|
||
- 馃帀 **绔<>埌绔<E59F8C>欢杩?2绉?*锛堣秴鍑洪<E98D91>鏈燂級
|
||
|
||
**鎶€鏈<E282AC>寒鐐?*锛?1. **寮傛<E5AFAE>Worker鏋舵瀯**锛堢<E9949B>鍚圥ostgres-Only鏈€浣宠寖寮忥級
|
||
2. **浼佷笟寰<E7AC9F>俊娑堟伅鍔犺В瀵?*锛堝畬鏁村疄鐜扮<E9909C>鍚嶉獙璇佸拰鍔犺В瀵嗭級
|
||
3. **寮傛<E5AFAE>鍥炲<E98DA5>妯″紡**锛坰etImmediate 纭<>繚5绉掑唴鍝嶅簲锛?4. **澶嶇敤LLMFactory**锛堥浂閰嶇疆浣跨敤DeepSeek-V3锛?5. **SessionMemory鍐呭瓨瀛樺偍**锛堟棤闇€Redis锛屽揩閫熷疄鐜帮級
|
||
|
||
**鍙傝€冩枃妗?*锛?- [Day3-浼佷笟寰<E7AC9F>俊闆嗘垚涓庣<E6B693>鍒扮<E98D92>娴嬭瘯瀹屾垚璁板綍](./06-寮€鍙戣<E98D99>褰?Day3-浼佷笟寰<E7AC9F>俊闆嗘垚涓庣<E6B693>鍒扮<E98D92>娴嬭瘯瀹屾垚璁板綍.md)
|
||
- [Phase 1.5寮€鍙戝畬鎴愯<EFBFBD>褰昡(./06-寮€鍙戣<E98D99>褰?Phase1.5-AI瀵硅瘽闆嗘垚REDCap瀹屾垚璁板綍.md)
|
||
|
||
---
|
||
|
||
### 2026-01-02锛歊EDCap鐜<70><E9909C>灏辩华 + 瀵规帴鏂规<E98F82>纭<EFBFBD>畾 鉁?
|
||
**瀹屾垚鍐呭<E98D90>**锛?- 鉁?**REDCap鏈<70>湴Docker鐜<72><E9909C>閮ㄧ讲鎴愬姛**锛?5.8.0锛?瀹瑰櫒鏋舵瀯锛?- 鉁?**REDCap閮ㄧ讲闂<E8AEB2><E99782>鎺掓煡**锛圗RR_CONTENT_DECODING_FAILED銆丆RLF姹℃煋绛夛級
|
||
- 鉁?**REDCap绠$悊鍛樼櫥褰曟垚鍔?*锛圓dmin璐︽埛楠岃瘉閫氳繃锛?- 鉁?**娴嬭瘯椤圭洰鍒涘缓**锛坱est0102, PID 16锛屽凡褰曞叆娴嬭瘯鏁版嵁锛?- 鉁?**REDCap婧愮爜鍒嗘瀽**锛堥獙璇丏ET鍔熻兘鐪熷疄瀛樺湪锛?- 鉁?**External Module鏂囨。鐮旂┒**锛堢‘璁や笉閫傜敤浜庡<E6B59C>閮ㄧ郴缁熼泦鎴愶級
|
||
- 鉁?**瀵规帴鏂规<E98F82>鎶€鏈<E282AC>€夊瀷**锛欴ET锛堝疄鏃惰Е鍙戯級 + REST API锛堟暟鎹<E69A9F><E98EB9>鍐欙級
|
||
- 鉁?**鏋舵瀯璁捐<E79281>瀹屾垚**锛氬疄鏃惰Е鍙?+ 杞<><E69D9E>琛ュ厖锛堝弻淇濋櫓鏈哄埗锛?- 鉁?**銆奟EDCap瀵规帴鎶€鏈<E282AC>柟妗堜笌瀹炴柦鎸囧崡銆嬬紪鍐?*锛?070琛屽畬鏁存枃妗o級
|
||
- 鉁?**RedcapAdapter浠g爜璁捐<E79281>**锛坋xportRecords銆乪xportMetadata銆乮mportRecords锛?- 鉁?**WebhookController浠g爜璁捐<E79281>**锛?100ms鍝嶅簲銆佸紓姝ュ<E5A79D>鐞嗐€佸箓绛夋€ф<E282AC>鏌ワ級
|
||
- 鉁?**SyncManager浠g爜璁捐<E79281>**锛堝畾鏃惰疆璇€€佸<E282AC>閲忓悓姝ワ級
|
||
- 鉁?**REDCap鏂囨。浣撶郴寤虹珛**锛堥儴缃叉墜鍐屻€侀棶棰樻帓鏌ャ€丄PI瀵规帴绛夛級
|
||
|
||
**鍏抽敭鎴愭灉**锛?- 馃帀 **REDCap鏈<70>湴鐜<E6B9B4><E9909C>绋冲畾杩愯<E69DA9>**锛堝彲闅忔椂鐢ㄤ簬寮€鍙戞祴璇曪級
|
||
- 馃帀 **DET鍔熻兘楠岃瘉鎴愬姛**锛圧EDCap鍘熺敓鏀<E69593>寔锛屾棤闇€PHP寮€鍙戯級
|
||
- 馃帀 **瀵规帴鏂规<E98F82>100%鎶€鏈<E282AC>彲琛?*锛堝疄鏃舵€?鍙<>潬鎬у弻淇濊瘉锛?- 馃帀 **瀹屾暣瀹炴柦鎸囧崡宸茬紪鍐?*锛堝彲鐩存帴杩涘叆Day 2寮€鍙戯級
|
||
- 馃帀 **REDCap鏂囨。浣撶郴瀹屾暣**锛堥儴缃层€佸<E282AC>鎺ャ€佹帓鏌ュ叏瑕嗙洊锛?
|
||
**鎶€鏈<E282AC>寒鐐?*锛?1. **DET瀹炴椂瑙﹀彂**锛?绉掑欢杩燂紝CRC淇濆瓨鏁版嵁鍚?绉掑唴瀹屾垚璐ㄦ帶
|
||
2. **鍙屼繚闄╂満鍒?*锛歐ebhook锛堜富锛?+ 瀹氭椂杞<E6A482><E69D9E>锛堣ˉ鍏咃級锛屾暟鎹<E69A9F>笉涓㈠け
|
||
3. **闆朵镜鍏ユ€?*锛氬彧浣跨敤REDCap鍘熺敓API鍜孌ET锛屾棤闇€淇<E282AC>敼婧愮爜
|
||
4. **鐢熶骇绾ф灦鏋?*锛欴ocker閰嶇疆鍙<E79686>洿鎺ョ敤浜嶦CS/鍖婚櫌鐜<E6AB8C><E9909C>閮ㄧ讲
|
||
5. **瀹屾暣鏂囨。**锛氫粠閮ㄧ讲鍒板紑鍙戯紝鍏ㄦ祦绋嬫枃妗e寲
|
||
|
||
**鎶€鏈<E282AC>喅绛?*锛?- 鉂?**涓嶄娇鐢‥xternal Module**锛堥渶瑕丳HP寮€鍙戙€佷镜鍏ユ€у己銆佺淮鎶ゆ垚鏈<E59E9A>珮锛?- 鉁?**浣跨敤DET + REST API**锛圧EDCap鍘熺敓鍔熻兘銆侀浂浠g爜閰嶇疆銆佸疄鏃惰Е鍙戯級
|
||
- 鉁?**瀹炴椂瑙﹀彂 + 杞<><E69D9E>琛ュ厖**锛堝疄鏃舵€?9% + 鍙<>潬鎬?00%锛?
|
||
**閮ㄧ讲璁板綍**锛?- **REDCap鐗堟湰**锛?5.8.0
|
||
- **璁块棶鍦板潃**锛歨ttp://localhost:8080
|
||
- **Docker瀹瑰櫒**锛歳edcap-apache銆乺edcap-mysql銆乺edcap-phpmyadmin
|
||
- **娴嬭瘯椤圭洰**锛歵est0102 (PID 16)
|
||
- **閮ㄧ讲鏃堕暱**锛氱害6灏忔椂锛堝惈闂<E68388><E99782>鎺掓煡锛?
|
||
**涓嬩竴姝?*锛?- 馃攧 **Day 2锛歊EDCap API闆嗘垚寮€鍙?*锛圧edcapAdapter + WebhookController + SyncManager锛?- 鈴?鍦–ontrol Center鍚<72>敤DET
|
||
- 鈴?鐢熸垚API Token
|
||
- 鈴?瀹炴柦銆奟EDCap瀵规帴鎶€鏈<E282AC>柟妗堜笌瀹炴柦鎸囧崡銆嬩腑鐨凞ay 2璁″垝
|
||
|
||
---
|
||
|
||
### 2026-01-01锛欴ay 1瀹屾垚 - 鐜<><E9909C>鍒濆<E98D92>鍖?鉁?
|
||
**瀹屾垚鍐呭<E98D90>**锛?- 鉁?鏁版嵁搴揝chema鍒涘缓锛坕it_schema锛?涓<>〃锛?- 鉁?Prisma Schema缂栧啓锛?23琛岀被鍨嬪畾涔夛級
|
||
- 鉁?鏁版嵁搴揅RUD楠岃瘉锛?1/11娴嬭瘯閫氳繃锛?- 鉁?浼佷笟寰<E7AC9F>俊搴旂敤娉ㄥ唽鍜岄厤缃?- 鉁?浼佷笟寰<E7AC9F>俊Access Token鑾峰彇鎴愬姛
|
||
- 鉁?**浼佷笟寰<E7AC9F>俊缃戦〉鎺堟潈鍙奐S-SDK鎺堟潈鑾峰彇**
|
||
- 鉁?**鍙<>俊鍩熷悕閰嶇疆鎴愬姛锛坕it.xunzhengyixue.com锛?*
|
||
- 鉁?鍓嶇<E98D93>鍩熷悕楠岃瘉鏂囦欢閮ㄧ讲锛坴1.2锛?- 鉁?妯″潡鐩<E6BDA1>綍缁撴瀯鍒涘缓
|
||
- 鉁?璺<>敱楠ㄦ灦鎼<E781A6>缓
|
||
|
||
**鍏抽敭鎴愭灉**锛?- 馃帀 IIT Manager Agent妯″潡姝e紡鍚<E7B4A1>姩
|
||
- 馃帀 浼佷笟寰<E7AC9F>俊闆嗘垚鍩虹<E98DA9>瀹屾垚
|
||
- 馃帀 缃戦〉鎺堟潈鍙奐S-SDK鎺堟潈宸茶幏鍙?- 馃帀 涓哄井淇″皬绋嬪簭寮€鍙戦摵骞抽亾璺?
|
||
**鎶€鏈<E282AC><E98F88>鐐?*锛?1. **Prisma Multi-Schema鏀<61>寔**锛氭垚鍔熼厤缃甶it_schema
|
||
2. **浼佷笟寰<E7AC9F>俊API娴嬭瘯**锛欰ccess Token鑾峰彇楠岃瘉閫氳繃
|
||
3. **鍩熷悕楠岃瘉**锛氳В鍐砏indows鎹㈣<E98EB9>绗﹂棶棰橈紙CRLF鈫扡F锛?4. **鍓嶇<E98D93>閮ㄧ讲**锛歋AE閮ㄧ讲鎴愬姛锛屽唴缃戝湴鍧€锛?72.17.173.80
|
||
|
||
**涓嬩竴姝?*锛?- Day 2锛歊EDCap API Adapter + SyncManager寮€鍙?
|
||
---
|
||
|
||
### 2025-12-31锛氶」鐩<E3808D>惎鍔?
|
||
**椤圭洰鑳屾櫙**锛?- 鍩轰簬REDCap鐨処IT锛堢爺绌惰€呭彂璧疯瘯楠岋級绠$悊闇€姹?- 浣跨敤浼佷笟寰<E7AC9F>俊浣滀负绉诲姩绔<E5A7A9>叆鍙?- 閲囩敤Shadow State锛堝奖瀛愮姸鎬侊級纭<E7B49A>繚鍖荤枟鍚堣<E98D9A>鎬?- 鍒╃敤Dify RAG鎻愪緵鏅鸿兘鐭ヨ瘑鏈嶅姟
|
||
|
||
**鎶€鏈<E282AC>€夊瀷纭<E780B7><E7BAAD>**锛?- 鍚庣<E98D9A>锛歂ode.js + Fastify + Prisma + pg-boss
|
||
- 鍓嶇<E98D93>锛氬井淇″皬绋嬪簭锛圱aro 4.x锛?- 鏁版嵁婧愶細REDCap API
|
||
- 閫氱煡锛氫紒涓氬井淇?- AI锛欴ify RAG
|
||
|
||
---
|
||
|
||
> **鎻愮ず**锛氭湰鏂囨。鍙嶆槧IIT Manager Agent妯″潡鐨勬渶鏂扮湡瀹炵姸鎬侊紝姣忎釜閲岀▼纰戝畬鎴愬悗蹇呴』鏇存柊锛?
|
||
> **鏈€鍚庢洿鏂?*锛?026-01-03 22:30
|
||
> **褰撳墠杩涘害**锛欴ay 1-3 + Phase 1.5瀹屾垚锛?0%锛墊 涓嬩竴姝ワ細Phase 2 Function Calling + Dify鐭ヨ瘑搴?
|
||
> **閲嶈<E996B2>鏂囨。**锛?> - [Phase 1.5寮€鍙戝畬鎴愯<EFBFBD>褰昡(./06-寮€鍙戣<E98D99>褰?Phase1.5-AI瀵硅瘽闆嗘垚REDCap瀹屾垚璁板綍.md) 猸愨瓙猸愨瓙猸?> - [REDCap瀵规帴鎶€鏈<E282AC>柟妗堜笌瀹炴柦鎸囧崡](./04-寮€鍙戣<E98D99>鍒?REDCap瀵规帴鎶€鏈<E282AC>柟妗堜笌瀹炴柦鎸囧崡.md) 猸愨瓙猸愨瓙猸?
|
||
|