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%)
34 KiB
AI銝游<EFBFBD><EFBFBD>𠉛弦撟喳蝱 - <20>輸<EFBFBD>鈭穃翰<E7A983>罸<EFBFBD>蝵淞OP嚗<50>妟<EFBFBD>箇<EFBFBD><E7AE87><EFBFBD><EFBFBD>
*<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>𧋦嚗? v1.0
*<EFBFBD>𥕦遣<EFBFBD>交<EFBFBD>嚗? 2025-12-16
*<EFBFBD><EFBFBD>鍂<EFBFBD>箸艶嚗? 隞𡡞妟撘<E5A69F>憪钅<E686AA>蝵脣<E89DB5><E884A3>輸<EFBFBD>鈭𡢅<E988AD>銝滚鉄Dify嚗? *憸<EFBFBD>恣<EFBFBD>園𡢿嚗? 3-4撠𤩺𧒄
*<EFBFBD>格<EFBFBD>嚗? 蝟餌<E89D9F><E9A48C>賢<EFBFBD>甇<EFBFBD>虜霈輸䔮嚗<E494AE>抅<EFBFBD>砍<EFBFBD><E7A08D>賢虾<E8B3A2>?
<EFBFBD><EFBFBD> <20>函蔡璉<E894A1><E79289>交<EFBFBD><E4BAA4>?
<EFBFBD>典<EFBFBD>憪衤<EFBFBD><EFBFBD>㵪<EFBFBD>霂瑞&霈歹<EFBFBD>
- 撌脫<EFBFBD><EFBFBD>輸<EFBFBD>鈭𤏸揭<EFBFBD>瘀<EFBFBD>銝𥪜歇摰峕<EFBFBD>摰𧼮<EFBFBD>霈方<EFBFBD>
- 韐行<EFBFBD>雿䠷<EFBFBD> <20>?500<30><30><EFBFBD>撱箄悅1000<30><30><EFBFBD><EFBFBD><EFBFBD>鉄3銝芣<E98A9D>餈鞱<E9A488>韐寧鍂嚗?- [ ] 撌脣<E6928C>鋆<EFBFBD>ocker Desktop嚗<70>鍂鈭擧<E988AD>撱粹<E692B1><E7B2B9>𧶏<EFBFBD>
- 撌脣<EFBFBD>鋆<EFBFBD>it嚗<EFBFBD>鍂鈭舘繮<EFBFBD>碶誨<EFBFBD><EFBFBD><EFBFBD>
- <EFBFBD>砍𧑐<EFBFBD>賢<EFBFBD>甇<EFBFBD>虜餈鞱<EFBFBD>憿寧𤌍嚗<EFBFBD>㺭<EFBFBD>桀<EFBFBD>撌脣<EFBFBD>憪见<EFBFBD>嚗?
<EFBFBD><EFBFBD> 撌脤<E6928C>蝵脰<E89DB5>皞𣂼翰<F0A382BC>笔<EFBFBD><E7AC94>?
隞乩<EFBFBD>韏<EFBFBD><EFBFBD>撌脩<EFBFBD><EFBFBD>券燵<EFBFBD>䔶<EFBFBD>銝𢠃<EFBFBD>蝵脣<EFBFBD><EFBFBD>琜<EFBFBD><EFBFBD>函蔡餈<EFBFBD><EFBFBD>銝剖虾隞亦凒<EFBFBD>乩蝙<EFBFBD>刻<EFBFBD>鈭𥕢縑<EFBFBD>荔<EFBFBD>
<EFBFBD>?VPC蝵𤑳<E89DB5>靽⊥<E99DBD>
VPC ID: vpc-2ze055cptkew9c38w4r06
VPC<EFBFBD>滨妍: ai-clinical-vpc
蝵烐挾: 172.17.0.0/16
<EFBFBD>啣<EFBFBD>: <EFBFBD>𤾸<EFBFBD>2嚗<EFBFBD><EFBFBD>鈭穿<EFBFBD>
鈭斗揢<EFBFBD>截D: vsw-2zevacop039bxrmj6yc0c (<28>舐鍂<E88890>慚)
vsw-2zehoeyw9ldncymcyvfwq (<28>舐鍂<E88890>態)
摰匧<EFBFBD>蝏<EFBFBD>D: sg-2zedk6fi8sgmmcwdu7tu
<EFBFBD>?RDS PostgreSQL<51>唳旿摨?```yaml
摰硺<EFBFBD>ID: pgm-2zex1m2y3r23hdn5 <0A><><EFBFBD><EFBFBD>啣<EFBFBD>: pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432 <0A>唳旿摨栞揭<E6A09E>? airesearch <0A>唳旿摨枏<E691A8><E69E8F>? Xibahe@fengzhibo117 <0A>唳旿摨枏<E691A8>蝘? ai_clinical_research 閫<>聢: 2<>?GB (pg.n2.2c.1m) <0A><>憭扯<E686AD><E689AF>交㺭: 400 PostgreSQL<51><4C>𧋦: 15.0 <0A>賢<EFBFBD><E8B3A2>? 172.17.0.0/16 <20>?<3F>嗅躹: Asia/Shanghai <20>?```
<EFBFBD>?SAE<41>賢<EFBFBD>蝛粹𡢿
<EFBFBD>賢<EFBFBD>蝛粹𡢿ID: cn-beijing:test-airesearch
<EFBFBD>啣<EFBFBD>: <EFBFBD>𤾸<EFBFBD>2嚗<EFBFBD><EFBFBD>鈭穿<EFBFBD>
<EFBFBD>?OSS撖寡情摮睃<E691AE>
Bucket<EFBFBD>滨妍: ai-clinical-research
<EFBFBD>啣<EFBFBD>: <EFBFBD>𤾸<EFBFBD>2嚗<EFBFBD><EFBFBD>鈭穿<EFBFBD>
摮睃<EFBFBD>蝐餃<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD>摮睃<EFBFBD>
霂餃<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 蝘<EFBFBD><EFBFBD>
摮睃<EFBFBD><EFBFBD>𦯀<EFBFBD>蝐餃<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>𦯀<EFBFBD>摮睃<EFBFBD>
憭𣇉<EFBFBD>Endpoint: oss-cn-beijing.aliyuncs.com
<EFBFBD><EFBFBD><EFBFBD>Endpoint: oss-cn-beijing-internal.aliyuncs.com
Bucket<EFBFBD>笔<EFBFBD>嚗<EFBFBD><EFBFBD>蝵𡢅<EFBFBD>: ai-clinical-research.oss-cn-beijing-internal.aliyuncs.com
<EFBFBD>𥕦遣<EFBFBD>園𡢿: 2025-12-16 20:22 <EFBFBD>?
# RAM<41>冽<EFBFBD>霈輸䔮<E8BCB8>剛<EFBFBD>嚗<EFBFBD>鍂鈭窻SS<53>坔<EFBFBD>嚗?RAM<41>冽<EFBFBD><E586BD>? oss-bucket-put-object@1991407246109125.onaliyun.com
AccessKeyId: LTAI5tB2Dt3NdvBL3G7nYGv7
AccessKeySecret: 1iSN9k39RkApP93QjUhC1DcPIeMG4V
UID: 203256565888301026
<EFBFBD>𥕦遣<EFBFBD>園𡢿: 2025-12-16 20:31:41 <EFBFBD>?
<EFBFBD>𩤃<EFBFBD> 摰匧<E691B0>霅血<E99C85>嚗鋫ccessKey<65>舀<EFBFBD><E88880>煺縑<E785BA>荔<EFBFBD>霂瑕嚉<E79195>𣂷漱<F0A382B7>啣<EFBFBD>撘<EFBFBD>Git隞枏<E99A9E>嚗?```
### <20>?NAT蝵穃<E89DB5>銝𤾸<E98A9D>蝵𤏸挪<F0A48FB8>?```yaml
NAT蝵穃<EFBFBD><EFBFBD>滨妍: NAT_airesearch
NAT蝵穃<EFBFBD>ID: ngw-2zeec9ulzgw7ywvx1pst6
SNAT銵沉D: stb-2zesszmzx1qpwf1cb2bry
<EFBFBD>祉<EFBFBD>IP(EIP): 182.92.176.14
<EFBFBD>𥕦遣<EFBFBD>園𡢿: 2025-12-16 20:58:12 <EFBFBD>?
# SNAT<41>∠𤌍<E288A0>滨蔭嚗?<3F>∴<EFBFBD>閬<EFBFBD><E996AC><EFBFBD><EFBFBD><EFBFBD>劐漱<E58A90>X㦤嚗?SNAT<41>∠𤌍1:
ID: snat-2zerlp4z0ed2isvq399gn
皞鞟<EFBFBD>畾? 172.17.160.0/20
鈭斗揢<EFBFBD>? vsw-2zevacop039bxrmj6yc0c (<28>舐鍂<E88890>慚)
<EFBFBD>祉<EFBFBD>IP: 182.92.176.14
<EFBFBD>嗆<EFBFBD>? <20>舐鍂 <20>?
SNAT<EFBFBD>∠𤌍2:
ID: snat-2zegvesjxjwmw7j51m89m
皞鞟<EFBFBD>畾? 172.17.192.0/20
鈭斗揢<EFBFBD>? vsw-2zehoeyw9ldncymcyvfwq (<28>舐鍂<E88890>態)
<EFBFBD>祉<EFBFBD>IP: 182.92.176.14
<EFBFBD>嗆<EFBFBD>? <20>舐鍂 <20>?```
### <20>?ACR摰孵膥<E5ADB5>𨅯<EFBFBD><F0A885AF>滚𦛚
```yaml
<EFBFBD>滚𦛚蝐餃<EFBFBD>: 銝芯犖<E88AAF><E78A96><EFBFBD><EFBFBD>滩晶嚗?<3F>賢<EFBFBD>蝛粹𡢿: ai-clinical
<EFBFBD>冽<EFBFBD><EFBFBD>? gofeng117@163.com
Registry撖<EFBFBD><EFBFBD>: fengzhibo117
<EFBFBD>祉<EFBFBD><EFBFBD>笔<EFBFBD>: crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com
銝𤘪<EFBFBD>蝵𤑳<EFBFBD><EFBFBD>笔<EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com
# <20>𨅯<EFBFBD>隞枏<E99A9E>嚗?銝迎<E98A9D>
隞枏<EFBFBD>1 - <20>滨垢Nginx:
隞枏<EFBFBD><EFBFBD>滨妍: ai-clinical_frontend-nginx
<EFBFBD>祉<EFBFBD><EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx
銝𤘪<EFBFBD>蝵𤑳<EFBFBD><EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx
隞枏<EFBFBD>2 - Python敺格<E695BA><E6A0BC>?
隞枏<EFBFBD><EFBFBD>滨妍: python-extraction
<EFBFBD>祉<EFBFBD><EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction
銝𤘪<EFBFBD>蝵𤑳<EFBFBD><EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction
隞枏<EFBFBD>3 - Node.js<6A>𡒊垢:
隞枏<EFBFBD><EFBFBD>滨妍: nodejs-backend
<EFBFBD>祉<EFBFBD><EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend
銝𤘪<EFBFBD>蝵𤑳<EFBFBD><EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend
<EFBFBD>𩤃<EFBFBD> 摰匧<E691B0>霅血<E99C85>嚗鑹egistry撖<79><E69296><EFBFBD>舀<EFBFBD><E88880>煺縑<E785BA>荔<EFBFBD>霂瑕嚉<E79195>𣂷漱<F0A382B7>啣<EFBFBD>撘<EFBFBD>Git隞枏<E99A9E>嚗?```
### <20>𩤃<EFBFBD> 敺<><E695BA>蝵脰<E89DB5>皞?- [x] NAT蝵穃<E89DB5> <20>?撌脣<E6928C>撱綽<E692B1>SNAT撌脤<E6928C>蝵?- [x] OSS摮睃<E691AE>獢?<3F>?撌脣<E6928C>撱?- [x] ACR摰孵膥<E5ADB5>𨅯<EFBFBD>隞枏<E99A9E> <20>?撌脣<E6928C>撱?- [ ] SAE摨𠉛鍂嚗?銝迎<E98A9D>Python/Node.js/Frontend嚗?
---
## <20>㴓 <20>函蔡<E587BD>冽<EFBFBD>蝔𧢲<E89D94>閫?
蝚砌<EFBFBD><EFBFBD>嗆挾嚗𡁻燵<EFBFBD>䔶<EFBFBD>韏<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?0<><30><EFBFBD>嚗?<3F>鎿<EFBFBD><E98EBF><EFBFBD> <20>𥕦遣VPC蝵𤑳<E89DB5> <0A>鎿<EFBFBD><E98EBF><EFBFBD> <20>𥕦遣NAT蝵穃<E89DB5>嚗<EFBFBD><E59A97><EFBFBD>殷<EFBFBD>嚗?<3F>鎿<EFBFBD><E98EBF><EFBFBD> 韐凋僭RDS PostgreSQL <0A>鎿<EFBFBD><E98EBF><EFBFBD> <20>𥕦遣OSS摮睃<E691AE>獢?<3F>婙<EFBFBD><E5A999><EFBFBD> <20>𥕦遣SAE摨𠉛鍂嚗?銝芰征摨𠉛鍂嚗? 蝚砌<E89D9A><E7A08C>嗆挾嚗𡁏㺭<F0A1818F>桀<EFBFBD><E6A180>嘥<EFBFBD><E598A5>吔<EFBFBD>30<33><30><EFBFBD>嚗?<3F>鎿<EFBFBD><E98EBF><EFBFBD> 撖澆枂<E6BE86>砍𧑐<E7A08D>唳旿摨?<3F>鎿<EFBFBD><E98EBF><EFBFBD> <20>朞<EFBFBD>ECS頝單踎<E596AE>箄<EFBFBD><E7AE84>充DS <0A>婙<EFBFBD><E5A999><EFBFBD> 撖澆<E69296><E6BE86>唳旿<E594B3>訌DS
蝚砌<EFBFBD><EFBFBD>嗆挾嚗鋽ocker<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?0<><30><EFBFBD>嚗?<3F>鎿<EFBFBD><E98EBF><EFBFBD> <20>𥕦遣<F0A595A6>輸<EFBFBD>鈭穃捆<E7A983>券<EFBFBD><E588B8>𤩺<EFBFBD><F0A4A9BA>∴<EFBFBD>ACR嚗?<3F>鎿<EFBFBD><E98EBF><EFBFBD> <20><>遣Python敺格<E695BA><E6A0BC>⊿<EFBFBD><E28ABF>?<3F>鎿<EFBFBD><E98EBF><EFBFBD> <20><>遣Node.js<6A>𡒊垢<F0A1928A>𨅯<EFBFBD> <0A>婙<EFBFBD><E5A999><EFBFBD> <20><>遣<EFBFBD>滨垢Nginx<6E>𨅯<EFBFBD>
蝚砍<EFBFBD><EFBFBD>嗆挾嚗锭AE摨𠉛鍂<EFBFBD>函蔡嚗?0<><30><EFBFBD>嚗?<3F>鎿<EFBFBD><E98EBF><EFBFBD> <20>函蔡Python敺格<E695BA><E6A0BC>?<3F>鎿<EFBFBD><E98EBF><EFBFBD> <20>函蔡Node.js<6A>𡒊垢 <0A>婙<EFBFBD><E5A999><EFBFBD> <20>函蔡<E587BD>滨垢Nginx
蝚砌<EFBFBD><EFBFBD>嗆挾嚗𡁻<EFBFBD>霂<EFBFBD><EFBFBD>瘚贝<EFBFBD>嚗?0<><30><EFBFBD>嚗?<3F>鎿<EFBFBD><E98EBF><EFBFBD> <20>亙熒璉<E78692><E79289>?<3F>鎿<EFBFBD><E98EBF><EFBFBD> <20>蠘<EFBFBD>瘚贝<E7989A> <0A>婙<EFBFBD><E5A999><EFBFBD> <20>亙<EFBFBD><E4BA99>埝䰻
**<2A>駁<EFBFBD>霈⊥𧒄<E28AA5>湛<EFBFBD>3.5-4撠𤩺𧒄**
---
## 蝚砌<E89D9A><E7A08C>嗆挾嚗𡁻燵<F0A181BB>䔶<EFBFBD>韏<EFBFBD><E99F8F><EFBFBD><EFBFBD><EFBFBD>嚗?0<><30><EFBFBD>嚗?
### 1.1 <20>𥕦遣VPC銝𤘪<E98A9D>蝵𤑳<E89DB5>嚗?0<><30><EFBFBD>嚗?
**<2A>桃<EFBFBD>嚗?* 銝箸<E98A9D><E7AEB8>劐<EFBFBD>韏<EFBFBD><E99F8F><EFBFBD>𣂷<EFBFBD><F0A382B7><EFBFBD><EFBFBD><EFBFBD>𠉛氖<F0A0899B>臬<EFBFBD>
**<2A>滢<EFBFBD>甇仿炊嚗?*
1. <20>餃<EFBFBD><E9A483>輸<EFBFBD>鈭烐綉<E78390>嗅蝱嚗冴ttps://vpc.console.aliyun.com/
2. <20>孵稬<E5ADB5>𣂼<EFBFBD>撱箔<E692B1><E7AE94>厩<EFBFBD>蝏栶<E89D8F>?3. 憛怠<E6869B><E680A0>滨蔭嚗?
```yaml
<0A>滨妍: ai-clinical-vpc
<0A>啣<EFBFBD>: <20>𤾸<EFBFBD>2嚗<32><E59A97>鈭穿<E988AD>
IPv4蝵烐挾: 172.17.0.0/16
- <EFBFBD>𥕦遣鈭斗揢<EFBFBD>綽<EFBFBD>vSwitch嚗㚁<EFBFBD>
<EFBFBD>滨妍: ai-clinical-vswitch-1
<EFBFBD>舐鍂<EFBFBD>? <20>𦯀漪 <20>舐鍂<E88890>慵
IPv4蝵烐挾: 172.17.0.0/20
- <EFBFBD>孵稬<EFBFBD>鞟&摰𠾼<EFBFBD>𡢅<EFBFBD>蝑匧<EFBFBD><EFBFBD>𥕦遣摰峕<EFBFBD>嚗<EFBFBD>漲30蝘𡜐<EFBFBD>
*撉諹<EFBFBD>嚗? <20>汲PC<50>𡑒”銝剔<E98A9D><E58994>?ai-clinical-vpc"嚗𣬚𠶖<F0A3AC9A><F0A0B696>蛹"<22>舐鍂"
1.2 <20>𥕦遣NAT蝵穃<E89DB5>嚗?5<><35><EFBFBD>嚗争<E59A97>潃鐥<E6BD83>潃鐥<E6BD83>
*<EFBFBD>桃<EFBFBD>嚗? 銝搴AE摰孵膥<E5ADB5>𣂷<EFBFBD><F0A382B7>祉<EFBFBD>霈輸䔮<E8BCB8>賢<EFBFBD>嚗<EFBFBD><E59A97><EFBFBD>求eepSeek/OpenAI API敹<49><E695B9>嚗? *<EFBFBD>𩤃<EFBFBD> <20>滩<EFBFBD>霅血<E99C85>嚗? 瘝⊥<E7989D>NAT蝵穃<E89DB5>嚗淾I<E6B7BE>蠘<EFBFBD>100%頞<>𧒄嚗? <EFBFBD>?摰鮋<E691B0>NAT蝵穃<E89DB5>靽⊥<E99DBD>嚗<EFBFBD>歇<EFBFBD>函蔡嚗㚁<E59A97>
NAT蝵穃<EFBFBD><EFBFBD>滨妍: NAT_airesearch
NAT蝵穃<EFBFBD>ID: ngw-2zeec9ulzgw7ywvx1pst6
<EFBFBD>啣<EFBFBD>: <EFBFBD>𤾸<EFBFBD>2嚗<EFBFBD><EFBFBD>鈭穿<EFBFBD>
VPC: vpc-2ze055cptkew9c38w4r06
SNAT銵沉D: stb-2zesszmzx1qpwf1cb2bry
<EFBFBD>𥕦遣<EFBFBD>園𡢿: 2025-12-16 20:58:12 <EFBFBD>?
# 撘寞<E69298>批<EFBFBD>蝵飡P (EIP)
<EFBFBD>祉<EFBFBD>IP: 182.92.176.14 <EFBFBD>?
# SNAT<41>∠𤌍<E288A0>滨蔭嚗?<3F>∴<EFBFBD>閬<EFBFBD><E996AC><EFBFBD><EFBFBD><EFBFBD>劐漱<E58A90>X㦤嚗?SNAT<41>∠𤌍1:
ID: snat-2zerlp4z0ed2isvq399gn
皞鞟<EFBFBD>畾? 172.17.160.0/20
鈭斗揢<EFBFBD>? vsw-2zevacop039bxrmj6yc0c (<28>舐鍂<E88890>慚)
<EFBFBD>祉<EFBFBD>IP: 182.92.176.14
<EFBFBD>嗆<EFBFBD>? <20>?<3F>舐鍂
SNAT<EFBFBD>∠𤌍2:
ID: snat-2zegvesjxjwmw7j51m89m
皞鞟<EFBFBD>畾? 172.17.192.0/20
鈭斗揢<EFBFBD>? vsw-2zehoeyw9ldncymcyvfwq (<28>舐鍂<E88890>態)
<EFBFBD>祉<EFBFBD>IP: 182.92.176.14
<EFBFBD>嗆<EFBFBD>? <20>?<3F>舐鍂
*<EFBFBD>𩤃<EFBFBD> 憒<><E68692><EFBFBD><EFBFBD>閬<EFBFBD><E996AC><EFBFBD>啣<EFBFBD>撱綽<E692B1><E7B6BD>滢<EFBFBD>甇仿炊嚗?
- 餈𥕦<EFBFBD>NAT蝵穃<EFBFBD><EFBFBD>批<EFBFBD><EFBFBD>堆<EFBFBD>https://vpc.console.aliyun.com/nat
- <EFBFBD>孵稬<EFBFBD>𣂼<EFBFBD>撱摸AT蝵穃<EFBFBD><EFBFBD>?3. 憛怠<E6869B><E680A0>滨蔭嚗?
<EFBFBD>啣<EFBFBD>: <EFBFBD>𤾸<EFBFBD>2嚗<EFBFBD><EFBFBD>鈭穿<EFBFBD>
VPC: ai-clinical-vpc (vpc-2ze055cptkew9c38w4r06)
閫<EFBFBD>聢: 撠誩<EFBFBD>嚗<EFBFBD><EFBFBD>霈歹<EFBFBD>瞼60/<2F><><EFBFBD>
霈∟晶<EFBFBD>孵<EFBFBD>: <EFBFBD>厰<EFBFBD>隞䁅晶
- 韐凋僭撘寞<EFBFBD>批<EFBFBD>蝵飡P嚗𠄌IP嚗㚁<EFBFBD>
- <EFBFBD>孵稬<EFBFBD>鞟<EFBFBD>摰𡁜撕<EFBFBD>批<EFBFBD>蝵飡P<EFBFBD>? - <20>㗇𥋘<E39787>鞱揚銋啣僎蝏穃<E89D8F>EIP<49>? - 撣血捐嚗?Mbps嚗<73><E59A97>雿輻鍂瘚<E98D82><E7989A>霈∟晶嚗? - <20>孵稬<E5ADB5>鞟&摰𠾼<E691B0>?
- <EFBFBD>滨蔭SNAT閫<EFBFBD><EFBFBD>嚗<EFBFBD>悟SAE<EFBFBD>質挪<EFBFBD>桀<EFBFBD>蝵𡢅<EFBFBD>嚗? - <20>孵稬<E5ADB5>𠩐NAT蝞∠<E89D9E><E288A0>爗<EFBFBD><E78897>𣂼<EFBFBD>撱搴NAT<41>∠𤌍<E288A0>? - <20>㗇𥋘鈭斗揢<E69697>綽<EFBFBD>銝箸<E98A9D>銝芯漱<E88AAF>X㦤<EFBCB8>𥕦遣SNAT<41>∠𤌍
- 鈭斗揢<EFBFBD>?嚗䫤vsw-2zevacop039bxrmj6yc0c` (<28>舐鍂<E88890>慚)
- 鈭斗揢<EFBFBD>?嚗䫤vsw-2zehoeyw9ldncymcyvfwq` (<28>舐鍂<E88890>態)
- <EFBFBD>㗇𥋘<EFBFBD>祉<EFBFBD>IP嚗𡁶<EFBFBD>摰𡁶<EFBFBD>EIP
- <EFBFBD>孵稬<EFBFBD>鞟&摰𠾼<EFBFBD>? *撉諹<EFBFBD>嚗?
- <EFBFBD>?NAT蝵穃<E89DB5><E7A983>嗆<EFBFBD><E59786>蛹"餈鞱<E9A488>銝?
- <EFBFBD>?EIP撌脩<E6928C>摰𡄯<E691B0>182.92.176.14
- <EFBFBD>?SNAT<41>∠𤌍<E288A0>嗆<EFBFBD><E59786>蛹"<22>舐鍂"嚗?<3F>∴<EFBFBD>
- <EFBFBD>?閬<><E996AC>鈭<EFBFBD><E988AD><EFBFBD>劐漱<E58A90>X㦤<EFBCB8><E3A6A4><EFBFBD>畾? *<EFBFBD>鞉𧋦隡啁<EFBFBD>嚗?
- NAT蝵穃<EFBFBD>嚗块?0/<2F>?- EIP嚗块?.8/GB瘚<42><E7989A>嚗<EFBFBD><E59A97>霈¯?0/<2F><><EFBFBD>
- <EFBFBD><EFBFBD>恣嚗𡁶漲瞼100/<2F>?
1.3 韐凋僭RDS PostgreSQL<51>唳旿摨橒<E691A8>20<32><30><EFBFBD>嚗?
*<EFBFBD>桃<EFBFBD>嚗? <20>条恣<E69DA1><E681A3>ostgreSQL<51>唳旿摨橒<E691A8><E6A992>舀<EFBFBD>10銝杵chema<6D>𠉛氖
*<EFBFBD>滢<EFBFBD>甇仿炊嚗?
- 餈𥕦<EFBFBD>RDS<EFBFBD>批<EFBFBD><EFBFBD>堆<EFBFBD>https://rdsnext.console.aliyun.com/
- <EFBFBD>孵稬<EFBFBD>𣂼<EFBFBD>撱箏<EFBFBD>靘卝<EFBFBD>?3. 憛怠<E6869B><E680A0>滨蔭嚗?
隞䁅晶蝐餃<EFBFBD>: <20><>僑<EFBFBD><E58391><EFBFBD>嚗<EFBFBD><E59A97><EFBFBD><EFBFBD>?0嚗?<3F>啣<EFBFBD>: <EFBFBD>𤾸<EFBFBD>2嚗<EFBFBD><EFBFBD>鈭穿<EFBFBD>
<EFBFBD>舐鍂<EFBFBD>? <20>𦯀漪 <20>舐鍂<E88890>慵
<EFBFBD>唳旿摨梶掩<EFBFBD>? PostgreSQL
<EFBFBD><EFBFBD>𧋦: 15
蝟餃<EFBFBD>: <20>箇<EFBFBD><E7AE87><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鞉𧋦嚗䔶<E59A97><E494B6>舀<EFBFBD>銝餃<E98A9D><E9A483><EFBFBD>揢嚗?閫<>聢:
- CPU: 2<>? - <20><><EFBFBD>: 4GB
- 摮睃<EFBFBD>: 50GB嚗<42><E59A97><EFBFBD>𧄉SSD嚗?蝵𤑳<E89DB5>蝐餃<E89D90>: 銝𤘪<E98A9D>蝵𤑳<E89DB5>嚗ĀPC嚗?VPC: ai-clinical-vpc (vpc-2ze055cptkew9c38w4r06)
鈭斗揢<EFBFBD>? ai-clinical-vswitch-1 (vsw-2zevacop039bxrmj6yc0c)
- 擃条漣<EFBFBD>滨蔭嚗?
<EFBFBD>唳旿摨栞揭<EFBFBD>? airesearch
撖<EFBFBD><EFBFBD>: 嚗<EFBFBD>挽蝵桀<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>霈啣<EFBFBD><EFBFBD>啣<EFBFBD><EFBFBD><EFBFBD>恣<EFBFBD><EFBFBD>膥嚗<EFBFBD><EFBFBD>嚗䧥ibahe@fengzhibo117嚗?<3F>唳旿摨枏<E691A8>蝘? ai_clinical_research
摮㛖泵<EFBFBD>? UTF8
-
<EFBFBD>孵稬<EFBFBD>鞟<EFBFBD><EFBFBD>唾揚銋啜<EFBFBD>𡢅<EFBFBD>蝑匧<EFBFBD><EFBFBD>𥕦遣嚗<EFBFBD>漲5<EFBFBD><EFBFBD><EFBFBD>嚗? <EFBFBD>𩤃<EFBFBD> <20>喲睸<E596B2>滨蔭嚗<E894AD><E59A97>撱箏<E692B1>嚗㚁<E59A97>
-
**<2A>賢<EFBFBD><E8B3A2>閖<EFBFBD>蝵?*嚗<><E59A97>憿駁<E686BF>蝵殷<E89DB5><E6AEB7>血<EFBFBD><E8A180>䭾<EFBFBD>餈墧𦻖嚗㚁<E59A97>
- 餈𥕦<EFBFBD>摰硺<EFBFBD>霂行<EFBFBD> <20>?<3F>唳旿摰匧<E691B0><E58CA7>?<3F>?<3F>賢<EFBFBD><E8B3A2>閗挽蝵? - <20>孵稬<E5ADB5>𣂷耨<F0A382B7>嫘<EFBFBD>? - 瘛餃<E7989B>嚗䫤172.17.0.0/16`嚗<>㟲銝杼PC蝵烐挾嚗䔶<E59A97>閬<EFBFBD>鍂<EFBFBD>閙㦤IP嚗<50><E59A97>
- <EFBFBD>孵稬<EFBFBD>鞟&摰𠾼<EFBFBD>?
-
<EFBFBD>嗅躹<EFBFBD>滨蔭嚗<EFBFBD><EFBFBD><EFBFBD>齿𠯫敹埈𧒄<EFBFBD>湧<EFBFBD>銋梧<EFBFBD>嚗? - 餈𥕦<E9A488>摰硺<E691B0>霂行<E99C82> <20>?<3F><>㺭霈曄蔭
- <EFBFBD>𦦵揣嚗䫤timezone`
- 靽格㺿<EFBFBD>潘<EFBFBD>
Asia/Shanghai - <EFBFBD>孵稬<EFBFBD>鞉<EFBFBD>鈭文<EFBFBD><EFBFBD>啜<EFBFBD>? - <20>?**撌脤<E6928C>蝵?*嚗<>虾蝏湔擪<E6B994>園𡢿蝒梹<E89D92>02:00-06:00 Asia/Shanghai UTC+8嚗? <EFBFBD>?摰鮋<E691B0>RDS靽⊥<E99DBD>嚗<EFBFBD>歇<EFBFBD>函蔡嚗㚁<E59A97>
摰硺<EFBFBD>ID: pgm-2zex1m2y3r23hdn5
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>: pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432
<EFBFBD>唳旿摨栞揭<EFBFBD>? airesearch
<EFBFBD>唳旿摨枏<EFBFBD><EFBFBD>? Xibahe@fengzhibo117
<EFBFBD>唳旿摨枏<EFBFBD>蝘? ai_clinical_research
VPC: vpc-2ze055cptkew9c38w4r06 (172.17.0.0/16)
韏<EFBFBD><EFBFBD>蝏<EFBFBD>D: rg-acfm4nrrfnu6tri
閫<EFBFBD>聢: 2<EFBFBD>?GB (pg.n2.2c.1m)
<EFBFBD><EFBFBD>憭扯<EFBFBD><EFBFBD>交㺭: 400
<EFBFBD><EFBFBD>憭兌OPS: 7550
PostgreSQL<EFBFBD><EFBFBD>𧋦: 15.0
摮睃<EFBFBD>蝐餃<EFBFBD>: 擃䀹<EFBFBD>扯<EFBFBD>鈭𤑳<EFBFBD>
<EFBFBD>賢<EFBFBD><EFBFBD>? 172.17.0.0/16 <20>?<3F>嗅躹: Asia/Shanghai (UTC+8) <20>?```
**撉諹<E69289>嚗?*
- <EFBFBD>?摰硺<E691B0><E7A1BA>嗆<EFBFBD><E59786>蛹"餈鞱<E9A488>銝?
- <EFBFBD>?<3F>賢<EFBFBD><E8B3A2>訫歇<E8A8AB><E6AD87>鉄VPC蝵烐挾 (172.17.0.0/16)
- <EFBFBD>?<3F>嗅躹撌脰挽蝵桐蛹 Asia/Shanghai
- <EFBFBD>?<3F>舐輕<E88890>斗𧒄<E69697>渡<EFBFBD>嚗?2:00-06:00嚗<30><E59A97><EFBFBD>渡輕<E6B8A1>支<EFBFBD>敶勗<E695B6><E58B97>賢予雿輻鍂嚗?
---
### 1.4 <20>𥕦遣OSS摮睃<E691AE>獢塚<E78DA2>10<31><30><EFBFBD>嚗?
**<2A>桃<EFBFBD>嚗?* 摮睃<EFBFBD><EFBFBD><EFBFBD>讃PDF<EFBFBD><EFBFBD>阮隞嗆<EFBFBD>獢<EFBFBD><EFBFBD><EFBFBD><EFBFBD>辣
**<2A>?摰鮋<E691B0>OSS靽⊥<E99DBD>嚗<EFBFBD>歇<EFBFBD>函蔡嚗㚁<E59A97>**
```yaml
Bucket<EFBFBD>滨妍: ai-clinical-research
<EFBFBD>啣<EFBFBD>: <EFBFBD>𤾸<EFBFBD>2嚗<EFBFBD><EFBFBD>鈭穿<EFBFBD>
摮睃<EFBFBD>蝐餃<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD>摮睃<EFBFBD>
霂餃<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 蝘<EFBFBD><EFBFBD>
摮睃<EFBFBD><EFBFBD>𦯀<EFBFBD>蝐餃<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>𦯀<EFBFBD>摮睃<EFBFBD>
憭𣇉<EFBFBD>Endpoint: oss-cn-beijing.aliyuncs.com
<EFBFBD><EFBFBD><EFBFBD>Endpoint: oss-cn-beijing-internal.aliyuncs.com
Bucket<EFBFBD>笔<EFBFBD>嚗<EFBFBD><EFBFBD>蝵𡢅<EFBFBD>: ai-clinical-research.oss-cn-beijing-internal.aliyuncs.com
<EFBFBD>𥕦遣<EFBFBD>園𡢿: 2025-12-16 20:22 <20>?霈輸䔮<E8BCB8>批<EFBFBD>: <EFBFBD><EFBFBD>辣銝滚虾隞亥◤<EFBFBD>砍<EFBFBD>霈輸䔮 <20>?```
**<2A>𩤃<EFBFBD> 憒<EFBFBD><EFBFBD><EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>撱綽<EFBFBD><EFBFBD>滢<EFBFBD>甇仿炊嚗?*
1. 餈𥕦<E9A488>OSS<53>批<EFBFBD><E689B9>堆<EFBFBD>https://oss.console.aliyun.com/
2. <20>孵稬<E5ADB5>𣂼<EFBFBD>撱慷ucket<65>?3. 憛怠<E6869B><E680A0>滨蔭嚗?
```yaml
Bucket<EFBFBD>滨妍: ai-clinical-research嚗<68><E59A97>撅<EFBFBD><E69285>臭<EFBFBD>嚗?<3F>啣<EFBFBD>: <EFBFBD>𤾸<EFBFBD>2嚗<EFBFBD><EFBFBD>鈭穿<EFBFBD>
摮睃<EFBFBD>蝐餃<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD>摮睃<EFBFBD>
霂餃<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 蝘<EFBFBD><EFBFBD>嚗<EFBFBD><EFBFBD>霈歹<EFBFBD>
摮睃<EFBFBD><EFBFBD>𦯀<EFBFBD>蝐餃<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>𦯀<EFBFBD>摮睃<EFBFBD>嚗<EFBFBD>綫<EFBFBD>琜<EFBFBD>
<EFBFBD><EFBFBD>𧋦<EFBFBD>批<EFBFBD>: 銝滚<EFBFBD><EFBFBD>?```
4. **<2A>刻<EFBFBD><E588BB><EFBFBD>𤌍敶閧<E695B6><E996A7>?*嚗<><E59A97><EFBFBD>其<EFBFBD><E585B6>芸𢆡<E88AB8>𥕦遣嚗㚁<E59A97>
asl/ # AI<41><49>讃蝑偦<E89D91>㗇芋<E39787>? <20>鎿<EFBFBD><E98EBF><EFBFBD> source/ # <20>笔<EFBFBD>PDF<44><46>辣 <0A>婙<EFBFBD><E5A999><EFBFBD> extracted/ # 閫<><E996AB>蝏𤘪<E89D8F>JSON pkb/ # 銝芯犖<E88AAF>亥<EFBFBD>摨𤘪芋<F0A498AA>? <20>婙<EFBFBD><E5A999><EFBFBD> documents/ # <20>亥<EFBFBD>摨𤘪<E691A8>獢?dc/ # <20>唳旿皜<E697BF><E79A9C>璅∪<E79285> <0A>鎿<EFBFBD><E98EBF><EFBFBD> raw/ # <20>笔<EFBFBD><E7AC94>唳旿<E594B3><E697BF>辣 <0A>婙<EFBFBD><E5A999><EFBFBD> cleaned/ # 皜<><E79A9C><EFBFBD>𡒊<EFBFBD><F0A1928A>唳旿
5. **OSS霈輸䔮<E8BCB8><E494AE><EFBFBD><EFBFBD>滨蔭**
**<2A>?<3F>寞<EFBFBD>A嚗帋蝙<E5B88B>杗ccessKey嚗<79>歇<EFBFBD>𥕦遣嚗峕綫<E5B395>𣂼<EFBFBD><F0A382BC>煺蝙<E785BA>剁<EFBFBD>**
```yaml
RAM<41>冽<EFBFBD>: oss-bucket-put-object@1991407246109125.onaliyun.com
AccessKeyId: LTAI5tB2Dt3NdvBL3G7nYGv7
AccessKeySecret: 1iSN9k39RkApP93QjUhC1DcPIeMG4V
<0A><><EFBFBD>: OSS Bucket<65>坔<EFBFBD><E59D94><EFBFBD><EFBFBD>
*<EFBFBD>𩤃<EFBFBD> 摰匧<E691B0>霅血<E99C85>嚗?
- AccessKey<EFBFBD>舀<EFBFBD><EFBFBD>煺縑<EFBFBD>荔<EFBFBD>蝑匧<EFBFBD>鈭𤾸<EFBFBD><EFBFBD>?- 霂瑕嚉撠<E59A89>ccessKey<65>𣂷漱<F0A382B7>蚣it隞枏<E99A9E>
- <EFBFBD>芸銁SAE<EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD>銝剝<EFBFBD>蝵殷<EFBFBD>銝滩<EFBFBD><EFBFBD>坔<EFBFBD>隞<EFBFBD><EFBFBD>
- 摰𡁏<EFBFBD>頧格揢AccessKey嚗<EFBFBD>遣霈格<EFBFBD>3銝芣<EFBFBD>嚗? <EFBFBD>寞<EFBFBD>B嚗帋蝙<EFBFBD>沖AM閫坿𠧧嚗<EFBFBD>綫<EFBFBD>鞟<EFBFBD>鈭抒㴓憓<EFBFBD><EFBFBD>
- 餈𥕦<EFBFBD>RAM<EFBFBD>批<EFBFBD><EFBFBD>堆<EFBFBD>https://ram.console.aliyun.com/
- <EFBFBD>𥕦遣閫坿𠧧嚗鋫liyunSAEDefaultRole嚗𠄎AE暺䁅恕閫坿𠧧嚗?- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗鋫liyunOSSFullAccess
- 隡睃飵嚗𡁏<EFBFBD><EFBFBD><EFBFBD>蝞∠<EFBFBD>AccessKey嚗峕凒摰匧<EFBFBD>
*撉諹<EFBFBD>嚗?
- <EFBFBD>?Bucket撌脣<E6928C>撱箸<E692B1><E7AEB8>?- <20>?<3F><><EFBFBD>Endpoint嚗䫤oss-cn-beijing-internal.aliyuncs.com`
- <EFBFBD>?Bucket<65>笔<EFBFBD>嚗䫤ai-clinical-research.oss-cn-beijing-internal.aliyuncs.com`
- <EFBFBD>?RAM<41>冽<EFBFBD>撌脣<E6928C>撱綽<E692B1>AccessKey撌脩<E6928C><E884A9>?
1.5 <20>𥕦遣摰孵膥<E5ADB5>𨅯<EFBFBD><F0A885AF>滚𦛚ACR嚗?<3F><><EFBFBD>嚗?
*<EFBFBD>桃<EFBFBD>嚗? 摮睃<E691AE>Docker<65>𨅯<EFBFBD>嚗䔶<E59A97>SAE<41>匧<EFBFBD><E58CA7>函蔡
<EFBFBD>?摰鮋<E691B0>ACR靽⊥<E99DBD>嚗<EFBFBD>歇<EFBFBD>函蔡嚗㚁<E59A97>
<EFBFBD>滚𦛚蝐餃<EFBFBD>: 銝芯犖<E88AAF><E78A96><EFBFBD><EFBFBD>滩晶嚗?<3F>賢<EFBFBD>蝛粹𡢿: ai-clinical
<EFBFBD>冽<EFBFBD><EFBFBD>? gofeng117@163.com
Registry撖<EFBFBD><EFBFBD>: fengzhibo117
<EFBFBD>祉<EFBFBD><EFBFBD>笔<EFBFBD>: crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com
銝𤘪<EFBFBD>蝵𤑳<EFBFBD><EFBFBD>笔<EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com
# <20>𨅯<EFBFBD>隞枏<E99A9E>嚗?銝迎<E98A9D>
隞枏<EFBFBD>1 - <20>滨垢Nginx:
隞枏<EFBFBD><EFBFBD>滨妍: ai-clinical_frontend-nginx
<EFBFBD>祉<EFBFBD><EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx
銝𤘪<EFBFBD>蝵𤑳<EFBFBD><EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx
蝐餃<EFBFBD>: 蝘<EFBFBD><EFBFBD>
<EFBFBD>嗆<EFBFBD>? <20>?撌脣<E6928C>撱?
隞枏<EFBFBD>2 - Python敺格<E695BA><E6A0BC>?
隞枏<EFBFBD><EFBFBD>滨妍: python-extraction
<EFBFBD>祉<EFBFBD><EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction
銝𤘪<EFBFBD>蝵𤑳<EFBFBD><EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction
蝐餃<EFBFBD>: 蝘<EFBFBD><EFBFBD>
<EFBFBD>嗆<EFBFBD>? <20>?撌脣<E6928C>撱?
隞枏<EFBFBD>3 - Node.js<6A>𡒊垢:
隞枏<EFBFBD><EFBFBD>滨妍: nodejs-backend
<EFBFBD>祉<EFBFBD><EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend
銝𤘪<EFBFBD>蝵𤑳<EFBFBD><EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend
蝐餃<EFBFBD>: 蝘<EFBFBD><EFBFBD>
<EFBFBD>嗆<EFBFBD>? <20>?撌脣<E6928C>撱?```
**<2A>𩤃<EFBFBD> 憒<EFBFBD><EFBFBD><EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>撱綽<EFBFBD><EFBFBD>滢<EFBFBD>甇仿炊嚗?*
1. 餈𥕦<E9A488>摰孵膥<E5ADB5>𨅯<EFBFBD><F0A885AF>滚𦛚<E6BB9A>批<EFBFBD><E689B9>堆<EFBFBD>https://cr.console.aliyun.com/
2. <20>㗇𥋘<E39787>𣂷葵鈭箇<E988AD><E7AE87>𡢅<EFBFBD><F0A1A285>滩晶嚗?3. 霈曄蔭Registry撖<79><E69296>嚗<EFBFBD>鍂鈭𥮴ocker login嚗?4. <20>𥕦遣<F0A595A6>賢<EFBFBD>蝛粹𡢿嚗䫤ai-clinical`
5. <20>𥕦遣3銝芷<E98A9D><E88AB7>譍<EFBFBD>摨橒<E691A8>蝐餃<E89D90>嚗𡁶<E59A97><F0A181B6>㚁<EFBFBD>隞<EFBFBD><E99A9E>皞琜<E79A9E><E7909C>砍𧑐隞枏<E99A9E>嚗?
**撉諹<E69289>嚗?*
- <EFBFBD>?3銝芯<E98A9D>摨枏<E691A8>撱箸<E692B1><E7AEB8>?- <20>?Registry<72>啣<EFBFBD>嚗䫤crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com`
- <EFBFBD>?銝𤘪<E98A9D>蝵𤑳<E89DB5><F0A491B3>啣<EFBFBD>嚗䫤crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com`
**<2A>𩤃<EFBFBD> 摰匧<EFBFBD>霅血<EFBFBD>嚗?*
- Registry撖<EFBFBD><EFBFBD><EFBFBD>舀<EFBFBD><EFBFBD>煺縑<EFBFBD>荔<EFBFBD>蝑匧<EFBFBD>鈭𥟠ocker<EFBFBD>𨅯<EFBFBD>霈輸䔮<EFBFBD><EFBFBD><EFBFBD>
- 霂瑕嚉撠<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鈭文<EFBFBD>Git隞枏<EFBFBD>
- 摰𡁏<EFBFBD>頧格揢撖<EFBFBD><EFBFBD>嚗<EFBFBD>遣霈格<EFBFBD>3銝芣<EFBFBD>嚗?
---
## 蝚砌<E89D9A><E7A08C>嗆挾嚗𡁏㺭<F0A1818F>桀<EFBFBD><E6A180>嘥<EFBFBD><E598A5>吔<EFBFBD>30<33><30><EFBFBD>嚗?
### 2.1 撖澆枂<E6BE86>砍𧑐<E7A08D>唳旿摨橒<E691A8>5<EFBFBD><35><EFBFBD>嚗?
**<2A>冽𧋦<E586BD>圈★<E59C88>格覔<E6A0BC>桀<EFBFBD><E6A180>扯<EFBFBD>嚗?*
```bash
# 蝖桐<E89D96>Docker甇<72>銁餈鞱<E9A488>
docker ps
# 撖澆枂<E6BE86>唳旿摨?docker exec ai-clinical-postgres pg_dump \
-U postgres \
-d ai_clinical_research \
--no-owner \
--no-acl \
--clean \
--if-exists \
> rds_init.sql
# 撉諹<E69289><E8ABB9><EFBFBD>辣憭批<E686AD>嚗<EFBFBD><E59A97>霂交<E99C82><E4BAA4>删蓡KB嚗?ls -lh rds_init.sql
*撉諹<EFBFBD>嚗? rds_init.sql <20><>辣摮睃銁嚗䔶<E59A97>憭批<E686AD> > 100KB
2.2 <20>朞<EFBFBD>ECS頝單踎<E596AE>箄<EFBFBD><E7AE84>充DS嚗?5<><35><EFBFBD>嚗?
*<EFBFBD>𩤃<EFBFBD> 銝箔<E98A9D>銋<EFBFBD><E98A8B>閬<EFBFBD>歲<EFBFBD>踵㦤嚗?
- RDS<EFBFBD>汲PC<EFBFBD><EFBFBD><EFBFBD>嚗峕𧋦<EFBFBD>啁㩞<EFBFBD>烐<EFBFBD>瘜閧凒<EFBFBD>亥<EFBFBD><EFBFBD>?- <20><>閬<EFBFBD><E996AC><EFBFBD>蚩CS<43>滚𦛚<E6BB9A>其<EFBFBD>銝?獢交<E78DA2>"
*<EFBFBD>滢<EFBFBD>甇仿炊嚗?
<EFBFBD>寞<EFBFBD>A嚗帋蝙<EFBFBD>函緵<EFBFBD><EFBFBD>ify ECS嚗<53><E59A97><EFBFBD>𨅯歇<F0A885AF>㚁<EFBFBD>
頝唾<EFBFBD>ECS<EFBFBD>𥕦遣甇仿炊嚗𣬚凒<EFBFBD>乩蝙<EFBFBD>求ify<EFBFBD><EFBFBD>CS雿靝蛹頝單踎<EFBFBD>箝<EFBFBD>? <EFBFBD>寞<EFBFBD>B嚗𡁜<EFBFBD>撱箔葩<EFBFBD>診CS嚗<EFBFBD>綫<EFBFBD>𣂼<EFBFBD><EFBFBD>煺蝙<EFBFBD>剁<EFBFBD>
- 餈𥕦<EFBFBD>ECS<EFBFBD>批<EFBFBD><EFBFBD>堆<EFBFBD><EFBFBD>𥕦遣<EFBFBD>厰<EFBFBD>隞䁅晶摰硺<EFBFBD>嚗?
<EFBFBD>啣<EFBFBD>: <EFBFBD>𤾸<EFBFBD>2嚗<EFBFBD><EFBFBD>鈭穿<EFBFBD>
閫<EFBFBD>聢: ecs.t6-c1m1.large嚗?<3F>?GB嚗𡐿?.05/撠𤩺𧒄嚗?<3F>𨅯<EFBFBD>: Ubuntu 22.04
蝵𤑳<EFBFBD>: ai-clinical-vpc (vpc-2ze055cptkew9c38w4r06) / ai-clinical-vswitch-1
摰匧<EFBFBD>蝏? sg-2zedk6fi8sgmmcwdu7tu嚗<75><E59A97>霈?2蝡臬藁SSH嚗?韐凋僭<E5878B>園鵭: <EFBFBD>厰<EFBFBD>隞䁅晶
- <EFBFBD>冽𧋦<EFBFBD>啣<EFBFBD>撱搴SH<EFBFBD>折<EFBFBD>嚗?
# <20>踵揢隞乩<E99A9E><E4B9A9><EFBFBD>㺭嚗?# - ECS_PUBLIC_IP: ECS<43><53><EFBFBD>蝵飡P
ssh -N -L 5433:pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432 \
root@ECS_PUBLIC_IP
# 颲枏<E9A2B2>ECS撖<53><E69296>嚗峕<E59A97><E5B395>笔<EFBFBD><E7AC94>賭誘隡?<3F>∩<EFBFBD>"嚗<>迤撣貊緵鞊∴<E99E8A>
# 靽脲<E99DBD>餈嗘葵蝏<E891B5>垢蝒堒藁<E5A092>枏<EFBFBD>
*撉諹<EFBFBD>嚗? <20>枏<EFBFBD><E69E8F>啁<EFBFBD>蝡荔<E89DA1><E88D94>扯<EFBFBD>嚗?
# 瘚贝<E7989A>RDS餈墧𦻖嚗<F0A6BB96><E59A97>朞<EFBFBD>SSH<53>折<EFBFBD>嚗?psql -h localhost -p 5433 -U airesearch -d ai_clinical_research
# 颲枏<E9A2B2>撖<EFBFBD><E69296>嚗䧥ibahe@fengzhibo117
# 憒<><E68692><EFBFBD>𣂼<EFBFBD>餈墧𦻖嚗諹秩<E8ABB9>𡡞银<F0A1A19E>枏歇撱箇<E692B1>
2.3 撖澆<E69296><E6BE86>唳旿<E594B3>訌DS嚗?0<><30><EFBFBD>嚗?
*<EFBFBD>冽鰵蝏<EFBFBD>垢蝒堒藁<EFBFBD>扯<EFBFBD>嚗?
# 撖澆<E69296><E6BE86>唳旿嚗<E697BF><E59A97>朞<EFBFBD>SSH<53>折<EFBFBD>嚗?psql -h localhost -p 5433 \
-U airesearch \
-d ai_clinical_research \
-f rds_init.sql
# 颲枏<E9A2B2>撖<EFBFBD><E69296>嚗䧥ibahe@fengzhibo117
# 撉諹<E69289>撖澆<E69296><E6BE86>𣂼<EFBFBD>
psql -h localhost -p 5433 \
-U airesearch \
-d ai_clinical_research \
-c "\dt platform_schema.*"
# 摨磰砲<E7A3B0>见<EFBFBD> platform_schema 銝讠<E98A9D>銵?```
**撉諹<E69289>嚗?*
- <20>见<EFBFBD> `platform_schema.users` 銵?- <20>见<EFBFBD> `aia_schema.*` 銵?- <20>见<EFBFBD> `_prisma_migrations` 銵?
**<2A>𩤃<EFBFBD> <20>滩<EFBFBD>嚗?* pg-boss<73>?銝芾”嚗àob/queue蝑㚁<E89D91>銝滚銁撖澆枂<E6BE86><E69E82>辣銝哨<E98A9D>隡𡁜銁摨𠉛鍂擐𡝗活<F0A19D97>臬𢆡<E887AC>嗉䌊<E59789>典<EFBFBD>撱箝<E692B1>?
---
## 蝚砌<E89D9A><E7A08C>嗆挾嚗鋽ocker<65>𨅯<EFBFBD><F0A885AF><EFBFBD>遣銝擧綫<E693A7><E7B6AB><EFBFBD>60<36><30><EFBFBD>嚗?
### 3.1 <20>餃<EFBFBD><E9A483>輸<EFBFBD>鈭穃捆<E7A983>券<EFBFBD><E588B8>𤩺<EFBFBD><F0A4A9BA>?
**<2A>冽𧋦<E586BD>啁<EFBFBD>蝡舀<E89DA1>銵䕘<E98AB5>**
```bash
# <20>餃<EFBFBD>ACR銝芯犖<E88AAF><E78A96><EFBFBD>雿輻鍂<E8BCBB>笔<EFBFBD>靽⊥<E99DBD>嚗?docker login --username=gofeng117@163.com crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com
# 颲枏<E9A2B2>撖<EFBFBD><E69296>嚗餎engzhibo117
# <20>见<EFBFBD> "Login Succeeded" 銵函內<E587BD>餃<EFBFBD><E9A483>𣂼<EFBFBD>
*<EFBFBD>𩤃<EFBFBD> 瘜冽<E7989C>鈭钅★嚗?
- 銝芯犖<EFBFBD><EFBFBD>蝙<EFBFBD>刻䌊摰帋<EFBFBD><EFBFBD>笔<EFBFBD>嚗䔶<EFBFBD><EFBFBD>舀<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
registry.cn-beijing.aliyuncs.com - <EFBFBD>冽<EFBFBD><EFBFBD>㵪<EFBFBD>
gofeng117@163.com嚗<EFBFBD><EFBFBD><EFBFBD>湧<EFBFBD>蝞勗𧑐<EFBFBD><EFBFBD>嚗?- 撖<><E69296>嚗䫤fengzhibo117`嚗㇌egistry撖<79><E69296>嚗䔶<E59A97><E494B6>舫燵<E888AB>䔶<EFBFBD>韐血噡撖<E599A1><E69296>嚗?
3.2 <20><>遣Python敺格<E695BA><E6A0BC>⊿<EFBFBD><E28ABF>𧶏<EFBFBD>15<31><35><EFBFBD>嚗?
*<EFBFBD>券★<EFBFBD>格覔<EFBFBD>桀<EFBFBD><EFBFBD>扯<EFBFBD>嚗?
cd extraction_service
# <20><>遣<EFBFBD>𨅯<EFBFBD>嚗<EFBFBD>&靽𨌯ockerfile摮睃銁嚗?docker build -t ai-clinical/python-extraction:v1.0.0 .
# <20>𤘪<EFBFBD>蝑橘<E89D91>雿輻鍂<E8BCBB>笔<EFBFBD>ACR<43>啣<EFBFBD>嚗?docker tag ai-clinical/python-extraction:v1.0.0 \
crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction:v1.0.0
docker tag ai-clinical/python-extraction:v1.0.0 \
crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction:latest
# <20>券<EFBFBD><E588B8><EFBFBD>ACR
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction:v1.0.0
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction:latest
cd ..
*撉諹<EFBFBD>嚗?
- <EFBFBD>杗CR<EFBFBD>批<EFBFBD><EFBFBD>啁<EFBFBD><EFBFBD>圈<EFBFBD><EFBFBD>𧶏<EFBFBD><EFBFBD><EFBFBD>倌銝?
v1.0.0<20>?latest - <EFBFBD>𨅯<EFBFBD><EFBFBD>啣<EFBFBD>嚗䫤crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction:v1.0.0`
3.3 <20><>遣Node.js<6A>𡒊垢<F0A1928A>𨅯<EFBFBD>嚗?0<><30><EFBFBD>嚗?
<EFBFBD>𩤃<EFBFBD> <20>滩<EFBFBD><E6BBA9>滨蔭甇仿炊嚗𡁜<E59A97><F0A1819C>賀risma<6D>桀<EFBFBD>
# <20>券★<E588B8>格覔<E6A0BC>桀<EFBFBD><E6A180>扯<EFBFBD>
cp -r prisma backend/
# 撉諹<E69289>
ls backend/prisma/schema.prisma # 摨磰砲摮睃銁
*<EFBFBD><EFBFBD>遣<EFBFBD>𨅯<EFBFBD>嚗?
cd backend
# <20><>遣<EFBFBD>𨅯<EFBFBD>
docker build -t ai-clinical/nodejs-backend:v1.0.0 .
# <20>𤘪<EFBFBD>蝑曉僎<E69B89>券<EFBFBD><E588B8><EFBFBD>雿輻鍂<E8BCBB>笔<EFBFBD>ACR<43>啣<EFBFBD>嚗?docker tag ai-clinical/nodejs-backend:v1.0.0 \
crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend:v1.0.0
docker tag ai-clinical/nodejs-backend:v1.0.0 \
crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend:latest
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend:v1.0.0
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend:latest
cd ..
*撉諹<EFBFBD>嚗?
- ACR<EFBFBD>批<EFBFBD><EFBFBD>啁<EFBFBD><EFBFBD>衹ode.js<6A>𨅯<EFBFBD>
- <EFBFBD>𨅯<EFBFBD><EFBFBD>啣<EFBFBD>嚗䫤crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend:v1.0.0`
3.4 <20><>遣<EFBFBD>滨垢Nginx<6E>𨅯<EFBFBD>嚗?5<><35><EFBFBD>嚗?
*<EFBFBD>券★<EFBFBD>格覔<EFBFBD>桀<EFBFBD><EFBFBD>扯<EFBFBD>嚗?
cd frontend-v2
# <20><>遣<EFBFBD>𨅯<EFBFBD>嚗<EFBFBD><E59A97><EFBFBD>俘eact<63><74>遣 + Nginx<6E>枏<EFBFBD>嚗?docker build -t ai-clinical/frontend-nginx:v1.0.0 .
# <20>𤘪<EFBFBD>蝑曉僎<E69B89>券<EFBFBD><E588B8><EFBFBD>雿輻鍂<E8BCBB>笔<EFBFBD>ACR<43>啣<EFBFBD>嚗峕釣<E5B395>譍<EFBFBD>摨枏<E691A8>蝘啣蒂銝见<E98A9D>蝥選<E89DA5>
docker tag ai-clinical/frontend-nginx:v1.0.0 \
crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0.0
docker tag ai-clinical/frontend-nginx:v1.0.0 \
crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:latest
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0.0
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:latest
cd ..
*<EFBFBD>𩤃<EFBFBD> 瘜冽<E7989C>嚗? <20>滨垢隞枏<E99A9E><E69E8F>滨妍<E6BBA8>?ai-clinical_frontend-nginx嚗<EFBFBD>蒂銝见<EFBFBD>蝥選<EFBFBD>嚗䔶<EFBFBD><EFBFBD>𡒊垢銝滚<EFBFBD><EFBFBD>?
*撉諹<EFBFBD>嚗?
- ACR<EFBFBD>批<EFBFBD><EFBFBD>啁<EFBFBD><EFBFBD>?銝芷<E98A9D><E88AB7>譍<EFBFBD>摨橒<E691A8>瘥譍葵<E8AD8D>賣<EFBFBD>
v1.0.0<20>?latest<20><>倌 - <EFBFBD>滨垢<EFBFBD>𨅯<EFBFBD><EFBFBD>啣<EFBFBD>嚗䫤crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0.0`
蝚砍<EFBFBD><EFBFBD>嗆挾嚗锭AE摨𠉛鍂<EFBFBD>函蔡嚗?0<><30><EFBFBD>嚗?
4.1 <20>函蔡Python敺格<E695BA><E6A0BC>∴<EFBFBD>15<31><35><EFBFBD>嚗?
*<EFBFBD>滢<EFBFBD>甇仿炊嚗?
- 餈𥕦<EFBFBD>SAE<EFBFBD>批<EFBFBD><EFBFBD>堆<EFBFBD>https://sae.console.aliyun.com/
- <EFBFBD>孵稬<EFBFBD>𣂼<EFBFBD>撱箏<EFBFBD><EFBFBD>具<EFBFBD>?3. <20>箇<EFBFBD><E7AE87>滨蔭嚗?
摨𠉛鍂<EFBFBD>滨妍: python-extraction-service
<EFBFBD>賢<EFBFBD>蝛粹𡢿: cn-beijing:test-airesearch嚗<68>歇<EFBFBD>𥕦遣嚗?<3F>啣<EFBFBD>: <EFBFBD>𤾸<EFBFBD>2嚗<EFBFBD><EFBFBD>鈭穿<EFBFBD>
VPC: ai-clinical-vpc (vpc-2ze055cptkew9c38w4r06)
摰匧<EFBFBD>蝏? sg-2zedk6fi8sgmmcwdu7tu
- 摨𠉛鍂<EFBFBD>滨蔭嚗?
<EFBFBD><EFBFBD><EFBFBD>舀<EFBFBD>: 摰孵膥<EFBFBD>𨅯<EFBFBD>
<EFBFBD>𨅯<EFBFBD>: crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction:v1.0.0
<EFBFBD>𨅯<EFBFBD><EFBFBD>匧<EFBFBD>蝑𣇉裦: Always嚗<73><E59A97>閬<EFBFBD><E996AC>嚗?<3F><>𧋦: v1.0.0
*<EFBFBD>𩤃<EFBFBD> <20>滩<EFBFBD>嚗? 雿輻鍂銝芯犖<E88AAF>㇁CR<43>啣<EFBFBD>嚗䔶<E59A97><E494B6>舀<EFBFBD><E88880><EFBFBD><EFBFBD> registry.cn-beijing.aliyuncs.com
- 摨𠉛鍂摰硺<EFBFBD>嚗?
CPU: 1<>?<3F><><EFBFBD>: 2GB
摰硺<EFBFBD><EFBFBD>? 1
- 擃条漣<EFBFBD>滨蔭嚗?
蝡臬藁: 8000
<EFBFBD>亙熒璉<EFBFBD><EFBFBD>? HTTP
- 頝臬<EFBFBD>: /health
- <EFBFBD>嘥<EFBFBD>撱嗉<EFBFBD>: 30蝘? - 頞<>𧒄: 3蝘? - 璉<><E79289>仿𡢿<E4BBBF>? 5蝘?
<EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD>: 嚗<EFBFBD><EFBFBD><EFBFBD>嗡蛹蝛綽<EFBFBD>Python敺格<EFBFBD><EFBFBD>⊥糓蝥航恣蝞埈<EFBFBD><EFBFBD>∴<EFBFBD>
- <EFBFBD>孵稬<EFBFBD>𣂼<EFBFBD>撱箝<EFBFBD>𡢅<EFBFBD>蝑匧<EFBFBD><EFBFBD>函蔡嚗<EFBFBD>漲5<EFBFBD><EFBFBD><EFBFBD>嚗? *撉諹<EFBFBD>嚗?
- 摨𠉛鍂<EFBFBD>嗆<EFBFBD><EFBFBD>蛹"餈鞱<E9A488>銝?
- <EFBFBD>亙熒璉<EFBFBD><EFBFBD>仿<EFBFBD>朞<EFBFBD>
- 霈啣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>嚗<EFBFBD>聢撘𧶏<EFBFBD>
172.17.x.x:8000嚗?
4.2 <20>函蔡Node.js<6A>𡒊垢嚗?0<><30><EFBFBD>嚗?
*<EFBFBD>滢<EFBFBD>甇仿炊嚗?
- <EFBFBD>𥕦遣<EFBFBD>啣<EFBFBD><EFBFBD>剁<EFBFBD>
nodejs-backend-service - 摨𠉛鍂<EFBFBD>滨蔭嚗?
<EFBFBD>𨅯<EFBFBD>: crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend:v1.0.0
<EFBFBD>𨅯<EFBFBD><EFBFBD>匧<EFBFBD>蝑𣇉裦: Always
CPU: 2<>?<3F><><EFBFBD>: 4GB
摰硺<EFBFBD><EFBFBD>? 1
蝡臬藁: 3001
*<EFBFBD>𩤃<EFBFBD> <20>滩<EFBFBD>嚗? 雿輻鍂銝芯犖<E88AAF>㇁CR<43>啣<EFBFBD>
- <EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD><EFBFBD>滨蔭嚗<EFBFBD><EFBFBD>潃鐥<EFBFBD>潃鐥<EFBFBD> <20>滩<EFBFBD>嚗㚁<E59A97>
# ==================== <20>唳旿摨㯄<E691A8>蝵?====================
# <20>𩤃<EFBFBD> 瘜冽<E7989C>嚗𡁜<E59A97><F0A1819C><EFBFBD>葉<EFBFBD>?@ 蝚血噡敹<E599A1>◆頧砌<E9A0A7>銝?%40
DATABASE_URL=postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research
# <20>?撌脖蝙<E88496>典<EFBFBD><E585B8><EFBFBD>DS靽⊥<E99DBD>嚗<EFBFBD><E59A97><EFBFBD><EFBFBD>歇頧砌<E9A0A7>嚗?
# ==================== 摮睃<E691AE><E79D83>滨蔭 ====================
STORAGE_TYPE=oss
OSS_REGION=oss-cn-beijing
OSS_BUCKET=ai-clinical-research
OSS_ENDPOINT=oss-cn-beijing-internal.aliyuncs.com
# <20>?OSS<53>滨蔭撌脖蝙<E88496>典<EFBFBD><E585B8><EFBFBD>ucket靽⊥<E99DBD>
# Bucket<65>笔<EFBFBD>: ai-clinical-research.oss-cn-beijing-internal.aliyuncs.com
# OSS霈輸䔮<E8BCB8>剛<EFBFBD>嚗<EFBFBD>䲮獢㇁嚗帋蝙<E5B88B>杗ccessKey嚗?OSS_ACCESS_KEY_ID=LTAI5tB2Dt3NdvBL3G7nYGv7
OSS_ACCESS_KEY_SECRET=1iSN9k39RkApP93QjUhC1DcPIeMG4V
# <20>𩤃<EFBFBD> 瘜冽<E7989C>嚗鋫ccessKey<65>舀<EFBFBD><E88880>煺縑<E785BA>荔<EFBFBD>霂瑕嚉<E79195>𣂷漱<F0A382B7>蚣it嚗?
# OSS霈輸䔮<E8BCB8>剛<EFBFBD>嚗<EFBFBD>䲮獢㇂嚗帋蝙<E5B88B>沖AM閫坿𠧧嚗峕凒摰匧<E691B0>嚗?# <20>沒AE<41>批<EFBFBD><E689B9>圈<EFBFBD>蝵娜AM閫坿𠧧嚗鋫liyunSAEDefaultRole
# 隡睃飵嚗𡁏<E59A97><F0A1818F><EFBFBD><EFBFBD>函㴓憓<E3B493><E68693><EFBFBD>譍葉<E8AD8D>滨蔭AccessKey
# ==================== 敺格<E695BA><E6A0BC>∪𧑐<E288AA><F0A79190> ====================
EXTRACTION_SERVICE_URL=http://172.17.x.x:8000
# <20>𩤃<EFBFBD> <20>踵揢嚗?72.17.x.x嚗<78><E59A97>Python敺格<E695BA><E6A0BC>⊥綉<E28AA5>嗅蝱<E59785>瑕<EFBFBD><E79195><EFBFBD><EFBFBD>IP嚗?
DIFY_API_URL=http://placeholder/v1
DIFY_API_KEY=temp_placeholder
# <20>𩤃<EFBFBD> <20><><EFBFBD><EFBFBD>函蔡Dify嚗䔶蝙<E494B6>典<EFBFBD>雿滨泵嚗㇊KB璅∪<E79285>隡朞䌊<E69C9E>函<EFBFBD><E587BD>剁<EFBFBD>
# ==================== LLM<4C>滨蔭 ====================
DEEPSEEK_API_KEY=sk-xxxxxxxx
# <20>𩤃<EFBFBD> <20>踵揢銝箇<E98A9D>摰䂿<E691B0>DeepSeek API Key
# ==================== 摨𠉛鍂<F0A0899B>滨蔭 ====================
NODE_ENV=production
PORT=3001
- <EFBFBD>臬𢆡<EFBFBD>賭誘嚗<EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD>嚗㚁<EFBFBD>
/bin/sh -c "npx prisma migrate deploy && node dist/index.js"
*<EFBFBD>𩤃<EFBFBD> 霂湔<E99C82>嚗?
npx prisma migrate deploy嚗𡁻<EFBFBD>蝵脫㺭<EFBFBD>桀<EFBFBD>餈<EFBFBD>宏node dist/index.js嚗𡁜鍳<EFBFBD>典<EFBFBD><EFBFBD>?
- <EFBFBD>亙熒璉<EFBFBD><EFBFBD>伐<EFBFBD>
頝臬<EFBFBD>: /health
<EFBFBD>嘥<EFBFBD>撱嗉<EFBFBD>: 60蝘𡜐<E89D98><F0A19C90>蹱𧒄<E8B9B1>渡<EFBFBD>Prisma餈<61>宏嚗?頞<>𧒄: 5蝘?```
6. <20>孵稬<E5ADB5>𣂼<EFBFBD>撱箝<E692B1>𡢅<EFBFBD>蝑匧<E89D91><E58CA7>函蔡嚗<E894A1>漲10<31><30><EFBFBD>嚗?
**撉諹<E69289>嚗?*
- <EFBFBD>亦<EFBFBD>"摰墧𧒄<E5A2A7>亙<EFBFBD>"嚗𣬚<E59A97><F0A3AC9A>堆<EFBFBD>
<EFBFBD>?Prisma migrate deploy 摰峕<E691B0> <0A>?pg-boss <20>芸𢆡<E88AB8>𥕦遣6銝芾” <0A>?摨𠉛鍂<F0A0899B>臬𢆡<E887AC>𣂼<EFBFBD>嚗𣬚<E59A97><F0A3AC9A>?0.0.0.0:3001
- <20>亙熒璉<E78692><E79289>仿<EFBFBD>朞<EFBFBD>
- 霈啣<E99C88><E595A3><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>嚗<EFBFBD>聢撘𧶏<E69298>`172.17.x.x:3001`嚗?
**<2A>𩤃<EFBFBD> 憒<><E68692><EFBFBD>臬𢆡憭梯揖嚗?*
撣貉<E692A3><E8B289>笔<EFBFBD>嚗?1. DATABASE_URL<52>躰秤 <20>?璉<><E79289>亙<EFBFBD><E4BA99><EFBFBD><EFBFBD><EFBFBD>DS<44>啣<EFBFBD>
- 敶枏<E695B6>RDS嚗䮝gm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com
- <20>冽<EFBFBD><E586BD>㵪<EFBFBD>airesearch
- 撖<><E69296>銝剜<E98A9D><E5899C>寞<EFBFBD>摮㛖泵@嚗𪄇RL銝剝<E98A9D>閬<EFBFBD>蓮銋劐蛹 %40
2. <20>賢<EFBFBD><E8B3A2>閙𧊋<E99699>滨蔭 <20>?<3F>?撌脩&霈日<E99C88>蝵殷<E89DB5>172.17.0.0/16
3. Prisma餈<61>宏憭梯揖 <20>?<3F>亦<EFBFBD><E4BAA6>亙<EFBFBD>嚗𣬚&霈斗㺭<E69697>桀<EFBFBD><E6A180><EFBFBD><EFBFBD>
**<2A>𩤃<EFBFBD> 撖<><E69296><EFBFBD>寞<EFBFBD>摮㛖泵頧砌<E9A0A7>嚗<EFBFBD><E59A97>閬<EFBFBD><E996AC>嚗?*
```bash
# <20>笔<EFBFBD>撖<EFBFBD><E69296>嚗䧥ibahe@fengzhibo117
# @ 蝚血噡<E8A180><E599A1>閬<EFBFBD>蓮銋劐蛹 %40
# <20>躰秤<E8BAB0>蹱<EFBFBD>嚗<EFBFBD><E59A97>撖潸稲餈墧𦻖憭梯揖嚗㚁<E59A97>
DATABASE_URL=postgresql://airesearch:Xibahe@fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research
# 甇<>&<EFBFBD>蹱<EFBFBD>嚗?DATABASE_URL=postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research
4.3 <20>函蔡<E587BD>滨垢Nginx嚗?5<><35><EFBFBD>嚗?
*<EFBFBD>滢<EFBFBD>甇仿炊嚗?
- <EFBFBD>𥕦遣<EFBFBD>啣<EFBFBD><EFBFBD>剁<EFBFBD>
frontend-nginx - 摨𠉛鍂<EFBFBD>滨蔭嚗?
<EFBFBD>𨅯<EFBFBD>: crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0.0
<EFBFBD>𨅯<EFBFBD><EFBFBD>匧<EFBFBD>蝑𣇉裦: Always
CPU: 1<>?<3F><><EFBFBD>: 2GB
摰硺<EFBFBD><EFBFBD>? 1
蝡臬藁: 80
*<EFBFBD>𩤃<EFBFBD> <20>滩<EFBFBD>嚗?
- 雿輻鍂銝芯犖<EFBFBD>㇁CR<EFBFBD>啣<EFBFBD>
- 瘜冽<EFBFBD>隞枏<EFBFBD><EFBFBD>滨妍<EFBFBD>?
ai-clinical_frontend-nginx嚗<EFBFBD>蒂銝见<EFBFBD>蝥選<EFBFBD>
- *<EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD><EFBFBD>滨蔭嚗?
# <20>𡒊垢<F0A1928A>滚𦛚<E6BB9A>啣<EFBFBD>嚗<EFBFBD><E59A97>蝵𡢅<E89DB5>
BACKEND_SERVICE_HOST=172.17.x.x
BACKEND_SERVICE_PORT=3001
# <20>𩤃<EFBFBD> <20>踵揢嚗?72.17.x.x嚗<78><E59A97>Node.js<6A>𡒊垢<F0A1928A>批<EFBFBD><E689B9>啗繮<E59597>硋<EFBFBD>蝵飡P嚗?```
4. <20>亙熒璉<E78692><E79289>伐<EFBFBD>
```yaml
頝臬<E9A09D>: /health
<0A>嘥<EFBFBD>撱嗉<E692B1>: 10蝘?頞<>𧒄: 3蝘?```
5. **<2A>滨蔭<E6BBA8>祉<EFBFBD>霈輸䔮嚗<E494AE><E59A97>閬<EFBFBD><E996AC>嚗㚁<E59A97>**
- <20>典<EFBFBD><E585B8>刻祕<E588BB>?<3F>?<3F>箸𧋦靽⊥<E99DBD> <20>?<3F>祉<EFBFBD>霈輸䔮
- <20>孵稬<E5ADB5>𣂼<EFBFBD><F0A382BC>胯<EFBFBD>? - <20>瑕<EFBFBD><E79195>祉<EFBFBD><E7A589>笔<EFBFBD>嚗<EFBFBD>聢撘𧶏<E69298>`xxxx.cn-beijing.alicontainer.com`嚗?
6. <20>孵稬<E5ADB5>𣂼<EFBFBD>撱箝<E692B1>𡢅<EFBFBD>蝑匧<E89D91><E58CA7>函蔡嚗<E894A1>漲5<E6BCB2><35><EFBFBD>嚗?
**撉諹<E69289>嚗?*
- 摨𠉛鍂<F0A0899B>嗆<EFBFBD><E59786>蛹"餈鞱<E9A488>銝?
- <20>朞<EFBFBD><E69C9E>祉<EFBFBD><E7A589>笔<EFBFBD>霈輸䔮嚗𣬚<E59A97><F0A3AC9A>啁蒈敶閖△<E99696>?
---
## 蝚砌<E89D9A><E7A08C>嗆挾嚗𡁻<E59A97>霂<EFBFBD><E99C82>瘚贝<E7989A>嚗?0<><30><EFBFBD>嚗?
### 5.1 <20>亙熒璉<E78692><E79289>仿<EFBFBD>霂<EFBFBD><E99C82>5<EFBFBD><35><EFBFBD>嚗?
**Python敺格<E695BA><E6A0BC>∴<EFBFBD>**
```bash
# <20>冽𧋦<E586BD>啁<EFBFBD>蝡舀<E89DA1>銵䕘<E98AB5><E49598>踵揢銝箏<E98A9D><E7AE8F><EFBFBD><EFBFBD>蝵穃𧑐<E7A983><F0A79190>嚗<EFBFBD><E59A97><EFBFBD>𨅯<EFBFBD><F0A885AF>臭<EFBFBD>嚗?# <20>㚚<EFBFBD>朞<EFBFBD>Node.js<6A>𡒊垢<F0A1928A>湔𦻖撉諹<E69289>
# <20>湔𦻖瘚贝<E7989A>嚗<EFBFBD><E59A97><EFBFBD>憕ython撘<6E><E69298>臭<EFBFBD><E887AD>祉<EFBFBD>嚗?curl http://python-service-public-url/health
# 憸<><E686B8><EFBFBD>滚<EFBFBD>嚗?{"status":"healthy"}
*Node.js<6A>𡒊垢嚗?
curl http://backend-public-url/health
# 憸<><E686B8><EFBFBD>滚<EFBFBD>嚗?{"status":"ok","database":"connected","timestamp":"..."}
*<EFBFBD>滨垢Nginx嚗?
curl http://frontend-public-url/health
# 憸<><E686B8><EFBFBD>滚<EFBFBD>嚗?{"status":"ok"}
5.2 <20>蠘<EFBFBD>瘚贝<E7989A>嚗?5<><35><EFBFBD>嚗?
5.2.1 <20>冽<EFBFBD><E586BD>餃<EFBFBD>瘚贝<E7989A>
- 霈輸䔮<EFBFBD>滨垢<EFBFBD>祉<EFBFBD><EFBFBD>啣<EFBFBD>嚗䫤http://xxxxx.cn-beijing.alicontainer.com`
- 雿輻鍂瘚贝<EFBFBD>韐血噡<EFBFBD>餃<EFBFBD>嚗? - 韐血噡嚗䫤admin@test.com`
- 撖<EFBFBD><EFBFBD>嚗䫤admin123`嚗<><E59A97>雿䭾𧋦<E4ADBE>唳㺭<E594B3>桀<EFBFBD>銝剔<E98A9D>撖<EFBFBD><E69296>嚗?3. 撉諹<E69289>嚗𡁏<E59A97><F0A1818F>蠘歲頧砍<E9A0A7>銝駁△嚗峕遬蝷箇鍂<E7AE87>瑕<EFBFBD>
5.2.2 <20><>讃蝑偦<E89D91>㗇<EFBFBD>霂𤏪<E99C82>ASL璅∪<E79285>嚗?
- 餈𥕦<EFBFBD><EFBFBD>𨀂I<EFBFBD>箄<EFBFBD><EFBFBD><EFBFBD>讃<EFBFBD>烐芋<EFBFBD>?2. <20>𥕦遣<F0A595A6>圈★<E59C88>殷<EFBFBD>
憿寧𤌍<EFBFBD>滨妍: 瘚贝<EFBFBD>憿寧𤌍 <EFBFBD>𠉛弦銝駁<EFBFBD>: 蝟硋倏<EFBFBD><EFBFBD>祥<EFBFBD>? ``` - 銝𠹺<EFBFBD>瘚贝<EFBFBD><EFBFBD><EFBFBD>讃嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD>辣嚗? 5MB嚗?4. 撉諹<E69289>嚗? - <20><>辣銝𠹺<E98A9D><F0A0B9BA>記SS<53>𣂼<EFBFBD>
- <EFBFBD>𡒊垢靚<EFBFBD>鍂Python<EFBFBD>滚𦛚閫<EFBFBD><EFBFBD>PDF
- <EFBFBD>唳旿摨㮖葉<EFBFBD><EFBFBD><EFBFBD>霈啣<EFBFBD>
5.2.3 <20>唳旿皜<E697BF><E79A9C>瘚贝<E7989A>嚗㇄C璅∪<E79285>嚗?
- 餈𥕦<EFBFBD><EFBFBD>鞉㺭<EFBFBD>格<EFBFBD>瘣𨰜<EFBFBD>烐芋<EFBFBD>?2. 銝𠹺<E98A9D>瘚贝<E7989A>Excel<65><6C>辣
- 撉諹<EFBFBD>嚗? - OSS銝𠹺<E98A9D><F0A0B9BA>𣂼<EFBFBD>
- Python<EFBFBD>滚𦛚憭<EFBFBD><EFBFBD><EFBFBD>唳旿
- 銝贝蝸皜<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>
5.3 <20>亙<EFBFBD><E4BA99>埝䰻嚗?0<><30><EFBFBD>嚗?
<EFBFBD>亦<EFBFBD>SAE摰墧𧒄<EFBFBD>亙<EFBFBD>
Python敺格<EFBFBD><EFBFBD>∴<EFBFBD>
SAE<EFBFBD>批<EFBFBD><EFBFBD>?<3F>?python-extraction-service <20>?<3F>亙<EFBFBD> <20>?摰墧𧒄<E5A2A7>亙<EFBFBD>
<0A>亦<EFBFBD><E4BAA6>臬炏<E887AC>厰<EFBFBD>霂舀𠯫敹梹<E695B9>ERROR/WARN嚗?```
**Node.js<6A>𡒊垢嚗?*
SAE<EFBFBD>批<EFBFBD><EFBFBD>?<3F>?nodejs-backend-service <20>?<3F>亙<EFBFBD> <20>?摰墧𧒄<E5A2A7>亙<EFBFBD>
<EFBFBD>喲睸<EFBFBD>亙<EFBFBD>嚗?<3F>?Prisma connected <0A>?pg-boss started <0A>?Server listening on 0.0.0.0:3001
**<2A>滨垢Nginx嚗?*
SAE<EFBFBD>批<EFBFBD><EFBFBD>?<3F>?frontend-nginx <20>?<3F>亙<EFBFBD> <20>?霈輸䔮<E8BCB8>亙<EFBFBD>
<EFBFBD>亦<EFBFBD>HTTP霂瑟<EFBFBD><EFBFBD>亙<EFBFBD>嚗?00/404/500<30>嗆<EFBFBD><E59786><EFBFBD>嚗?```
<EFBFBD>辶 撣貉<E692A3><E8B289>桅<EFBFBD>銝舘圾<E88898>單䲮獢?
<EFBFBD>桅<EFBFBD>1嚗𡁜<EFBFBD>蝡舀<EFBFBD>瘜閗<EFBFBD><EFBFBD>交㺭<EFBFBD>桀<EFBFBD>
*<EFBFBD><EFBFBD>𠶖嚗? Node.js<6A>亙<EFBFBD><E4BA99>曄內 connection timeout <20>?FATAL: no pg_hba.conf entry
*閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?
-
璉<EFBFBD><EFBFBD>充DS<EFBFBD>賢<EFBFBD><EFBFBD>𤏪<EFBFBD>
RDS<EFBFBD>批<EFBFBD><EFBFBD>?<3F>?<3F>唳旿摰匧<E691B0><E58CA7>?<3F>?<3F>賢<EFBFBD><E8B3A2>閗挽蝵? 蝖桐<E89D96><E6A190><EFBFBD>鉄嚗?72.17.0.0/16嚗ĀPC蝵烐挾嚗? ``` -
璉<EFBFBD><EFBFBD>主ATABASE_URL嚗? ```bash
<EFBFBD>?甇<>&<EFBFBD>澆<EFBFBD>嚗<EFBFBD>鸌畾𠰴<E795BE>蝚血歇頧砌<E9A0A7>嚗㚁<E59A97>
postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research
撣貉<EFBFBD><EFBFBD>躰秤嚗? - 撖<><E69296>銝剔<E98A9D> @ 蝚血噡<E8A180>芾蓮銋劐蛹 %40嚗<30><E59A97>撣貉<E692A3>嚗<EFBFBD><E59A97>
- RDS<EFBFBD>啣<EFBFBD><EFBFBD>躰秤嚗<EFBFBD><EFBFBD>霂亦鍂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>嚗? - <20>唳旿摨枏<E691A8>蝘圈<E89D98>霂?
<EFBFBD>寞<EFBFBD>摮㛖泵頧砌<EFBFBD>閫<EFBFBD><EFBFBD>嚗? @ -> %40
-> %23
$ -> %24 % -> %25
<EFBFBD>桅<EFBFBD>2嚗𡁜<EFBFBD>蝡航<EFBFBD><EFBFBD>沌ython敺格<EFBFBD><EFBFBD>∟<EFBFBD><EFBFBD>?
*<EFBFBD><EFBFBD>𠶖嚗? <20>亙<EFBFBD><E4BA99>曄內 ECONNREFUSED <20>?timeout
*閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?
-
璉<EFBFBD><EFBFBD>仙ython敺格<EFBFBD><EFBFBD>∪<EFBFBD>蝵穃𧑐<EFBFBD><EFBFBD>嚗?
SAE<EFBFBD>批<EFBFBD><EFBFBD>?<3F>?python-extraction-service <20>?<3F>箸𧋦靽⊥<E99DBD> <20>?<3F><><EFBFBD><EFBFBD>啣<EFBFBD> 憭滚<E686AD>IP<49>啣<EFBFBD>嚗<EFBFBD>聢撘𧶏<E69298>172.17.x.x嚗? -
<EFBFBD>湔鰵Node.js<6A>𡒊垢<F0A1928A>臬<EFBFBD><E887AC>㗛<EFBFBD>嚗? ```bash EXTRACTION_SERVICE_URL=http://172.17.x.x:8000
-
<EFBFBD>滚鍳Node.js<6A>𡒊垢摨𠉛鍂
<EFBFBD>桅<EFBFBD>3嚗𡁜<EFBFBD>蝡航<EFBFBD><EFBFBD>典<EFBFBD>蝡?04
*<EFBFBD><EFBFBD>𠶖嚗? 瘚讛<E7989A><E8AE9B>冽綉<E586BD>嗅蝱<E59785>曄內 /api/xxx 404
*閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?
-
璉<EFBFBD><EFBFBD>亙<EFBFBD>蝡舐㴓憓<EFBFBD><EFBFBD><EFBFBD>𧶏<EFBFBD>
# 蝖株恕 BACKEND_SERVICE_HOST <20>烤ode.js<6A><73><EFBFBD>蝵飡P BACKEND_SERVICE_HOST=172.17.x.x BACKEND_SERVICE_PORT=3001 -
璉<EFBFBD><EFBFBD>代ginx<EFBFBD>滨蔭嚗<EFBFBD>歇<EFBFBD><EFBFBD>蔭<EFBFBD>券<EFBFBD><EFBFBD>譍葉嚗㚁<EFBFBD>
location /api/ { proxy_pass http://${BACKEND_SERVICE_HOST}:${BACKEND_SERVICE_PORT}; } -
<EFBFBD>滚鍳<EFBFBD>滨垢摨𠉛鍂
<EFBFBD>桅<EFBFBD>4嚗𡁏<EFBFBD>隞嗡<EFBFBD>隡惩<EFBFBD>OSS憭梯揖
*<EFBFBD><EFBFBD>𠶖嚗? 銝𠹺<E98A9D><F0A0B9BA><EFBFBD>辣<EFBFBD>嗆𥁒<E59786>?OSS access denied
*閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?
-
*<EFBFBD>寞<EFBFBD>A嚗帋蝙<EFBFBD>杗ccessKey嚗<EFBFBD>歇<EFBFBD>滨蔭嚗?
# 蝖株恕Node.js<6A>𡒊垢<F0A1928A>臬<EFBFBD><E887AC>㗛<EFBFBD>撌脤<E6928C>蝵殷<E89DB5> OSS_ACCESS_KEY_ID=LTAI5tB2Dt3NdvBL3G7nYGv7 OSS_ACCESS_KEY_SECRET=1iSN9k39RkApP93QjUhC1DcPIeMG4V*撉諹<EFBFBD><EFBFBD>寞<EFBFBD>嚗?
- SAE<EFBFBD>批<EFBFBD><EFBFBD>?<3F>?nodejs-backend-service <20>?摨𠉛鍂霈曄蔭 <20>?<3F>臬<EFBFBD><E887AC>㗛<EFBFBD>
- 璉<EFBFBD><EFBFBD>交糓<EFBFBD>血<EFBFBD><EFBFBD>?
OSS_ACCESS_KEY_ID<20>?OSS_ACCESS_KEY_SECRET
-
<EFBFBD>寞<EFBFBD>B嚗帋蝙<EFBFBD>沖AM閫坿𠧧嚗<EFBFBD>綫<EFBFBD>鞟<EFBFBD>鈭抒㴓憓<EFBFBD><EFBFBD>
SAE<EFBFBD>批<EFBFBD><EFBFBD>?<3F>?摨𠉛鍂霈曄蔭 <20>?擃条漣霈曄蔭 <20>?RAM閫坿𠧧 <0A>㗇𥋘嚗鋫liyunSAEDefaultRole 蝖桐<E89D96>霂亥<E99C82><E4BAA5>脫<EFBFBD> AliyunOSSFullAccess <20><><EFBFBD>*隡睃飵嚗?
- <EFBFBD>𣳇<EFBFBD><EFBFBD>函㴓憓<EFBFBD><EFBFBD><EFBFBD>譍葉<EFBFBD>滨蔭AccessKey
- <EFBFBD>游<EFBFBD><EFBFBD>剁<EFBFBD><EFBFBD>踹<EFBFBD>AccessKey瘜<EFBFBD>蠧憌𡡞埯
- <EFBFBD>舀<EFBFBD><EFBFBD>芸𢆡頧格揢<EFBFBD>剛<EFBFBD>
-
*璉<EFBFBD><EFBFBD>充AM<EFBFBD>冽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?
RAM<EFBFBD>批<EFBFBD><EFBFBD>?<3F>?<3F>冽<EFBFBD> <20>?oss-bucket-put-object@1991407246109125.onaliyun.com 蝖株恕<E6A0AA><E68195><EFBFBD>嚗䥪utObject嚗<74><E59A97><EFBFBD>交<EFBFBD><E4BAA4>琜<EFBFBD>
<EFBFBD>桅<EFBFBD>5嚗鋫I<EFBFBD>蠘<EFBFBD><EFBFBD>䭾<EFBFBD>靚<EFBFBD>鍂嚗㇄eepSeek API頞<49>𧒄嚗?
*<EFBFBD><EFBFBD>𠶖嚗? LLM撖寡<E69296><E5AFA1>蠘<EFBFBD><E8A098>仿<EFBFBD> network timeout
*閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?
-
*璉<EFBFBD><EFBFBD>代AT蝵穃<EFBFBD>SNAT閫<EFBFBD><EFBFBD>嚗?
VPC<EFBFBD>批<EFBFBD><EFBFBD>?<3F>?NAT蝵穃<E89DB5> <20>?NAT_airesearch <20>?SNAT蝞∠<E89D9E> <0A>?撌脩&霈日<E99C88>蝵殷<E89DB5> - 鈭斗揢<E69697>慚 (vsw-2zevacop039bxrmj6yc0c): 172.17.160.0/20 <20>?182.92.176.14 (<28>舐鍂) - 鈭斗揢<E69697>態 (vsw-2zehoeyw9ldncymcyvfwq): 172.17.192.0/20 <20>?182.92.176.14 (<28>舐鍂) -
*撉諹<EFBFBD><EFBFBD>祉<EFBFBD>霈輸䔮<EFBFBD>賢<EFBFBD>嚗?
# <20>沒AE摨𠉛鍂摰硺<E691B0>銝剜<E98A9D>銵<EFBFBD>𦶢隞歹<E99A9E><E6ADB9>朞<EFBFBD>WebIDE嚗㚁<E59A97> curl https://api.deepseek.com/v1/models # 摨磰砲餈𥪜<E9A488>璅∪<E79285><E288AA>𡑒”嚗諹<E59A97>䔶<EFBFBD><E494B6>?timeout -
憒<EFBFBD><EFBFBD>SNAT<EFBFBD>芰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- 璉<EFBFBD><EFBFBD>乍IP<EFBFBD>臬炏撌脩<EFBFBD>摰? - 璉<><E79289>兄NAT<41>∠𤌍<E288A0>嗆<EFBFBD><E59786>糓<EFBFBD>虫蛹"<22>舐鍂"
- <EFBFBD>滚鍳SAE摨𠉛鍂
<EFBFBD><EFBFBD> <20>鞉𧋦隡啁<E99AA1>
| 韏<EFBFBD><EFBFBD> | 閫<EFBFBD>聢 | <EFBFBD><EFBFBD><EFBFBD><EFBFBD>? | 霂湔<EFBFBD> |
|---|---|---|---|
| RDS PostgreSQL | 2<EFBFBD>?GB/50GB | 瞼200-300 | <EFBFBD><EFBFBD>僑<EFBFBD><EFBFBD><EFBFBD>嚗<EFBFBD>歇韐凋僭嚗车 |
| SAE - Python | 1<EFBFBD>?GB <20> 1摰硺<E691B0> | 瞼60 | <EFBFBD>厰<EFBFBD>隞䁅晶嚗<EFBFBD>𤦭<EFBFBD>黑?嚗? |
| SAE - Node.js | 2<EFBFBD>?GB <20> 1摰硺<E691B0> | 瞼120 | <EFBFBD>厰<EFBFBD>隞䁅晶 |
| SAE - Frontend | 1<EFBFBD>?GB <20> 1摰硺<E691B0> | 瞼60 | <EFBFBD>厰<EFBFBD>隞䁅晶 |
| NAT蝵穃<EFBFBD> | 撠誩<EFBFBD> | 瞼60 | <EFBFBD>箏<EFBFBD>韐寧鍂嚗<EFBFBD>歇<EFBFBD>𥕦遣嚗车 |
| *EIP瘚<EFBFBD><EFBFBD>韐? | 5Mbps | 瞼40 | <EFBFBD>劐蝙<EFBFBD>券<EFBFBD>霈∟晶嚗<EFBFBD>歇<EFBFBD>滨蔭嚗车 |
| OSS摮睃<EFBFBD> | 10GB | 瞼2 | 瞼0.12/GB/<2F><><EFBFBD>撌脣<E6928C>撱綽<E692B1> |
| ACR摰孵膥<EFBFBD>𨅯<EFBFBD> | 銝芯犖<EFBFBD>? | 瞼0 | <EFBFBD>滩晶 |
| <EFBFBD>餉恣 | - | *瞼542-622/<2F>? | <EFBFBD>嘥<EFBFBD><EFBFBD>a<EFBFBD><EFBFBD>鞉𧋦 |
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>鞉𧋦撱箄悅嚗?
- RDS韐凋僭<EFBFBD><EFBFBD>僑<EFBFBD><EFBFBD><EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?0嚗𣬚賒韐嗽?00/<2F><><EFBFBD>
- 撘<EFBFBD><EFBFBD>𤑳㴓憓<EFBFBD>蘨撘<EFBFBD>1銝杵AE摰硺<EFBFBD>嚗<EFBFBD><EFBFBD>隞硋<EFBFBD>靘讠憬摰孵<EFBFBD>0嚗?3. 雿輻鍂SAE<41>?<3F>脫𧒄<E884AB>𨀣㦤"<22>蠘<EFBFBD>嚗<EFBFBD><E59A97>銝𡃏䌊<F0A1838F>典<EFBFBD><E585B8>綽<EFBFBD>
<EFBFBD>㴓 銝衤<E98A9D>甇亙極雿?
<EFBFBD>剜<EFBFBD>嚗?<3F>典<EFBFBD>嚗?
- 蝏穃<EFBFBD><EFBFBD>芸<EFBFBD>銋匧<EFBFBD><EFBFBD>㵪<EFBFBD><EFBFBD>輸<EFBFBD>鈭穃<EFBFBD><EFBFBD>齿<EFBFBD><EFBFBD>?+ SAE蝏穃<E89D8F>嚗?- [ ] <20>滨蔭HTTPS霂<53>髡嚗𡿨et's Encrypt<70>滩晶霂<E699B6>髡嚗?- [ ] <20>滨蔭OSS CDN<44>𣳇<EFBFBD><F0A3B387><EFBFBD><EFBFBD>滨垢<E6BBA8>蹱<EFBFBD><E8B9B1><EFBFBD>皞𣂼<E79A9E><F0A382BC><EFBFBD><EFBFBD>
- 撘<EFBFBD><EFBFBD>爹DS<EFBFBD>芸𢆡憭<EFBFBD>遢嚗<EFBFBD>㺭<EFBFBD>桀<EFBFBD><EFBFBD>函洵銝<EFBFBD>嚗?
銝剜<EFBFBD>嚗?銝芣<E98A9D><E88AA3><EFBFBD><EFBFBD>
- <EFBFBD>函蔡Dify撟喳蝱嚗<EFBFBD>鍳<EFBFBD>沌KB銝芯犖<EFBFBD>亥<EFBFBD>摨枏<EFBFBD><EFBFBD>踝<EFBFBD>
- <EFBFBD>滨蔭<EFBFBD>烐綉<EFBFBD>𡃏郎嚗㇁RMS摨𠉛鍂<EFBFBD>烐綉嚗?- [ ] 隡睃<E99AA1><E79D83>唳旿摨梶揣撘𤏪<E69298><F0A48FAA>𣂼<EFBFBD><F0A382BC>亥砭<E4BAA5>扯<EFBFBD>嚗?- [ ] 摰墧鴌CI/CD<43>芸𢆡<E88AB8>㚚<EFBFBD>蝵莎<E89DB5>GitHub Actions嚗?
<EFBFBD>踵<EFBFBD>嚗?銝芣<E98A9D><E88AA3>𠬍<EFBFBD>
- 憭𡁜<EFBFBD>靘钅<EFBFBD>蝵莎<EFBFBD><EFBFBD>𣂼<EFBFBD>擃睃虾<EFBFBD>冽<EFBFBD>改<EFBFBD>
- <EFBFBD>唳旿摨栞粉<EFBFBD>坔<EFBFBD>蝳鳴<EFBFBD>RDS銝餃<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- OSS<EFBFBD>笔𦶢<EFBFBD>冽<EFBFBD>蝞∠<EFBFBD>嚗<EFBFBD>䌊<EFBFBD>冽<EFBFBD><EFBFBD><EFBFBD>葩<EFBFBD>嗆<EFBFBD>隞塚<EFBFBD>
- <EFBFBD>扯<EFBFBD>隡睃<EFBFBD>銝擧<EFBFBD><EFBFBD>砌<EFBFBD><EFBFBD>?
<EFBFBD><EFBFBD> <20>詨<EFBFBD><E8A9A8><EFBFBD>﹝
- <EFBFBD>函蔡<EFBFBD>嗆<EFBFBD><EFBFBD>餉<EFBFBD>
- [Python敺格<E695BA><E6A0BC>⊿<EFBFBD>蝵脫<E89DB5><E884AB>㻩(./04-Python敺格<E695BA><E6A0BC>?SAE摰孵膥<E5ADB5>函蔡<E587BD><E894A1><EFBFBD>.md)
- Node.js<6A>𡒊垢<F0A1928A>函蔡<E587BD><E894A1><EFBFBD>
- <EFBFBD>滨垢Nginx<EFBFBD>函蔡<EFBFBD><EFBFBD><EFBFBD>
- PostgreSQL<EFBFBD>函蔡蝑𣇉裦
- <EFBFBD>喲睸<EFBFBD>滨蔭銵亙<EFBFBD>霂湔<EFBFBD>
- [<5B>函蔡璉<E894A1><E79289>交<EFBFBD><E4BAA4>騟(./08-<2D>函蔡璉<E894A1><E79289>交<EFBFBD><E4BAA4>?md)
<EFBFBD><EFBFBD> 蝝扳<E89D9D>亥<EFBFBD>蝟?
憒<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䭾<EFBFBD>閫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>䔮憸矋<EFBFBD>
- <EFBFBD>亦<EFBFBD>SAE摰墧𧒄<EFBFBD>亙<EFBFBD>嚗?0%<25><>䔮憸䁅<E686B8>隞擧𠯫敹𦯀葉<F0A6AF80>𤑳緵嚗?2. 璉<><E79289>亦㴓憓<E3B493><E68693><EFBFBD>誯<EFBFBD>蝵殷<E89DB5>DATABASE_URL<52><4C><EFBFBD><EFBFBD>∪𧑐<E288AA><F0A79190>蝑㚁<E89D91>
- 撉諹<EFBFBD>蝵𤑳<EFBFBD>餈鮋<EFBFBD>𡁏<EFBFBD>改<EFBFBD>VPC<EFBFBD><EFBFBD>蒾<EFBFBD>滚<EFBFBD><EFBFBD><EFBFBD>AT蝵穃<EFBFBD>嚗?4. <20><><EFBFBD><EFBFBD>祕蝏<E7A595><E89D8F>蝵脫<E89DB5>獢<EFBFBD><E78DA2>瘥譍葵璅∪<E79285><E288AA>厩𡠺蝡讠<E89DA1>摰峕㟲<E5B395><E39FB2><EFBFBD>嚗?
*<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>𧋦嚗? v1.0
<EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD>堆<EFBFBD> 2025-12-16
蝏湔擪<EFBFBD><EFBFBD><EFBFBD> AI銝游<E98A9D><E6B8B8>𠉛弦撟喳蝱<E596B3><E89DB1><EFBFBD>臬𣪧<E887AC>?