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,74 +1,67 @@
# **子域名 iit.xunzhengyixue.com SSL 证书全流程配置指南 (针对 SAE/CLB 架构)**
# **摮𣂼<EFBFBD><EFBFBD>?iit.xunzhengyixue.com SSL <EFBFBD><EFBFBD><EFBFBD>蝔钅<EFBFBD>蝵格<EFBFBD><EFBFBD>?(<28><> SAE/CLB <EFBFBD><EFBFBD>)**
根据你的《2025版部署手册》你的公网入口为 CLBIP: 8.140.53.236),后端为 SAE 应用。为了满足企业微信/服务号的 HTTPS 强制要求,请严格按照以下四个阶段执行操作。
## **阶段一:证书申请(在你的阿里云账号操作)**
1. **进入控制台**:登录你的阿里云账号,搜索进入 **“数字证书管理服务”**。
2. **创建证书名额**
* 点击 **“正式证书”** \-\> **“个人测试证书(免费)”**。
* 点击 **“创建证书”**,获得一个“待申请”状态的名额(每年有 20 个免费额度)。
3. **提交申请信息**
* 在对应条目点击 **“证书申请”**。
* **证书绑定域名**:填写 iit.xunzhengyixue.com。
* **域名验证方式****必须选择“DNS 验证”**。
* **CSR 生成方式**:选择“系统生成”。
4. **获取验证信息**:提交后,页面会显示 **主机记录**(如 \_dnsauth.iit**记录值**(一串随机长字符串)。请记录下来发给持有域名的同事。
<EFBFBD>寞旿雿删<EFBFBD><EFBFBD>?025<32><35><EFBFBD>蝵脫<E89DB5><E884AB><EFBFBD><EFBFBD>雿删<E99BBF><E588A0><EFBFBD><E7A589>亙藁銝?CLB嚗㇆P: 8.140.53.236嚗㚁<EFBFBD><EFBFBD>𡒊垢銝?SAE 摨𠉛鍂<F0A0899B><E98D82>蛹鈭<E89BB9>說頞喃<E9A09E>銝𡁜凝靽?<3F>滚𦛚<E6BB9A><EFBFBD> HTTPS 撘箏<E69298><EFBFBD><E996AC>嚗諹窈銝交聢<E4BAA4><EFBFBD>隞乩<E99A9E><E4B9A9>𥕢葵<F0A595A2>嗆挾<E59786><EFBFBD><E689AF><EFBFBD><E6BBA2>?
## **<2A>嗆挾銝<E68CBE>嚗朞<E59A97>銋衣𤚗霂瘀<E99C82><E79880><EFBFBD><E585B6><EFBFBD><EFBFBD><EFBFBD>韐血噡<E8A180><EFBFBD>嚗?*
1. **餈𥕦<E9A488><F0A595A6><EFBFBD><E689B9>?*嚗𡁶蒈敶蓥<E695B6><E893A5><EFBFBD><EFBFBD><EFBFBD>韐血噡嚗峕<E59A97><E89D9D><EFBCBA>?**<EFBFBD>𨀣㺭摮𡑒<EFBFBD>銋衣恣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?*<2A>?
2. **<EFBFBD>𥕦遣霂<EFBFBD><EFBFBD><EFBFBD>**嚗?
* <20>孵稬 **<EFBFBD>𨀣迤撘讛<EFBFBD>銋色<EFBFBD>?* \-\> **<EFBFBD>靝葵鈭箸<EFBFBD>霂閗<EFBFBD>銋佗<EFBFBD><EFBFBD>滩晶嚗争<EFBFBD>?*<2A>?
* <20>孵稬 **<EFBFBD>𨅯<EFBFBD>撱箄<EFBFBD>銋色<EFBFBD>?*嚗諹繮敺𦯀<E695BA>銝芬<E98A9D>𨅯<EFBFBD><F0A885AF>唾窈<E594BE>萘𠶖<E89098><F0A0B696><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E59A97>撟湔<E6929F> 20 銝芸<E98A9D>韐寥<E99F90>摨佗<E691A8><E4BD97>?
3. **<EFBFBD>𣂷漱<EFBFBD>唾窈靽⊥<EFBFBD>**嚗?
* <20>典笆摨娍辺<E5A88D><EFBFBD><E6A183>?**<2A>𡏭<EFBFBD>銋衣𤚗霂猾<E99C82>?*<2A>?
* **霂<>髡蝏穃<E89D8F><E7A983><EFBFBD>**嚗𡁜<F0A1819C>?iit.xunzhengyixue.com<6F>?
* **<2A><EFBFBD>撉諹<E69289><E8ABB9><EFBFBD>**嚗?*敹<><EFBFBD>㗇𥋘<E39787>𡤜NS 撉諹<E69289><E8ABB9>?*<2A>?
* **CSR <20><><EFBFBD><EFBFBD><EFBFBD>**嚗𡁻<E59A97>㗇𥋘<E39787>𦦵頂蝏毺<E89D8F><E6AFBA><EFBFBD><EFBFBD>?
4. **<EFBFBD><EFBFBD>撉諹<EFBFBD>靽⊥<EFBFBD>**嚗𡁏<E59A97>鈭文<E988AD>嚗屸△<E5B1B8><EFBFBD><EFBCB6>曄內 **銝餅㦤霈啣<E99C88>**嚗<><E59A97> \_dnsauth.iit嚗匧<E59A97> **霈啣<E99C88><E595A3>?*嚗<><E59A97>銝脤<E98A9D><E884A4>粹鵭摮㛖泵銝莎<E98A9D><E88E8E><EFBFBD>窈霈啣<E99C88>銝𧢲䔉<F0A7A2B2>𤑳<EFBFBD><F0A491B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7AC94><EFBFBD><EFBFBD>鈭卝<E988AD>?
## **<2A>嗆挾鈭䕘<E988AD><E49598><EFBFBD>餈墧𦻖銝𡡞<E98A9D><EFBFBD><E99C82>頝刻揭<E588BB><EFBFBD>雿頣<E99BBF>**
甇日𧫴畾菟<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鈭𤏸揭<EFBFBD><EFBFBD>xunzhengyixue.com <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>銝𧢲<E98A9D>雿頣<E99BBF>
1. **建立 A 记录(建立连接)**
1. **撱箇<EFBFBD> A 霈啣<E99C88><EFBFBD>遣蝡贝<E89DA1><E8B49D><EFBFBD>**嚗?
* **銝餅㦤霈啣<E99C88>**嚗餜it
* **霈啣<E99C88>蝐餃<E89D90>**嚗鋫
* **记录值**8.140.53.236(指向你的 SAE CLB 公网 IP
* **目的**:让访问者能找到你的服务器。
2. **建立 TXT 记录(证书验证)**
* **主机记录**:填写你从阶段一获得的 \_dnsauth.iit
* **霈啣<EFBFBD><EFBFBD>?*嚗?.140.53.236<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?SAE CLB <EFBFBD><EFBFBD> IP嚗?
* **<EFBFBD><EFBFBD>**嚗朞悟霈輸䔮<E8BCB8><E494AE><EFBFBD><EFBFBD><EFBFBD>雿删<E99BBF><E588A0>滚𦛚<E6BB9A><EFBFBD>?
2. **撱箇<EFBFBD> TXT 霈啣<EFBFBD><EFBFBD><EFBFBD>銋阡<EFBFBD><EFBFBD><EFBFBD>**嚗?
* **銝餅㦤霈啣<EFBFBD>**嚗𡁜<F0A1819C><EFBFBD>隞𡡞𧫴畾萎<E795BE><E8908E><EFBFBD><E79195>?\_dnsauth.iit<EFBFBD>?
* **霈啣<E99C88>蝐餃<E89D90>**嚗関XT
* **记录值**:填写你发给他的那串长字符串。
* **目的**:证明你对该子域名拥有控制权。
3. **完成签发**:同事添加成功后,回到你的证书控制台点击 **“验证”**。等待 10-30 分钟,状态变为“已签发”。
* **霈啣<EFBFBD><EFBFBD>?*嚗𡁜<F0A1819C><EFBFBD><E59798>𤑳<EFBFBD>隞𣇉<E99A9E><F0A38789><EFBFBD><EFBFBD><EFBFBD>蝚虫葡<E899AB>?
* **<EFBFBD><EFBFBD>**嚗朞<E59A97><E69C9E>𦒘<EFBFBD>撖寡砲摮𣂼<E691AE><F0A382BC>齿𥅾<E9BDBF>㗇綉<E39787><EFBFBD><E59786>?
3. **摰峕<EFBFBD>蝑曉<EFBFBD>**嚗𡁜<E59A97>鈭𧢲溶<F0A7A2B2><EFBFBD><E4ADBE><EFBFBD><EFBFBD><E59A97><EFBFBD><EFBFBD><E594AC><EFBFBD><EFBFBD>銋行綉<E8A18C>嗅蝱<E59785>孵稬 **<EFBFBD>𣈯<EFBFBD><EFBFBD><EFBFBD>?*<2A><><EFBFBD>敺?10-30 <20><><EFBFBD>嚗𣬚𠶖<F0A3AC9A><F0A0B696><EFBFBD>銝算<E98A9D>𨅯歇蝑曉<E89D91><E69B89><EFBFBD>?
## **<2A>嗆挾銝㚁<E98A9D>SAE <20>函蔡霂<E894A1>髡嚗<E9ABA1>瓲敹<E793B2>郊撉歹<E69289>**
等证书签发后需要将“钥匙”挂在大门CLB上。
1. **下载证书**:在控制台点击下载,服务器类型选择 **“Nginx”**。解压得到 .pem证书和 .key私钥文件。
2. **配置 SAE 访问设置**
* 进入 SAE 控制台 \-\> 应用 frontend-nginx-service \-\> **访问设置**
* 找到已有的公网 CLB 访问记录,点击 **“修改配置”**。
3. **添加 HTTPS 443 监听**
* **保留原有 80 端口规则**:不要删除它。
* **添加监听**
蝑㕑<EFBFBD>銋衣倌<EFBFBD><EFBFBD>嚗屸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣈯𤨎<EFBFBD><EFBFBD><EFBFBD><EFBFBD>典之<EFBFBD><EFBFBD>CLB嚗劐<EFBFBD><EFBFBD>?
1. **銝贝蝸霂<E89DB8>髡**嚗𡁜銁<F0A1819C><EFBFBD><E689B9><EFBFBD><E59581><EFBFBD>頧踝<E9A0A7><E8B89D>滚𦛚<E6BB9A>函掩<E587BD><EFBFBD>㗇𥋘 **<EFBFBD>鑥ginx<EFBFBD>?*<2A><><EFBFBD><EFBFBD><E8A781>?.pem嚗<6D><E59A97>銋佗<E98A8B><E4BD97>?.key嚗<79><E59A97><EFBFBD><EFBFBD><E4BC90><EFBFBD><EFBFBD>?
2. **<EFBFBD>滨蔭 SAE 霈輸䔮霈曄蔭**嚗?
* 餈𥕦<E9A488> SAE <20><EFBFBD><E689B9>?\-\> 摨𠉛鍂 frontend-nginx-service \-\> **霈輸䔮霈曄蔭**<EFBFBD>?
* <EFBFBD><EFBFBD>撌脫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝵?CLB 霈輸䔮霈啣<E99C88>嚗𣬚<E59A97><F0A3AC9A>?**<2A>靝耨<E99D9D><EFBFBD>蝵栽<E89DB5>?*<2A>?
3. **瘛餃<E7989B> HTTPS 443 <20>穃𨯬**嚗?
* **靽萘<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 80 蝡臬藁閫<E89781><E996AB>**嚗帋<E59A97><EFBFBD><E996AC><EFBFBD><EFBFBD><E69687>?
* **瘛餃<EFBFBD><EFBFBD>穃𨯬**嚗?
* **<2A>讛悅**嚗䥅TTPS
* **HTTPS 端口**443标准加密端口
* **SSL 证书**:选择“自定义上传”,用记事本打开那两个文件,完整复制内容贴入对应的“证书内容”和“私钥内容”框中。
* **双向认证****必须关闭 (OFF)**
* **容器端口**:填写 80对应你手册 5.2 Nginx 容器的端口)。
4. **开启 HTTP 重定向至 HTTPS**
* 在刚才的“修改配置”弹窗中,找到 **HTTP 80** 那一行规则。
* 勾选下方的 **“HTTP 重定向至 HTTPS”** 开关。
* **目的**:用户输入 http://... 会自动强制跳转到安全的 https://...
* **HTTPS 蝡臬藁**嚗?43嚗<33><E59A97><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E59EA2><EFBFBD>
* **SSL <EFBFBD>髡**嚗𡁻<E59A97>㗇𥋘<E39787>𡏭䌊摰帋<E691B0>銝𠹺<E98A9D><F0A0B9BA><EFBFBD><E59885>刻扇鈭𧢲𧋦<F0A7A2B2><EFBFBD><E69E8F><EFBFBD>舅銝芣<E98A9D>隞塚<E99A9E>摰峕㟲憭滚<E686AD><E6BB9A><EFBFBD>捆韐游<E99F90>撖孵<E69296><E5ADB5><EFBFBD><EFBFBD>𡏭<EFBFBD>銋血<E98A8B>摰嫖<E691B0><EFBFBD><E598A5>𦦵<EFBFBD><F0A6A6B5><EFBFBD>摰嫖<E691B0><EFBFBD>銝准<E98A9D>?
* **<EFBFBD><EFBFBD><EFBFBD>霈方<EFBFBD>**嚗?*敹<><EFBFBD>喲𡡒 (OFF)**<EFBFBD>?
* **摰孵膥蝡臬藁**嚗𡁜<F0A1819C>?80嚗<30>笆摨𥪯<E691A8><F0A5AAAF><EFBFBD> 5.2 <EFBFBD>?Nginx 摰孵膥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
4. **<EFBFBD><EFBFBD>?HTTP <EFBFBD><EFBFBD><EFBFBD>𤏸秐 HTTPS**嚗?
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>靝耨<EFBFBD><EFBFBD>蝵栽<EFBFBD>嘥撕蝒𦯀葉嚗峕𪄳<EFBFBD>?**HTTP 80** <20><><EFBFBD>銵諹<E98AB5><E8ABB9><EFBFBD>?
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> **<EFBFBD>𣿯TTP <EFBFBD><EFBFBD><EFBFBD>𤏸秐 HTTPS<50>?* 撘<><E69298><EFBFBD>?
* **<EFBFBD><EFBFBD>**嚗𡁶鍂<F0A181B6><EFBFBD><E79181>?http://... 隡朞䌊<E69C9E>典撩<E585B8>嗉歲頧砍<E9A0A7>摰匧<E691B0><E58CA7>?https://...<EFBFBD>?
## **<2A>嗆挾<E59786>𨥈<EFBFBD>撉諹<E69289>銝𤾸凝靽∠垢<E288A0><EFBFBD>**
1. **全链路测试**
* 访问 https://iit.xunzhengyixue.com/api/v1/health
* 若返回 JSON 且地址栏显示“小绿锁”,说明 HTTPS 链路已通。
2. **微信校验文件部署**
* 从企业微信/服务号后台下载 WW\_verify\_xxx.txt
* 放入前端代码的 public 目录(这样打包后会在根目录)。
* 运行 docker build docker push(参考手册 11.1 节)。
* SAE 点击“部署应用”更新镜像。
* 确保 https://iit.xunzhengyixue.com/WW\_verify\_xxx.txt 可被外部访问。
1. **<EFBFBD>券曎頝舀<EFBFBD>霂?*嚗?
* 霈輸䔮 https://iit.xunzhengyixue.com/api/v1/health<EFBFBD>?
* <EFBFBD><EFBFBD><EFBFBD>?JSON 銝𥪜𧑐<F0A5AA9C><F0A79190><EFBFBD>𤩺遬蝷算<E89DB7>𨅯<EFBFBD>蝏輸<E89D8F><E8BCB8><EFBFBD>霂湔<E99C82> HTTPS <20>曇楝撌脤<E6928C>𠾼<EFBFBD>?
2. **敺桐縑<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>函蔡**嚗?
* 隞𦒘<EFBFBD>銝𡁜凝靽?<3F>滚𦛚<E6BB9A><EFBFBD><E79195><EFBFBD>頧?WW\_verify\_xxx.txt<EFBFBD>?
* <EFBFBD><EFBFBD><EFBFBD>滨垢隞<EFBFBD><EFBFBD><EFBFBD>?public <20><EFBFBD><EFBFBD><E59A97><EFBFBD><EFBFBD><E7919F><EFBFBD><EFBFBD>隡𡁜銁<F0A1819C>寧𤌍敶𤏪<E695B6><F0A48FAA>?
* 餈鞱<EFBFBD> docker build <EFBFBD>?docker push<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?11.1 <20><><EFBFBD><EFBFBD>?
* <EFBFBD>?SAE <EFBFBD>孵稬<EFBFBD>𣈯<EFBFBD>蝵脣<EFBFBD><EFBFBD><EFBFBD>脲凒<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
* 蝖桐<EFBFBD> https://iit.xunzhengyixue.com/WW\_verify\_xxx.txt <EFBFBD>航◤憭㚚<EFBFBD>霈輸䔮<EFBFBD>?
## **<2A><20><EFBFBD><E8B8B9><EFBFBD>**
* **端口别写错**:是 **443**,不是 433 或其他。
* **双向认证**:千万别开,开了 PI 的手机就连不上了。
* **容器端口**CLB 负责解密,解密后依然把流量发给容器的 **80** 端口,所以容器端口填 80 是正确的。
* **解析优先级**:同事加 A 记录时,确保没有冲突的 CNAME 记录指向同一主机名 iit
**当前状态**SOP Fully Detailed | **建议**:证书签发后,第一时间按“阶段三”进行 CLB 配置。
* **蝡臬藁<EFBFBD><EFBFBD><EFBFBD>?*嚗𡁏糓 **443**嚗䔶<E59A97><E494B6>?433 <20><EFBFBD>隞硔<E99A9E>?
* **<EFBFBD><EFBFBD><EFBFBD>霈方<EFBFBD>**嚗𡁜<E59A97><EFBFBD><E98A9D><EFBFBD><EFBFBD><E59A97>鈭?PI <20><><EFBFBD><EFBFBD>箏停餈硺<E9A488>銝𠹺<E98A9D><F0A0B9BA>?
* **摰孵膥蝡臬藁**嚗鋴LB 韐蠘提閫<E68F90><E996AB>嚗諹圾撖<E59CBE><E69296>靘萘<E99D98><E89098>𦠜<EFBFBD><F0A6A09C><EFBFBD>蝏坔捆<E59D94><EFBFBD> **80** 蝡臬藁嚗峕<E59A97>隞亙捆<E4BA99>函垢<E587BD><E59EA2> 80 <20>舀迤蝖桃<E89D96><E6A183>?
* **<EFBFBD><EFBFBD>隡睃<EFBFBD>蝥?*嚗𡁜<E59A97>鈭见<E988AD> A 霈啣<E99C88><E595A3><EFBFBD>蝖桐<E89D96>瘝⊥<E7989D><E28AA5><EFBFBD><E884A9>?CNAME 霈啣<E99C88><E595A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>銝餅㦤<E9A485>?iit<EFBFBD>?
**敶枏<E695B6><E69E8F><EFBFBD>?*嚗锭OP Fully Detailed | **撱箄悅**嚗朞<E59A97>銋衣倌<E8A1A3><EFBFBD>嚗𣬚洵銝<E6B4B5><E98A9D>園𡢿<E59C92><EFBFBD>𣈯𧫴畾萎<E795BE><E8908E><EFBFBD>銵?CLB <20>滨蔭<E6BBA8>