Files
AIclinicalresearch/docs/05-部署文档/CTO 代码审查报告:AI临床研究平台部署架构.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

86 lines
5.0 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# **CTO 莉」遐∝ョ。譟・謚・蜻奇シ哂I荳エ蠎顔<E8A08E>皮ゥカ蟷ウ蜿ー驛ィ鄂イ譫カ譫<EFBDB6>**
螳。譬ク蟇ケ雎。<EFBFBD>?莉ス迢ャ遶矩Κ鄂イ譁<EFBDB2>。?(Dify/Python/Node/Frontend/PostgreSQL)
螳。譬ク莠コ<EFBFBD>夊劒諡滓楔譫<EFBFBD>ク?
扈楢ョコ<EFBFBD>哂- (莨倡ァ€)縲よ楔譫<E6A594>ョセ隶。隨ヲ蜷井コ大次逕溽炊蠢オ<E8A0A2><EFBFBD>譛ャ荳取黄螻墓€ァ蟷ウ陦。濶ッ螂ス縲ゆス<E38286>ュ伜惠鄂醍サ懷<EFBDBB>蜿」蜥御セ晁オ夜溜邇ッ荳、荳ェ蜈ウ髞ョ鬟朱勦轤ケ髴€隗」蜀ウ縲?
## **1\. 讓。蝮礼コァ豺ア蠎ヲ螳。隶?(Module-Level Audit)**
### **笨?1.1 蜑咲ォッ Nginx (SAE)**
* **莨倡せ**<2A>壼、夐亳谿オ譫<EFBDB5>サコ莨倡ァ€<EFBDA7>井ス鍋ァッ蟆擾シ会シ帷識蠅<E8AD98>序驥乗ウィ蜈・譁ケ譯茨シ<E88CA8>nvsubst<73>蛾撼蟶ク荳謎ク夲シ瑚ァ」蜀ウ莠<EFBDB3>撕諤<E69295>。オ髱「譌<EFBDA2>豕募勘諤<E58B98><E8ABA4>鄂ョ蜷守ォッ逧<EFBDAF>埓鬚倥€?
* **菫ョ豁」蟒コ隶ョ**<2A>?
* 遑ョ隶、 nginx.conf 荳ュ蠑€蜷?gzip<69>瑚ソ吝ッ?React 螟ァ菴鍋ァ?JS 譁<>サカ閾ウ蜈ウ驥崎ヲ√€?
* 譽€譟?Nginx 逧?client\_max\_body\_size 驟咲スョ縲ょ現逍?PDF/Excel 蜿ッ閭ス雜<EFBDBD>ソ<EFBFBD>サ倩ョ、逧?1MB<4D>悟サコ隶ョ隶セ鄂ョ荳コ 50M縲?
### **笨?1.2 蜷守ォッ Node.js (SAE)**
* **莨倡せ**<2A>啀risma "蜿榊髄蜷梧ュ・" 豬∫ィ矩撼蟶ク蜉。螳橸シ瑚ァ」蜀ウ莠<EFBDB3>€蜿台ケ<E58FB0>諠ッ荳崎ァ<E5B48E>激逧<E6BF80>琉鬚倥€ostgres-Only 逧<>楔譫<E6A594>栫螟ァ蝨ー髯堺ス惹コ<E683B9>ソ千サエ雍滓球縲?
* **菫ョ豁」蟒コ隶ョ**<2A>?
* **霑樊磁豕<E7A381>シ城」朱勦**<2A>啀ython 譛榊苅螯よ棡蜩榊コ疲<EFBDBA><E796B2>悟錘遶ッ逧?HTTP Client 隶セ鄂ョ雜<EFBDAE>慮莠<E685AE><EFBFBD>溷サコ隶ョ隶セ鄂?timeout: 30s<30>碁亟豁「蜷守ォッ霑樊磁謨ー蝣<EFBDB0>ァッ縲?
### **笨?1.3 Python 蠕ョ譛榊<E8AD9B>?(SAE)**
* **莨倡せ**<2A><EFBFBD>遑ョ謖<EFBDAE><E8AC96><EFBFBD> libGL 遲臥ウサ扈滉セ晁オ夜琉鬚假シ瑚ソ呎弍 Python 螳ケ蝎ィ蛹匁怙螟ァ逧<EFBDA7><EFBFBD>梧枚譯」蟾イ謠仙燕隗<E78795>∩縲?
* **菫ョ豁」蟒コ隶ョ**<2A>?
* **OOM 鬟朱勦**<2A>啀ython 霑帷ィ具シ亥ー、蜈カ譏ッ PyMuPDF/OCR<43>蛾撼蟶ク蜷<EFBDB8><E89CB7>蟄倥€ょ惠 2G 蜀<>ュ倬剞蛻カ荳具シ悟苅蠢<E88B85>剞蛻カ蟷カ蜿第焚<E7ACAC><E7849A>unicorn Workers 荳崎ヲ∬カ<E288AC>ソ<EFBFBD> 2 荳ェ<E88DB3>€?
### **笨?1.4 Dify (ECS)**
* **莨倡せ**<2A>€画叫莠?ECS 驛ィ鄂イ莉・菫晁ッ∵焚謐ョ遘∵怏蛹厄シ悟酔譌カ菴ソ逕?Swap 髦イ豁「 OOM<4F>碁撼蟶ク諛り。後€?
* **菫ョ豁」蟒コ隶ョ**<2A>?
* **螳牙<E89EB3>諤?*<2A>哘CS 逧?Redis 遶ッ蜿」 (6379) 蜥?Weaviate 遶ッ蜿」 (8080) **扈晏ッケ荳崎ヲ<E5B48E>**蟇ケ蜈ャ鄂大シ€謾セ縲ゆサ<E38286><EFBDBB>隶ク localhost 蜥?VPC 蜀<>ス題ョソ髣ョ縲?
### **笨?1.5 謨ー謐ョ蠎?(RDS)**
* **莨倡せ**<2A>售chema 髫皮ヲサ隶セ隶。譫∽スウ縲?
* **菫ョ豁」蟒コ隶ョ**<2A>?
* **Dify 謨ー謐ョ蠎馴囈遖?*<2A>夂。ョ隶?Dify 菴ソ逕ィ逧<EFBDA8>弍迢ャ遶狗<E981B6>?dify\_prod 蠎難シ御ク崎ヲ∝柱荳壼苅陦ィ豺キ蝨ィ ai\_clinical\_research 蠎謎クュ<EFBDB8>碁亟豁?Dify 蜊<>コァ閼壽悽隸ッ蛻<EFBDAF>荳壼苅陦ィ縲?
## **2\. 霍ィ讓。蝮鈴寔謌宣」朱<EFBDA3>?(Integration Risks)**
### **<2A>圷 鬟朱勦荳€<E88DB3>售AE 逧?蟄、蟯帶譜蠎<E8AD9C>" (Internet Access)**
* **髣ョ鬚<EFBDAE>**<2A>售AE 驛ィ鄂イ蝨?VPC 蜀<>シ碁サ倩ョ、**豐。譛牙<E8AD9B>鄂大<E98482>蜿」**縲?
* **蝨コ譎ッ**<2A>壼錘遶ッ隹<EFBDAF><E99AB9>?DeepSeek API縲 ̄ython 荳玖スス蜈ャ鄂<EFBDAC> PDF縲¨PM 螳芽」<E88ABD>セ晁オ厄シ域桷蟒コ譌カ<E8AD8C>€?
* **蟇ケ遲<EFBDB9>**<2A>壼ソ<E5A3BC>。サ蝨ィ VPC 荳ュ驟咲ス?**NAT 鄂大<E98482>** (謗ィ闕<EFBDA8>) 謌也。ョ菫?SAE 譛臥サ大ョ壼<EFBDAE>鄂?IP 逧<><E980A7>蜉帙€?*蜷ヲ蛻吩ク顔コソ蠖灘、ゥ謇€譛?AI 蜉溯<E89C89>驛ス莨夊カ<E5A48A>慮縲?*
### **<2A>売 鬟朱勦莠鯉シ夐Κ鄂イ萓晁オ匁ュサ髞<EFBDBB> (Deployment Deadlock)**
* **邇ー雎。**<2A>?
1. 蜷守ォッ蜷ッ蜉ィ髴€隕?DIFY\_API\_KEY縲?
2. DIFY\_API\_KEY 髴€隕?Dify 蜷ッ蜉ィ蟷カ莠コ蟾・逋サ蠖募錘謇崎<E8AC87>逕滓<E98095>縲?
3. 蜷守ォッ螯よ棡驟咲スョ莠?蛛・蠎キ譽€譟・螟ア雍・蛻咎㍾蜷ッ"<22>悟惠蝪ォ蜈・ Key 荵句燕莨壽裏髯宣㍾蜷ッ縲?
* **蟇ケ遲<EFBDB9>**<2A>夐ヲ匁ャ。驛ィ鄂イ譌カ<E8AD8C>悟錘遶ッ邇ッ蠅<EFBDAF>序驥?DIFY\_API\_KEY 蜿ッ莉・蜈亥。ォ荳ェ蛛<EFBDAA>€<C280>亥ヲ?temp<6D>会シ瑚ョゥ譛榊苅霍題オキ譚・縲らュ<E38289> Dify 驛ィ鄂イ螂ス諡ソ蛻ー逵<EFBDB0> Key 蜷趣シ梧峩譁ー SAE 驟咲スョ蟷カ驥榊星縲?
### **<2A>倹 鬟朱勦荳会シ壼燕遶ッ荳?Dify 逧<>キィ蝓?(CORS)**
* **髣ョ鬚<EFBDAE>**<2A>壼燕遶ッ逶エ謗・隹<EFBDA5>畑蜷守ォッ<EFBDAB>€夊ソ<E5A48A> Nginx 莉」逅<EFBDA3>シ画イ。髣ョ鬚倥€ゆス<E38286>ヲよ棡蜑咲ォッ髴€隕?*逶エ謗・蠏悟<E8A08F>** Dify 逧?Web UI<55>亥ヲ<E4BAA5> iframe<6D><EFBFBD>逶エ謗・隹<EFBDA5>畑 Dify API<50>育サ戊ソ<E6888A>錘遶ッ<E981B6>会シ御シ夐∞蛻ー CORS縲?
* **蟇ケ遲<EFBDB9>**<2A>壼撓謖―*\*"謇€譛芽ッキ豎りオー蜷守ォッ"\*\*逧<>次蛻吶€ょ燕遶?\-\> Nginx \-\> 蜷守ォッ \-\> Dify縲ゆク崎ヲ∬ョゥ蜑咲ォッ逶エ霑<EFBDB4> Dify<66>梧里螳牙<E89EB3>蜿磯∩蜈?CORS縲?
## **3\. 譫カ譫<EFBDB6><E8ADAB>邉サ蝗セ隹ア**
\[豬剰ァ亥勣\]
| (HTTPS)
v
\[SAE: 蜑咲ォッ Nginx\]
| (蜿榊髄莉」逅<EFBDA3> /api)
v
\[SAE: 蜷守ォッ Node.js\] \--(蜀<>ス践TTP)--\> \[SAE: Python 蠕ョ譛榊苅\]
| | (蜀<>ス践TTP)
| v
| \[ECS: Dify API\] \<--\> \[ECS: Weaviate/Redis\]
|
\+--(TCP Connection)--\> \[RDS PostgreSQL 15\]
| | (Schema: platform, asl, dc...)
| \+ (Database: dify\_prod)
|
\+--(HTTPS)--\> \[OSS 蟇ケ雎。蟄伜お\]
|
\+--(NAT鄂大<E98482>)--\> \[莠定#鄂? DeepSeek/OpenAI\]
## **4\. 扈?1-2 莠コ蝗「髦溽噪逕溷ュ伜サコ隶ョ**
1. **逵<>蝶鮟醍ァ第橿**<EFBFBD>?
* SAE 2.0 譛?*髣イ鄂ョ隶。雍ケ**蜉溯<E89C89>縲ょシ€蜿醍識蠅<E8AD98>シ域オ玖ッ慕識蠅<E8AD98>シ牙苅蠢<E88B85>€蜷ッ<E89CB7>梧イ。莠コ逕ィ譌カ荳肴噺 CPU/蜀<><EFBFBD> 雍ケ縲?
* RDS 雍ュ荵ー**騾夂畑蝙?* (2譬?G) 蜊ウ蜿ッ<E89CBF>御ク崎ヲ∽ケー迢ャ莠ォ蝙具シ悟、溽畑蠕井ケ<E4BA95>€?
2. **荳崎ヲ∬<EFBDA6>蟒コ逶第而**<EFBFBD>?
* 逶エ謗・逕ィ髦ソ驥御コ<E5BEA1> **ARMS** (蠎皮畑螳樊慮逶第而譛榊苅) 逧<><E980A7>雍ケ鬚晏コヲ謌門渕遑€迚医€ゆク崎ヲ∬<EFBDA6>蟾ア謳ュ Prometheus \+ Grafana<6E>檎サエ謚、謌先悽螟ェ鬮倥€?
3. **謨ー謐ョ螟<EFBDAE>サス譏ッ蠎慕コ?*<2A>?
* RDS 蠑€蜷ッ閾ェ蜉ィ螟<EFBDA8>サス<EFBDBB>井ソ晉蕗7螟ゥ<E89E9F>€?
* ECS 荳顔噪 Dify docker-compose.yaml 蜥?.env 譁<>サカ<EFBDBB>悟苅蠢<E88B85>惠譛ャ蝨ー謌?Git 遘∵怏莉灘コ灘、<E78198>サス荳€莉ス縲<EFBDBD>CS 豐。莠<EFBDA1>庄莉・驥堺ケー<EFBDB9><EFBFBD>鄂ョ譁<EFBDAE>サカ豐。莠<EFBDA1>ーア蠕鈴㍾驟阪€?
4. **蠑€蜿第譜邇?*<2A>?
* 蛻ゥ逕ィ ECS 蛛?*霍ウ譚ソ譛?*<2A>梧悽蝨ー逶エ霑?RDS 蠑€蜿代€ゆク崎ヲ∵ッ乗ャ。驛ス蜀吩サ」遐∝悉譟・謨ー謐ョ縲?
**譛€扈育サ楢ョ?*<2A>夊ソ吝・玲楔譫<E6A594>ョセ隶。蠕鈴撼蟶ク謇主ョ橸シ悟ョ悟<EFBDAE>蜿ッ莉・謾ッ謦台サ<E58FB0> 0 蛻?10 荳<>畑謌キ逧<EFBDB7><EFBFBD>ィ。縲りッキ驥咲せ隗」蜀ウ **"SAE 隶ソ髣ョ蜈ャ鄂<EFBDAC> (NAT)"** 霑吩クェ髣ョ鬚假シ悟叉蜿ッ蠑€蟋矩Κ鄂イ縲