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%)
107 lines
4.0 KiB
Markdown
107 lines
4.0 KiB
Markdown
# **<2A><><EFBFBD><EFBFBD>函蔡銵亙<E98AB5><E4BA99><EFBFBD><EFBFBD>嚗𡁜‵銵交<E98AB5><E4BAA4>𡒊<EFBFBD>蝻嗪<E89DBB>**
|
||
|
||
<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>𧋦: v1.0
|
||
<EFBFBD>格<EFBFBD>: 閫<><E996AB> 5 銝芰𡠺蝡𧢲芋<F0A7A2B2>烾<EFBFBD><E783BE>鞉𧒄<E99E89><F0A79284><EFBFBD>蝏𡏭<E89D8F><F0A18FAD>𡁏<EFBFBD>扼<EFBFBD><E689BC><EFBFBD>撣<EFBFBD><E692A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鞉𧋦<E99E89>桅<EFBFBD><E6A185>?
|
||
## **<2A><> <20>喲睸<E596B2>桅<EFBFBD> 1嚗锭AE <20><><EFBFBD>蝵𤏸挪<F0A48FB8>?(靚<>鍂 DeepSeek/OpenAI)**
|
||
|
||
<EFBFBD>啁𠶖嚗𡁻<EFBFBD>蝵脣銁 VPC <20><><EFBFBD> SAE 暺䁅恕<E48185>䭾<EFBFBD>霈輸䔮<E8BCB8>祉<EFBFBD><E7A589>?
|
||
<EFBFBD>擧<EFBFBD>嚗𡁜<EFBFBD>蝡航<EFBFBD><EFBFBD>?DeepSeek <20>亙藁隡朞<E99AA1><E69C9E>塚<EFBFBD>Python <20>滚𦛚<E6BB9A>䭾<EFBFBD>銝贝蝸<E8B49D>祉<EFBFBD> PDF<44>?
|
||
### **<2A>寞<EFBFBD> A嚗鐭AT 蝵穃<E89DB5> (<28><><EFBFBD><EFBFBD>煺漣<E785BA>寞<EFBFBD>嚗峕綫<E5B395>?**
|
||
|
||
* **<2A>滢<EFBFBD>**嚗𡁜銁 VPC <20>批<EFBFBD><E689B9>啣<EFBFBD>撱箔<E692B1>銝?**<2A>祉<EFBFBD> NAT 蝵穃<E89DB5>**嚗<>僎蝏穃<E89D8F>銝<EFBFBD>銝?**EIP**<2A><><EFBFBD>蝵?SNAT <20>∠𤌍嚗<F0A48C8D><E59A97>霈訾漱<E8A8BE>X㦤<EFBCB8><E3A6A4><EFBFBD>摰硺<E691B0>霈輸䔮<E8BCB8>祉<EFBFBD><E7A589>?
|
||
* **<2A>鞉𧋦**嚗鐭AT 蝵穃<E89DB5>蝘蠘<E89D98>韐?\+ EIP 瘚<><E7989A>韐?撣血捐韐嫘<E99F90>?
|
||
* **隡条<E99AA1>**嚗𡁶迅摰𡄯<E691B0><F0A184AF>𣳇<EFBFBD>靽格㺿摨𠉛鍂<F0A0899B>滨蔭<E6BBA8>?
|
||
### **<2A>寞<EFBFBD> B嚗锭AE 蝏穃<E89D8F><E7A983>祉<EFBFBD> IP (<28><>兝<EFBFBD>寞<EFBFBD>)**
|
||
|
||
* **<2A>滢<EFBFBD>**嚗𡁜銁 SAE 摨𠉛鍂<F0A0899B>滨蔭 \-\> 蝵𤑳<E89DB5><F0A491B3>滨蔭 銝哨<E98A9D><E593A8>亦<EFBFBD><E4BAA6>臬炏<E887AC>舀<EFBFBD>撘<EFBFBD><E69298>?**<2A>祉<EFBFBD>霈輸䔮** <20>𣇉<EFBFBD>摰?EIP<49>?
|
||
* **瘜冽<E7989C>**嚗锭AE <20>𣂷<EFBFBD><F0A382B7>抒<EFBFBD><E68A92>祆<EFBFBD><E7A586>孵<EFBFBD><E5ADB5>啣<EFBFBD><E595A3>航<EFBFBD>銝齿𣈲<E9BDBF><F0A388B2>凒<EFBFBD>亦<EFBFBD>摰?EIP<49><50><EFBFBD><EFBFBD>靝<EFBFBD><E99D9D>舀<EFBFBD>嚗<EFBFBD><E59A97>憿餌鍂<E9A48C>寞<EFBFBD> A<>?
|
||
## **<2A><>儭?<3F>喲睸<E596B2>桅<EFBFBD> 2嚗朞歲<E69C9E>踵㦤<E8B8B5>滨蔭 (憒<><E68692><EFBFBD>渲<EFBFBD> RDS)**
|
||
|
||
銝箔<EFBFBD><EFBFBD>嫣噶撘<EFBFBD><EFBFBD>睲犖<EFBFBD>䀝蝙<EFBFBD>?Navicat/DBeaver 蝞∠<E89D9E> RDS <20>唳旿嚗<E697BF>⏚<EFBFBD>?**Dify ECS** 雿靝蛹頝單踎<E596AE>箝<EFBFBD>?
|
||
### **<2A>滢<EFBFBD>甇仿炊**
|
||
|
||
1. **<EFBFBD>砍𧑐蝏<EFBFBD>垢<EFBFBD>扯<EFBFBD>** (撱箇<E692B1> SSH <20>折<EFBFBD>):
|
||
\# <20>澆<EFBFBD>: ssh \-L <20>砍𧑐蝡臬藁:RDS<44>啣<EFBFBD>:RDS蝡臬藁 root@ECS<EFBFBD>祉<EFBFBD>IP
|
||
ssh \-N \-L 5433:rm-xxxxx.pg.rds.aliyuncs.com:5432 root@\<ECS\_PUBLIC\_IP\> \-i your-key.pem
|
||
|
||
2. **Navicat 餈墧𦻖<E5A2A7>滨蔭**:
|
||
* 銝餅㦤: localhost
|
||
* 蝡臬藁: 5433
|
||
* <20>冽<EFBFBD>/撖<><E69296>: RDS <20><>揭<EFBFBD>瑕<EFBFBD><E79195>?
|
||
* *<2A>毺<EFBFBD>嚗𡁏<E59A97><F0A1818F>誯<EFBFBD>朞<EFBFBD> ECS 頧砍<E9A0A7><E7A08D>啣<EFBFBD>蝵?RDS<44>?
|
||
|
||
## **<2A><> <20>喲睸<E596B2>桅<EFBFBD> 3嚗帋<E59A97><E5B88B>桀<EFBFBD>撣<EFBFBD><E692A3><EFBFBD>?(NoOps 蟡𧼮膥)**
|
||
|
||
銝?1-2 鈭箏𣪧<E7AE8F>笔<EFBFBD><E7AC94>嗥<EFBFBD><E597A5><EFBFBD><EFBFBD><EFBFBD>穃<EFBFBD><E7A983>𡁏𧋦<F0A1818F><F0A78BA6><EFBFBD>摮䀝蛹 deploy.sh<73>?
|
||
\#\!/bin/bash
|
||
set \-e
|
||
|
||
\# \================= <20>滨蔭<E6BBA8>?\=================
|
||
ACR\_REGISTRY="registry.cn-hangzhou.aliyuncs.com"
|
||
NAMESPACE="clinical-research"
|
||
TIMESTAMP=$(date \+%Y%m%d%H%M)
|
||
|
||
\# 憸𡏭𠧧
|
||
GREEN='\\033\[0;32m'
|
||
NC='\\033\[0m'
|
||
|
||
function build\_and\_push() {
|
||
SERVICE\_NAME=$1
|
||
DIR\_NAME=$2
|
||
|
||
echo \-e "${GREEN}\>\>\> 撘<>憪𧢲<E686AA>撱?$SERVICE\_NAME ...${NC}"
|
||
|
||
\# 餈𥕦<E9A488><F0A595A6>桀<EFBFBD>
|
||
cd $DIR\_NAME
|
||
|
||
\# 1\. <20><>遣<EFBFBD>𨅯<EFBFBD>
|
||
IMAGE\_URL="$ACR\_REGISTRY/$NAMESPACE/$SERVICE\_NAME:$TIMESTAMP"
|
||
docker build \-t $IMAGE\_URL .
|
||
|
||
\# 2\. <20>券<EFBFBD><E588B8><EFBFBD><EFBFBD>?
|
||
echo \-e "${GREEN}\>\>\> <20>券<EFBFBD><E588B8><EFBFBD><EFBFBD>誩<EFBFBD> ACR ...${NC}"
|
||
docker push $IMAGE\_URL
|
||
|
||
\# 3\. 颲枏枂<E69E8F>湔鰵<E6B994><E9B0B5><EFBFBD> (憒<><E68692>摰㕑<E691B0>鈭?aliyun-cli <20>臭誑<E887AD>芸𢆡<E88AB8>湔鰵嚗<E9B0B5>炏<EFBFBD>蹱<EFBFBD><E8B9B1>?
|
||
echo \-e "${GREEN}\>\>\> <20>?$SERVICE\_NAME <20>𨅯<EFBFBD>撌脣停蝏?${NC}"
|
||
echo $IMAGE\_URL
|
||
echo "霂瑕銁 SAE <20>批<EFBFBD><E689B9>啣<EFBFBD> \[$SERVICE\_NAME\] <20><><EFBFBD><EFBFBD>讐<EFBFBD><E8AE90>祆凒<E7A586>唬蛹: $TIMESTAMP"
|
||
|
||
\# <20>𧼮<EFBFBD><F0A7BCAE>寧𤌍敶?
|
||
cd ..
|
||
echo "----------------------------------------"
|
||
}
|
||
|
||
\# \================= 銝餅<E98A9D>蝔?\=================
|
||
|
||
\# 1\. <20>函蔡 Python 敺格<E695BA><E6A0BC>?
|
||
\# build\_and\_push "extraction-service" "extraction\_service"
|
||
|
||
\# 2\. <20>函蔡 Node.js <20>𡒊垢 (霈啣<E99C88><E595A3><EFBFBD><EFBFBD>甇?Prisma)
|
||
\# cp \-r prisma backend/prisma
|
||
build\_and\_push "backend-service" "backend"
|
||
\# rm \-rf backend/prisma
|
||
|
||
\# 3\. <20>函蔡<E587BD>滨垢
|
||
\# build\_and\_push "frontend-service" "frontend-v2"
|
||
|
||
echo \-e "${GREEN}<7D><> <20><><EFBFBD>㗇<EFBFBD>撱箔遙<E7AE94>∪<EFBFBD><E288AA>琜<EFBFBD>${NC}"
|
||
|
||
## **<2A><> <20>喲睸<E596B2>桅<EFBFBD> 4嚗鐾SS <20><><EFBFBD>銝舘楝敺<E6A59D><E695BA><EFBFBD>?*
|
||
|
||
銝箔<EFBFBD><EFBFBD>脫迫<EFBFBD><EFBFBD>辣瘛瑚僚嚗<EFBFBD>遣霈桀銁 Bucket <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝖桃<E89D96><E6A183>桀<EFBFBD>蝏𤘪<E89D8F>嚗<EFBFBD>僎<EFBFBD>朞<EFBFBD> IAM Policy <20>𣂼<EFBFBD><F0A382BC><EFBFBD><EFBFBD>嚗<EFBFBD>虾<EFBFBD>㚁<EFBFBD><E39A81>?
|
||
**<EFBFBD>刻<EFBFBD><EFBFBD>桀<EFBFBD>蝏𤘪<EFBFBD>**:
|
||
|
||
clinical-research-files/
|
||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> pkb/ \# 銝芯犖<E88AAF>亥<EFBFBD>摨𤘪<E691A8>隞?
|
||
<EFBFBD>? <20>婙<EFBFBD><E5A999><EFBFBD> {userId}/ \# <20>厩鍂<E58EA9>琿<EFBFBD>蝳?
|
||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> asl/ \# <20><>讃蝑偦<E89D91>㗇<EFBFBD>隞?
|
||
<EFBFBD>? <20>婙<EFBFBD><E5A999><EFBFBD> {projectId}/ \# <20>厰★<E58EB0>桅<EFBFBD>蝳?
|
||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> dc/ \# <20>唳旿皜<E697BF><E79A9C><EFBFBD><EFBFBD>辣
|
||
<EFBFBD>? <20>婙<EFBFBD><E5A999><EFBFBD> {tempId}/ \# 銝湔𧒄銝𠹺<E98A9D>
|
||
<EFBFBD>婙<EFBFBD><EFBFBD><EFBFBD> system/ \# 蝟餌<E89D9F>韏<EFBFBD><E99F8F>
|
||
|
||
**摨𠉛鍂隞<E98D82><E99A9E><EFBFBD>餉<EFBFBD>**:
|
||
|
||
* **蝘<><E89D98>霂餃<E99C82>**: Bucket <20><><EFBFBD>霈曆蛹 **Private**<EFBFBD>?
|
||
* **<EFBFBD>滨垢霈輸䔮**: <20>𡒊垢雿輻鍂 ossClient.signatureUrl() <20><><EFBFBD>撣行<E692A3><E8A18C><EFBFBD><EFBFBD><EFBFBD>?URL (憒?1 撠𤩺𧒄) 餈𥪜<E9A488>蝏坔<E89D8F>蝡胯<E89DA1>?*銝亦<E98A9D><E4BAA6>滨垢<E6BBA8>湔𦻖<E6B994>朞<EFBFBD><E69C9E>祉<EFBFBD> URL 霈輸䔮<E8BCB8>?* |