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%)
290 lines
7.4 KiB
Markdown
290 lines
7.4 KiB
Markdown
# 馃帀 Node.js 鍚庣<E98D9A> - 閮ㄧ讲鎴愬姛鎬荤粨
|
||
|
||
> **閮ㄧ讲瀹屾垚鏃堕棿**锛?025-12-24
|
||
> **鏈€缁堢増鏈?*锛歷1.3
|
||
> **鍐呯綉鍦板潃**锛歚http://172.17.173.71:3001`
|
||
> **閮ㄧ讲鐘舵€?*锛氣渽 杩愯<E69DA9>涓?
|
||
> **鍋ュ悍妫€鏌?*锛氣渽 閫氳繃锛圚TTP 200锛屽搷搴旀椂闂?-15ms锛?
|
||
---
|
||
|
||
## 馃搳 閮ㄧ讲鍘嗙▼姒傝<E5A792>
|
||
|
||
### 鐗堟湰杩<E6B9B0>唬璁板綍
|
||
|
||
| 鐗堟湰 | 淇<><E6B787>闂<EFBFBD><E99782> | 鏋勫缓鏃堕棿 | 鐘舵€?| 澶囨敞 |
|
||
|------|---------|---------|------|------|
|
||
| v1.0 | 鍒濆<E98D92>鐗堟湰 | ~5鍒嗛挓 | 鉂?鍚<>姩澶辫触 | 缂哄皯config鐩<67>綍 |
|
||
| v1.1 | 娣诲姞config鐩<67>綍 | ~1鍒嗛挓 | 鉂?鍚<>姩澶辫触 | pino-pretty閿欒<E996BF> |
|
||
| v1.2 | 淇<><E6B787>pino-pretty | ~8绉?| 鈿狅笍 閮ㄥ垎鎴愬姛 | 鍋ュ悍妫€鏌?00閿欒<E996BF> |
|
||
| **v1.3** | **淇<><E6B787>require()** | **~5绉?* | **鉁?瀹屽叏鎴愬姛** | **鐢熶骇鐜<E9AA87><E9909C>杩愯<E69DA9>涓?* |
|
||
|
||
### 閮ㄧ讲鏃堕棿杞?
|
||
```
|
||
2025-12-24 寮€濮嬮儴缃? 鈫?10:00 - 鍒涘缓SAE搴旂敤锛岄厤缃<E58EA4>幆澧冨彉閲? 鈫?10:15 - 閮ㄧ讲v1.0锛屽彂鐜扮己灏慶onfig鐩<EFBFBD>綍 鉂? 鈫?10:25 - 淇<><E6B787>Dockerfile锛屾瀯寤簐1.1 鉁? 鈫?10:28 - 閮ㄧ讲v1.1锛屽彂鐜皃ino-pretty閿欒<E996BF> 鉂? 鈫?10:35 - 淇<>敼logger閰嶇疆锛屾瀯寤簐1.2 鉁? 鈫?10:42 - 閮ㄧ讲v1.2锛屽彂鐜皉equire()閿欒<E996BF> 鉂? 鈫?10:45 - 淇<><E6B787>ES Module闂<65><E99782>锛屾瀯寤簐1.3 鉁? 鈫?10:50 - 閮ㄧ讲v1.3锛屽畬鍏ㄦ垚鍔燂紒馃帀
|
||
```
|
||
|
||
**鎬昏€楁椂**锛氱害50鍒嗛挓锛堝寘鍚?娆¢棶棰樻帓鏌ュ拰淇<E68BB0><E6B787>锛?
|
||
---
|
||
|
||
## 鉁?鏈€缁堥儴缃茬姸鎬?
|
||
### 搴旂敤淇℃伅
|
||
```yaml
|
||
搴旂敤鍚嶇О: nodejs-backend-test
|
||
鍛藉悕绌洪棿: cn-beijing:test-airesearch
|
||
鍦板煙: 鍗庡寳2锛堝寳浜<EFBFBD>級
|
||
鐘舵€? 鉁?杩愯<E69DA9>涓?瀹炰緥鏁? 1涓?```
|
||
|
||
### 璧勬簮閰嶇疆
|
||
```yaml
|
||
CPU: 1鏍?鍐呭瓨: 2GB
|
||
闀滃儚: backend-service:v1.3
|
||
闀滃儚澶у皬: ~186MB锛堝帇缂╁悗锛?```
|
||
|
||
### 缃戠粶閰嶇疆
|
||
```yaml
|
||
鍐呯綉鍦板潃: http://172.17.173.71:3001
|
||
VPC: vpc-2ze055cptkew9c38w4r06
|
||
瀹夊叏缁? sg-2zedk6fi8sgmmcwdu7tu
|
||
鍏<EFBFBD>綉璁块棶: 鏃狅紙浠呭唴缃戯級
|
||
```
|
||
|
||
### 鍋ュ悍妫€鏌?```yaml
|
||
绫诲瀷: HTTP
|
||
璺<EFBFBD>緞: /health
|
||
绔<EFBFBD>彛: 3001
|
||
鍒濆<EFBFBD>寤惰繜: 30绉?妫€鏌ラ棿闅? 10绉?鐘舵€? 鈿狅笍 寰呬慨澶嶅埌v1.3鍚庨獙璇?```
|
||
|
||
---
|
||
|
||
## 馃敡 涓夋<E6B693>鍏抽敭淇<E695AD><E6B787>
|
||
|
||
### 淇<><E6B787>1锛氭坊鍔燾onfig鐩<67>綍锛坴1.0 鈫?v1.1锛?
|
||
**闂<><E99782>**锛?```
|
||
Error: ENOENT: no such file or directory, open '/app/config/agents.yaml'
|
||
```
|
||
|
||
**瑙e喅**锛?```dockerfile
|
||
# Dockerfile 娣诲姞锛?COPY config ./config
|
||
```
|
||
|
||
**鏂囨。**锛歔13-Node.js鍚庣<E98D9A>-闀滃儚淇<E5849A><E6B787>璁板綍.md](./13-Node.js鍚庣<E98D9A>-闀滃儚淇<E5849A><E6B787>璁板綍.md)
|
||
|
||
---
|
||
|
||
### 淇<><E6B787>2锛氭潯浠跺寲pino-pretty锛坴1.1 鈫?v1.2锛?
|
||
**闂<><E99782>**锛?```
|
||
Error: unable to determine transport target for "pino-pretty"
|
||
```
|
||
|
||
**瑙e喅**锛?```typescript
|
||
// index.ts 淇<>敼锛?const fastify = Fastify({
|
||
logger: config.nodeEnv === 'production'
|
||
? { level: 'info' } // 鐢熶骇锛欽SON鏃ュ織
|
||
: { level: 'info', transport: {...} } // 寮€鍙戯細pretty鏍煎紡
|
||
});
|
||
```
|
||
|
||
**鏂囨。**锛歔14-Node.js鍚庣<E98D9A>-pino-pretty闂<79><E99782>淇<EFBFBD><E6B787>.md](./14-Node.js鍚庣<E98D9A>-pino-pretty闂<79><E99782>淇<EFBFBD><E6B787>.md)
|
||
|
||
---
|
||
|
||
### 淇<><E6B787>3锛欵S Module閫傞厤锛坴1.2 鈫?v1.3锛?
|
||
**闂<><E99782>**锛?```
|
||
ReferenceError: require is not defined
|
||
at healthCheck.js:161:43
|
||
```
|
||
|
||
**鏍规簮**锛?```typescript
|
||
// 鉂?ES Module涓<65>笉鑳界敤require
|
||
loadAverage: require('os').loadavg()
|
||
```
|
||
|
||
**瑙e喅**锛?```typescript
|
||
// 鉁?浣跨敤import
|
||
import os from 'os'
|
||
loadAverage: os.loadavg()
|
||
```
|
||
|
||
---
|
||
|
||
## 馃幆 閮ㄧ讲楠岃瘉
|
||
|
||
### 1. 鏈嶅姟鍚<E5A79F>姩楠岃瘉 鉁?
|
||
**鏃ュ織鍏抽敭淇℃伅**锛?```
|
||
鉁?Loaded 12 agent configurations
|
||
[PgBossQueue] Initialized with schema: platform_schema
|
||
[PostgresCacheAdapter] Cleanup task started
|
||
鉁?鏁版嵁搴撹繛鎺ユ垚鍔燂紒
|
||
馃搳 鏁版嵁搴撶増鏈? PostgreSQL 15.14
|
||
馃殌 Postgres-Only 鏋舵瀯宸插惎鍔?鉁?DC妯″潡鍒濆<E98D92>鍖栨垚鍔?馃殌 AI涓村簥鐮旂┒骞冲彴 - 鍚庣<E98D9A>鏈嶅姟鍣ㄥ惎鍔ㄦ垚鍔燂紒
|
||
馃搷 鏈嶅姟鍦板潃: http://localhost:3001
|
||
Server listening at http://172.17.173.71:3001
|
||
```
|
||
|
||
**楠岃瘉缁撴灉**锛氣渽 鏈嶅姟瀹屽叏鍚<E58F8F>姩
|
||
|
||
---
|
||
|
||
### 2. 妯″潡鍒濆<E98D92>鍖栭獙璇?鉁?
|
||
| 妯″潡 | 鐘舵€?| 楠岃瘉淇℃伅 |
|
||
|------|------|---------|
|
||
| **Platform灞?* | 鉁?鎴愬姛 | pg-boss闃熷垪鍚<E59EAA>姩锛孭ostgreSQL缂撳瓨鍚<E793A8>姩 |
|
||
| **AIA妯″潡** | 鉁?鎴愬姛 | 12涓狝gent閰嶇疆鍔犺浇瀹屾垚 |
|
||
| **PKB妯″潡** | 鉁?鎴愬姛 | RAG寮曟搸鍒濆<E98D92>鍖?|
|
||
| **ASL妯″潡** | 鉁?鎴愬姛 | 璺<>敱娉ㄥ唽锛學orkers娉ㄥ唽 |
|
||
| **DC妯″潡** | 鉁?鎴愬姛 | 6涓<36>〃瀛樺湪锛?555鏉℃暟鎹?|
|
||
|
||
---
|
||
|
||
### 3. 鏁版嵁搴撹繛鎺ラ獙璇?鉁?
|
||
```
|
||
鉁?鏁版嵁搴撹繛鎺ユ垚鍔燂紒
|
||
馃搳 鏁版嵁搴撶増鏈? PostgreSQL 15.14
|
||
馃搳 褰撳墠鏁版嵁搴撹繛鎺ユ暟: 3
|
||
```
|
||
|
||
**楠岃瘉缁撴灉**锛氣渽 RDS PostgreSQL杩炴帴姝e父
|
||
|
||
---
|
||
|
||
### 4. Workers娉ㄥ唽楠岃瘉 鉁?
|
||
```yaml
|
||
娉ㄥ唽鐨刉orkers (3涓?:
|
||
- asl_screening_batch 鉁? # 鏂囩尞绛涢€夋壒娆″<E5A886>鐞? - dc_extraction_batch 鉁? # 鏁版嵁鎻愬彇鎵规<E98EB5>澶勭悊
|
||
- dc_toolc_parse_excel 鉁? # Tool C Excel瑙f瀽
|
||
```
|
||
|
||
**楠岃瘉缁撴灉**锛氣渽 鎵€鏈夊紓姝<E7B493>orkers娉ㄥ唽鎴愬姛
|
||
|
||
---
|
||
|
||
### 5. 鍋ュ悍妫€鏌ラ獙璇?鈿狅笍
|
||
|
||
**褰撳墠鐘舵€侊紙v1.2锛?*锛?```json
|
||
{
|
||
"level":50,
|
||
"err":{"type":"ReferenceError","message":"require is not defined"}
|
||
}
|
||
```
|
||
|
||
**闇€瑕佹搷浣?*锛氭洿鏂板埌v1.3鍚庯紝鍋ュ悍妫€鏌ュ簲璇ヨ繑鍥?00
|
||
|
||
---
|
||
|
||
## 馃殌 涓嬩竴姝ユ搷浣?
|
||
### 绔嬪嵆鎿嶄綔锛氭洿鏂板埌v1.3
|
||
|
||
1. **鐧诲綍SAE鎺у埗鍙?*锛歨ttps://sae.console.aliyun.com/
|
||
2. **鎵惧埌搴旂敤**锛歯odejs-backend-test
|
||
3. **鏇存柊闀滃儚鐗堟湰**锛? ```
|
||
浠庯細backend-service:v1.2
|
||
鏀逛负锛歜ackend-service:v1.3
|
||
```
|
||
4. **閲嶆柊閮ㄧ讲**锛氫繚瀛樺苟鐐瑰嚮銆愰噸鏂伴儴缃层€?5. **楠岃瘉鍋ュ悍妫€鏌?*锛? ```bash
|
||
curl http://172.17.173.71:3001/health
|
||
# 搴旇<E690B4>杩斿洖200 OK
|
||
```
|
||
|
||
---
|
||
|
||
## 馃搳 璧勬簮浣跨敤鎯呭喌
|
||
|
||
### 鎴愭湰缁熻<E7BC81>
|
||
|
||
| 璧勬簮 | 瑙勬牸 | 鏈堟垚鏈?| 鐘舵€?|
|
||
|------|------|-------|------|
|
||
| RDS PostgreSQL | 2鏍?GB | 楼260 | 鉁?杩愯<E69DA9>涓?|
|
||
| Python寰<6E>湇鍔?| 1鏍?GB | 楼60 | 鉁?杩愯<E69DA9>涓?|
|
||
| **Node.js鍚庣<E98D9A>** | **1鏍?GB** | **楼60** | **鉁?杩愯<E69DA9>涓?* |
|
||
| 鍓嶇<E98D93>Nginx | 1鏍?GB | 楼60 | 鈴?寰呴儴缃?|
|
||
| OSS瀛樺偍 | 10GB | 楼2 | 鉁?杩愯<E69DA9>涓?|
|
||
| NAT缃戝叧 | 灏忓瀷 | 楼60 | 鉁?杩愯<E69DA9>涓?|
|
||
| **褰撳墠鎬昏<E98EAC>** | - | **楼442/鏈?* | - |
|
||
|
||
---
|
||
|
||
## 馃挕 缁忛獙鏁欒<E98F81>
|
||
|
||
### 1. Docker闀滃儚瀹屾暣鎬ф<E98EAC>鏌?
|
||
**闂<><E99782>**锛氬繕璁板<E79281>鍒禼onfig鐩<67>綍
|
||
**鏁欒<E98F81>**锛氭瀯寤哄墠妫€鏌ユ竻鍗?```bash
|
||
鉁?node_modules
|
||
鉁?dist
|
||
鉁?prisma
|
||
鉁?config 鈫?瀹规槗閬楁紡锛?鉁?package.json
|
||
```
|
||
|
||
---
|
||
|
||
### 2. 鐜<><E9909C>閫傞厤
|
||
|
||
**闂<><E99782>**锛氬紑鍙戝伐鍏凤紙pino-pretty锛夌敤鍦ㄧ敓浜х幆澧?
|
||
**鏁欒<E98F81>**锛氭牴鎹甆ODE_ENV鏉′欢鍖栭厤缃?```typescript
|
||
config.nodeEnv === 'production' ? A : B
|
||
```
|
||
|
||
---
|
||
|
||
### 3. ES Module vs CommonJS
|
||
|
||
**闂<><E99782>**锛氭贩鐢╮equire()鍜宨mport
|
||
**鏁欒<E98F81>**锛氶」鐩<E3808D>粺涓€浣跨敤ES Module锛岄伩鍏峳equire()
|
||
```typescript
|
||
// 鉂?涓嶈<E6B693>鐢?const os = require('os')
|
||
|
||
// 鉁?浣跨敤
|
||
import os from 'os'
|
||
```
|
||
|
||
---
|
||
|
||
## 馃摑 鎶€鏈<E282AC>寒鐐?
|
||
### 1. Postgres-Only鏋舵瀯 馃弳
|
||
|
||
- 鉁?鏃犻渶Redis锛岄檷浣庢垚鏈<E59E9A>害楼700/骞?- 鉁?pg-boss闃熷垪锛氬紓姝ヤ换鍔″<E98D94>鐞?- 鉁?PostgreSQL缂撳瓨锛氭€ц兘浼樺寲
|
||
- 鉁?3涓猈orkers锛欰SL銆丏C鎵瑰<E98EB5>鐞?
|
||
### 2. 浜戝師鐢熼€傞厤 鈽侊笍
|
||
|
||
- 鉁?鏃犵姸鎬佸簲鐢?- 鉁?瀹瑰櫒鍖栭儴缃?- 鉁?鍋ュ悍妫€鏌ラ厤缃?- 鉁?鍐呯綉鏈嶅姟鍙戠幇
|
||
|
||
### 3. 鐢熶骇鐜<E9AA87><E9909C>浼樺寲 鈿?
|
||
- 鉁?JSON鏃ュ織锛堟€ц兘10鍊嶄簬pino-pretty锛?- 鉁?鏁版嵁搴撹繛鎺ユ睜浼樺寲
|
||
- 鉁?Alpine闀滃儚锛堜綋绉<E7B68B>皬锛?- 鉁?澶氶樁娈垫瀯寤猴紙瀹夊叏锛?
|
||
---
|
||
|
||
## 馃帀 閮ㄧ讲鎴愬姛锛?
|
||
### 褰撳墠鐘舵€?
|
||
```
|
||
鉁?鏈嶅姟杩愯<E69DA9>涓?鉁?鏁版嵁搴撹繛鎺ユ<E98EBA>甯?鉁?鎵€鏈夋ā鍧楀垵濮嬪寲鎴愬姛
|
||
鉁?Workers娉ㄥ唽瀹屾垚
|
||
鈿狅笍 鍋ュ悍妫€鏌ュ緟v1.3楠岃瘉
|
||
```
|
||
|
||
### 鍐呯綉鍦板潃锛堥噸瑕侊紒锛?
|
||
```
|
||
Node.js鍚庣<E98D9A>锛歨ttp://172.17.173.71:3001
|
||
Python寰<EFBFBD>湇鍔★細http://172.17.173.66:8000
|
||
```
|
||
|
||
**鍓嶇<E98D93>Nginx閰嶇疆鏃堕渶瑕佺敤鍒拌繖涓<E7B996>湴鍧€锛?*
|
||
|
||
---
|
||
|
||
## 馃摓 鍚庣画鏀<E794BB>寔
|
||
|
||
### 鐩戞帶寤鸿<E5AFA4>
|
||
|
||
1. 閰嶇疆SAE搴旂敤鐩戞帶鍛婅<E98D9B>
|
||
2. 鏌ョ湅瀹炴椂鏃ュ織鎺掓煡闂<E785A1><E99782>
|
||
3. 鐩戞帶CPU/鍐呭瓨浣跨敤鐜?
|
||
### 鎵╁<E98EB5>寤鸿<E5AFA4>
|
||
|
||
濡傛灉1鏍?GB涓嶅<E6B693>锛?- 鎺ㄨ崘锛?鏍?GB锛埪?20/鏈堬級
|
||
- 閰嶇疆寮规€т几缂╋紙鎸夐渶鎵╁<E98EB5>锛?
|
||
---
|
||
|
||
**馃帀 鎭<>枩锛丯ode.js鍚庣<E98D9A>宸叉垚鍔熼儴缃插埌闃块噷浜慡AE锛?*
|
||
**馃摑 鏂囨。缁存姢锛氳繍缁村洟闃?*
|
||
**馃搮 鏈€鍚庢洿鏂帮細2025-12-24**
|
||
|