Files
AIclinicalresearch/docs/05-部署文档/文档修正报告-20251214.md
HaHafeng 1b53ab9d52 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%)
2026-01-14 19:15:01 +08:00

509 lines
13 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 驛ィ鄂イ譁<EFBDB2>。」菫ョ豁」謚・蜻<EFBDA5> - 2025蟷?2譛?4譌?
> **菫ョ豁」萓晄紺<E69984>?* 荳謎ク壽橿譛ッ螳。譟・蜿埼ヲ?
> **菫ョ豁」譌カ髣エ<E9ABA3>?* 2025-12-14
> **菫ョ豁」闌<EFBDA3><EFBFBD>?* 7荳ェ驛ィ鄂イ譁<EFBDB2>。?
> **菫ョ豁」髣ョ鬚假シ?* 8荳ェ蜈ウ髞ョ髣ョ鬚?
---
## <20>搭 菫ョ豁」讎りァ<E3828A>
### 菫ョ豁」扈溯ョ。
| 荳・驥咲コァ蛻ォ | 髣ョ鬚俶焚驥<E7849A> | 蟾イ菫ョ豁?| 蠖ア蜩崎激蝗エ |
|---------|---------|--------|---------|
| **P0/P1<50><EFBFBD>蜻ス<E89CBB><EFBDBD>** | 3荳?| 笨?3荳?| 蜈ィ驛ィ譛榊苅 |
| **P2<50>磯㍾隕<E38DBE><EFBFBD>** | 3荳?| 笨?3荳?| 蜈ィ驛ィ譛榊苅 |
| **P3<50>域怙菴ウ螳櫁キオ<EFBDB7><EFBDB5>** | 2荳?| 笨?2荳?| 驛ィ蛻<EFBDA8>恪蜉。 |
| **諤サ隶。** | 8荳?| 笨?8荳?| - |
---
## <20>圷 P0/P1 閾エ蜻ス髣ョ鬚倅ソョ豁」
### 1. 箝絶ュ絶ュ絶ュ絶ュ?譛榊苅蜿醍鴫蝨ー蝮€荳堺ク€閾?
**髣ョ鬚俶緒霑ー<E99C91>?*
```
<EFBFBD>。」荳ュ菴ソ逕?.sae 蝓溷錐<E6BAB7>亥ヲ<E4BAA5> extraction-service.sae:8000<30>?
<EFBFBD>AE逧К8s譛榊苅蜿醍鴫蝓溷錐譬シ蠑丈ク咲。ョ螳夲シ御シ壼ッシ閾?00%霑樊磁螟ア雍・
```
**蠖ア蜩崎激蝗エ<E89D97>?*
- `00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md`
- `05-Node.js蜷守ォッ-SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md`
- `04-Python蠕ョ譛榊<E8AD9B>?SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md`
- `08-驛ィ鄂イ譽€譟・貂<EFBDA5><E8B282>?md`
**菫ョ豁」蜀<EFBDA3>ョケ<EFBDAE>?*
```bash
# 笶?髞呵ッッ<EFBDAF>井ソョ豁」蜑搾シ?
EXTRACTION_SERVICE_URL=http://extraction-service.sae:8000
# 笨?豁」遑ョ<E98191>井ソョ豁」蜷趣シ?
EXTRACTION_SERVICE_URL=http://172.16.x.x:8000
# 闔キ蜿匁婿蠑擾シ售AE謗ァ蛻カ蜿?> 蠎皮畑隸ヲ諠<EFBDA6> > 螳樔セ句<EFBDBE>陦ィ > 譟・逵句<E980B5>鄂選P
```
**菫ョ豁」譁<EFBDA3>サカ<EFBDBB>?*
- 笨?`00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md` - 隨?22-529陦?
- 笨?`04-Python蠕ョ譛榊<E8AD9B>?SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md` - 隨?86-715陦?
- 笨?`08-驛ィ鄂イ譽€譟・貂<EFBDA5><E8B282>?md` - 隨?48陦後€∫ャャ434陦?
---
### 2. 箝絶ュ絶ュ絶ュ絶ュ?譌カ蛹コ荳堺ク€閾エ鬟朱<E9AC9F>?
**髣ョ鬚俶緒霑ー<E99C91>?*
```
荳榊酔譛榊苅逧<EFBFBD>慮蛹コ荳堺ク€閾エ莨壼ッシ閾エ<EFBFBD>?
笶?譌・蠢玲慮髣エ蟇ケ荳堺ク奇シ亥燕遶ッ14:00<30>悟錘遶?6:00<30>?
笶?pg-boss螳壽慮莉サ蜉。蝨ィ髞呵ッッ譌カ髣エ隗ヲ蜿?
笶?逕ィ謌キ逵句芦逧<E88AA6>慮髣エ謌ウ髞呵ッッ
```
**蠖ア蜩崎激蝗エ<E89D97>?*
- Node.js蜷守ォッ<EFBDAB>夐サ倩ョ、UTC 笶?
- Python蠕ョ譛榊苅<E6A68A>夐サ倩ョ、UTC 笶?
- 蜑咲ォッNginx<6E>哂sia/Shanghai 笨<>シ亥キイ豁」遑ョ<E98191><EFBDAE>
- RDS PostgreSQL<51>夐サ倩ョ、UTC 笶?
**菫ョ豁」蜀<EFBDA3>ョケ<EFBDAE>?*
**Node.js蜷守ォッ Dockerfile<6C>?*
```dockerfile
FROM node:22-alpine
RUN apk add --no-cache tzdata
ENV TZ=Asia/Shanghai # 笞<><E7AC9E><EFBFBD> 譁ー蠅<EFBDB0>
# ... 蜈カ莉夜<E88E89>鄂ョ
```
**Python蠕ョ譛榊<E8AD9B>?Dockerfile<6C>?*
```dockerfile
FROM python:3.11-slim
RUN apt-get update && apt-get install -y tzdata # 笞<><E7AC9E><EFBFBD> 譁ー蠅<EFBDB0>
ENV TZ=Asia/Shanghai # 笞<><E7AC9E><EFBFBD> 譁ー蠅<EFBDB0>
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 笞<><E7AC9E><EFBFBD> 譁ー蠅<EFBDB0>
# ... 蜈カ莉夜<E88E89>鄂ョ
```
**RDS PostgreSQL 驟咲スョ<EFBDBD>?*
```sql
-- RDS謗ァ蛻カ蜿?> 蜿よ焚隶セ鄂ョ > timezone
timezone = Asia/Shanghai
```
**菫ョ豁」譁<EFBDA3>サカ<EFBDBB>?*
- 笨?`00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md` - 譁ー蠅<EFBDB0>"譌カ蛹コ扈滉ク€驟咲スョ"遶<><EFBFBD>
- 笨?`05-Node.js蜷守ォッ-SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md` - 隨?85-495陦?
- 笨?`04-Python蠕ョ譛榊<E8AD9B>?SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md` - 隨?87-410陦?
- 笨?`PostgreSQL驛ィ鄂イ遲也払-鞫ク蠎墓冠蜻<E586A0>.md` - 譁ー蠅樒ャ?2譚。譛€菴ウ螳櫁キ?
- 笨?`07-蜈ウ髞ョ驟咲スョ陦・蜈<EFBDA5>ッエ譏<EFBDB4>.md` - 譁ー蠅樒ャ?闃?
---
### 3. 箝絶ュ絶ュ絶ュ絶ュ?螳牙<E89EB3><EFBFBD><E68988>鄂ョ郛コ螟?
**髣ョ鬚俶緒霑ー<E99C91>?*
```
ECS逧Сedis (6379)縲仝eaviate (8080)縲ify API (5000) 遶ッ蜿」
螯よ棡蟇ケ蜈ャ鄂大シ€謾セ<EFBFBD>御シ壼ッシ閾エ荳・驥榊ョ牙<EFBFBD>髣ョ鬚假シ<EFBFBD>
笶?鮟大ョ「蜿ッ莉・扈戊ソ<E6888A>錘遶ッ逶エ謗・隹<EFBDA5>畑LLM鬚晏コヲ
笶?Redis譌<73><EFBFBD><E89F87><EFBFBD>シ悟庄閭ス陲ォ貂<EFBDAB>ゥコ謨ー謐?
笶?Weaviate逧<65>髄驥乗焚謐ョ蜿ッ閭ス陲ォ遯<EFBDAB>
```
**蠖ア蜩崎激蝗エ<E89D97>?*
- `03-Dify-ECS驛ィ鄂イ螳悟<E89EB3><EFBFBD>漉.md`
- `00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md`
**菫ョ豁」蜀<EFBDA3>ョケ<EFBDAE>?*
**ECS螳牙<E89EB3><EFBFBD><E68988>鄂ョ<E98482><EFBDAE>**
```bash
# 笨?蜈・譁ケ蜷題ァ<E9A18C><EFBDA7><EFBFBD><EFBFBD>nbound<6E>?
蜈∬ョク 80/TCP 譚・貅撰シ?72.16.0.0/12 # Nginx<6E><78>PC蜀<43>ス題ョソ髣ョ<E9ABA3>?
蜈∬ョク 22/TCP 譚・貅撰シ壽お逧<E3818A>萱蜈ャ螳、蜈ャ鄂選P # SSH邂。逅<EFBDA1>
諡堤サ<EFBFBD> 謇€譛? 譚・貅撰シ?.0.0.0/0 # 鮟倩ョ、諡堤サ<E5A0A4>
# 笶?扈晏ッケ遖∵ュ「<EFBDAD>亥ョ牙<EFBDAE>郤「郤ソ<E983A4><EFBDBF>
遖∵ュ「 5000/TCP<43><50>ify API<50>牙ッケ蜈ャ鄂大シ€謾?
遖∵ュ「 8080/TCP<43><50>eaviate<74>牙ッケ蜈ャ鄂大シ€謾?
遖∵ュ「 6379/TCP<43><50>edis<69>牙ッケ蜈ャ鄂大シ€謾?
```
**docker-compose.yaml 遶ッ蜿」扈大ョ夲シ?*
```yaml
services:
redis:
ports:
- "127.0.0.1:6379:6379" # 笞<><E7AC9E><EFBFBD> 蜿ェ逶大成譛ャ蝨?
weaviate:
ports:
- "127.0.0.1:8080:8080" # 笞<><E7AC9E><EFBFBD> 蜿ェ逶大成譛ャ蝨?
```
**菫ョ豁」譁<EFBDA3>サカ<EFBDBB>?*
- 笨?`03-Dify-ECS驛ィ鄂イ螳悟<E89EB3><EFBFBD>漉.md` - 隨?69-175陦後€∫ャャ451-492陦?
- 笨?`00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md` - 譁ー蠅<EFBDB0>"螳牙<E89EB3><EFBFBD><E68988>鄂ョ譛€菴ウ螳櫁キ?遶<><EFBFBD>
---
## 笞<><E7AC9E><EFBFBD> P2 驥崎ヲ<E5B48E>琉鬚倅ソョ豁」
### 4. 箝絶ュ絶ュ絶ュ絶ュ?髟懷ワ諡牙叙遲也払
**髣ョ鬚俶緒霑ー<E99C91>?*
```
SAE蜿ッ閭ス荳堺シ壽級蜿匁眠髟懷ワ<EFBFBD>井サ」遐∽ク肴峩譁ー逧<EFBFBD>"轣オ蠑ゆコ倶サカ"<22>?
€蜿題€<EFBFBD>ソョ謾ケ莉」遐?竊?譫<>サコ髟懷ワ 竊?謗ィ騾∝芦ACR<43>郁ヲ<E98381>尠v1.0.0<EFBFBD>?
竊?SAE驛ィ鄂イ 竊?蜿醍鴫莉」遐∵イ。譖エ譁ー<E8AD81>滂シ滂シ<E6BB82>
```
**蠖ア蜩崎激蝗エ<E89D97>?*
-€譛唄AE驛ィ鄂イ逧<EFBDB2>恪蜉。<E89C89>亥燕遶ッ縲∝錘遶ッ縲 ̄ython<6F>?
**菫ョ豁」蜀<EFBDA3>ョケ<EFBDAE>?*
**譁ケ譯<EFBDB9><E8ADAF>壽ッ乗ャ。驛ィ鄂イ菴ソ逕ィ譁ー迚域悽蜿キ<E89CBF>亥シコ辜域耳闕撰シ?*
```bash
# 菴ソ逕ィ隸ュ荵牙喧迚域悽蜿キ
v1.0.0 竊?v1.0.1 竊?v1.0.2 ...
# 謌紋スソ逕ィ譌カ髣エ謌ウ
v20251214-1430 竊?v20251214-1530 ...
```
**譁ケ譯<EFBDB9><E8ADAF><EFBFBD>鄂ョSAE髟懷ワ諡牙叙遲也払<E4B99F>域オ玖ッ慕識蠅<E8AD98><EFBFBD>**
```bash
# SAE謗ァ蛻カ蜿?> 蠎皮畑驟咲スョ > 髟懷ワ隶セ鄂ョ
髟懷ワ諡牙叙遲也払<EFBFBD>哂lways
```
**菫ョ豁」譁<EFBDA3>サカ<EFBDBB>?*
- 笨?`00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md` - 譁ー蠅<EFBDB0>"髟懷ワ諡牙叙遲也払"遶<><EFBFBD>
- 笨?`07-蜈ウ髞ョ驟咲スョ陦・蜈<EFBDA5>ッエ譏<EFBDB4>.md` - 譁ー蠅樒ャ?闃?
---
### 5. 箝絶ュ絶ュ絶ュ<E7B5B6> Python譛榊苅蜀<E88B85>ュ倡ョ。逅<EFBDA1>
**髣ョ鬚俶緒霑ー<E99C91>?*
```
Python譛榊苅<EFBFBD><EFBFBD>yMuPDF/Nougat<61><EFBFBD>蟄伜ッ<E4BC9C><EFBFBD>悟ョケ譏徹OM
笶?蜊穂クェPDF OCR蜿ッ閭ス蜊<EFBDBD>逕ィ500MB-1GB蜀<42><EFBFBD>
笶?SAE鮟倩ョ、2GB蜀<42>ュ伜庄閭ス荳榊、<E6A68A>
```
**蠖ア蜩崎激蝗エ<E89D97>?*
- `04-Python蠕ョ譛榊<E8AD9B>?SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md`
- `00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md`
**菫ョ豁」蜀<EFBDA3>ョケ<EFBDAE>?*
**隗<><E99A97>シ蟒コ隶ョ<E99AB6>?*
| 蝨コ譎ッ | CPU | 蜀<><EFBFBD> | Workers | 騾ら畑諠<E79591><E8ABA0> |
|------|-----|------|---------|---------|
| **蝓コ遑€迚?* | 1譬?| 2GB | 2 | 邂€蜊姫DF隗」譫<EFBDA3> |
| **譬<>㊥迚?* | 2譬?| 4GB | 3 | 蛹<>性OCR<43><52>ougat<61>?|
| **蠅槫シコ迚?* | 2譬?| 8GB | 4 | 螟ァ驥衆CR + 鬮伜ケカ蜿?|
**Dockerfile莨伜喧<E4BC9C>亥キイ蠎皮畑<E79AAE>会シ<E4BC9A>**
```dockerfile
CMD ["gunicorn", "main:app", \
"--bind", "0.0.0.0:8000", \
"--workers", "2", \ # 笞<><E7AC9E><EFBFBD> 髯仙宛蟷カ蜿<EFBDB6>
"--timeout", "120", \ # 笞<><E7AC9E><EFBFBD> 2蛻<32>帖雜<E5B896>
"--max-requests", "100", \ # 笞<><E7AC9E><EFBFBD><>炊100荳ェ隸キ豎ょ錘驥榊星worker
"--max-requests-jitter", "10"] # 笞<><E7AC9E><EFBFBD> 髫乗惻謚門勘
```
**菫ョ豁」譁<EFBDA3>サカ<EFBDBB>?*
- 笨?`00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md` - 譁ー蠅<EFBDB0>"Python譛榊苅蜀<E88B85>ュ倡ョ。逅<EFBDA1>"遶<><EFBFBD>
- 笨?`07-蜈ウ髞ョ驟咲スョ陦・蜈<EFBDA5>ッエ譏<EFBDB4>.md` - 譁ー蠅樒ャ?0闃?
---
### 6. 箝絶ュ絶ュ絶ュ<E7B5B6> Dify API Key豁サ髞<EFBDBB>」朱勦
**髣ョ鬚俶緒霑ー<E99C91>?*
```
Node.js蜷守ォッ蜷ッ蜉ィ譌カ<E8AD8C>悟ヲよ棡蠑コ萓晁オ縫ify霑樣€€<C280>御シ壼ッシ閾エ<E996BE><EFBDB4>
隨ャ莠碁亳谿オ驛ィ鄂イ蜷守ォッ 竊?蜷守ォッ蜷ッ蜉ィ螟ア雍・<E99B8D><EFBDA5>ify霑俶イ。驛ィ鄂イ<E98482>?
竊?譌<>豕戊ソ帛<EFBDBF>SAE謗ァ蛻カ蜿ー譟・逵区律蠢玲<E8A0A2>譖エ譁ー驟咲スョ
```
**蠖ア蜩崎激蝗エ<E89D97>?*
- `05-Node.js蜷守ォッ-SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md`
- `00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md`
**菫ョ豁」蜀<EFBDA3>ョケ<EFBDAE>?*
**蜷守ォッ莉」遐∝サコ隶ョ<E99AB6>?*
```typescript
// backend/src/common/rag/DifyClient.ts
constructor() {
const apiKey = process.env.DIFY_API_KEY
// 笨?蜈ウ髞ョ<E9AB9E>壼星蜉ィ譌カ荳榊コ泌シコ萓晁オ縫ify
if (!apiKey || apiKey === 'temp' || apiKey.startsWith('temp_')) {
console.warn('笞<><E7AC9E><EFBFBD> Dify API Key譛ェ驟咲スョ<EFBDBD>訓KB讓。蝮怜ー<E6809C>ク榊庄逕ィ')
this.enabled = false
return // 笞<><E7AC9E><EFBFBD> 荳肴鴨蜃コ髞呵ッッ<EFBDAF>瑚ョゥ蠎皮畑豁」蟶ク蜷ッ蜉?
}
this.client = new DifySDK(apiKey)
this.enabled = true
}
```
**驛ィ鄂イ豬∫ィ玖ー<E78E96><EFBFBD>?*
```
隨ャ莠碁亳谿オ<EFBFBD>Κ鄂イNode.js蜷守ォッ
笏懌楳 DIFY_API_KEY=temp_placeholder_will_update_later # 笞<><E7AC9E><EFBFBD> 荳エ譌カ蛟?
笏披楳 蜷守ォッ豁」蟶ク蜷ッ蜉ィ<E89C89><EFBDA8>KB讓。蝮礼ヲ∫畑<E288AB>?
隨ャ蝗幃亳谿オ<EFBFBD>Κ鄂イDify
笏懌楳 逕滓<E98095>逵溷ョ暸PI Key
笏披楳 譖エ譁ー蜷守ォッ邇ッ蠅<EFBDAF>序驥<E5BA8F> 竊?驥榊星蠎皮畑
```
**菫ョ豁」譁<EFBDA3>サカ<EFBDBB>?*
- 笨?`00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md` - 驛ィ鄂イ鬘コ蠎剰ッエ譏<EFBDB4>
- 笨?`05-Node.js蜷守ォッ-SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md` - 邇ッ蠅<EFBDAF>序驥城<E9A9A5>鄂ョ
- 笨?`07-蜈ウ髞ョ驟咲スョ陦・蜈<EFBDA5>ッエ譏<EFBDB4>.md` - 隨?闃ゑシ亥キイ蟄伜惠<E4BC9C><E683A0>
---
## <20>統 P3 譛€菴ウ螳櫁キオ陦・蜈?
### 7. 箝絶ュ絶ュ絶ュ<E7B5B6>€蜿題ー<E9A18C>ッ墓怙菴ウ螳櫁キオ<EFBDB7><EFBDB5>SH髫ァ驕難シ?
**髣ョ鬚俶緒霑ー<E99C91>?*
```
RDS蝨ィVPC蜀<EFBFBD>ス托シ悟シ€蜿題€<EFBFBD>裏豕慕峩謗・逕ィNavicat/DBeaver霑樊磁
```
**菫ョ豁」蜀<EFBDA3>ョケ<EFBDAE>?*
**騾夊ソ⑥CS蟒コ遶鬼SH髫ァ驕難シ?*
```bash
# 豁・鬪、1<EFBDA4>壼サコ遶鬼SH髫ァ驕<EFBDA7>
ssh -N -L 5433:rm-xxxxx.pg.rds.aliyuncs.com:5432 \
root@ECS蜈ャ鄂選P \
-i ~/.ssh/dify-ecs.pem
# 豁・鬪、2<EFBDA4>哢avicat霑樊磁
荳サ譛コ<EFBFBD>嗟ocalhost
遶ッ蜿」<EFBFBD>?433
逕ィ謌キ蜷搾シ啾iclinical_rw
<EFBFBD><EFBFBD><EFBFBD>シ夲シ<EFBFBD>DS蟇<EFBFBD><EFBFBD><EFBFBD>シ?
```
**菫ョ豁」譁<EFBDA3>サカ<EFBDBB>?*
- 笨?`00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md` - 譁ー蠅<EFBDB0>"蠑€蜿題ー<E9A18C>ッ墓怙菴ウ螳櫁キ?遶<><EFBFBD>
- 笨?`07-蜈ウ髞ョ驟咲スョ陦・蜈<EFBDA5>ッエ譏<EFBDB4>.md` - 隨?闃ゑシ亥キイ蟄伜惠<E4BC9C><E683A0>
---
### 8. 箝絶ュ絶ュ絶ュ<E7B5B6> NAT鄂大<E98482>謌先悽莨伜喧隸エ譏<EFBDB4>
**髣ョ鬚俶緒霑ー<E99C91>?*
```
NAT鄂大<EFBFBD>謌先悽ツ・100/譛茨シ悟ッケ蛻晏<E89BBB>蝗「髦滓弍荳€隨泌シ€€
€隕∬ッエ譏取崛莉」譁ケ譯茨シ御ス<EFBFBD>ク肴耳闕<EFBFBD>
```
**菫ョ豁」蜀<EFBDA3>ョケ<EFBDAE>?*
**謌先悽蟇ケ豈費シ?*
| 譁ケ譯<EFBDB9> | 謌先悽 | 遞ウ螳壽€?| 螟肴揩蠎?| 謗ィ闕仙コ?|
|------|------|--------|--------|--------|
| NAT鄂大<E98482> | ツ・100/譛?| 箝絶ュ絶ュ絶ュ絶ュ?| 菴?| 箝絶ュ絶ュ絶ュ絶ュ撰シ域耳闕撰シ榎
| SAE扈大ョ哘IP | ツ・30-50/譛?| 箝絶ュ絶ュ?| 荳?| 箝絶ュ絶ュ撰シ磯Κ<CE9A>慍蝓滂シ榎
| ECS蛛售NAT | ツ・0<EFBDA5>亥、咲畑ECS<43>?| 箝絶ュ<E7B5B6> | 鬮?| 箝絶ュ撰シ井ク肴耳闕撰シ榎
**蟒コ隶ョ<E99AB6>?* 蛻晏<E89BBB>蝗「髦滉ク崎ヲ∝惠霑咎㈹逵<E388B9><EFBFBD>君AT鄂大<E98482>譏ッ逕滉コァ邇ッ蠅<EFBDAF>噪譬<E599AA><E8ADAC>縲?
**菫ョ豁」譁<EFBDA3>サカ<EFBDBB>?*
- 笨?`00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md` - 謌先悽莨ー邂礼ォ<E7A4BC><EFBFBD>
- 笨?`07-蜈ウ髞ョ驟咲スョ陦・蜈<EFBDA5>ッエ譏<EFBDB4>.md` - 隨?闃ゑシ亥キイ蟄伜惠<E4BC9C><E683A0>
---
## <20>投 菫ョ豁」譁<EFBDA3>サカ貂<EFBDB6>
| 譁<>サカ蜷?| 菫ョ豁」蜀<EFBDA3>ョケ | 莨伜<E88EA8>郤?|
|--------|---------|--------|
| `00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md` | 1. 譛榊苅蜿醍鴫蝨ー蝮€<br>2. 譌カ蛹コ扈滉ク€<br>3. 螳牙<E89EB3><EFBFBD><E68988>鄂?br>4. 髟懷ワ諡牙叙遲也払<br>5. Python蜀<6E>ュ倡ョ。逅<EFBDA1><br>6. SSH髫ァ驕<EFBDA7><br>7. NAT謌先悽隸エ譏<EFBDB4> | 箝絶ュ絶ュ絶ュ絶ュ?|
| `05-Node.js蜷守ォッ-SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md` | 1. 譌カ蛹コ驟咲スョ<br>2. Dify豁サ髞∬ッエ譏<EFBDB4> | 箝絶ュ絶ュ絶ュ絶ュ?|
| `04-Python蠕ョ譛榊<E8AD9B>?SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md` | 1. 譛榊苅蜿醍鴫蝨ー蝮€<br>2. 譌カ蛹コ驟咲スョ<br>3. 蜀<>ュ倩ァ<E580A9><EFBDA7>シ隸エ譏<EFBDB4> | 箝絶ュ絶ュ絶ュ絶ュ?|
| `06-蜑咲ォッNginx-SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md` | 譌<>€菫ョ謾ケ<E8ACBE>域慮蛹コ蟾イ豁」遑ョ<E98191>?| - |
| `03-Dify-ECS驛ィ鄂イ螳悟<E89EB3><EFBFBD>漉.md` | 1. 螳牙<E89EB3><EFBFBD><E68988>鄂?br>2. 遶ッ蜿」扈大ョ<E5A4A7> | 箝絶ュ絶ュ絶ュ絶ュ?|
| `PostgreSQL驛ィ鄂イ遲也払-鞫ク蠎墓冠蜻<E586A0>.md` | 1. 譌カ蛹コ驟咲スョ譛€菴ウ螳櫁キ?| 箝絶ュ絶ュ絶ュ<E7B5B6> |
| `08-驛ィ鄂イ譽€譟・貂<EFBDA5><E8B282>?md` | 1. 譛榊苅蜿醍鴫蝨ー蝮€ | 箝絶ュ絶ュ絶ュ絶ュ?|
| `07-蜈ウ髞ョ驟咲スョ陦・蜈<EFBDA5>ッエ譏<EFBDB4>.md` | 1. 譌カ蛹コ扈滉ク€<EFBDB8>域眠蠅樒ャャ8闃ゑシ<E38291><br>2. 髟懷ワ諡牙叙遲也払<E4B99F>域眠蠅樒ャャ9闃ゑシ<E38291><br>3. Python蜀<6E>ュ倡ョ。逅<EFBDA1>シ域眠蠅樒ャャ10闃ゑシ<E38291> | 箝絶ュ絶ュ絶ュ絶ュ?|
---
## 笨?鬪瑚ッ∵ク<E288B5>
### 驛ィ鄂イ蜑埼ェ瑚ッ?
```bash
笘?1. 譽€譟・謇€譛臥識蠅<E8AD98>序驥丈クュ逧<EFBDAD>恪蜉。蝨ー蝮€
- 笨?菴ソ逕ィ蜀<EFBDA8>ス選P<E981B8>?72.16.x.x<>?
- 笶?荳堺スソ逕?.sae 蝓溷錐
笘?2. 譽€譟・謇€譛吋ockerfile逧<65>慮蛹コ驟咲ス?
- 笨?Node.js蜷守ォッ<EFBDAB>哘NV TZ=Asia/Shanghai
- 笨?Python蠕ョ譛榊苅<E6A68A>哘NV TZ=Asia/Shanghai
- 笨?蜑咲ォッNginx<6E>哘NV TZ=Asia/Shanghai
- 笨?RDS PostgreSQL<51>嗾imezone = Asia/Shanghai
笘?3. 譽€譟・ECS螳牙<E89EB3><EFBFBD><E68988>鄂?
- 笨?Redis/Weaviate遶ッ蜿」扈大ョ壼<EFBDAE>?27.0.0.1
- 笨?螳牙<E89EB3><EFBFBD>宵蜈∬ョクVPC蜀<43>ス題ョソ髣ョ
- 笶?荳榊ッケ蜈ャ鄂大シ€謾?000/6379/8080遶ッ蜿」
笘?4. 譽€譟・髟懷ワ迚域悽邂。逅?
- 笨?菴ソ逕ィ隸ュ荵牙喧迚域悽蜿キ<E89CBF><EFBDB7>1.0.0, v1.0.1...<2E>?
- 笶?荳榊ァ狗サ井スソ逕ィlatest譬<74>ュセ
笘?5. 譽€譟・Python譛榊苅隗<E88B85><E99A97>
- 笨?蛻晄悄<E69984>?譬?GB
- 笨?螯る∞OOM<4F>壼合郤ァ閾ウ2譬?GB
```
### 驛ィ鄂イ蜷朱ェ瑚ッ?
```bash
笘?1. 鬪瑚ッ∵慮蛹コ
docker exec backend-container date
docker exec python-container date
psql -h rds-host -c "SHOW timezone;"
# 蠎碑ッ・驛ス譏セ遉コ<E98189>哂sia/Shanghai 謌?CST
笘?2. 鬪瑚ッ∵恪蜉。霑樣€壽€?
# 蝨ィ蜷守ォッ螳ケ蝎ィ蜀<EFBDA8>オ玖ッ姫ython譛榊苅
curl http://172.16.x.x:8000/health
# 蠎碑ッ・霑泌屓<E6B38C>?00 OK
笘?3. 鬪瑚ッ∝ョ牙<EFBDAE>驟咲スョ
# 莉主<E88E89>鄂第オ玖ッ包シ亥コ碑ッ・螟ア雍・<E99B8D>?
telnet ECS蜈ャ鄂選P 6379
# 蠎碑ッ・雜<EFBDA5>慮謌匁拠扈晁ソ樊<EFBDBF>?
笘?4. 鬪瑚ッ<E7919A>復蜒冗沿譛ャ
# SAE謗ァ蛻カ蜿ー譟・逵矩復蜒乗<E89C92><E4B997>ュ?
# 蠎碑ッ・譏ッ蜈キ菴鍋沿譛ャ蜿キ<E89CBF>御ク肴弍latest
```
---
## <20>嶋 菫ョ豁」謨域棡隸<E6A3A1>シー
### 髣ョ鬚倩ァ」蜀ウ邇?
- 笨?**P0/P1閾エ蜻ス髣ョ鬚假シ?* 3/3 = 100%
- 笨?**P2驥崎ヲ<E5B48E>琉鬚假シ?* 3/3 = 100%
- 笨?**P3譛€菴ウ螳櫁キオ<EFBDB7><EFBDB5>** 2/2 = 100%
- 笨?**諤サ菴楢ァ」蜀ウ邇<EFBDB3><EFBFBD>** 8/8 = 100%
### 鬚<>悄謾カ逶<EFBDB6>
| 扈エ蠎ヲ | 菫ョ豁」蜑埼」朱<EFBDA3>?| 菫ョ豁」蜷取噺逶?|
|------|-----------|-----------|
| **蜿ッ逕ィ諤?* | 譛榊苅霑樊磁螟ア雍・100% | 笨?譛榊苅豁」蟶ク霑樊磁 |
| **螳牙<E89EB3>諤?* | Redis/Weaviate蜿ッ閭ス陲ォ謾サ蜃?| 笨?蜿ェ蜈∬ョクVPC蜀<43>ス題ョソ髣ョ |
| **遞ウ螳壽€?* | Python OOM鬚醍ケ<E9868D> | 笨?蜀<>ュ倡ョ。逅<EFBDA1>シ伜喧 |
| **蜿ッ扈エ謚、諤?* | 譌・蠢玲慮髣エ豺キ荵ア | 笨?譌カ蛹コ扈滉ク€<EFBDB8><EFBFBD>莠取賜譟?|
| **蜿ッ髱<EFBDAF>諤?* | 髟懷ワ荳肴峩譁?| 笨?迚域悽邂。逅<EFBDA1><EFBFBD>匆 |
---
## <20>識 荳倶ク€豁・陦悟<E999A6>?
### 遶句叉謇ァ陦鯉シ亥ソ<E4BAA5><EFBFBD>?
```bash
笘?1. 譖エ譁ー謇€譛吋ockerfile<6C>域慮蛹コ驟咲スョ<EFBDBD><EFBDAE>
笘?2. 譖エ譁ー邇ッ蠅<EFBDAF>序驥擾シ域恪蜉。蜿醍鴫蝨ー蝮€<E89DAE>?
笘?3. 驟咲スョECS螳牙<E89EB3><EFBFBD>シ育ォッ蜿」螳牙<E89EB3><E78999>?
笘?4. 驟咲スョRDS譌カ蛹コ<E89BB9><EFBDBA>sia/Shanghai<61>?
笘?5. 蛻カ螳夐復蜒冗沿譛ャ邂。逅<EFBDA1><EFBFBD>
```
### 蜷守サュ莨伜喧<E4BC9C>亥庄騾会シ<E4BC9A>
```bash
笘?1. 驟咲スョSSH髫ァ驕難シ亥シ€蜿台セソ蛻ゥ<E89BBB><EFBDA9>
笘?2. 螳樒鴫OSS遲セ蜷攻RL<52>亥ョ牙<EFBDAE><E78999><EFBFBD>
笘?3. 驟咲スョ逶第而蜻願ュヲ<EFBDAD><EFBDA6>ython蜀<6E>ュ假シ?
笘?4. 郛門<E9839B>閾ェ蜉ィ蛹夜Κ鄂イ閼壽<E996BC>?
```
---
## <20>答 逶ク蜈ウ譁<EFBDB3>。」
- [00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md](./00-驛ィ鄂イ譫カ譫<EFBDB6>€サ隗<EFBDBB>.md) - 蟾イ譖エ譁?
- [03-Dify-ECS驛ィ鄂イ螳悟<E89EB3><EFBFBD>漉.md](./03-Dify-ECS驛ィ鄂イ螳悟<E89EB3><EFBFBD>漉.md) - 蟾イ譖エ譁?
- [04-Python蠕ョ譛榊<E8AD9B>?SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md](./04-Python蠕ョ譛榊<E8AD9B>?SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md) - 蟾イ譖エ譁?
- [05-Node.js蜷守ォッ-SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md](./05-Node.js蜷守ォッ-SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md) - 蟾イ譖エ譁?
- [06-蜑咲ォッNginx-SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md](./06-蜑咲ォッNginx-SAE螳ケ蝎ィ驛ィ鄂イ謖<EFBDB2>漉.md) - 譌<>€菫ョ謾ケ
- [PostgreSQL驛ィ鄂イ遲也払-鞫ク蠎墓冠蜻<E586A0>.md](./PostgreSQL驛ィ鄂イ遲也払-鞫ク蠎墓冠蜻<E586A0>.md) - 蟾イ譖エ譁?
- [07-蜈ウ髞ョ驟咲スョ陦・蜈<EFBDA5>ッエ譏<EFBDB4>.md](./07-蜈ウ髞ョ驟咲スョ陦・蜈<EFBDA5>ッエ譏<EFBDB4>.md) - 蟾イ譖エ譁?
- [08-驛ィ鄂イ譽€譟・貂<EFBDA5><E8B282>?md](./08-驛ィ鄂イ譽€譟・貂<EFBDA5><E8B282>?md) - 蟾イ譖エ譁?
---
**謚・蜻顔函謌先慮髣エ<E9ABA3>?* 2025-12-14
**謚・蜻顔函謌蝉ココ<EFBDBA><EFBDBA>** AI蜉ゥ謇<EFBDA9>
**螳。譟・萓晄紺<E69984>?* 荳謎ク壽橿譛ッ蝗「髦溷渚鬥?
**菫ョ豁」雍ィ驥擾シ?* 箝絶ュ絶ュ絶ュ絶ュ撰シ<E692B0>8/8髣ョ鬚伜キイ蜈ィ驛ィ菫ョ豁」<E8B181><EFBDA3>