Files
AIclinicalresearch/docs/05-部署文档/11-Node.js后端-SAE部署配置清单.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

7.5 KiB
Raw Blame History

Node.js <20>𡒊垢 - SAE<41>函蔡<E587BD>滨蔭皜<E894AD><E79A9C>

<EFBFBD>𥕦遣<EFBFBD>園𡢿嚗?025-12-24 **<2A>函蔡<E587BD><EFBFBD>**嚗𡁏<E59A97>霂閧㴓憓<E3B493><E68693>Test嚗? 摨𠉛鍂<EFBFBD>滨妍嚗䭰odejs-backend-test <EFBFBD><EFBFBD><EFBFBD>嚗?<3F>?GB


<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>撩JWT撖<54>𤨎

*<EFBFBD>𩤃<EFBFBD> <20><EFBFBD>嚗朞窈憒亙<E68692>靽萘恣甇文<E79487><E69687><EFBFBD>銝滩<E98A9D><EFBFBD>蠧嚗?

JWT_SECRET=146c2fd064a69aa026496ee60e20483d07e951eae8323a501126469583433415

**撖<>𤨎<EFBFBD><EFBFBD>?*嚗?

  • <EFBFBD>?64銝芸<E98A9D><E88AB8><EFBFBD><E5899B><EFBFBD>蝚佗<E89D9A>256雿滚撩摨佗<E691A8>
  • <EFBFBD>?摰<><E691B0><EFBFBD>𤩺㦤<F0A4A9BA><E3A6A4><EFBFBD>
  • <EFBFBD>?蝚血<E89D9A><E8A180>煺漣<E785BA><EFBFBD>摰匧<E691B0><E58CA7><EFBFBD><EFBFBD>

<EFBFBD><EFBFBD> 摰峕㟲<E5B395><EFBFBD><E887AC><EFBFBD><E3979B>滨蔭

<EFBFBD><EFBFBD>1嚗𡁻<EFBFBD>𣂷葵<EFBFBD>滨蔭嚗𠄎AE<EFBFBD><EFBFBD><EFBFBD><EFBFBD>

<EFBFBD>沒AE<EFBFBD><EFBFBD><EFBFBD>?<3F>?摨𠉛鍂<F0A0899B>滨蔭 <20>?<3F><EFBFBD><E887AC><EFBFBD>銝哨<E98A9D><E593A8>𣂷葵瘛餃<E7989B>隞乩<E99A9E><E4B9A9>滨蔭嚗?

<EFBFBD><EFBFBD><EFBFBD>? <EFBFBD><EFBFBD><EFBFBD>? 霂湔<EFBFBD>
DATABASE_URL postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research?connection_limit=18&pool_timeout=10 RDS<EFBFBD>唳旿摨栞<EFBFBD><EFBFBD><EFBFBD>瘜冽<EFBFBD>@蝻𣇉<E89DBB>銝?40嚗?
JWT_SECRET 146c2fd064a69aa026496ee60e20483d07e951eae8323a501126469583433415 <EFBFBD><EFBFBD> <20><EFBFBD><E59581><EFBFBD>撘箏<E69298><E7AE8F>?
JWT_EXPIRES_IN 7d JWT餈<EFBFBD><EFBFBD><EFBFBD>園𡢿
DEEPSEEK_API_KEY sk-7f8cc37a79fa4799860b38fc7ba2e150 DeepSeek API撖<49>𤨎
DASHSCOPE_API_KEY sk-75b4ff29a14a49e79667a331034f3298 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>䔮API撖<EFBFBD>𤨎
CLOSEAI_API_KEY sk-cu0ienbXYGGx2jc7BqP6ogtSWmP6fk918qV3RUdtGC3Ed1po CloseAI隞<EFBFBD><EFBFBD><EFBFBD>𤨎
CLOSEAI_OPENAI_BASE_URL https://api.openai-proxy.org/v1 OpenAI隞<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CLOSEAI_CLAUDE_BASE_URL https://api.openai-proxy.org/anthropic Claude隞<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DIFY_API_URL http://localhost/v1 Dify<EFBFBD>滚𦛚<EFBFBD><EFBFBD><EFBFBD>𧊋<EFBFBD>函蔡嚗?
DIFY_API_KEY dataset-mfvdiKvQ2l3NvxWm7RoYMN3c Dify API撖<49>𤨎
PORT 3001 <EFBFBD>滚𦛚蝡臬藁
NODE_ENV production 餈鞱<EFBFBD><EFBFBD><EFBFBD>
QUEUE_TYPE pgboss <EFBFBD><EFBFBD>蝐餃<EFBFBD>
CACHE_TYPE postgres 蝻枏<EFBFBD>蝐餃<EFBFBD>
OSS_REGION oss-cn-beijing OSS<EFBFBD><EFBFBD>
OSS_BUCKET ai-clinical-research OSS Bucket<65>滨妍
OSS_ACCESS_KEY_ID LTAI5tB2Dt3NdvBL3G7nYGv7 OSS霈輸䔮撖<EFBFBD>𤨎ID
OSS_ACCESS_KEY_SECRET 1iSN9k39RkApP93QjUhC1DcPIeMG4V OSS霈輸䔮撖<EFBFBD>𤨎Secret
OSS_ENDPOINT oss-cn-beijing-internal.aliyuncs.com OSS<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PYTHON_SERVICE_URL http://172.17.173.66:8000 Python敺格<EFBFBD><EFBFBD>𧑐<EFBFBD><EFBFBD>
LOG_LEVEL info <EFBFBD><EFBFBD>蝥批<EFBFBD>

