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

5.0 KiB
Raw Blame History

CTO 莉」遐∝ョ。譟・謚・蜻奇シ哂I荳エ蠎顔<E8A08E>皮ゥカ蟷ウ蜿ー驛ィ鄂イ譫カ譫<EFBDB6>

螳。譬ク蟇ケ雎。<EFBFBD>?莉ス迢ャ遶矩Κ鄂イ譁<EFBDB2>。?(Dify/Python/Node/Frontend/PostgreSQL)
螳。譬ク莠コ<E88EA0>夊劒諡滓楔譫<E6A594>ク? 扈楢ョコ<EFBDAE>哂- (莨倡ァ€)縲よ楔譫<E6A594>ョセ隶。隨ヲ蜷井コ大次逕溽炊蠢オ<E8A0A2><EFBFBD>譛ャ荳取黄螻墓€ァ蟷ウ陦。濶ッ螂ス縲ゆス<E38286>ュ伜惠鄂醍サ懷<EFBDBB>蜿」蜥御セ晁オ夜溜邇ッ荳、荳ェ蜈ウ髞ョ鬟朱勦轤ケ髴€隗」蜀ウ縲?

1. 讓。蝮礼コァ豺ア蠎ヲ螳。隶?(Module-Level Audit)

笨?1.1 蜑咲ォッ Nginx (SAE)

  • 莨倡せ<EFBFBD>壼、夐亳谿オ譫<EFBFBD>サコ莨倡ァ€<EFBFBD>井ス鍋ァッ蟆擾シ会シ帷識蠅<EFBFBD>序驥乗ウィ蜈・譁ケ譯茨シ<EFBFBD>nvsubst<EFBFBD>蛾撼蟶ク荳謎ク夲シ瑚ァ」蜀ウ莠<EFBFBD>撕諤<EFBFBD>。オ髱「譌<EFBFBD>豕募勘諤<EFBFBD><EFBFBD>鄂ョ蜷守ォッ逧<EFBFBD>埓鬚倥€?
  • 菫ョ豁」蟒コ隶ョ<EFBFBD>?
    • 遑ョ隶、 nginx.conf 荳ュ蠑€蜷?gzip<69>瑚ソ吝ッ?React 螟ァ菴鍋ァ?JS 譁<>サカ閾ウ蜈ウ驥崎ヲ√€?
    • 譽€譟?Nginx 逧?client_max_body_size 驟咲スョ縲ょ現逍?PDF/Excel 蜿ッ閭ス雜<EFBDBD>ソ<EFBFBD>サ倩ョ、逧?1MB<4D>悟サコ隶ョ隶セ鄂ョ荳コ 50M縲?

笨?1.2 蜷守ォッ Node.js (SAE)

  • 莨倡せ<EFBFBD>啀risma "蜿榊髄蜷梧ュ・" 豬∫ィ矩撼蟶ク蜉。螳橸シ瑚ァ」蜀ウ莠<EFBDB3>€蜿台ケ<E58FB0>諠ッ荳崎ァ<E5B48E>激逧<E6BF80>琉鬚倥€ostgres-Only 逧<>楔譫<E6A594>栫螟ァ蝨ー髯堺ス惹コ<E683B9>ソ千サエ雍滓球縲?
  • 菫ョ豁」蟒コ隶ョ<EFBFBD>?
    • 霑樊磁豕<EFBFBD>シ城」朱勦<EFBFBD>啀ython 譛榊苅螯よ棡蜩榊コ疲<EFBDBA><E796B2>悟錘遶ッ逧?HTTP Client 隶セ鄂ョ雜<EFBDAE>慮莠<E685AE><EFBFBD>溷サコ隶ョ隶セ鄂?timeout: 30s<30>碁亟豁「蜷守ォッ霑樊磁謨ー蝣<EFBDB0>ァッ縲?

