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%)
This commit is contained in:
2026-01-14 19:15:01 +08:00
parent 3d35e9c58b
commit 1b53ab9d52
386 changed files with 52096 additions and 65238 deletions

View File

@@ -1,53 +1,44 @@
# **REDCap 逕滉コァ邇ッ蠅<EFBDAF>Κ鄂イ<E98482>哘CS vs SAE 豺ア蠎ヲ蜀ウ隶ョ謚・蜻<EFBDA5>**
## **1\. 核心结论:认可 ECS 优先策略**
## **1\. 譬ク蠢<EFBFBD>サ楢ョコ<EFBFBD>夊ョ、蜿?ECS 莨伜<E88EA8>遲也払**
针对 IIT Manager Agent 项目,我们决定将 REDCap 生产环境部署在 **ECS (Docker 模式)** 运行,而不是 SAE
髓亥ッケ IIT Manager Agent 鬘ケ逶ョ<EFBFBD><EFBFBD>莉ャ蜀ウ螳壼ー<EFBFBD> REDCap 逕滉コァ邇ッ蠅<EFBDAF>Κ鄂イ蝨?**ECS (Docker 讓。蠑<EFBDA1>)** 霑占。鯉シ瑚€御ク肴<EFBDB8>?SAE縲?
### **荳コ莉€荵域<E88DB5>莉ャ窶懆ョ、髞吮€晏ケカ霓ャ蜷<EFBDAC> ECS<43>?*
### **为什么我们“认错”并转向 ECS**
在讨论 AI 后端时SAE 的免运维特性很吸引人,但 REDCap 的三个“致命特性”决定了它在 SAE 上会极其痛苦:
1. **Cron 依赖(心跳丢失)**REDCap 每分钟都需要运行一次 cron.php。在 SAE 中,你得额外买 SchedulerX 服务;在 ECS只需一行 crontab 就能搞定且 100% 可靠。
2. **Session 粘滞(掉线噩梦)**REDCap 默认将会话存本地。SAE 是多实例的,如果没做 Redis 共享用户登录后会反复掉线2 人团队去修这个 Bug 会耗费大量时间。
3. **文件系统 POSIX 依赖**REDCap 像 10 年前的软件一样极其依赖本地文件夹读写。SAE 必须挂载 NAS网络延迟会拖慢整个系统的响应。
## **2\. 深度对比:务实派的决策依据**
蝨ィ隶ィ隶?AI 蜷守ォッ譌カ<E8AD8C>郡AE 逧<><E980A7>霑千サエ迚ケ諤ァ蠕亥精蠑穂ココ<EFBDBA>御ス?REDCap 逧<>ク我クェ窶懆<E7AAB6>蜻ス迚ケ諤ァ窶晏<E7AAB6>螳壻コ<E5A3BB><EFBFBD>惠 SAE 荳贋シ壽栫蜈カ逞幄協<E5B984>?
1. **Cron 萓晁オ厄シ亥ソ<E4BAA5>キウ荳「螟ア<E89E9F><EFBDB1>**<EFBFBD>啌EDCap 豈丞<E8B188>髓滄<E9AB93>€隕∬ソ占。御ク€谺?cron.php縲ょ惠 SAE 荳ュ<E88DB3>御ス<E5BEA1>蠕鈴「晏、紋ケ?SchedulerX 譛榊苅<E6A68A>帛惠 ECS<43>悟宵髴€€陦?crontab 蟆ア閭ス謳槫ョ壻ク?100% 蜿ッ髱<EFBDAF>縲?
2. **Session 邊俶サ橸シ域脂郤ソ蝎ゥ譴ヲ<E8ADB4><EFBDA6>**<EFBFBD>啌EDCap 鮟倩ョ、蟆<EFBDA4>シ夊ッ晏ュ俶悽蝨ー縲AE 譏ッ螟壼ョ樔セ狗噪<E78B97>悟ヲよ棡豐。蛛<EFBDA1> Redis 蜈ア莠ォ<E88EA0>檎畑謌キ逋サ蠖募錘莨壼渚螟肴脂郤ソ<E983A4><EFBDBF>2 莠コ蝗「髦溷悉菫ョ霑吩ク?Bug 莨夊€苓エケ螟ァ驥乗慮髣エ縲?
3. **譁<>サカ邉サ扈<EFBDBB> POSIX 萓晁オ<E69981>**<EFBFBD>啌EDCap 蜒?10 蟷エ蜑咲噪霓ッ莉カ荳€譬キ譫∝<E8ADAB>萓晁オ匁悽蝨ー譁<EFBDB0>サカ螟ケ隸サ蜀吶€AE 蠢<>。サ謖りスス NAS<41>檎ス醍サ懷サカ霑滉シ壽許諷「謨エ荳ェ邉サ扈溽噪蜩榊コ斐€?
## **2\. 豺ア蠎ヲ蟇ケ豈費シ壼苅螳樊エセ逧<EFBDBE><E980A7>遲紋セ晄<EFBDBE>?*
| 扈エ蠎ヲ | ECS \+ Docker (謌台サャ逧<EFBDAC>€画叫) | SAE (Serverless) | 扈楢ョコ |
| :---- | :---- | :---- | :---- |
| **部署成本** | ****。入门级 ECS (2核4G) 1500元/年。 | ****。SAE \+ NAS \+ 闲置费用可能更贵。 | **ECS ** |
| **配置复杂度** | **极简**。只需运行 docker-compose.yml| **复杂**。需解决共享存储、Session同步、定时任务。 | **ECS ** |
| **系统透明度** | **透明**。直接 docker logs 查看 PHP 日志。 | **黑盒**。云原生链路长,报错时排查难度大。 | **ECS ** |
| **可移植性** | **最强**。这份 Docker 配置可以原封不动挪到医院内网。 | ****。医院内网通常没有 SAE 这种环境。 | **ECS ** |
| **驛ィ鄂イ謌先悽** | **菴?*縲ょ<E7B8B2>髣ィ郤ァ ECS (2譬?G) 郤?1500蜈?蟷エ縲?| **鬮?*縲4AE \+ NAS \+ 髣イ鄂ョ雍ケ逕ィ蜿ッ閭ス譖エ雍オ縲?| **ECS 閭?* |
| **驟咲スョ螟肴揩蠎?* | **譫∫ョ€**縲ょ宵髴€霑占。<E58DA0> docker-compose.yml縲?| **螟肴揩**縲る怙隗」蜀ウ蜈ア莠ォ蟄伜お縲ヾession蜷梧ュ・縲∝ョ壽慮莉サ蜉。縲?| **ECS 閭?* |
| **邉サ扈滄€<EFBFBD>蠎?* | **騾乗<EFBFBD>**縲ら峩謗?docker logs 譟・逵<EFBFBD> PHP 譌・蠢励€?| **鮟醍將**縲ゆコ大次逕滄得霍ッ髟ソ<E9AB9F>梧冠髞呎慮謗呈衍髫セ蠎ヲ螟ァ縲?| **ECS 閭?* |
| **蜿ッ遘サ讀肴€?* | **譛€蠑?*縲りソ吩サ?Docker 驟咲スョ蜿ッ莉・蜴溷ー∽ク榊勘謖ェ蛻ー蛹サ髯「蜀<EFBDA2>ス代€?| **蟾?*縲ょ現髯「蜀<EFBDA2>ス鷹€壼クク豐。譛<EFBDA1> SAE 霑咏ァ咲識蠅<E8AD98>€?| **ECS 閭?* |
## **3\. 2 人团队的“生存之道”**
作为一个只有 2 人的团队,我们的时间应该花在 **Agent 的 Prompt 调优****业务逻辑** 上,而不是花在“调试云产品之间的连接”上。
* **ECS 方案**:你就像拥有了一台真正的电脑。文件在哪、日志在哪、数据库连没连上,你一眼就能看清。
* **SAE 方案**:你会陷入“为什么挂载了 NAS 还是没写权限?”、“为什么 Cron 没触发?”这种与业务无关的琐事中。
## **3\. 2 莠コ蝗「髦溽噪窶懃函蟄倅ケ矩%窶?*
菴應クコ荳€荳ェ蜿ェ譛?2 莠コ逧<EFBDBA>屬髦滂シ梧<EFBDBC>莉ャ逧<EFBDAC>慮髣エ蠎碑ッ・闃ア蝨ィ **Agent 逧?Prompt 隹<><EFBFBD>** 蜥?**荳壼苅騾サ霎<EFBDBB>** 荳奇シ瑚€御ク肴弍闃ア蝨ィ窶懆ー<E68786>ッ穂コ台コァ蜩∽ケ矩龍逧<E9BE8D>ソ樊磁窶昜ク翫€?
* **ECS 譁ケ譯<EFBDB9>**<2A>壻ス<E5A3BB>蟆ア蜒乗凶譛我コ<E68891>€蜿ー逵滓ュ」逧<EFBDA3>鳩閼代€よ枚莉カ蝨ィ蜩ェ縲∵律蠢怜惠蜩ェ縲∵焚謐ョ蠎楢ソ樊イ。霑樔ク奇シ御ス<E5BEA1>€逵シ蟆ア閭ス逵区ク<E58CBA>€?
* **SAE 譁ケ譯<EFBDB9>**<2A>壻ス<E5A3BB>莨夐匚蜈・窶應クコ莉€荵域撃霓ス莠<EFBDBD> NAS 霑俶弍豐。蜀呎揀髯撰シ溪€昴€≫€應クコ莉€荵?Cron 豐。隗ヲ蜿托シ溪€晁ソ咏ァ堺ク惹ク壼苅譌<E88B85>蜈ウ逧<EFBDB3>瑞莠倶クュ縲?
## **4\. 譛€扈亥ョ夂ィソ<EFBDA8>壽キキ蜷域楔譫<E6A594>統蝗セ**
我们将采取\*\*“混合云”\*\*的思路,发挥各自的长处:
謌台サャ蟆<EFBFBD>㊦蜿暴*\*窶懈キキ蜷井コ鯛€拿*\*逧<>€晁キッ<EFBDB7>悟書謖・蜷<EFBDA5><E89CB7><EFBFBD>柄螟<E69F84>シ?
### **4.1 謨ー謐ョ蟷ウ髱「 (Data Layer) \-\> 驛ィ鄂イ蝨?ECS**
### **4.1 数据平面 (Data Layer) \-\> 部署在 ECS**
* **组件**REDCap (Apache \+ PHP 8.1)。
* **方式**:使用 Docker-Compose 运行。
* **存储**:附件存储在 ECS 挂载的云盘;数据库连接 **RDS MySQL**
* **优势**:保证了 EDC 系统的绝对稳定和传统运维的简便。
### **4.2 控制平面 (AI Agent Layer) \-\> 部署在 SAE**
* **组件**Node.js 后端、Python 算法、AI 前端。
* **方式**Serverless 部署。
* **优势**:利用 SAE 处理 AI 这种流量波动大、需要弹性伸缩的模块。
* **扈<>サカ**<2A>啌EDCap (Apache \+ PHP 8.1)縲?
* **譁ケ蠑<EFBDB9>**<2A>壻スソ逕?Docker-Compose 霑占。後€?
* **蟄伜お**<2A>夐刋莉カ蟄伜お蝨ィ ECS 謖りスス逧<EFBDBD>コ醍尨<E9868D>帶焚謐ョ蠎楢ソ樊<EFBDBF>?**RDS MySQL**縲?
* **莨伜漢**<2A>壻ソ晁ッ∽コ<E288BD> EDC 邉サ扈溽噪扈晏ッケ遞ウ螳壼柱莨<E69FB1>扈溯ソ千サエ逧<EFBDB4>€萓ソ縲?
### **4.2 謗ァ蛻カ蟷ウ髱「 (AI Agent Layer) \-\> 驛ィ鄂イ蝨?SAE**
* **扈<>サカ**<2A>哢ode.js 蜷守ォッ縲 ̄ython 邂玲ウ輔€、I 蜑咲ォッ縲?
* **譁ケ蠑<EFBDB9>**<2A>售erverless 驛ィ鄂イ縲?
* **莨伜漢**<2A>壼茜逕?SAE 螟<>炊 AI 霑咏ァ肴オ<E882B4>㍼豕「蜉ィ螟ァ縲<EFBDA7>怙隕∝シケ諤ァ莨ク郛ゥ逧<EFBDA9>ィ。蝮励€?
## **5\. 蟇ケ蜷守サュ蠑€蜿醍噪諢丈ケ<E4B888>**
1. **本地环境即生产环境**:由于 ECS 跑的是 Docker你在本地 03-REDCap本地部署方案.md 里写的代码,直接就能上线,没有任何“环境漂移”。
2. **离线交付预演**:如果未来医院要求内网部署,我们已经有了一套完整的、基于 ECS/Docker 的交付包,这比 SAE 方案更容易被医院 IT 接受。
**当前状态**Deployment Strategy Locked | **建议**:立即执行基于 ECS 的生产环境搭建。
1. **譛ャ蝨ー邇ッ蠅<EFBFBD>叉逕滉コァ邇ッ蠅?*<2A>夂罰莠?ECS 霍醍噪譏?Docker<65>御ス<E5BEA1>蝨ィ譛ャ蝨?03-REDCap譛ャ蝨ー驛ィ鄂イ譁ケ譯<EFBDB9>.md 驥悟<E9A9A5><EFBFBD>サ」遐<EFBDA3>シ檎峩謗・蟆ア閭ス荳顔コソ<EFBDBA>梧イ。譛我ササ菴補€懃識蠅<E8AD98>シらァサ窶昴€?
2. **遖サ郤ソ莠、莉倬「<EFBFBD><EFBFBD>**<EFBFBD>壼ヲよ棡譛ェ譚・蛹サ髯「隕∵アょ<EFBFBD>鄂鷹Κ鄂イ<EFBFBD><EFBFBD>莉ャ蟾イ扈乗怏莠<EFBFBD>€螂怜ョ梧紛逧<EFBFBD>€∝渕莠?ECS/Docker 逧<>コ、莉伜桁<E4BC9C>瑚ソ呎ッ?SAE 譁ケ譯域峩螳ケ譏楢「ォ蛹サ髯「 IT 謗・蜿励€?
**蠖灘燕迥カ諤?*<2A>咼eployment Strategy Locked | **蟒コ隶ョ**<EFBFBD>夂ォ句叉謇ァ陦悟渕莠?ECS 逧<>函莠ァ邇ッ蠅<EFBDAF>政蟒コ縲