<EFBFBD><EFBFBD>2嚗𡁏鸌<EFBFBD>誩紡<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?

<EFBFBD>誑銝见<EFBFBD>摰孵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>沒AE<EFBFBD><EFBFBD><EFBFBD>唬蝙<EFBFBD>?<3F><EFBFBD>撖澆<E69296>"<22><EFBFBD>嚗?

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

<EFBFBD><EFBFBD> SAE摨𠉛鍂<F0A0899B>滨蔭<E6BBA8><E894AD>

<EFBFBD>箸𧋦靽⊥<EFBFBD>

摨𠉛鍂<EFBFBD>滨妍: nodejs-backend-test
<EFBFBD>函蔡<EFBFBD><EFBFBD>: 摰孵膥<EFBFBD>𨅯<EFBFBD>
<EFBFBD><EFBFBD>蝛粹𡢿: cn-beijing:test-airesearch
<EFBFBD><EFBFBD>: <EFBFBD>𤾸<EFBFBD>2嚗<EFBFBD><EFBFBD>鈭穿<EFBFBD>

<EFBFBD>𨅯<EFBFBD><EFBFBD>滨蔭

<EFBFBD>𨅯<EFBFBD>蝐餃<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD>𨅯<EFBFBD>
<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.0
<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>𧋦: v1.0

ACR<EFBFBD>𨅯<EFBFBD>隞枏<EFBFBD>霈方<EFBFBD>

Registry<EFBFBD><EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com
<EFBFBD><EFBFBD><EFBFBD>? gofeng117@163.com
<EFBFBD><EFBFBD>: fengzhibo117

<EFBFBD><EFBFBD><EFBFBD>滨蔭

CPU: 1<EFBFBD>?
<EFBFBD><EFBFBD><EFBFBD>: 2GB
摰硺<EFBFBD><EFBFBD>? 1銝迎<E98A9D><E8BF8E><EFBFBD>嚗?

蝵𤑳<EFBFBD><EFBFBD>滨蔭

VPC ID: vpc-2ze055cptkew9c38w4r06
摰匧<EFBFBD><EFBFBD>D: sg-2zedk6fi8sgmmcwdu7tu

蝡臬藁<EFBFBD>滨蔭

摰孵膥蝡臬藁: 3001
<EFBFBD>讛悅: TCP

<EFBFBD>亙熒璉<EFBFBD><EFBFBD>仿<EFBFBD>蝵?

<EFBFBD><EFBFBD>亦掩<EFBFBD>? HTTP
<EFBFBD><EFBFBD>亥楝敺? /health
<EFBFBD><EFBFBD>亦垢<EFBFBD>? 3001
<EFBFBD><EFBFBD>撱嗉<EFBFBD>: 30蝘?
<EFBFBD><EFBFBD>仿𡢿<EFBFBD>? 10蝘?
<EFBFBD>𧒄<EFBFBD>園𡢿: 3蝘?
銝滚<EFBFBD>摨琿<EFBFBD><EFBFBD>? 3甈?
<EFBFBD>亙熒<EFBFBD><EFBFBD><EFBFBD>? 2甈?

<EFBFBD>臬𢆡<EFBFBD>賭誘

node dist/server.js

**霂湔<E99C82>**嚗?

  • <EFBFBD>?銝漤<E98A9D><EFBFBD><E996AC>銵?prisma migrate deploy<EFBFBD><EFBFBD>桀歇<EFBFBD><EFBFBD>pg_dump撖澆<EFBFBD>嚗?
  • <EFBFBD>?銝漤<E98A9D><EFBFBD><E996AC>銵?prisma generate<EFBFBD><EFBFBD><EFBFBD>𤩺<EFBFBD>撱箸𧒄撌脩<EFBFBD><EFBFBD><EFBFBD>
  • <EFBFBD>?<3F>湔𦻖<E6B994>臬𢆡蝻𤥁<E89DBB><F0A4A581>𡒊<EFBFBD><F0A1928A>滚𦛚<E6BB9A>喳虾

