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%)
523 lines
12 KiB
Markdown
523 lines
12 KiB
Markdown
# Node.js <20>𡒊垢 - SAE<41>函蔡<E587BD>滢<EFBFBD><E6BBA2>见<EFBFBD>
|
||
|
||
> **<2A>𥕦遣<F0A595A6>園𡢿**嚗?025-12-24
|
||
> **<2A>滢<EFBFBD>撖寡情**嚗鐭ode.js <20>𡒊垢<F0A1928A>滚𦛚
|
||
> **<2A>函蔡<E587BD>格<EFBFBD>**嚗𡁻燵<F0A181BB>䔶<EFBFBD> SAE嚗𠄎erverless摨𠉛鍂撘閙<E69298>嚗?
|
||
> **憸<>恣<EFBFBD>園𡢿**嚗?0-40<34><30><EFBFBD>
|
||
|
||
---
|
||
|
||
## <20><> <20>滨蔭璉<E894AD><E79289>?
|
||
|
||
撘<EFBFBD>憪衤<EFBFBD><EFBFBD>㵪<EFBFBD>霂瑞&霈歹<EFBFBD>
|
||
|
||
- [x] Docker<65>𨅯<EFBFBD>撌脫綫<E884AB><E7B6AB><EFBFBD>ACR嚗䫤backend-service:v1.0`
|
||
- [x] RDS PostgreSQL撌脤<E6928C>蝵脣僎餈<E5838E>宏<EFBFBD>唳旿
|
||
- [x] Python敺格<E695BA><E6A0BC>∪歇<E288AA>函蔡嚗<E894A1><E59A97>蝵穃𧑐<E7A983><F0A79190>嚗䫤http://172.17.173.66:8000`嚗?
|
||
- [x] <20>臬<EFBFBD><E887AC>㗛<EFBFBD><E3979B>滨蔭皜<E894AD><E79A9C>撌脣<E6928C>憭<EFBFBD><E686AD>閫?`11-Node.js<6A>𡒊垢-SAE<41>函蔡<E587BD>滨蔭皜<E894AD><E79A9C>.md`嚗?
|
||
|
||
---
|
||
|
||
## <20><> 蝚砌<E89D9A>甇伐<E79487><E4BC90>餃<EFBFBD>SAE<41>批<EFBFBD><E689B9>啣僎<E595A3>𥕦遣摨𠉛鍂
|
||
|
||
### 1.1 餈𥕦<E9A488>SAE<41>批<EFBFBD><E689B9>?
|
||
|
||
1. <20>枏<EFBFBD>瘚讛<E7989A><E8AE9B>剁<EFBFBD>霈輸䔮嚗冴ttps://sae.console.aliyun.com/
|
||
2. <20>㗇𥋘<E39787>啣<EFBFBD>嚗?*<2A>𤾸<EFBFBD>2嚗<32><E59A97>鈭穿<E988AD>**
|
||
3. <20>㗇𥋘<E39787>賢<EFBFBD>蝛粹𡢿嚗?*cn-beijing:test-airesearch**
|
||
|
||
### 1.2 <20>𥕦遣<F0A595A6>啣<EFBFBD><E595A3>?
|
||
|
||
1. <20>孵稬<E5ADB5>𣂼<EFBFBD>撱箏<E692B1><E7AE8F>具<EFBFBD>烐<EFBFBD><E78390>?
|
||
2. 憛怠<E6869B><E680A0>箸𧋦靽⊥<E99DBD>嚗?
|
||
|
||
```yaml
|
||
摨𠉛鍂<EFBFBD>滨妍: nodejs-backend-test
|
||
<EFBFBD>函蔡<EFBFBD>孵<EFBFBD>: 摰孵膥<EFBFBD>𨅯<EFBFBD>
|
||
```
|
||
|
||
3. <20>孵稬<E5ADB5>𣂷<EFBFBD>銝<EFBFBD>甇乓<E79487>?
|
||
|
||
---
|
||
|
||
## <20>閦 蝚砌<E89D9A>甇伐<E79487><E4BC90>滨蔭摰孵膥<E5ADB5>𨅯<EFBFBD>
|
||
|
||
### 2.1 <20>㗇𥋘<E39787>𨅯<EFBFBD><F0A885AF>交<EFBFBD>
|
||
|
||
1. <20>𨅯<EFBFBD>蝐餃<E89D90>嚗𡁻<E59A97>㗇𥋘 **摰孵膥<E5ADB5>𨅯<EFBFBD><F0A885AF>滚𦛚嚗㇁CR嚗?*
|
||
2. <20>㗇𥋘摰硺<E691B0>嚗?*銝芯犖<E88AAF>?*
|
||
3. <20>㗇𥋘<E39787>啣<EFBFBD>嚗?*<2A>𤾸<EFBFBD>2嚗<32><E59A97>鈭穿<E988AD>**
|
||
|
||
### 2.2 <20>滨蔭<E6BBA8>𨅯<EFBFBD>隞枏<E99A9E>霈方<E99C88>
|
||
|
||
<EFBFBD>𩤃<EFBFBD> **<EFBFBD>滩<EFBFBD>**嚗𡁜<E59A97>憿餃<E686BF><E9A483>滨蔭霈方<E99C88>嚗<EFBFBD>炏<EFBFBD>蹱<EFBFBD>瘜閙<E7989C><E99699>𣇉<EFBFBD><F0A38789>厰<EFBFBD><E58EB0>?
|
||
|
||
1. <20>孵稬<E5ADB5>鞾<EFBFBD>蝵桅<E89DB5><E6A185>譍<EFBFBD>摨瓐<E691A8>?
|
||
2. 憛怠<E6869B>霈方<E99C88>靽⊥<E99DBD>嚗?
|
||
|
||
```yaml
|
||
Registry<EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com
|
||
<EFBFBD>冽<EFBFBD><EFBFBD>? gofeng117@163.com
|
||
撖<EFBFBD><EFBFBD>: fengzhibo117
|
||
```
|
||
|
||
3. <20>孵稬<E5ADB5>鞟&摰𠾼<E691B0>?
|
||
4. <20>孵稬<E5ADB5>鞾<EFBFBD>霂<EFBFBD>恕霂<E68195><E99C82>𡢅<EFBFBD>蝖桐<E89D96>霈方<E99C88><E696B9>𣂼<EFBFBD>
|
||
|
||
### 2.3 <20>㗇𥋘<E39787>𨅯<EFBFBD>
|
||
|
||
1. <20>㗇𥋘<E39787>賢<EFBFBD>蝛粹𡢿嚗?*ai-clinical**
|
||
2. <20>㗇𥋘<E39787>𨅯<EFBFBD>嚗?*backend-service**
|
||
3. <20>㗇𥋘<E39787>𨅯<EFBFBD><F0A885AF><EFBFBD>𧋦嚗?*v1.0**
|
||
|
||
摰峕㟲<EFBFBD>𨅯<EFBFBD><EFBFBD>啣<EFBFBD>摨娍遬蝷箔蛹嚗?
|
||
```
|
||
crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.0
|
||
```
|
||
|
||
4. <20>孵稬<E5ADB5>𣂷<EFBFBD>銝<EFBFBD>甇乓<E79487>?
|
||
|
||
---
|
||
|
||
## <20>辷<EFBFBD> 蝚砌<E89D9A>甇伐<E79487><E4BC90>滨蔭摨𠉛鍂<F0A0899B><E98D82>㺭
|
||
|
||
### 3.1 <20>箇<EFBFBD><E7AE87>滨蔭
|
||
|
||
```yaml
|
||
摨𠉛鍂摰硺<EFBFBD><EFBFBD>? 1
|
||
CPU: 1<EFBFBD>?
|
||
<EFBFBD><EFBFBD><EFBFBD>: 2048 MB嚗?GB嚗?
|
||
摨𠉛鍂蝐餃<EFBFBD>: Web摨𠉛鍂
|
||
```
|
||
|
||
### 3.2 蝵𤑳<E89DB5><F0A491B3>滨蔭
|
||
|
||
1. **VPC<50>滨蔭**嚗?
|
||
- VPC ID嚗䫤vpc-2ze055cptkew9c38w4r06`
|
||
- 摰匧<E691B0>蝏<EFBFBD><E89D8F>`sg-2zedk6fi8sgmmcwdu7tu`
|
||
- <20>暸<EFBFBD>剹<EFBFBD>鞱䌊<E99EB1>典<EFBFBD><E585B8>滚<EFBFBD>蝵騌LB<4C>𡢅<EFBFBD><F0A1A285>?銝滚㗲<E6BB9A>㚁<EFBFBD>隞<EFBFBD><E99A9E>蝵𤏸挪<F0A48FB8>殷<EFBFBD>
|
||
|
||
2. **蝡臬藁<E887AC>滨蔭**嚗?
|
||
- 摰孵膥蝡臬藁嚗䫤3001`
|
||
- <20>讛悅嚗䫤TCP`
|
||
|
||
### 3.3 <20>臬<EFBFBD><E887AC>㗛<EFBFBD><E3979B>滨蔭
|
||
|
||
<EFBFBD>𩤃<EFBFBD> **<EFBFBD>喲睸甇仿炊**嚗𡁜<E59A97><F0A1819C>?`11-Node.js<6A>𡒊垢-SAE<41>函蔡<E587BD>滨蔭皜<E894AD><E79A9C>.md` 銝剔<E98A9D><E58994>臬<EFBFBD><E887AC>㗛<EFBFBD>
|
||
|
||
**<EFBFBD>孵<EFBFBD>A嚗𡁏鸌<EFBFBD>誩紡<EFBFBD>伐<EFBFBD><EFBFBD>刻<EFBFBD>嚗?*
|
||
|
||
1. <20>孵稬<E5ADB5>鞉鸌<E99E89>誩紡<E8AAA9>乓<EFBFBD>?
|
||
2. 憭滚<E686AD>隞乩<E99A9E><E4B9A9><EFBFBD>捆蝎䁅斐嚗?
|
||
|
||
```env
|
||
DATABASE_URL=postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research?connection_limit=18&pool_timeout=10
|
||
JWT_SECRET=146c2fd064a69aa026496ee60e20483d07e951eae8323a501126469583433415
|
||
JWT_EXPIRES_IN=7d
|
||
DEEPSEEK_API_KEY=sk-7f8cc37a79fa4799860b38fc7ba2e150
|
||
DASHSCOPE_API_KEY=sk-75b4ff29a14a49e79667a331034f3298
|
||
CLOSEAI_API_KEY=sk-cu0ienbXYGGx2jc7BqP6ogtSWmP6fk918qV3RUdtGC3Ed1po
|
||
CLOSEAI_OPENAI_BASE_URL=https://api.openai-proxy.org/v1
|
||
CLOSEAI_CLAUDE_BASE_URL=https://api.openai-proxy.org/anthropic
|
||
DIFY_API_URL=http://localhost/v1
|
||
DIFY_API_KEY=dataset-mfvdiKvQ2l3NvxWm7RoYMN3c
|
||
PORT=3001
|
||
NODE_ENV=production
|
||
QUEUE_TYPE=pgboss
|
||
CACHE_TYPE=postgres
|
||
OSS_REGION=oss-cn-beijing
|
||
OSS_BUCKET=ai-clinical-research
|
||
OSS_ACCESS_KEY_ID=LTAI5tB2Dt3NdvBL3G7nYGv7
|
||
OSS_ACCESS_KEY_SECRET=1iSN9k39RkApP93QjUhC1DcPIeMG4V
|
||
OSS_ENDPOINT=oss-cn-beijing-internal.aliyuncs.com
|
||
PYTHON_SERVICE_URL=http://172.17.173.66:8000
|
||
LOG_LEVEL=info
|
||
```
|
||
|
||
3. <20>孵稬<E5ADB5>鞟&摰𠾼<E691B0>?
|
||
|
||
**<EFBFBD>孵<EFBFBD>B嚗𡁻<EFBFBD>𣂷葵瘛餃<EFBFBD>**嚗<><E59A97><EFBFBD>𨀣鸌<F0A880A3>誩紡<E8AAA9>乩<EFBFBD><E4B9A9>舐鍂嚗?
|
||
|
||
<EFBFBD>函㴓憓<EFBFBD><EFBFBD><EFBFBD>讛”<EFBFBD>潔葉<EFBFBD>𣂷葵瘛餃<EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD>?`11-Node.js<6A>𡒊垢-SAE<41>函蔡<E587BD>滨蔭皜<E894AD><E79A9C>.md` 銝剔<E98A9D>銵冽聢<E586BD>?
|
||
|
||
### 3.4 <20>臬𢆡<E887AC>賭誘<E8B3AD>滨蔭
|
||
|
||
1. <20>具<EFBFBD>𣂼鍳<F0A382BC>典𦶢隞扎<E99A9E>睲葉憛怠<E6869B>嚗?
|
||
|
||
```bash
|
||
node dist/server.js
|
||
```
|
||
|
||
**霂湔<E99C82>**嚗?
|
||
- <20>?銝漤<E98A9D>閬?`npm start`嚗<EFBFBD><EFBFBD><EFBFBD>誩歇蝏讐<EFBFBD>霂穃末嚗?
|
||
- <20>?銝漤<E98A9D>閬?`prisma migrate`嚗<EFBFBD>㺭<EFBFBD>桀歇撖澆<EFBFBD>嚗?
|
||
- <20>?銝漤<E98A9D>閬?`prisma generate`嚗<EFBFBD><EFBFBD><EFBFBD>𤩺<EFBFBD>撱箸𧒄撌脩<EFBFBD><EFBFBD>琜<EFBFBD>
|
||
|
||
### 3.5 <20>亙熒璉<E78692><E79289>仿<EFBFBD>蝵?
|
||
|
||
1. <20>暸<EFBFBD>剹<EFBFBD>𣂼鍳<F0A382BC>典<EFBFBD>摨瑟<E691A8><E7919F>乓<EFBFBD>?
|
||
2. <20>滨蔭<E6BBA8><E894AD>㺭嚗?
|
||
|
||
```yaml
|
||
璉<EFBFBD><EFBFBD>交䲮撘? HTTP霂瑟<E99C82>
|
||
霂瑟<EFBFBD>頝臬<EFBFBD>: /health
|
||
蝡臬藁: 3001
|
||
<EFBFBD>嘥<EFBFBD>撱嗉<EFBFBD>: 30蝘?
|
||
璉<EFBFBD><EFBFBD>仿𡢿<EFBFBD>? 10蝘?
|
||
頞<EFBFBD>𧒄<EFBFBD>園𡢿: 3蝘?
|
||
銝滚<EFBFBD>摨琿<EFBFBD><EFBFBD>? 3甈?
|
||
<EFBFBD>亙熒<EFBFBD><EFBFBD><EFBFBD>? 2甈?
|
||
```
|
||
|
||
**銝箔<E98A9D>銋<EFBFBD><E98A8B>憪见辣餈蠘挽蝵?0蝘𡜐<E89D98>**
|
||
- Node.js摨𠉛鍂<F0A0899B>臬𢆡<E887AC><F0A286A1>閬?0-15蝘?
|
||
- Prisma Client<6E>嘥<EFBFBD><E598A5>㚚<EFBFBD>閬?-10蝘?
|
||
- <20>唳旿摨栞<E691A8><E6A09E>交<EFBFBD>撱箇<E692B1><E7AE87><EFBFBD>閬?蝘?
|
||
- <20>蹱<EFBFBD>雿䠷<E99BBF>嚗屸<E59A97><E5B1B8>漤<EFBFBD>甈∪<E79488>摨瑟<E691A8><E7919F>亙仃韐?
|
||
|
||
3. <20>孵稬<E5ADB5>𣂷<EFBFBD>銝<EFBFBD>甇乓<E79487>?
|
||
|
||
---
|
||
|
||
## <20><> 蝚砍<E89D9A>甇伐<E79487>蝖株恕<E6A0AA>滨蔭撟園<E6929F>蝵?
|
||
|
||
### 4.1 璉<><E79289>仿<EFBFBD>蝵格<E89DB5>閬?
|
||
|
||
<EFBFBD>函&霈日△<EFBFBD>g<EFBFBD>隞𠉛<EFBFBD>璉<EFBFBD><EFBFBD>伐<EFBFBD>
|
||
|
||
- [x] <20>𨅯<EFBFBD><F0A885AF>啣<EFBFBD>甇<EFBFBD>&嚗䫤backend-service:v1.0`
|
||
- [x] 韏<><E99F8F><EFBFBD>滨蔭甇<E894AD>&嚗?<3F>?GB
|
||
- [x] <20>臬<EFBFBD><E887AC>㗛<EFBFBD><E3979B>圈<EFBFBD>嚗?1銝迎<E98A9D><E8BF8E>臭誑<E887AD>孵稬<E5ADB5>亦<EFBFBD>霂行<E99C82>嚗?
|
||
- [x] <20>亙熒璉<E78692><E79289>亥楝敺<E6A59D><E695BA>`/health`
|
||
- [x] <20>臬𢆡<E887AC>賭誘嚗䫤node dist/server.js`
|
||
|
||
### 4.2 撘<>憪钅<E686AA>蝵?
|
||
|
||
1. <20>孵稬<E5ADB5>𣂼<EFBFBD>撱箏<E692B1><E7AE8F>具<EFBFBD>?
|
||
2. 蝑匧<E89D91><E58CA7>函蔡嚗<E894A1>漲3-5<><35><EFBFBD>嚗?
|
||
|
||
**<EFBFBD>函蔡餈<EFBFBD><EFBFBD>**嚗?
|
||
```
|
||
1. <20>匧<EFBFBD><E58CA7>𨅯<EFBFBD>嚗?<3F><><EFBFBD>嚗?
|
||
2. <20>𥕦遣摰孵膥摰硺<E691B0>嚗?<3F><><EFBFBD>嚗?
|
||
3. <20>臬𢆡摨𠉛鍂嚗?0蝘𡜐<E89D98>
|
||
4. <20>扯<EFBFBD><E689AF>亙熒璉<E78692><E79289>伐<EFBFBD>30蝘𡜐<E89D98>
|
||
```
|
||
|
||
---
|
||
|
||
## <20>?蝚砌<E89D9A>甇伐<E79487><E4BC90>函蔡撉諹<E69289>
|
||
|
||
### 5.1 璉<><E79289>亙<EFBFBD><E4BA99>函𠶖<E587BD>?
|
||
|
||
1. <20>沒AE摨𠉛鍂<F0A0899B>𡑒”銝哨<E98A9D><E593A8>曉<EFBFBD> `nodejs-backend-test`
|
||
2. <20>亦<EFBFBD><E4BAA6>嗆<EFBFBD><E59786><EFBFBD>
|
||
- <20>?摰硺<E691B0><E7A1BA>嗆<EFBFBD><E59786><EFBFBD>**餈鞱<E9A488>銝?*嚗<>遛<EFBFBD>莎<EFBFBD>
|
||
- <20>?<3F>亙熒璉<E78692><E79289>伐<EFBFBD>**<2A>朞<EFBFBD>**嚗<>遛<EFBFBD>莎<EFBFBD>
|
||
- <20>?憒<><E68692><EFBFBD>曄內"撘<>虜"<22>?<3F>芷<EFBFBD>朞<EFBFBD>"嚗諹<E59A97><E8ABB9>亦洵<E4BAA6>剜郊<E5899C>埝䰻
|
||
|
||
### 5.2 <20>亦<EFBFBD>摰墧𧒄<E5A2A7>亙<EFBFBD>
|
||
|
||
1. <20>孵稬摨𠉛鍂<F0A0899B>滨妍嚗諹<E59A97><E8ABB9>亙<EFBFBD><E4BA99>刻祕<E588BB>?
|
||
2. <20>孵稬<E5ADB5>鞉𠯫敹𨰜<E695B9>爗<EFBFBD><E78897>𣂼<EFBFBD><F0A382BC>嗆𠯫敹𨰜<E695B9>?
|
||
3. <20>交𪄳隞乩<E99A9E><E4B9A9>喲睸靽⊥<E99DBD>嚗?
|
||
|
||
**<EFBFBD>?<3F>𣂼<EFBFBD><F0A382BC><EFBFBD>𠯫敹㛖內靘?*嚗?
|
||
```
|
||
============================================================
|
||
<EFBFBD><EFBFBD> AI銝游<E98A9D><E6B8B8>𠉛弦撟喳蝱 - <20>𡒊垢<F0A1928A>滚𦛚<E6BB9A>典鍳<E585B8>冽<EFBFBD><E586BD><EFBFBD><EFBFBD>
|
||
============================================================
|
||
<EFBFBD><EFBFBD> <20>滚𦛚<E6BB9A>啣<EFBFBD>: http://0.0.0.0:3001
|
||
<EFBFBD><EFBFBD> <20>亙熒璉<E78692><E79289>? http://0.0.0.0:3001/health
|
||
<EFBFBD>摱 API<50>亙藁: http://0.0.0.0:3001/api/v1
|
||
<EFBFBD><EFBFBD> 餈鞱<E9A488><E99EB1>臬<EFBFBD>: production
|
||
============================================================
|
||
|
||
[INFO] Server listening at http://0.0.0.0:3001
|
||
[INFO] Database connected: ai_clinical_research
|
||
[INFO] Health check endpoint available: /health
|
||
```
|
||
|
||
**<EFBFBD>?憭梯揖<E6A2AF><E68F96>𠯫敹㛖內靘?*嚗?
|
||
```
|
||
[ERROR] Database connection failed: connect ETIMEDOUT
|
||
[ERROR] Prisma Client initialization failed
|
||
[ERROR] Application startup failed
|
||
```
|
||
|
||
憒<EFBFBD><EFBFBD><EFBFBD>见<EFBFBD><EFBFBD>躰秤嚗諹<EFBFBD><EFBFBD>亦洵<EFBFBD>剜郊<EFBFBD>埝䰻<EFBFBD>?
|
||
|
||
### 5.3 <20>瑕<EFBFBD><E79195><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>
|
||
|
||
1. <20>典<EFBFBD><E585B8>刻祕<E588BB><E7A595>△嚗峕𪄳<E5B395>啜<EFBFBD>𣂼抅<F0A382BC>砌縑<E7A08C>胯<EFBFBD>?
|
||
2. 憭滚<E686AD><E6BB9A><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>嚗峕聢撘讐掩隡潘<E99AA1>`http://172.17.x.x:3001`
|
||
3. 霈啣<E99C88><E595A3>圈<EFBFBD>蝵脫<E89DB5>獢<EFBFBD>葉
|
||
|
||
**蝷箔<E89DB7><E7AE94><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>**嚗?
|
||
```
|
||
http://172.17.173.88:3001
|
||
```
|
||
|
||
### 5.4 瘚贝<E7989A><E8B49D>亙熒璉<E78692><E79289>?
|
||
|
||
<EFBFBD>沒AE<EFBFBD><EFBFBD><EFBFBD>𨔽ebshell<EFBFBD>睲葉<EFBFBD>扯<EFBFBD>嚗?
|
||
|
||
```bash
|
||
# 瘚贝<E7989A><E8B49D>亙熒璉<E78692><E79289>?
|
||
curl http://172.17.173.88:3001/health
|
||
|
||
# <20><><EFBFBD>餈𥪜<E9A488>嚗𠃍TTP 200嚗㚁<E59A97>
|
||
{
|
||
"status": "ok",
|
||
"timestamp": "2025-12-24T12:00:00.000Z",
|
||
"database": "connected",
|
||
"uptime": 123,
|
||
"environment": "production"
|
||
}
|
||
```
|
||
|
||
### 5.5 瘚贝<E7989A><E8B49D>唳旿摨栞<E691A8><E6A09E>?
|
||
|
||
```bash
|
||
# 瘚贝<E7989A><E8B49D>冽<EFBFBD>API嚗<49><E59A97><EFBFBD>𨀣<EFBFBD><F0A880A3>唳旿嚗?
|
||
curl http://172.17.173.88:3001/api/v1/users \
|
||
-H "Authorization: Bearer test-token"
|
||
|
||
# <20>𡝗<EFBFBD>霂訫<E99C82>隞硋歇<E7A18B>丕PI蝡舐<E89DA1>
|
||
```
|
||
|
||
---
|
||
|
||
## <20>圲 蝚砍<E89D9A>甇伐<E79487><E4BC90><EFBFBD><EFBFBD><EFBFBD>埝䰻嚗<E4B0BB>虾<EFBFBD>㚁<EFBFBD>
|
||
|
||
### <20>桅<EFBFBD>1嚗𡁜<E59A97>摨瑟<E691A8><E7919F>乩<EFBFBD><E4B9A9>游仃韐?
|
||
|
||
**<EFBFBD><EFBFBD>𠶖**嚗𡁜<E59A97><F0A1819C>函𠶖<E587BD><F0A0B696>遬蝷?撘<>虜"嚗<><E59A97>靘钅<E99D98>蝜<EFBFBD><E89D9C><EFBFBD>?
|
||
|
||
**<EFBFBD>埝䰻甇仿炊**嚗?
|
||
|
||
1. **璉<><E79289>交𠯫敹𦯀葉<F0A6AF80><E89189><EFBFBD>霂臭縑<E887AD>?*嚗?
|
||
```bash
|
||
# <20>沒AE摰墧𧒄<E5A2A7>亙<EFBFBD>銝剜䰻<E5899C>曉<EFBFBD><E69B89>桅<EFBFBD>霂?
|
||
[ERROR] ...
|
||
```
|
||
|
||
2. **撣貉<E692A3><E8B289>笔<EFBFBD><E7AC94>𡃏圾<F0A1838F>單䲮獢?*嚗?
|
||
|
||
| <20>躰秤靽⊥<E99DBD> | <20>笔<EFBFBD> | 閫<><E996AB><EFBFBD>寞<EFBFBD> |
|
||
|---------|------|---------|
|
||
| `connect ETIMEDOUT` | <20>唳旿摨栞<E691A8><E6A09E>亥<EFBFBD><E4BAA5>?| 璉<><E79289>充DS<44>賢<EFBFBD><E8B3A2>𨰻<EFBFBD><F0A8B0BB>PC<50>滨蔭 |
|
||
| `authentication failed` | <20>唳旿摨枏<E691A8><E69E8F><EFBFBD><EFBFBD>霂?| 璉<><E79289>主ATABASE_URL銝剔<E98A9D>撖<EFBFBD><E69296>蝻𣇉<E89DBB> |
|
||
| `ENOENT: no such file or directory` | <20>臬𢆡<E887AC>賭誘<E8B3AD>躰秤 | 蝖株恕<E6A0AA>臬𢆡<E887AC>賭誘銝?`node dist/server.js` |
|
||
| `Cannot find module 'prisma'` | Prisma Client<6E>芰<EFBFBD><E88AB0>?| <20>齿鰵<E9BDBF><E9B0B5>遣<EFBFBD>𨅯<EFBFBD> |
|
||
| `Port 3001 already in use` | 蝡臬藁<E887AC>脩<EFBFBD> | 璉<><E79289>亙捆<E4BA99>函垢<E587BD><E59EA2><EFBFBD>蝵?|
|
||
|
||
3. **撉諹<E69289><E8ABB9>唳旿摨栞<E691A8><E6A09E>?*嚗?
|
||
```bash
|
||
# <20>沒AE<41><45>ebshell銝剜<E98A9D>霂?
|
||
curl -v telnet://pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432
|
||
```
|
||
|
||
### <20>桅<EFBFBD>2嚗𡁻<E59A97><F0A181BB>𤩺<EFBFBD><F0A4A9BA>硋仃韐?
|
||
|
||
**<2A><>𠶖**嚗𡁏𠯫敹埈遬蝷?`Failed to pull image`
|
||
|
||
**閫<><E996AB><EFBFBD>寞<EFBFBD>**嚗?
|
||
|
||
1. 璉<><E79289>丕CR霈方<E99C88><E696B9>滨蔭嚗?
|
||
- Registry<72>啣<EFBFBD><E595A3>臬炏甇<E7828F>&嚗ĀPC<50>笔<EFBFBD>嚗?
|
||
- <20>冽<EFBFBD><E586BD>滚<EFBFBD><E6BB9A><EFBFBD>糓<EFBFBD>行迤蝖?
|
||
|
||
2. <20>齿鰵<E9BDBF>滨蔭<E6BBA8>𨅯<EFBFBD>隞枏<E99A9E>霈方<E99C88>嚗?
|
||
- SAE摨𠉛鍂霂行<E99C82> <20>?<3F>滨蔭蝞∠<E89D9E> <20>?<3F>𨅯<EFBFBD>霈曄蔭
|
||
- <20>齿鰵颲枏<E9A2B2>霈方<E99C88>靽⊥<E99DBD>
|
||
|
||
### <20>桅<EFBFBD>3嚗𡁶㴓憓<E3B493><E68693><EFBFBD>𤩺𧊋<F0A4A9BA><F0A78A8B><EFBFBD>
|
||
|
||
**<2A><>𠶖**嚗𡁜<E59A97><F0A1819C>刻<EFBFBD>銝箔<E98A9D>憸<EFBFBD><E686B8>銝滨泵
|
||
|
||
**<2A>埝䰻甇仿炊**嚗?
|
||
|
||
1. <20>沒AE摨𠉛鍂霂行<E99C82> <20>?<3F>臬<EFBFBD><E887AC>㗛<EFBFBD>銝哨<E98A9D>蝖株恕<E6A0AA><E68195><EFBFBD>匧<EFBFBD><E58CA7>誩歇<E8AAA9>滨蔭
|
||
2. <20>汾ebshell銝剜䰻<E5899C>讠㴓憓<E3B493><E68693><EFBFBD>𧶏<EFBFBD>
|
||
```bash
|
||
env | grep DATABASE_URL
|
||
env | grep JWT_SECRET
|
||
```
|
||
|
||
### <20>桅<EFBFBD>4嚗𡁜<E59A97>摮䀝<E691AE>頞喉<E9A09E>OOM嚗?
|
||
|
||
**<2A><>𠶖**嚗𡁜<E59A97><F0A1819C>券<EFBFBD>蝜<EFBFBD><E89D9C><EFBFBD>荔<EFBFBD><E88D94>亙<EFBFBD>銝剖枂<E58996>?`Out of Memory`
|
||
|
||
**閫<><E996AB><EFBFBD>寞<EFBFBD>**嚗?
|
||
|
||
1. <20>沒AE摨𠉛鍂霂行<E99C82> <20>?<3F>箸𧋦<E7AEB8>滨蔭銝哨<E98A9D>撠<EFBFBD><E692A0>摮䁅<E691AE><E48185>港蛹 **2<>?GB**
|
||
2. <20>齿鰵<E9BDBF>函蔡摨𠉛鍂
|
||
|
||
---
|
||
|
||
## <20><> 蝚砌<E89D9A>甇伐<E79487><E4BC90>扯<EFBFBD><E689AF>烐綉
|
||
|
||
### 7.1 <20>亦<EFBFBD><E4BAA6>烐綉<E78390><E7B689><EFBFBD>
|
||
|
||
<EFBFBD>沒AE摨𠉛鍂霂行<EFBFBD> <20>?<3F>烐綉銝哨<E98A9D><E593A8>單釣隞乩<E99A9E><E4B9A9><EFBFBD><EFBFBD>嚗?
|
||
|
||
```yaml
|
||
CPU雿輻鍂<EFBFBD>? 摨?< 70%
|
||
<EFBFBD><EFBFBD><EFBFBD>雿輻鍂<EFBFBD>? 摨?< 80%
|
||
摰硺<EFBFBD><EFBFBD>亙熒<EFBFBD>嗆<EFBFBD>? 摨𥪯<E691A8><F0A5AAAF>?<3F>亙熒"
|
||
霂瑟<EFBFBD><EFBFBD>滚<EFBFBD><EFBFBD>園𡢿: 摨?< 1000ms
|
||
```
|
||
|
||
### 7.2 霈曄蔭<E69B84>𡃏郎
|
||
|
||
撱箄悅<EFBFBD>滨蔭隞乩<EFBFBD><EFBFBD>𡃏郎嚗?
|
||
|
||
```yaml
|
||
CPU雿輻鍂<EFBFBD>?> 80%: <20>煾<EFBFBD><E785BE><EFBFBD>霅?
|
||
<EFBFBD><EFBFBD><EFBFBD>雿輻鍂<EFBFBD>?> 90%: <20>煾<EFBFBD><E785BE><EFBFBD>霅?
|
||
摰硺<EFBFBD>銝滚<EFBFBD>摨? 蝡见朖<E8A781>煾<EFBFBD><E785BE><EFBFBD>霅?
|
||
```
|
||
|
||
---
|
||
|
||
## <20><> 蝚砍<E89D9A>甇伐<E79487><E4BC90>湔鰵<E6B994>函蔡<E587BD><E894A1>﹝
|
||
|
||
<EFBFBD>函蔡<EFBFBD>𣂼<EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD>湔鰵隞乩<EFBFBD><EFBFBD><EFBFBD>﹝嚗?
|
||
|
||
### 8.1 <20>湔鰵<E6B994>函蔡餈𥕦漲<F0A595A6>餉<EFBFBD>
|
||
|
||
蝻𤥁<EFBFBD> `00-<2D>函蔡餈𥕦漲<F0A595A6>餉<EFBFBD>.md`嚗?
|
||
|
||
```markdown
|
||
| **Node.js<6A>𡒊垢** | <20>?撌脣<E6928C><E884A3>?| v1.0 | SAE | 2025-12-24 | ... |
|
||
```
|
||
|
||
### 8.2 霈啣<E99C88><E595A3><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>
|
||
|
||
<EFBFBD>?`00-<2D>函蔡餈𥕦漲<F0A595A6>餉<EFBFBD>.md` 銝剜溶<E5899C>𩤃<EFBFBD>
|
||
|
||
```markdown
|
||
| nodejs-backend-test | <20>?餈鞱<E9A488>銝?| 1<>?GB | 1 | 3001 | http://172.17.173.88:3001 | <20>𩤃<EFBFBD>隞<EFBFBD><E99A9E>蝵𡢅<E89DB5> |
|
||
```
|
||
|
||
---
|
||
|
||
## <20>㴓 <20>𡒊賒甇仿炊
|
||
|
||
Node.js<6A>𡒊垢<F0A1928A>函蔡<E587BD>𣂼<EFBFBD><F0A382BC>𠬍<EFBFBD>
|
||
|
||
### 1. <20>函蔡<E587BD>滨垢Nginx嚗<78><E59A97>銝<EFBFBD>甇伐<E79487>
|
||
|
||
<EFBFBD>滨垢Nginx<EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD>蝵奘ode.js<6A>𡒊垢<F0A1928A><E59EA2><EFBFBD>蝵穃𧑐<E7A983><F0A79190>嚗?
|
||
|
||
```bash
|
||
# <20>滨垢Nginx<6E>臬<EFBFBD><E887AC>㗛<EFBFBD>
|
||
VITE_API_BASE_URL=http://172.17.173.88:3001
|
||
```
|
||
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>獢<EFBFBD><EFBFBD>`07-<2D>滨垢Nginx-SAE<41>函蔡<E587BD>滢<EFBFBD><E6BBA2>见<EFBFBD>.md`
|
||
|
||
### 2. <20>券曎頝舀<E9A09D>霂?
|
||
|
||
摰峕㟲<EFBFBD><EFBFBD>窈瘙<EFBFBD>曎頝荔<EFBFBD>
|
||
|
||
```
|
||
<EFBFBD>冽<EFBFBD>瘚讛<EFBFBD><EFBFBD>?
|
||
<20>?
|
||
<EFBFBD>滨垢Nginx (SAE)
|
||
<20>?
|
||
Node.js<6A>𡒊垢 (SAE) <20>?http://172.17.173.88:3001
|
||
<20>?
|
||
<EFBFBD>鎿<EFBFBD><EFBFBD>?Python敺格<E695BA><E6A0BC>?(SAE) <20>?http://172.17.173.66:8000
|
||
<EFBFBD>鎿<EFBFBD><EFBFBD>?RDS PostgreSQL <20>?pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432
|
||
<EFBFBD>婙<EFBFBD><EFBFBD>?<3F>輸<EFBFBD>鈭䭲SS <20>?ai-clinical-research.oss-cn-beijing-internal.aliyuncs.com
|
||
```
|
||
|
||
### 3. <20>扯<EFBFBD>隡睃<E99AA1>嚗<EFBFBD>虾<EFBFBD>㚁<EFBFBD>
|
||
|
||
憒<EFBFBD><EFBFBD>瘚贝<EFBFBD><EFBFBD>臬<EFBFBD>餈鞱<EFBFBD>蝔喳<EFBFBD>嚗<EFBFBD>虾隞亥<EFBFBD><EFBFBD><EFBFBD>嚗?
|
||
|
||
- **撘寞<E69298>找撓蝻?*嚗𡁻<E59A97>蝵株䌊<E6A0AA>冽<EFBFBD>蝻拙捆閫<E68D86><E996AB>
|
||
- **韏<><E99F8F>靚<EFBFBD>㟲**嚗𡁏覔<F0A1818F>桃<EFBFBD><E6A183>扳㺭<E689B3>株<EFBFBD><E6A0AA>媒PU/<2F><><EFBFBD>
|
||
- **<2A>亙<EFBFBD>隡睃<E99AA1>**嚗𡁻<E59A97>蝵格𠯫敹埈<E695B9><E59F88><EFBFBD><EFBFBD><EFBFBD>?
|
||
|
||
---
|
||
|
||
## <20>?<3F>函蔡摰峕<E691B0>璉<EFBFBD><E79289>交<EFBFBD><E4BAA4>?
|
||
|
||
<EFBFBD>典<EFBFBD><EFBFBD>鞾<EFBFBD>蝵脣<EFBFBD>嚗諹窈蝖株恕嚗?
|
||
|
||
- [ ] SAE摨𠉛鍂<F0A0899B>嗆<EFBFBD><E59786>蛹"餈鞱<E9A488>銝?
|
||
- [ ] <20>亙熒璉<E78692><E79289>交遬蝷?<3F>朞<EFBFBD>"
|
||
- [ ] 摰墧𧒄<E5A2A7>亙<EFBFBD><E4BA99>𪊲RROR蝥批<E89DA5><E689B9>躰秤
|
||
- [ ] <20>亙熒璉<E78692><E79289>交𦻖<E4BAA4><F0A6BB96><EFBFBD><EFBFBD>?00
|
||
- [ ] <20><><EFBFBD><EFBFBD>啣<EFBFBD>撌脰扇敶?
|
||
- [ ] <20>函蔡<E587BD><E894A1>﹝撌脫凒<E884AB>?
|
||
- [ ] Python敺格<E695BA><E6A0BC>∪虾隞交迤撣貉<E692A3><E8B289>?
|
||
- [ ] <20>唳旿摨栞<E691A8><E6A09E>交迤撣?
|
||
- [ ] OSS<53><53>辣銝𠹺<E98A9D>/銝贝蝸甇<E89DB8>虜
|
||
|
||
---
|
||
|
||
## <20><> <20>舀<EFBFBD>銝𤾸葬<F0A4BEB8>?
|
||
|
||
### 撣貉<E692A3><E8B289>桅<EFBFBD>
|
||
|
||
1. **Q: 憒<><E68692><EFBFBD>滚鍳摨𠉛鍂嚗?*
|
||
- A: SAE摨𠉛鍂霂行<E99C82> <20>?<3F>箸𧋦靽⊥<E99DBD> <20>?<3F>孵稬<E5ADB5>鞾<EFBFBD><E99EBE>胯<EFBFBD>?
|
||
|
||
2. **Q: 憒<><E68692><EFBFBD>亦<EFBFBD>摰峕㟲<E5B395>亙<EFBFBD>嚗?*
|
||
- A: SAE摨𠉛鍂霂行<E99C82> <20>?<3F>亙<EFBFBD> <20>?<3F><>蟮<EFBFBD>亙<EFBFBD>嚗<EFBFBD>𣈲<EFBFBD><F0A388B2>𧒄<EFBFBD>渲<EFBFBD><E6B8B2>湔䰻霂g<E99C82>
|
||
|
||
3. **Q: 憒<><E68692><EFBFBD>墧<EFBFBD><E5A2A7>唬<EFBFBD><E594AC>滨<EFBFBD><E6BBA8><EFBFBD>𧋦嚗?*
|
||
- A: SAE摨𠉛鍂霂行<E99C82> <20>?<3F><>𧋦蝞∠<E89D9E> <20>?<3F>㗇𥋘<E39787><F0A58B98>蟮<EFBFBD><E89FAE>𧋦 <20>?<3F>墧<EFBFBD>
|
||
|
||
4. **Q: 憒<><E68692><EFBFBD>拙捆摰硺<E691B0>嚗?*
|
||
- A: SAE摨𠉛鍂霂行<E99C82> <20>?<3F>箸𧋦<E7AEB8>滨蔭 <20>?靽格㺿摰硺<E691B0><E7A1BA>?閫<>聢 <20>?蝖株恕<E6A0AA>䀹凒
|
||
|
||
### <20>𠉛頂<F0A0899B>孵<EFBFBD>
|
||
|
||
- **<2A><><EFBFBD>舀𣈲<E88880>?*嚗𡁜<E59A97><F0A1819C>穃𣪧<E7A983>?
|
||
- **<2A>輸<EFBFBD>鈭穃極<E7A983>?*嚗冴ttps://workorder.console.aliyun.com/
|
||
|
||
---
|
||
|
||
**<EFBFBD><EFBFBD>﹝<EFBFBD>𥕦遣<EFBFBD>園𡢿**嚗?025-12-24
|
||
**<EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD>?*嚗?025-12-24
|
||
**蝏湔擪鈭箏<E988AD>**嚗朞<E59A97>蝏游𣪧<E6B8B8>?
|
||
|
||
---
|
||
|
||
<EFBFBD><EFBFBD> **蟡嗪<E89FA1>蝵脤◇<E884A4>抬<EFBFBD>憒<EFBFBD><E68692><EFBFBD>桅<EFBFBD>嚗諹窈<E8ABB9><E7AA88><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𨀣<EFBFBD><F0A880A3>亦<EFBFBD><E4BAA6><EFBFBD><EFBFBD><EFBFBD>𠉛頂<F0A0899B><E9A082><EFBFBD>舀𣈲<E88880><F0A388B2><EFBFBD>?*
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|