Files
AIclinicalresearch/docs/05-部署文档/14-Node.js后端-pino-pretty问题修复.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

276 lines
6.0 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.
# Node.js 蜷守ォッ - pino-pretty 髣ョ鬚倅ソョ螟崎ョー蠖<EFBDB0>
> **菫ョ螟肴慮髣エ**<2A>?025-12-24
> **髣ョ鬚伜次蝗<E6ACA1>**<2A>夂函莠ァ邇ッ蠅<EFBDAF>スソ逕ィ莠<EFBDA8>€蜿台セ晁オ朴ino-pretty
> **隗」蜀ウ譁ケ譯<EFBDB9>**<2A><EFBFBD>ケ謐ョ邇ッ蠅<EFBDAF>序驥乗擅莉カ蛹紋スソ逕ィpino-pretty
---
## <20>菅 髣ョ鬚俶緒霑ー
### 髞呵ッッ菫。諱ッ
```
Error: unable to determine transport target for "pino-pretty"
at fixTarget (/app/node_modules/pino/lib/transport.js:160:13)
```
### 譬ケ譛ャ蜴溷屏
1. `pino-pretty` 譏ッ荳€荳?*devDependency**<2A>亥シ€蜿台セ晁オ厄シ<E58E84>
2. Dockerfile菴ソ逕ィ `npm ci --production` 蜿ェ螳芽」<E88ABD>函莠ァ萓晁オ?
3. `pino-pretty` **荳堺シ夊「ォ螳芽」<E88ABD>芦逕滉コァ邇ッ蠅<EFBDAF>**
4. 菴?`src/index.ts` 荳ュ遑ャ郛也<E9839B>∽コ?`pino-pretty` 菴應クコ譌・蠢玲<E8A0A2>シ蠑丞喧蟾・蜈?
5. 逕滉コァ邇ッ蠅<EFBDAF>星蜉ィ譌カ謇セ荳榊芦 `pino-pretty`<EFBFBD>悟ッシ閾エ蟠ゥ貅?
---
## 笨?隗」蜀ウ譁ケ譯<EFBDB9>
### 1. 菫ョ謾ケ莉」遐<EFBDA3> - 譚。莉カ蛹紋スソ逕ィpino-pretty
**譁<>サカ**<EFBFBD>啻backend/src/index.ts`
**菫ョ謾ケ蜑搾シ育ャ?9-41陦鯉シ<E9AF89>**<2A>?
```typescript
const fastify = Fastify({
logger: {
level: config.logLevel,
transport: {
target: 'pino-pretty', // 笶?遑ャ郛也<E9839B><E4B99F>シ檎函莠ァ邇ッ蠅<EFBDAF>シ壽冠髞?
options: {
colorize: true,
translateTime: 'HH:MM:ss Z',
ignore: 'pid,hostname',
},
},
},
});
```
**菫ョ謾ケ蜷?*<2A>?
```typescript
// 逕滉コァ邇ッ蠅<EFBDAF>スソ逕ィJSON譬シ蠑乗律蠢暦シ域€ァ閭ス譖エ螂ス<E89E82>会シ悟シ€蜿醍識蠅<E8AD98>スソ逕ィpino-pretty<74><EFBFBD>隸サ<E99AB8><EFBDBB>
const fastify = Fastify({
logger: config.nodeEnv === 'production'
? {
level: config.logLevel,
// 逕滉コァ邇ッ蠅<EFBDAF>シ夂ョ€蜊慕噪JSON譌・蠢暦シ碁€ょ粋譌・蠢玲噺髮<E599BA>ウサ扈<EFBDBB>
}
: {
level: config.logLevel,
// 蠑€蜿醍識蠅<E8AD98>シ壻スソ逕ィpino-pretty鄒主喧霎灘<E99C8E>
transport: {
target: 'pino-pretty',
options: {
colorize: true,
translateTime: 'HH:MM:ss Z',
ignore: 'pid,hostname',
},
},
},
});
```
**蜈ウ髞ョ謾ケ霑<EFBDB9>**<2A>?
- 笨?譬ケ謐ョ `NODE_ENV` 譚。莉カ蛹夜<E89BB9>鄂?
- 笨?逕滉コァ邇ッ蠅<EFBDAF>シ壻スソ逕ィ蜴溽函JSON譌・蠢暦シ域€ァ閭ス譖エ螂ス<E89E82>€ょ粋ELK/Loki遲画律蠢礼ウサ扈滂シ<E6BB82>
- 笨?蠑€蜿醍識蠅<E8AD98>シ壻スソ逕ィpino-pretty<74><EFBFBD>隸サ<E99AB8>御セソ莠手ー<E6898B>ッ包シ?
### 2. 驥肴眠郛冶ッ禅ypeScript
```bash
cd backend
npm run build
```
**郛冶ッ醍サ捺棡**<2A>壺怛 謌仙粥
### 3. 驥肴眠譫<E79CA0>サコ髟懷ワ v1.2
```bash
docker build -t crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.2 .
```
**譫<>サコ扈捺棡**<2A>?
- 笨?譫<>サコ謌仙粥
- 笨?閠玲慮<E78EB2>?.4遘抵シ亥ソォ騾滂シ悟、ァ驛ィ蛻<EFBFBD>アゆスソ逕ィ郛灘ュ假シ?
### 4. 謗ィ騾∝芦ACR
```bash
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.2
```
**謗ィ騾∫サ捺<EFBDBB>?*<2A>?
- 笨?謗ィ騾∵<E9A8BE>蜉?
- 笨?Digest: `sha256:dd48750c5032681613776ea484a2194622e3926c6f49a1d7246105c090ecce35`
---
## <20>逃 迚域悽蟇ケ豈<EFBDB9>
| 鬘ケ逶ョ | v1.0 | v1.1 | v1.2<EFBFBD>域怙譁ー<EFBFBD><EFBFBD> |
|------|------|------|-------------|
| **髣ョ鬚<EFBDAE>** | 郛コ蟆祖onfig | 笶?菫ョ螟<EFBDAE> | 笶?菫ョ螟<EFBDAE> |
| **髣ョ鬚<EFBDAE>** | - | pino-pretty | 笨?菫ョ螟<EFBDAE> |
| **迥カ諤?* | 笶?蜷ッ蜉ィ螟ア雍・ | 笶?蜷ッ蜉ィ螟ア雍・ | 笨?蠕<>ェ瑚ッ?|
| **菫ョ謾ケ蜀<EFBDB9>ョケ** | - | +config逶ョ蠖<EFBDAE> | +譚。莉カ蛹匁律蠢鈴<E8A0A2>鄂?|
| **譫<>サコ譌カ髣エ** | ~5蛻<35>帖 | ~1蛻<31>帖 | ~8遘?|
---
## <20>識 荳倶ク€豁・謫堺ス?
### 豁・鬪、1<EFBDA4>夂匳蠖百AE謗ァ蛻カ蜿?
隶ソ髣ョ<EFBFBD>喇ttps://sae.console.aliyun.com/
### 豁・鬪、2<EFBDA4>壽峩譁ー髟懷ワ迚域悽荳コ v1.2
1. 謇セ蛻ー蠎皮畑<E79AAE>啻nodejs-backend-test`
2. 驟咲スョ邂。逅<EFBDA1> 竊?驛ィ鄂イ驟咲スョ 竊?髟懷ワ隶セ鄂ョ
3. 菫ョ謾ケ髟懷ワ迚域悽<E59F9F>?
```
莉趣シ喘ackend-service:v1.1
謾ケ荳コ<E88DB3>喘ackend-service:v1.2 笨?
```
### 豁・鬪、3<EFBDA4>夐㍾譁ー驛ィ鄂イ蟷カ鬪瑚ッ<E7919A>
1. 菫晏ュ伜ケカ驥肴眠驛ィ鄂?
2. 譟・逵句ョ樊慮譌・蠢<EFBDA5>
3. **謌仙粥譬<E7B2A5>ソ<EFBFBD>**<2A>?
**笨?譛滓悍逧<E6828D>律蠢玲<E8A0A2>シ蠑?*<2A><>SON譬シ蠑擾シ御ク肴弍pretty譬シ蠑擾シ会シ<E4BC9A>
```json
{"level":30,"time":1703472498828,"pid":1,"hostname":"xxx","msg":"Server listening at http://0.0.0.0:3001"}
{"level":30,"time":1703472498830,"pid":1,"hostname":"xxx","msg":"Config loaded: /app/config/agents.yaml"}
{"level":30,"time":1703472498832,"pid":1,"hostname":"xxx","msg":"Database connected successfully"}
```
**笶?荳榊コ碑ッ・蜃コ邇?*<2A>?
- `Error: unable to determine transport target for "pino-pretty"`
- 莉サ菴募<E88FB4>莠姿ino-pretty逧<79>漠隸?
---
## <20>投 荳コ莉€荵育函莠ァ邇ッ蠅<EFBDAF>ク咲畑pino-pretty<74>?
### 諤ァ閭ス蟇ケ豈<EFBDB9>
| 謖<><E8AC96><EFBFBD> | 蜴溽函JSON | pino-pretty |
|------|---------|-------------|
| **蜷槫瑞驥?* | ~30,000 log/s | ~3,000 log/s |
| **CPU菴ソ逕ィ** | 菴?| 鬮假シ域<EFBDBC>シ蠑丞喧蠑€€<E9AB9E>?|
| **蜀<>ュ倅スソ逕ィ** | 菴?| 鬮?|
| **騾ら畑蝨コ譎ッ** | 逕滉コァ邇ッ蠅<EFBDAF> | 蠑€蜿醍識蠅?|
### 譌・蠢礼ウサ扈滄寔謌<E5AF94>
**逕滉コァ邇ッ蠅<EFBDAF>怙菴ウ螳櫁キ?*<2A>?
```
蠎皮畑霎灘<EFBFBD>JSON譌・蠢<EFBFBD>
竊?
SAE/K8s謾カ髮<EFBDB6><EFBFBD>tdout/stderr<72>?
竊?
譌・蠢礼ウサ扈滂シ<EFBFBD>LK/Loki/髦ソ驥御コ全LS<4C>?
竊?
蜿ッ隗<EFBFBD>喧蛻<EFBFBD><EFBFBD><EFBFBD>ibana/Grafana<6E>?
```
JSON譬シ蠑乗律蠢玲峩騾ょ粋<EFBFBD>?
- 笨?扈捺桷蛹匁衍隸「<E99AB8>亥ュ玲ョオ郤ァ謳懃エ「<EFBDB4><EFBDA2>
- 笨?譌・蠢苓★蜷亥柱蛻<E69FB1><E89BBB>?
- 笨?蜻願ュヲ隗<EFBDA6><E99A97>驟咲スョ
- 笨?諤ァ閭ス逶第而
---
## <20>剥 譛ャ蝨ー豬玖ッ暮ェ瑚ッ<E7919A>
螯よ棡諠ウ蝨ィ譛ャ蝨ー鬪瑚ッ∽ソョ螟搾シ悟庄莉・霑呎<EFBFBD>キ豬玖ッ包シ<EFBFBD>
### 豬玖ッ慕函莠ァ邇ッ蠅<EFBDAF>律蠢玲<E8A0A2>シ蠑<EFBDBC>
```bash
# 隶セ鄂ョ逕滉コァ邇ッ蠅<EFBDAF>序驥<E5BA8F>
export NODE_ENV=production
# 蜷ッ蜉ィ蠎皮畑
npm run dev
# 隗ょッ滓律蠢苓セ灘<EFBDBE>蠎碑ッ・譏ッJSON譬シ蠑<EFBDBC>
```
### 豬玖ッ募シ€蜿醍識蠅<E8AD98>律蠢玲<E8A0A2>シ蠑?
```bash
# 隶セ鄂ョ蠑€蜿醍識蠅<E8AD98>序驥?
export NODE_ENV=development
# 蜷ッ蜉ィ蠎皮畑
npm run dev
# 隗ょッ滓律蠢苓セ灘<EFBDBE>蠎碑ッ・譏ッpretty譬シ蠑擾シ亥スゥ濶イ縲∵<E7B8B2>隸サ<E99AB8><EFBDBB>
```
---
## <20>庁 扈城ェ梧蕗隶ュ
### 1. 蠑€蜿台セ晁オ也ョ。逅?
- 笨?**DO**<2A>壼ー<E5A3BC><EFBDB0>シ蠑丞喧蟾・蜈キ<E89C88>亥ヲino-pretty<74>画叛蝨ィdevDependencies
- 笨?**DO**<2A>夂函莠ァ邇ッ蠅<EFBDAF>スソ逕ィ蜴溽函譌・蠢玲<E8A0A2>シ蠑?
- 笶?**DON'T**<2A>壼惠逕滉コァ邇ッ蠅<EFBDAF>セ晁オ謀evDependencies
### 2. 邇ッ蠅<EFBDAF>€<C280>
- 笨?**DO**<2A><EFBFBD>ケ謐ョNODE_ENV驟咲スョ荳榊酔逧<E98594>。御ク?
- 笨?**DO**<2A>夂函莠ァ邇ッ蠅<EFBDAF>シ伜<EFBDBC><EFBFBD>剔諤ァ閭ス
- 笨?**DO**<2A>壼シ€蜿醍識蠅<E8AD98>シ伜<EFBDBC><EFBFBD>剔譏鍋畑諤?
### 3. Docker髟懷ワ莨伜喧
- 笨?**DO**<2A>壻スソ逕?`npm ci --production` 蜃丞ー城復蜒丈ス鍋ァッ
- 笨?**DO**<2A>壼惠莉」遐∽クュ騾る<E9A8BE>逕滉コァ邇ッ蠅<EFBDAF>
- 笶?**DON'T**<2A>壻クコ莠<EFBDBA>婿萓ソ蝨ィ逕滉コァ邇ッ蠅<EFBDAF>ョ芽」<E88ABD>園譛我セ晁オ?
---
## <20>統 菫ョ螟肴€サ扈<EFBDBB>
**髣ョ鬚俶<E9AC9A>ケ貅<EFBDB9>**<EFBFBD>壻サ」遐∵悴騾る<EFBFBD>逕滉コァ邇ッ蠅<EFBFBD>シ育。ャ郛也<EFBFBD>∝シ€蜿大キ・蜈キ<EFBFBD><EFBFBD>
**菫ョ螟肴婿蠑<E5A9BF>**<EFBFBD>壽キサ蜉<EFBFBD>邇ッ蠅<EFBFBD>愛譁ュ<EFBFBD>梧擅莉カ蛹夜<EFBFBD>鄂?
**蠖ア蜩崎激蝗エ**<EFBFBD>壻サ<EFBFBD>律蠢苓セ灘<EFBFBD>譬シ蠑擾シ御ク榊スア蜩榊粥閭ス
**菫ョ螟肴慮髣エ**<EFBFBD>夂コヲ10蛻<EFBFBD><EFBFBD>育シ冶ッ?蛻<>帖 + 譫<>サコ8遘?+ 謗ィ騾?蛻<><EFBFBD>?
**迚域悽蜿?*<2A>嘛1.2
---
**譁<>。」蛻帛サコ譌カ髣エ**<EFBFBD>?025-12-24
**扈エ謚、莠コ蜻<EFBDBA>**<EFBFBD>夊ソ千サエ蝗「髦?