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,11 +1,11 @@
# 企业微信注册与配置指南
# <EFBFBD><EFBFBD>敺桐縑瘜典<EFBFBD>銝𡡞<EFBFBD>蝵格<EFBFBD><EFBFBD>?
> **目标**获取企业微信API凭证用于IIT Manager Agent发送质控预警卡片
> **预计时间**20分钟
> **<EFBFBD><EFBFBD>**嚗朞繮<E69C9E><EFBFBD>銝𡁜凝靽PI<50><EFBFBD>嚗𣬚鍂鈭穉IT Manager Agent<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>霅血㨃<EFBFBD>?
> **<EFBFBD><EFBFBD>園𡢿**嚗?0<><30><EFBFBD>
---
## 📋 步骤1注册企业微信账号
## <EFBFBD><EFBFBD> 甇仿炊1嚗𡁏釣<F0A1818F><EFBFBD>銝𡁜凝靽∟揭<E2889F>?
### 1.1 霈輸䔮隡<E494AE><E99AA1>敺桐縑摰条<E691B0>
@@ -15,28 +15,28 @@
1. <20>孵稬"**蝡见朖瘜典<E7989C>**"
2. <20>㗇𥋘"**隡<><E99AA1>**"蝐餃<E89D90>
3. 填写企业信息:
- 企业名称:`测试医院`(或您的实际机构名称)
3. 憛怠<EFBFBD><EFBFBD><EFBFBD>靽⊥<EFBFBD>嚗?
- <EFBFBD><EFBFBD><EFBFBD>滨妍嚗䫤瘚贝<EFBFBD><EFBFBD>駁堺`嚗<><E59A97><EFBFBD><EFBFBD>摰鮋<E691B0><E9AE8B><EFBFBD><E7AEB8>滨妍嚗?
- 銵䔶<E98AB5>蝐餃<E89D90>嚗䫤<E59A97><EFBFBD><E9A48C>亙熒`
-<><E99AA1>鈭箸㺭嚗䫤100鈭箔誑銝㞗
- 蝞∠<E89D9E><E288A0><EFBFBD><E79D83><EFBFBD><E3B5AA><EFBFBD>憪枏<E686AA>
- 蝞∠<E89D9E><E288A0><EFBFBD><E480B9><EFBFBD><E7B6BD><EFBFBD><E587BD>𧢲㦤<F0A7A2B2><EFBFBD><E79880>交𤣰撉諹<E69289><E8ABB9><EFBFBD><EFBFBD>
4. 完成验证,注册成功
4. 摰峕<EFBFBD>撉諹<EFBFBD>嚗峕釣<EFBFBD><EFBFBD><EFBFBD>?
---
## 📋 步骤2创建自建应用
## <EFBFBD><EFBFBD> 甇仿炊2嚗𡁜<E59A97>撱箄䌊撱箏<E692B1><E7AE8F>?
### 2.1 <20><EFBFBD>蝞∠<E89D9E><E288A0>𤾸蝱
1. 霈輸䔮嚗冴ttps://work.weixin.qq.com/wework_admin/loginpage_wx
2. 使用企业微信APP扫码登录需先在手机上下载企业微信APP
2. 雿輻鍂隡<EFBFBD><EFBFBD>敺桐縑APP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧢲㦤銝𠹺<EFBFBD>頧賭<EFBFBD>銝𡁜凝靽PP嚗?
### 2.2 <20>𥕦遣摨𠉛鍂
1. 进入**【应用管理】** → **【自建】** → **【创建应用】**
1. 餈𥕦<EFBFBD>**<2A>𣂼<EFBFBD><F0A382BC>函恣<E587BD><E681A3><EFBFBD>?* <20>?**<2A>鞱䌊撱箝<E692B1>?* <20>?**<2A>𣂼<EFBFBD>撱箏<E692B1><E7AE8F><EFBFBD>?*
2. 填写应用信息:
2. 憛怠<EFBFBD>摨𠉛鍂靽⊥<EFBFBD>嚗?
- **摨𠉛鍂<F0A0899B>滨妍**嚗䫤IIT Manager Agent嚗<74><E59A97>霂𤏪<E99C82>`
- **摨𠉛鍂Logo**嚗帋<E59A97>隡牐<E99AA1>銝芸㦛<E88AB8><E3A69B><EFBFBD><EFBFBD><EFBFBD><E88880>嗡蝙<E597A1><EFBFBD>霈歹<E99C88>
- **摨𠉛鍂隞讠<E99A9E>**嚗䫤IIT<49>𠉛弦<F0A0899B><EFBFBD>韐冽綉<E586BD><EFBFBD> - <20>唳旿韐券<E99F90>摰墧𧒄<E5A2A7>烐綉`
@@ -44,19 +44,19 @@
3. <20>孵稬"**<2A>𥕦遣摨𠉛鍂**"
### 2.3 获取API凭证重要
### 2.3 <EFBFBD><EFBFBD>API<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?
创建成功后,在应用详情页可以看到:
<EFBFBD>𥕦遣<EFBFBD>𣂼<EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD><EFBFBD><EFBFBD>刻祕<EFBFBD><EFBFBD><EFBFBD>臭誑<EFBFBD><EFBFBD>嚗?
```
<EFBFBD><EFBFBD>ID嚗㇃orpID嚗㚁<EFBFBD> ww1234567890abcdef
AgentID 1000002
Secret 点击"查看"按钮查看
AgentID嚗? 1000002
Secret嚗? <EFBFBD>孵稬"<22><EFBFBD>"<22>厰僼<E58EB0><EFBFBD>
```
**⚠️ 重要提示**
**<EFBFBD>𩤃<EFBFBD> <20><EFBFBD><E6BBA9>鞟內**嚗?
- **Secret** <20>芣遬蝷箔<E89DB7>甈∴<E79488>霂瑞<E99C82><E7919E><EFBFBD><E596B3><EFBFBD>摮矋<E691AE>
- 如果忘记Secret需要重置会导致旧Secret失效)
- <EFBFBD><EFBFBD>敹䁅扇Secret嚗屸<EFBFBD><EFBFBD><EFBFBD>蝵殷<EFBFBD>隡𡁜紡<EFBFBD>湔唂Secret憭望<EFBFBD>嚗?
---
@@ -64,10 +64,10 @@ Secret 点击"查看"按钮查看
### 3.1 霈曄蔭蝵煾△<E785BE><E296B3><EFBFBD><EFBFBD>蹆S-SDK
1. 在应用详情页,找到"**网页授权及JS-SDK**"
2. 设置**可信域名**
1. <EFBFBD><EFBFBD><EFBFBD>刻祕<EFBFBD><EFBFBD>△嚗峕𪄳<EFBFBD>?**蝵煾△<E785BE><E296B3><EFBFBD><EFBFBD>S-SDK**"
2. 霈曄蔭**<2A>臭縑<E887AD><EFBFBD>**嚗?
-<><E69298>𤑳㴓憓<E3B493><E68693>`localhost`<EFBFBD><EFBFBD><EFBFBD>𨀣𣈲<EFBFBD><EFBFBD><EFBFBD>
- 生产环境:您的实际域名(如 `iit.example.com`
- <EFBFBD>煺漣<EFBFBD><EFBFBD>嚗𡁏<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>憒?`iit.example.com`嚗?
### 3.2 霈曄蔭<E69B84>交𤣰瘨<F0A4A3B0><E798A8>
@@ -77,13 +77,13 @@ Secret 点击"查看"按钮查看
### 3.3 霈曄蔭<E69B84><E894AD><EFBFBD><EFBFBD><EFBFBD>
蝖桐<EFBFBD>摨𠉛鍂<EFBFBD>劐誑銝𧢲<EFBFBD><EFBFBD><EFBFBD>
- **发送消息到微信** - 核心功能
- **成员信息读取** - 用于获取用户OpenID
- **通讯录管理** - 用于用户映射
- <EFBFBD>?**<2A><EFBFBD><E785BE><EFBFBD><EFBFBD><EFBFBD>敺桐縑** - <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- <EFBFBD>?**<2A>𣂼<EFBFBD>靽⊥<E99DBD>霂餃<E99C82>** - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>OpenID
- <EFBFBD>?**<2A>朞悖敶閧恣<E996A7>?* - <20><EFBFBD><E585B6><EFBFBD><E586BD><EFBFBD>
---
## 📋 步骤4配置到项目中
## <EFBFBD><EFBFBD> 甇仿炊4嚗𡁻<E59A97>蝵桀<E89DB5>憿寧𤌍銝?
### 4.1 憭滚<E686AD><E6BB9A><EFBFBD>
@@ -95,7 +95,7 @@ AgentID: 1000002
Secret: abc123xyz789_your_secret_here
```
### 4.2 添加到 .env 文件
### 4.2 瘛餃<EFBFBD><EFBFBD>?.env <EFBFBD><EFBFBD>
蝻𤥁<EFBFBD> `AIclinicalresearch/backend/.env`嚗峕溶<EFBFBD>𩤃<EFBFBD>
@@ -106,9 +106,9 @@ WECHAT_CORP_SECRET=abc123xyz789_your_secret_here
WECHAT_AGENT_ID=1000002
```
**⚠️ 注意**
- 不要提交 `.env` 文件到Git已在 `.gitignore` 中)
- 生产环境使用独立的企业微信应用
**<EFBFBD>𩤃<EFBFBD> 瘜冽<E7989C>**嚗?
- 銝滩<EFBFBD><EFBFBD>𣂷漱 `.env` <EFBFBD><EFBFBD><EFBFBD>蚣it嚗<EFBFBD><EFBFBD>?`.gitignore` 銝哨<EFBFBD>
- <EFBFBD>煺漣<EFBFBD><EFBFBD>雿輻鍂<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>銝𡁜凝靽<EFBFBD><EFBFBD>?
---
@@ -116,18 +116,18 @@ WECHAT_AGENT_ID=1000002
### 5.1 <20>滚鍳<E6BB9A>𡒊垢<F0A1928A>滚𦛚
保存 `.env` 后,重启后端:
靽嘥<EFBFBD> `.env` <EFBFBD>𠬍<EFBFBD><EFBFBD>滚鍳<EFBFBD>𡒊垢嚗?
```bash
# 停止当前服务Ctrl+C
# <EFBFBD>𨀣迫敶枏<EFBFBD><EFBFBD>滚𦛚嚗㇃trl+C嚗?
# <20>齿鰵<E9BDBF>臬𢆡
cd D:\MyCursor\AIclinicalresearch\backend
npm run dev
```
### 5.2 手动测试使用Postman或curl
### 5.2 <EFBFBD>见𢆡瘚贝<EFBFBD><EFBFBD><EFBFBD>ostman<EFBFBD>url嚗?
**测试端点**后续Day 5会创建
**瘚贝<EFBFBD>蝡舐<EFBFBD>**嚗<><E59A97>蝏胖ay 5隡𡁜<E99AA1>撱綽<E692B1>嚗?
```bash
POST http://localhost:3001/api/v1/iit/test/wechat-push
@@ -136,73 +136,73 @@ Content-Type: application/json
{
"toUser": "YourUserID",
"title": "瘚贝<E7989A><E8B49D>𡁶䰻",
"description": "这是一条来自IIT Manager的测试消息",
"description": "餈蹱糓銝<EFBFBD><EFBFBD>⊥䔉<EFBFBD>IT Manager<EFBFBD><EFBFBD><EFBFBD>霂閙<EFBFBD><EFBFBD>?,
"url": "http://localhost:5173"
}
```
**预期结果**
- ✅ 返回200状态码
- ✅ 企业微信APP收到卡片消息
**<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>**嚗?
- <EFBFBD>?餈𥪜<E9A488>200<30><EFBFBD><E59786><EFBFBD>
- <EFBFBD>?隡<><E99AA1>敺桐縑APP<50><EFBFBD><E59785><EFBFBD><EFBFBD><E798A8>
---
## 📋 常见问题FAQ
## <EFBFBD><EFBFBD> 撣貉<E692A3><E8B289><EFBFBD>嚗㇅AQ嚗?
### Q1:我没有企业,可以注册吗?
### Q1嚗𡁏<EFBFBD>瘝⊥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>虾隞交釣<EFBFBD><EFBFBD><EFBFBD>嚗?
**A**:可以!选择"**个人**"或"**个体工商户**"类型注册,功能完全相同。
**A**嚗𡁜虾隞伐<E99A9E><E4BC90>㗇𥋘"**銝芯犖**"<22>?**銝芯<E98A9D>撌亙<E6928C><E4BA99>?*"蝐餃<E89D90>瘜典<E7989C><EFBFBD><E59A97><EFBFBD><EFBFBD><E8B3A2>函㮾<E587BD><EFBFBD>?
### Q2嚗锭ecret敹䁅扇鈭<E68987><E988AD>𦒘<EFBFBD><F0A69298><EFBFBD>
**A**:在应用详情页点击"**重置Secret**",但会导致旧Secret失效。
**A**嚗𡁜銁摨𠉛鍂霂行<E99C82>憿萇<E686BF><E89087>?**<EFBFBD>滨蔭Secret**"嚗䔶<E59A97>隡𡁜紡<F0A1819C>湔唂Secret憭望<EFBFBD><EFBFBD>?
### Q3:测试环境需要实名认证吗?
### Q3嚗𡁏<EFBFBD>霂閧㴓憓<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>滩恕霂<EFBFBD><EFBFBD>嚗?
**A**不需要。未认证企业也可以使用自建应用的全部功能只是人数有限制100人
**A**嚗帋<E59A97><E5B88B><EFBFBD><EFBFBD><E996AC><EFBFBD>𧊋霈方<E99C88><EFBFBD><E99AA1>銋笔虾隞乩蝙<E4B9A9>刻䌊撱箏<E692B1><E7AE8F><EFBFBD><E587BD><EFBFBD><E588B8><EFBFBD><EFBFBD><EFBFBD>臭犖<E887AD><EFBFBD><E594B3>𣂼<EFBFBD>嚗?00鈭綽<E988AD><E7B6BD>?
### Q4:如何找到用户的 UserID
### Q4嚗𡁜<EFBFBD>雿閙𪄳<EFBFBD>啁鍂<EFBFBD><EFBFBD> UserID嚗?
**A**
1. 方法1登录管理后台 → 通讯录 → 点击成员 → 查看"账号"
**A**嚗?
1. <EFBFBD><EFBFBD>1嚗𡁶蒈敶閧恣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>?<3F>朞悖敶?<3F>?<3F>孵稬<E5ADB5>𣂼<EFBFBD> <20>?<3F><EFBFBD>"韐血噡"
2. <20><EFBFBD>2嚗朞<E59A97><E69C9E><EFBFBD>銝𡁜凝靽PI<50><EFBFBD>嚗䫤GET /cgi-bin/user/getuserinfo`
### Q5消息发送失败返回40014错误
### Q5嚗𡁏<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>仃韐伐<EFBFBD>餈𥪜<EFBFBD>40014<EFBFBD>躰秤嚗?
**A**嚗䫤invalid access_token`嚗<><EFBFBD><EFBFBD><E8B3A2>𩤃<EFBFBD>
- Secret<65>滨蔭<E6BBA8>躰秤
- Access Token过期(需重新获取)
- Access Token<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>齿鰵<EFBFBD><EFBFBD>嚗?
- CorpID<49>䨝gentID<49>滨蔭<E6BBA8>躰秤
---
## ✅ 验收标准
## <EFBFBD>?撉峕𤣰<E5B395><F0A4A3B0><EFBFBD>
完成以下任务后Day 1就完美收官了
摰峕<EFBFBD>隞乩<EFBFBD>隞餃𦛚<EFBFBD>𠬍<EFBFBD>Day 1撠勗<E692A0>蝢擧𤣰摰䀝<E691B0>嚗?
- [ ] 隡<><E99AA1>敺桐縑韐血噡瘜典<E7989C><E585B8>𣂼<EFBFBD>
- [ ] <20>芸遣摨𠉛鍂<F0A0899B>𥕦遣<F0A595A6>𣂼<EFBFBD>
- [ ] <20><EFBFBD><E79195>蚓orpID<49><44>gentID<49><44>ecret
- [ ] 配置到 `.env` 文件
- [ ] <20>滨蔭<E6BBA8>?`.env` <20><>
- [ ] <20>𡒊垢<F0A1928A>滚𦛚<E6BB9A>賣迤撣詨鍳<E8A9A8><EFBFBD><E58981>䭾𥁒<E4ADBE><EFBFBD>
---
## 🎯 下一步
## <EFBFBD>㴓 銝衤<E98A9D>甇?
摰峕<EFBFBD><EFBFBD><EFBFBD>敺桐縑<EFBFBD>滨蔭<EFBFBD>𠬍<EFBFBD>Day 2<>睲賑撠<E8B391><E692A0>憪页<E686AA>
1. **REDCap API Adapter开发**(核心功能)
2. **SyncManager开发**(混合同步模式)
3. 实现REDCap数据拉取和轮询
1. **REDCap API Adapter<EFBFBD><EFBFBD>?*嚗<>瓲敹<E793B2><E695B9><EFBFBD><EFBFBD>
2. **SyncManager<EFBFBD><EFBFBD>?*嚗<><EFBFBD><E6AFBD><EFBFBD>甇交芋撘𧶏<E69298>
3. 摰䂿緵REDCap<EFBFBD>唳旿<EFBFBD><EFBFBD><EFBFBD>諹蔭霂?
预计完成时间8小时
<EFBFBD>恣摰峕<EFBFBD><EFBFBD>園𡢿嚗?撠𤩺𧒄
---
**创建日期**2025-12-31
**维护者**:开发团队
**参考文档**
**<EFBFBD>𥕦遣<EFBFBD><EFBFBD>**嚗?025-12-31
**蝏湔擪<EFBFBD>?*嚗𡁜<E59A97><F0A1819C>穃𣪧<E7A983>?
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>獢?*嚗?
-<><E99AA1>敺桐縑摰䀹䲮<E480B9><E4B2AE>﹝嚗冴ttps://developer.work.weixin.qq.com/document/
- <20><EFBFBD><E785BE><EFBFBD><EFBFBD><EFBFBD><E586BD><EFBFBD>https://developer.work.weixin.qq.com/document/path/90236
@@ -225,5 +225,6 @@ Content-Type: application/json