笨?1.3 Python 蠕ョ譛榊<E8AD9B>?(SAE)

  • 莨倡せ<EFBFBD><EFBFBD>遑ョ謖<EFBFBD><EFBFBD><EFBFBD> libGL 遲臥ウサ扈滉セ晁オ夜琉鬚假シ瑚ソ呎弍 Python 螳ケ蝎ィ蛹匁怙螟ァ逧<EFBDA7><EFBFBD>梧枚譯」蟾イ謠仙燕隗<E78795>∩縲?
  • 菫ョ豁」蟒コ隶ョ<EFBFBD>?
    • OOM 鬟朱勦<EFBFBD>啀ython 霑帷ィ具シ亥ー、蜈カ譏ッ PyMuPDF/OCR<43>蛾撼蟶ク蜷<EFBDB8><E89CB7>蟄倥€ょ惠 2G 蜀<>ュ倬剞蛻カ荳具シ悟苅蠢<E88B85>剞蛻カ蟷カ蜿第焚<E7ACAC><E7849A>unicorn Workers 荳崎ヲ∬カ<E288AC>ソ<EFBFBD> 2 荳ェ<E88DB3>€?

笨?1.4 Dify (ECS)

  • 莨倡せ<EFBFBD>€画叫莠?ECS 驛ィ鄂イ莉・菫晁ッ∵焚謐ョ遘∵怏蛹厄シ悟酔譌カ菴ソ逕?Swap 髦イ豁「 OOM<4F>碁撼蟶ク諛り。後€?
  • 菫ョ豁」蟒コ隶ョ<EFBFBD>?
    • **螳牙<E89EB3>諤?*<2A>哘CS 逧?Redis 遶ッ蜿」 (6379) 蜥?Weaviate 遶ッ蜿」 (8080) **扈晏ッケ荳崎ヲ<E5B48E>**蟇ケ蜈ャ鄂大シ€謾セ縲ゆサ<E38286><EFBDBB>隶ク localhost 蜥?VPC 蜀<>ス題ョソ髣ョ縲?

笨?1.5 謨ー謐ョ蠎?(RDS)

  • 莨倡せ<EFBFBD>售chema 髫皮ヲサ隶セ隶。譫∽スウ縲?
  • 菫ョ豁」蟒コ隶ョ<EFBFBD>?
    • **Dify 謨ー謐ョ蠎馴囈遖?*<2A>夂。ョ隶?Dify 菴ソ逕ィ逧<EFBDA8>弍迢ャ遶狗<E981B6>?dify_prod 蠎難シ御ク崎ヲ∝柱荳壼苅陦ィ豺キ蝨ィ ai_clinical_research 蠎謎クュ<EFBDB8>碁亟豁?Dify 蜊<>コァ閼壽悽隸ッ蛻<EFBDAF>荳壼苅陦ィ縲?

2. 霍ィ讓。蝮鈴寔謌宣」朱<EFBDA3>?(Integration Risks)

<EFBFBD>圷 鬟朱勦荳€<E88DB3>售AE 逧?蟄、蟯帶譜蠎<E8AD9C>" (Internet Access)

  • 髣ョ鬚<EFBFBD><EFBFBD>售AE 驛ィ鄂イ蝨?VPC 蜀<>シ碁サ倩ョ、**豐。譛牙<E8AD9B>鄂大<E98482>蜿」**縲?
  • 蝨コ譎ッ<EFBFBD>壼錘遶ッ隹<EFBFBD><EFBFBD>?DeepSeek API縲 ̄ython 荳玖スス蜈ャ鄂<EFBDAC> PDF縲¨PM 螳芽」<E88ABD>セ晁オ厄シ域桷蟒コ譌カ<E8AD8C>€?
  • 蟇ケ遲<EFBFBD><EFBFBD>壼ソ<EFBFBD>。サ蝨ィ VPC 荳ュ驟咲ス?NAT 鄂大<E98482> (謗ィ闕<EFBDA8>) 謌也。ョ菫?SAE 譛臥サ大ョ壼<EFBDAE>鄂?IP 逧<><E980A7>蜉帙€?蜷ヲ蛻吩ク顔コソ蠖灘、ゥ謇€譛?AI 蜉溯<E89C89>驛ス莨夊カ<E5A48A>慮縲?