<EFBFBD>?<3F>函蔡<E587BD>𡡞<EFBFBD><EFBFBD><E99C82><EFBFBD>?

<EFBFBD>函蔡<EFBFBD>𣂼<EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>誑銝钅★<EFBFBD><EFBFBD>

1. 摨𠉛鍂<F0A0899B><EFBFBD><E59786><EFBFBD><EFBFBD>?

  • SAE<EFBFBD><EFBFBD><EFBFBD>唳遬蝷箏<EFBFBD><EFBFBD>函𠶖<EFBFBD><EFBFBD>蛹"餈鞱<E9A488>銝?
  • <EFBFBD>亙熒璉<EFBFBD><EFBFBD>交遬蝷箔蛹"<22><EFBFBD>"
  • <EFBFBD>𣳇<EFBFBD><EFBFBD><EFBFBD>撏拇<EFBFBD>霈啣<EFBFBD>

2. <20><EFBFBD><EFBFBD><E79289>?

<EFBFBD><EFBFBD>摰墧𧒄<EFBFBD><EFBFBD><EFBFBD><EFBFBD>霂亦<EFBFBD><EFBFBD>啁掩隡潔誑銝贝<EFBFBD><EFBFBD><EFBFBD>

============================================================
<0A><> AI銝游<E98A9D><E6B8B8>𠉛弦撟喳蝱 - <20>𡒊垢<F0A1928A>滚𦛚<E6BB9A>典鍳<E585B8><EFBFBD><E586BD><EFBFBD><EFBFBD>
============================================================
<0A><> <20>滚𦛚<E6BB9A><EFBFBD>: http://0.0.0.0:3001
<0A><> <20>亙熒璉<E78692><E79289>? http://0.0.0.0:3001/health
<0A>摱 API<50>亙藁: http://0.0.0.0:3001/api/v1
<0A><> 餈鞱<E9A488><E99EB1><EFBFBD>: production
============================================================

3. <20>亙熒璉<E78692><E79289><EFBFBD>霂?

<EFBFBD><EFBFBD>摨𠉛鍂<EFBFBD><EFBFBD><EFBFBD>蝵穃𧑐<EFBFBD><EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD><EFBFBD>嚗?

curl http://172.17.x.x:3001/health

<EFBFBD><EFBFBD><EFBFBD>餈𥪜<EFBFBD>嚗?

{
  "status": "ok",
  "timestamp": "2025-12-24T12:00:00.000Z",
  "database": "connected",
  "uptime": 123
}

4. <20>唳旿摨栞<E691A8><E6A09E><EFBFBD>霂?

<EFBFBD><EFBFBD>交𠯫敹𦯀葉<EFBFBD>臬炏<EFBFBD>㗇㺭<EFBFBD><EFBFBD>餈墧𦻖<EFBFBD>𣂼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䭾𥁒<EFBFBD>嗘縑<EFBFBD><EFBFBD>?

5. 霈啣<E99C88><E595A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

  • 霈啣<EFBFBD>Node.js<6A>𡒊垢<F0A1928A><E59EA2><EFBFBD>蝵穃𧑐<E7A983><F0A79190><EFBFBD>聢撘𧶏<E69298>http://172.17.x.x:3001嚗?
  • <EFBFBD>湔鰵<EFBFBD><EFBFBD>蝵脫<EFBFBD><EFBFBD>

<EFBFBD><20>𡒊賒甇仿炊

Node.js<6A>𡒊垢<F0A1928A>函蔡<E587BD>𣂼<EFBFBD><F0A382BC>𠬍<EFBFBD>

  1. <EFBFBD>湔鰵<EFBFBD>滨垢Nginx<EFBFBD>滨蔭

    • <EFBFBD>ode.js<6A>𡒊垢<F0A1928A><E59EA2><EFBFBD>蝵穃𧑐<E7A983><F0A79190><EFBFBD>滨蔭<E6BBA8><EFBFBD>蝡烤ginx
    • <EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗䫤VITE_API_BASE_URL=http://172.17.x.x:3001`
  2. <EFBFBD>函蔡<EFBFBD>滨垢Nginx

    • 雿輻鍂Node.js<6A>𡒊垢<F0A1928A><E59EA2><EFBFBD>蝵穃𧑐<E7A983><F0A79190>
    • 摰峕<EFBFBD><EFBFBD>滨垢摨𠉛鍂<EFBFBD><EFBFBD>AE<EFBFBD>函蔡
  3. *<EFBFBD>券曎頝舀<EFBFBD>霂?

    • <EFBFBD>滨垢 <20>?Node.js<6A>𡒊垢 <20>?Python敺格<E695BA><E6A0BC>?<3F>?RDS
    • 撉諹<EFBFBD>摰峕㟲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝔?

<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>埝䰻

<EFBFBD><EFBFBD>1嚗𡁜<EFBFBD><EFBFBD><EFBFBD>瘜訫鍳<EFBFBD>?

<EFBFBD><EFBFBD>𠶖嚗𡁜<EFBFBD>摨瑟<EFBFBD><EFBFBD><EFBFBD><EFBFBD>游仃韐伐<EFBFBD>摨𠉛鍂<EFBFBD>曄內"撘<>虜"

<EFBFBD>埝䰻甇仿炊嚗?

  1. <EFBFBD><EFBFBD>"摰墧𧒄<E5A2A7><EFBFBD>"嚗峕<E59A97><E5B395>亙鍳<E4BA99><EFBFBD>霂?
  2. 撣貉<EFBFBD><EFBFBD><EFBFBD>嚗?
    • DATABASE_URL<EFBFBD><EFBFBD><EFBFBD>躰秤嚗㇀<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
    • 蝡臬藁<EFBFBD>滨蔭銝滚龪<EFBFBD>?
    • <EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝻箏仃

<EFBFBD><EFBFBD>2嚗𡁏㺭<EFBFBD><EFBFBD>餈墧𦻖憭梯揖

<EFBFBD><EFBFBD>𠶖嚗𡁏𠯫敹埈遬蝷箸㺭<EFBFBD><EFBFBD>餈墧𦻖頞<EFBFBD>𧒄

<EFBFBD>埝䰻甇仿炊嚗?

  1. <EFBFBD><EFBFBD>充DS<EFBFBD><EFBFBD><EFBFBD>閙糓<EFBFBD><EFBFBD><EFBFBD>侮PC蝵烐挾嚗?72.17.0.0/16嚗?
  2. <EFBFBD><EFBFBD>主ATABASE_URL銝剔<EFBFBD><EFBFBD><EFBFBD><EFBFBD>臬炏甇<EFBFBD>蝻𣇉<EFBFBD>嚗㇀蝻𣇉<EFBFBD>銝?40嚗?
  3. <EFBFBD>沒AE<EFBFBD><EFBFBD>ebshell銝剜<EFBFBD>霂𤏪<EFBFBD>
    curl -v telnet://pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432
    

<EFBFBD><EFBFBD>3嚗𡁜<EFBFBD>摨瑟<EFBFBD><EFBFBD>亥楝敺?04

<EFBFBD><EFBFBD>𠶖嚗𡁜<EFBFBD>摨瑟<EFBFBD><EFBFBD>交遬蝷慵TTP 404<30>躰秤

**閫<><E996AB><EFBFBD><EFBFBD>**嚗?

  • 蝖株恕<EFBFBD>亙熒璉<EFBFBD><EFBFBD>亥楝敺<EFBFBD>/health<EFBFBD><EFBFBD><EFBFBD>?/api/health嚗?
  • 蝖株恕<EFBFBD>亙熒璉<EFBFBD><EFBFBD>亦垢<EFBFBD><EFBFBD>3001

<EFBFBD><EFBFBD> 摰匧<E691B0>瘜冽<E7989C>鈭钅★

  1. JWT撖<EFBFBD>𤨎靽脲擪嚗?

    • <EFBFBD>?撌脩<E6928C><E884A9>𣂼撩<F0A382BC>𤩺㦤撖<E3A6A4>𤨎
    • <EFBFBD>𩤃<EFBFBD> 銝滩<E98A9D><EFBFBD><E692A0><EFBFBD><EFBFBD>鈭文<E988AD>Git
    • <EFBFBD>𩤃<EFBFBD> 銝滩<E98A9D><E6BBA9>冽𠯫敹𦯀葉<F0A6AF80>枏㫲撖<E3ABB2>𤨎
  2. **<2A>唳旿摨枏<E691A8><E69E8F><EFBFBD><EFBFBD><EFBFBD>?*嚗?

    • <EFBFBD>?雿輻鍂<E8BCBB><EFBFBD><E887AC><EFBFBD>蝞∠<E89D9E>
    • <EFBFBD>𩤃<EFBFBD> 瘜冽<E7989C>URL蝻𣇉<E89DBB>嚗㇀蝻𣇉<E89DBB>銝?40嚗?
  3. API撖<EFBFBD>𤨎靽脲擪嚗?

    • <EFBFBD>?<3F><><EFBFBD>𧜵LM API撖<49>𤨎撌脤<E6928C>蝵桐蛹<E6A190><EFBFBD><E887AC><EFBFBD>
    • <EFBFBD>𩤃<EFBFBD> 摰𡁏<E691B0>頧格揢撖<E68FA2>𤨎

<EFBFBD><EFBFBD><EFBFBD>𥕦遣<EFBFBD>園𡢿嚗?025-12-24 **蝏湔擪鈭箏<E988AD>**嚗朞<E59A97>蝏游𣪧<E6B8B8>?