<EFBFBD>売 鬟朱勦莠鯉シ夐Κ鄂イ萓晁オ匁ュサ髞<EFBDBB> (Deployment Deadlock)

  • 邇ー雎。<EFBFBD>?
    1. 蜷守ォッ蜷ッ蜉ィ髴€隕?DIFY_API_KEY縲?
    2. DIFY_API_KEY 髴€隕?Dify 蜷ッ蜉ィ蟷カ莠コ蟾・逋サ蠖募錘謇崎<E8AC87>逕滓<E98095>縲?
    3. 蜷守ォッ螯よ棡驟咲スョ莠?蛛・蠎キ譽€譟・螟ア雍・蛻咎㍾蜷ッ"<22>悟惠蝪ォ蜈・ Key 荵句燕莨壽裏髯宣㍾蜷ッ縲?
  • 蟇ケ遲<EFBFBD><EFBFBD>夐ヲ匁ャ。驛ィ鄂イ譌カ<EFBFBD>悟錘遶ッ邇ッ蠅<EFBFBD>序驥?DIFY_API_KEY 蜿ッ莉・蜈亥。ォ荳ェ蛛<EFBDAA>€<C280>亥ヲ?temp<6D>会シ瑚ョゥ譛榊苅霍題オキ譚・縲らュ<E38289> Dify 驛ィ鄂イ螂ス諡ソ蛻ー逵<EFBDB0> Key 蜷趣シ梧峩譁ー SAE 驟咲スョ蟷カ驥榊星縲?

<EFBFBD>倹 鬟朱勦荳会シ壼燕遶ッ荳?Dify 逧<>キィ蝓?(CORS)

  • 髣ョ鬚<EFBFBD><EFBFBD>壼燕遶ッ逶エ謗・隹<EFBFBD>畑蜷守ォッ<EFBFBD>€夊ソ<EFBFBD> Nginx 莉」逅<EFBDA3>シ画イ。髣ョ鬚倥€ゆス<E38286>ヲよ棡蜑咲ォッ髴€隕?逶エ謗・蠏悟<EFBFBD>* Dify 逧?Web UI<55>亥ヲ<E4BAA5> iframe<6D><EFBFBD>逶エ謗・隹<EFBDA5>畑 Dify API<50>育サ戊ソ<E6888A>錘遶ッ<E981B6>会シ御シ夐∞蛻ー CORS縲?
  • 蟇ケ遲<EFBFBD><EFBFBD>壼撓謖―**"謇€譛芽ッキ豎りオー蜷守ォッ"**逧<>次蛻吶€ょ燕遶?-> 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>蝶鮟醍ァ第橿<EFBFBD>?
    • SAE 2.0 譛?*髣イ鄂ョ隶。雍ケ**蜉溯<E89C89>縲ょシ€蜿醍識蠅<E8AD98>シ域オ玖ッ慕識蠅<E8AD98>シ牙苅蠢<E88B85>€蜷ッ<E89CB7>梧イ。莠コ逕ィ譌カ荳肴噺 CPU/蜀<><EFBFBD> 雍ケ縲?
    • RDS 雍ュ荵ー**騾夂畑蝙?* (2譬?G) 蜊ウ蜿ッ<E89CBF>御ク崎ヲ∽ケー迢ャ莠ォ蝙具シ悟、溽畑蠕井ケ<E4BA95>€?
  2. 荳崎ヲ∬<EFBFBD>蟒コ逶第而<EFBFBD>?
    • 逶エ謗・逕ィ髦ソ驥御コ<EFBFBD> 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 蛛?霍ウ譚ソ譛?<EFBFBD>梧悽蝨ー逶エ霑?RDS 蠑€蜿代€ゆク崎ヲ∵ッ乗ャ。驛ス蜀吩サ」遐∝悉譟・謨ー謐ョ縲? **譛€扈育サ楢ョ?*<2A>夊ソ吝・玲楔譫<E6A594>ョセ隶。蠕鈴撼蟶ク謇主ョ橸シ悟ョ悟<EFBDAE>蜿ッ莉・謾ッ謦台サ<E58FB0> 0 蛻?10 荳<>畑謌キ逧<EFBDB7><EFBFBD>ィ。縲りッキ驥咲せ隗」蜀ウ "SAE 隶ソ髣ョ蜈ャ鄂<EFBDAC> (NAT)" 霑吩クェ髣ョ鬚假シ悟叉蜿ッ蠑€蟋矩Κ鄂イ縲