Files
AIclinicalresearch/docs/05-部署文档/00-阿里云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

15 KiB
Raw Blame History

<EFBFBD><EFBFBD> AI銝游<E98A9D><E6B8B8>𠉛弦撟喳蝱 - <20><EFBFBD>鈭騌AE<41><45><EFBFBD><EFBFBD>摰䂿𠶖<E482BF><F0A0B696>扇敶?

**<2A><><EFBFBD><EFBFBD>?*嚗朞扇敶閖燵<E99696><EFBFBD>SAE<41>滚𦛚<E6BB9A><EFBFBD><E586BD><EFBFBD>摰䂿𠶖<E482BF>?+ 瘥𤩺活<F0A4A9BA>函蔡霈啣<E99C88>
**<2A><><EFBFBD>擧凒<E693A7>?*嚗?026-01-01 14:00
**蝏湔擪鈭箏<E988AD>**嚗𡁜<E59A97><F0A1819C>穃𣪧<E7A983>? **霂湔<E99C82>**嚗𡁏𧋦<F0A1818F><F0A78BA6><EFBFBD><EFB99D>霈啣<E99C88>SAE銝𦠜<E98A9D><F0A6A09C><EFBFBD><E58CA7><EFBFBD>敶枏<E695B6><E69E8F><EFBFBD><E59786><EFBFBD><EFBFBD><EFBFBD>𡠺<EFBFBD><F0A1A0BA><EFBFBD><EFBFBD><EFBFBD><E595A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8AE90><EFBFBD><E7A094><EFBFBD><EFBFBD><EFBFBD><E69296>蝑匧<E89D91><E58CA7><EFBFBD>皞𣂷縑<F0A382B7>?


<EFBFBD><EFBFBD><><E98A9D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝵脩𠶖<E884A9><F0A0B696><EFBFBD>閫?

<EFBFBD>滚𦛚<EFBFBD>滨妍 <EFBFBD>函蔡<EFBFBD><EFBFBD>? <EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>𧋦 <EFBFBD>函蔡雿滨蔭 <EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD>唳𧒄<EFBFBD>?
*PostgreSQL<EFBFBD>唳旿摨? <EFBFBD>?餈鞱<E9A488>銝? PostgreSQL 15 RDS 2025-12-24
<EFBFBD>滨垢Nginx<EFBFBD>滚𦛚 <EFBFBD>?餈鞱<E9A488>銝? v1.2 SAE 2026-01-01
*Python敺格<EFBFBD><EFBFBD>? <EFBFBD>?餈鞱<E9A488>銝? v1.0 SAE 2025-12-24
Node.js<6A>𡒊垢 <EFBFBD>?餈鞱<E9A488>銝? v1.3 SAE 2025-12-25
Dify AI<41>滚𦛚 <EFBFBD>?<3F><EFBFBD>蝵? - - -

<EFBFBD><EFBFBD> 鈭䎚<E988AD><E48E9A><EFBFBD><EFBFBD><EFBFBD><E99F8F>靽⊥<E99DBD>

2.1 ACR摰孵膥<E5ADB5>𨅯<EFBFBD>隞枏<E99A9E>

**<2A>箸𧋦靽⊥<E99DBD>**嚗?- <EFBFBD><EFBFBD>蝛粹𡢿嚗䫤ai-clinical`

  • **Registry<72><EFBFBD><EFBFBD><E59A97>蝵𡢅<E89DB5>**嚗䫤crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com`
  • **Registry<72><EFBFBD>嚗ĀPC嚗?*嚗䫤crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com`
  • **<2A><EFBFBD><E586BD>?*嚗䫤gofeng117@163.com`
  • **撖<><E69296>**嚗䫤fengzhibo117`

**<2A>𨅯<EFBFBD>隞枏<E99A9E><E69E8F>𡑒”**嚗?

隞枏<EFBFBD><EFBFBD>滨妍 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <EFBFBD>𨅯<EFBFBD>憭批<EFBFBD> VPC<EFBFBD><EFBFBD>
python-extraction v1.0 1.12GB crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction:v1.0
ai-clinical_frontend-nginx v1.2 ~50MB crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.2
backend-service v1.3 838MB crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.3

2.2 VPC蝵𤑳<E89DB5>銝𥦬AT蝵穃<E89DB5>

**VPC靽⊥<E99DBD>**嚗?- VPC ID嚗䫤vpc-2ze055cptkew9c38w4r06`

  • VPC<EFBFBD>滨妍嚗䫤ai-clinical-vpc`
  • 蝵烐挾嚗䫤172.17.0.0/16`
  • **<2A><EFBFBD>**嚗𡁜<E59A97><F0A1819C>?嚗<><E59A97>鈭穿<E988AD>
  • **鈭斗揢<E69697>?**嚗䫤vsw-2zevacop039bxrmj6yc0c<EFBFBD><EFBFBD>典躹F嚗?- **鈭斗揢<E69697>?**嚗䫤vsw-2zehoeyw9ldncymcyvfwq<EFBFBD><EFBFBD>典躹A嚗?- 摰匧<EFBFBD><EFBFBD>D嚗䫤sg-2zedk6fi8sgmmcwdu7tu`

**NAT蝵穃<E89DB5>靽⊥<E99DBD>**嚗?- NAT蝵穃<EFBFBD><EFBFBD>滨妍嚗䫤NAT_airesearch`

  • NAT蝵穃<EFBFBD>ID嚗䫤ngw-2zeec9ulzgw7ywvx1pst6`
  • **<2A><EFBFBD>IP嚗𠄌IP嚗?*嚗䫤182.92.176.14`
  • SNAT銵沉D嚗䫤stb-2zesszmzx1qpwf1cb2bry`

2.3 RDS PostgreSQL<51>唳旿摨?

**摰硺<E691B0>靽⊥<E99DBD>**嚗?- 摰硺<EFBFBD>ID嚗䫤pgm-2zex1m2y3r23hdn5`

  • <EFBFBD>嚗?<3F>?GB嚗īg.n2.2c.1m嚗?- 摮睃<EFBFBD>蝛粹𡢿嚗?00GB嚗𠄎SD鈭𤑳<E988AD>嚗?- PostgreSQL<EFBFBD><EFBFBD>𧋦嚗?5.0
  • **<2A><><EFBFBD><EFBFBD><EFBFBD>**嚗䫤pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432`
  • **憭𣇉<E686AD><F0A38789><EFBFBD>**嚗䫤pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com`嚗<><E59A97>儭?撌脣<E6928C><E884A3><EFBFBD>
  • <EFBFBD><EFBFBD>憭扯<EFBFBD><EFBFBD>交㺭嚗?00
  • <EFBFBD>嗅躹嚗鋫sia/Shanghai
  • **<2A><EFBFBD><E8B3A2>?*嚗?72.17.0.0/16嚗ĀPC蝵烐挾嚗? **<2A>唳旿摨㯄<E691A8>蝵?*嚗?- **<2A>唳旿摨枏<E691A8>**嚗䫤ai_clinical_research`
  • **<2A><EFBFBD><E586BD>?*嚗䫤airesearch`
  • **撖<><E69296>**嚗䫤Xibahe@fengzhibo117`
  • **摮㛖泵<E39B96>?*嚗䦧TF8
  • **<2A><EFBFBD><EFBFBD><E996AB>**嚗塄n_US.utf8

**餈墧𦻖摮㛖泵銝?*嚗?``` postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research

<EFBFBD>𩤃<EFBFBD> 瘜冽<E7989C>嚗𡁜<E59A97><F0A1819C><EFBFBD><EFBFBD>?`@` <20><><EFBFBD>RL蝻𣇉<E89DBB>銝?`%40`

**Schema<6D><EFBFBD>**嚗?1銝芯<E98A9D><E88AAF>﹖chema嚗㚁<E59A97>

| Schema<6D>滨妍 | <20><EFBFBD><E79285> | 銵冽㺭<E586BD>?| 霂湔<E99C82> |
|-----------|---------|-------|------|
| `platform_schema` | 撟喳蝱<E596B3><EFBFBD> | 8 | <20><EFBFBD><E586BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E58390><EFBFBD><EFBFBD><E28ABF><EFBFBD>pg-boss嚗?|
| `asl_schema` | 蝟餌<E89D9F><E9A48C><EFBFBD>讃蝑𥟇䰻 | 6 | 憿寧𤌍<E5AFA7><F0A48C8D><EFBFBD><EFBFBD><EFBFBD><E69FB4><EFBFBD><EFBFBD>亥扇敶?|
| `aia_schema` | AI<41><EFBFBD><E7AE84><EFBFBD> | 5 | AI憿寧𤌍<E5AFA7><F0A48C8D><EFBFBD><EFBFBD><EFBFBD>?|
| `dc_schema` | <20>唳旿皜<E697BF><E79A9C> | 6 | 撌亙<E6928C>A/B/C<>唳旿憭<E697BF><E686AD> |
| `pkb_schema` | 銝芯犖<E88AAF><EFBFBD>摨?| 5 | <20><>讃蝞∠<E89D9E><E288A0><EFBFBD><EFBFBD>霈?|
| `iit_schema` | IIT Manager Agent | 5 | IIT憿寧𤌍<E5AFA7><F0A48C8D><EFBFBD>摰⊥瓲<E28AA5><EFBFBD><E585B6><EFBFBD><EFBFBD><EFBFBD>銵?|
| `admin_schema` | 蝟餌<E89D9F>蝞∠<E89D9E> | 0 | 憸<><E686B8> |
| `rvw_schema` | <20><><EFBFBD>鮋▽ | 0 | 憸<><E686B8> |
| `ssa_schema` | <20><EFBFBD>蝏蠘恣<E8A098><E681A3><EFBFBD> | 0 | 憸<><E686B8> |
| `st_schema` | 蝏蠘恣撌亙<E6928C> | 0 | 憸<><E686B8> |
| `common_schema` | <20><EFBFBD><E79285> | 0 | 憸<><E686B8> |

---

### 2.4 SAE Serverless摨𠉛鍂

**<2A><EFBFBD>蝛粹𡢿**嚗?- **<2A><EFBFBD>蝛粹𡢿ID**嚗䫤cn-beijing:test-airesearch`
- **<2A><EFBFBD>**嚗𡁜<E59A97><F0A1819C>?嚗<><E59A97>鈭穿<E988AD>

**撌脤<E6928C>蝵脣<E89DB5><E884A3><EFBFBD>銵?*嚗?
| 摨𠉛鍂<F0A0899B>滨妍 | <20><EFBFBD>?| 閫<>聢 | 摰硺<E691B0><E7A1BA>?| 蝡臬藁 | <20><><EFBFBD><EFBFBD><EFBFBD> | <20>𨅯<EFBFBD><F0A885AF><EFBFBD>𧋦 |
|---------|------|------|-------|------|---------|---------|
| **python-extraction-test** | <20>?餈鞱<E9A488>銝?| 1<>?GB | 1 | 8000 | `http://172.17.173.66:8000` | v1.0 |
| **nodejs-backend-test** | <20>?餈鞱<E9A488>銝?| 1<>?GB | 1 | 3001 | `http://172.17.173.73:3001` | v1.3 |
| **frontend-nginx-service** | <20>?餈鞱<E9A488>銝?| 0.5<EFBFBD>?GB | 1 | 80 | `http://172.17.173.80:80` | v1.2 |

**<2A><EFBFBD><E887AC><EFBFBD><E3979B>滨蔭**嚗?
**Node.js<6A>𡒊垢嚗ěodejs-backend-test嚗?*嚗?```bash
NODE_ENV=production
PORT=3001
DATABASE_URL=postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research?connection_limit=18&pool_timeout=10

# Python敺格<E695BA><E6A0BC>𧑐<E288AA><F0A79190>
EXTRACTION_SERVICE_URL=http://172.17.173.66:8000

# OSS<53>滨蔭
OSS_ACCESS_KEY_ID=LTAI5tB2Dt3NdvBL3G7nYGv7
OSS_ACCESS_KEY_SECRET=1iSN9k39RkApP93QjUhC1DcPIeMG4V
OSS_BUCKET=ai-clinical-research
OSS_ENDPOINT=oss-cn-beijing-internal.aliyuncs.com
OSS_REGION=cn-beijing

# JWT撖<54>𤨎
JWT_SECRET=8a3f9e7c2d1b5a4e6f8c9d0a3b5e7f1c2a4b6c8d0e2f4a6b8c0d2e4f6a8b0c2d4
JWT_EXPIRES_IN=7d

# LLM API Keys
DEEPSEEK_API_KEY=sk-7f8cc37a79fa4799860b38fc7ba2e150
DASHSCOPE_API_KEY=sk-75b4ff29a14a49e79667a331034f3298

# CloseAI<41>滨蔭
CLOSEAI_API_KEY=sk-cu0iepbXYGGx2jc7BqP6ogtSWmP6fk918qV3RUdtGC3Ed1po
CLOSEAI_OPENAI_BASE_URL=https://api.openai-proxy.org/v1
CLOSEAI_CLAUDE_BASE_URL=https://api.openai-proxy.org/anthropic

# Dify<66>滨蔭
DIFY_API_URL=http://localhost/v1
DIFY_API_KEY=dataset-mfvdiKvQ213NvxWm7RoYMN3c

# Postgres-Only<6C><EFBFBD>
QUEUE_TYPE=pgboss
CACHE_TYPE=postgres

# 隡<><E99AA1>敺桐縑<E6A190>滨蔭
WECHAT_CORP_ID=ww6ab493470ab4f377
WECHAT_AGENT_ID=1000002
WECHAT_CORP_SECRET=AZIVxMtoLb0rEszXS81e4dBRl-I9kgTjygIS0cFfENU

**<2A>滨垢Nginx嚗Êrontend-nginx-service嚗?*嚗?```bash BACKEND_SERVICE_HOST=172.17.173.73 BACKEND_SERVICE_PORT=3001


**Python敺格<E695BA><E6A0BC><EFBFBD>python-extraction-test嚗?*嚗?```bash
LOG_LEVEL=INFO
TEMP_DIR=/tmp/extraction_service

2.5 OSS撖寡情摮睃<E691AE>

**Bucket靽⊥<E99DBD>**嚗?- Bucket<EFBFBD>滨妍嚗䫤ai-clinical-research`

  • **<2A><EFBFBD>**嚗𡁜<E59A97><F0A1819C>?嚗<><E59A97>鈭穿<E988AD>
  • **摮睃<E691AE>蝐餃<E89D90>**嚗𡁏<E59A97><F0A1818F><EFBFBD><EFBFBD><EFBFBD>?- **霈輸䔮<E8BCB8><EFBFBD>**嚗𡁶<E59A97><F0A181B6>?- **摮睃<E691AE><E79D83>𦯀<EFBFBD>蝐餃<E89D90>**嚗𡁜<E59A97><F0A1819C>𤾸<EFBFBD>雿坔<E99BBF><E59D94>?- <EFBFBD><EFBFBD><EFBFBD>Endpoint嚗䫤oss-cn-beijing-internal.aliyuncs.com`
  • <EFBFBD><EFBFBD>Endpoint嚗䫤oss-cn-beijing.aliyuncs.com`
  • **Bucket<65><EFBFBD><EFBFBD><E59A97>蝵𡢅<E89DB5>**嚗䫤ai-clinical-research.oss-cn-beijing-internal.aliyuncs.com`
  • <EFBFBD>𥕦遣<EFBFBD>園𡢿嚗?025-12-16 20:22

**RAM<41><EFBFBD>霈輸䔮<E8BCB8><EFBFBD>**嚗?- **RAM<41><EFBFBD><E586BD>?*嚗䫤oss-bucket-put-object@1991407246109125.onaliyun.com`

  • AccessKeyId嚗䫤LTAI5tB2Dt3NdvBL3G7nYGv7`
  • AccessKeySecret嚗䫤1iSN9k39RkApP93QjUhC1DcPIeMG4V`
  • UID嚗䫤203256565888301026`
  • <EFBFBD>𥕦遣<EFBFBD>園𡢿嚗?025-12-16 20:31:41

<EFBFBD>𩤃<EFBFBD> **摰匧<E691B0>霅血<E99C85>**嚗鋫ccessKey<65><EFBFBD><E88880>煺縑<E785BA><EFBFBD>霂瑕嚉<E79195>𣂷漱<F0A382B7><EFBFBD><EFBFBD>Git隞枏<E99A9E>嚗? **摮睃<E691AE><E79D83><EFBFBD>?*嚗?- /uploads/pdfs/ - PDF<44><46>辣銝𠹺<E98A9D>

  • /uploads/docx/ - Word<72><64>﹝銝𠹺<E98A9D>
  • /uploads/txt/ - <20><>𧋦<EFBFBD><F0A78BA6>辣銝𠹺<E98A9D>
  • /exports/ - 撖澆枂<E6BE86><E69E82>辣銝湔𧒄摮睃<E691AE>

2.6 CLB韐蠘蝸<E8A098><E89DB8><EFBFBD>?

**<2A><EFBFBD>霈輸䔮<E8BCB8><EFBFBD>**嚗?- <EFBFBD><EFBFBD>IP嚗䫤8.140.53.236`

  • **霈輸䔮<E8BCB8><EFBFBD>**嚗䫤http://8.140.53.236/`
  • **<2A><EFBFBD>蝏穃<E89D8F>**嚗䫤https://iit.xunzhengyixue.com/<EFBFBD>歇憭<EFBFBD><EFBFBD>嚗?- **<2A>𡒊垢<F0A1928A>滚𦛚<E6BB9A>?*嚗䫤172.17.173.80:80<EFBFBD><EFBFBD>蝡烤ginx嚗?- <EFBFBD>穃𨯬蝡臬藁嚗?0嚗𠃍TTP嚗?

<EFBFBD>𣑐 銝剹<E98A9D><E589B9><EFBFBD>函蔡<E587BD>滚𦛚霂行<E99C82>

3.1 PostgreSQL<51>唳旿摨?

  • <EFBFBD>函蔡<EFBFBD>園𡢿嚗?025-12-24
  • **<2A>函蔡<E587BD><EFBFBD>**嚗䫤pg_dump` <20><EFBFBD>撖澆枂 <20>?RDS撖澆<E69296>
  • <EFBFBD>唳旿餈<EFBFBD><EFBFBD>園鵭嚗𡁶漲12蝘𡜐<EFBFBD>90MB SQL<51><4C>辣嚗?- **撉諹<E69289><E8ABB9><EFBFBD>?*嚗尠<E59A97> Schema摰峕㟲<E5B395><E39FB2><EFBFBD><EFBFBD><E6A190><EFBFBD><E6B0AC><EFBFBD>蝟餅迤蝖?- <EFBFBD><EFBFBD><EFBFBD>嚗䫤AIclinicalresearch/rds_init_20251224_154529.sql`嚗?0MB嚗?- RDS<EFBFBD>芸𢆡憭<EFBFBD>嚗𡁏<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F><EFBFBD>靽萘<E99DBD>7憭抬<E686AD>

3.2 <20>滨垢Nginx<6E>滚𦛚

敶枏<EFBFBD><EFBFBD>函蔡<EFBFBD><EFBFBD>𧋦嚗鯝1.2

**<2A>𨅯<EFBFBD>靽⊥<E99DBD>**嚗?- 隞枏<EFBFBD><EFBFBD>滨妍嚗䫤ai-clinical_frontend-nginx`

  • <EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>𧋦嚗䫤v1.2` <20><><EFBFBD>敶枏<E695B6><E69E8F>函蔡<E587BD><E894A1>𧋦嚗?- **<2A>𨅯<EFBFBD>憭批<E686AD>**嚗𡁶漲50MB
  • **<2A><EFBFBD><E7AE87>𨅯<EFBFBD>**嚗䫤nginx:alpine`
  • <EFBFBD><EFBFBD><EFBFBD>園𡢿嚗?026-01-01
  • **<2A>𨅯<EFBFBD><F0A885AF><EFBFBD>**嚗窃ha256:1b444d3d04e0e0e62a50009f165991b7d0192d7e21804aa9a3b3558e5aec7961

**<2A>函蔡<E587BD><EFBFBD>?*嚗?- <20>?撌脫<E6928C><E884AB><EFBFBD>蝵脣<E89DB5>SAE嚗?026-01-01嚗?- <20>?<3F>滚𦛚餈鞱<E9A488><EFBFBD>虜嚗<E8999C><E59A97>蝵穃𧑐<E7A983><F0A79190>嚗冴ttp://172.17.173.80:80嚗?- <20>?隡<><E99AA1>敺桐縑<E6A190><EFBFBD>撉諹<E69289><E8ABB9><EFBFBD>辣撌脤<E6928C>蝵莎<E89DB5>WW_verify_YnhsQBwI0ARnNoG0.txt嚗? v1.2<EFBFBD><EFBFBD>𧋦<EFBFBD>湔鰵<EFBFBD><EFBFBD>嚗?- <20>?靽桀<E99DBD>Windows<77><EFBFBD>蝚阡䔮憸矋<E686B8>docker-entrypoint.sh CRLF<4C>䓴F嚗?- <20>?瘛餃<E7989B><EFBFBD><E99AA1>敺桐縑<E6A190><EFBFBD>撉諹<E69289><E8ABB9><EFBFBD>

  • <EFBFBD>𩤃<EFBFBD> <20>函蔡<E587BD>𤾸<EFBFBD>蝵穃𧑐<E7A983><F0A79190>撌脣<E6928C><E884A3><EFBFBD>172.17.173.72 <20>?172.17.173.80

**Git<69><74>辣蝏𤘪<E89D8F>**嚗?``` AIclinicalresearch/frontend-v2/ <0A><EFBFBD><E98EBF><EFBFBD> Dockerfile <20>?撌脫<E6928C>鈭二it嚗<74><E59A97><EFBFBD>嗆挾<E59786><E68CBE>遣嚗?<3F><EFBFBD><E98EBF><EFBFBD> .dockerignore <20>?撌脫<E6928C>鈭二it嚗<74><E59A97><EFBFBD>𡝗<EFBFBD>撱箔<E692B1>銝𧢲<E98A9D>嚗?<3F><EFBFBD><E98EBF><EFBFBD> nginx.conf <20>?撌脫<E6928C>鈭二it嚗𠃊ginx<6E>滨蔭嚗?<3F><EFBFBD><E98EBF><EFBFBD> docker-entrypoint.sh <20>?撌脫<E6928C>鈭二it嚗<74><EFBFBD><EFBFBD><E588BB>穿<EFBFBD>Unix<69><EFBFBD>蝚佗<E89D9A> <0A><EFBFBD><E5A999><EFBFBD> public/ <0A><EFBFBD><E5A999><EFBFBD> WW_verify_YnhsQBwI0ARnNoG0.txt <20>?隡<><E99AA1>敺桐縑<E6A190><EFBFBD>撉諹<E69289><E8ABB9><EFBFBD>


---

### 3.3 Node.js<6A>𡒊垢<F0A1928A>滚𦛚

**敶枏<E695B6><E69E8F>函蔡<E587BD><E894A1>𧋦**嚗鯝1.3

**<2A>𨅯<EFBFBD>靽⊥<E99DBD>**嚗?- **隞枏<E99A9E><E69E8F>滨妍**嚗䫤backend-service`
- **<2A>𨅯<EFBFBD><F0A885AF><EFBFBD>𧋦**嚗䫤v1.3` <20><><EFBFBD>撌脤<E6928C>蝵莎<E89DB5>
- **<2A>𨅯<EFBFBD>憭批<E686AD>**嚗?38MB (<28>讠憬<E8AEA0>?~186MB)
- **<2A><EFBFBD><E7AE87>𨅯<EFBFBD>**嚗䫤node:22-alpine`
- **<2A><><EFBFBD>園𡢿**嚗?025-12-25 18:43
- **<2A><>遣蝑𣇉裦**嚗𡁏㺿餈𤤿<E9A488><F0A4A4BF><EFBFBD>B嚗<42>𧋦<EFBFBD><EFBFBD>霂?Docker<65><EFBFBD>嚗?- **<2A>𨅯<EFBFBD><F0A885AF><EFBFBD>**嚗窃ha256:a4ffb61c15af1cd1ed9de187b4464a1aab773918e5b41b4df5b8ad96514f9941

**<2A><><EFBFBD>舀沲<E88880>?*嚗?- **Node.js<6A><73>𧋦**嚗?2.x
- **Prisma<6D><61>𧋦**嚗?.17.0
- **ORM**嚗䥪risma嚗<61>𣈲<EFBFBD><F0A388B2><EFBFBD>Schema嚗?- **Web獢<62>沲**嚗鎄astify
- **<2A><EFBFBD>蝟餌<E89D9F>**嚗䮝g-boss嚗㇊ostgres-Only<6C><EFBFBD>嚗?- **蝻枏<E89DBB>蝟餌<E89D9F>**嚗䥪ostgreSQL嚗<4C>𤜯隞Οedis嚗?
**<2A>函蔡<E587BD><EFBFBD>?*嚗?- <20>?撌脫<E6928C><E884AB><EFBFBD>蝵脣<E89DB5>SAE嚗?025-12-25 18:55嚗?- <20>?<3F>滚𦛚餈鞱<E9A488><EFBFBD>虜嚗<E8999C><E59A97>蝵穃𧑐<E7A983><F0A79190>嚗冴ttp://172.17.173.73:3001嚗?- <20>?<3F>亙熒璉<E78692><E79289>仿<EFBFBD><EFBFBD>

**Git<69><74>辣蝏𤘪<E89D8F>**嚗?```
AIclinicalresearch/backend/
<0A><EFBFBD><E98EBF><EFBFBD> Dockerfile             <20>?撌脫<E6928C>鈭二it嚗<74>㺿餈𤤿<E9A488><F0A4A4BF><EFBFBD>B嚗𡁏𧋦<F0A1818F><EFBFBD>霂?Docker<65><EFBFBD>嚗?<3F><EFBFBD><E98EBF><EFBFBD> .dockerignore         <20>?撌脫<E6928C>鈭二it嚗<74><E59A97><EFBFBD>𡝗<EFBFBD>撱箔<E692B1>銝𧢲<E98A9D>嚗?<3F><EFBFBD><E98EBF><EFBFBD> prisma/schema.prisma  <20>?撌脣<E6928C>甇充DS嚗?2銝芣芋<E88AA3>?30+<2B>喟頂摮埈挾嚗?<3F><EFBFBD><E5A999><EFBFBD> tsconfig.json         <20>?撌脖<E6928C><E88496><EFBFBD><E59094>㘾膄瘚贝<E7989A><E8B49D><EFBFBD>辣嚗?```

---

### 3.4 Python敺格<E695BA><E6A0BC>?
**敶枏<E695B6><E69E8F>函蔡<E587BD><E894A1>𧋦**嚗鯝1.0

**<2A>𨅯<EFBFBD>靽⊥<E99DBD>**嚗?- **隞枏<E99A9E><E69E8F>滨妍**嚗䫤python-extraction`
- **<2A>𨅯<EFBFBD><F0A885AF><EFBFBD>𧋦**嚗䫤v1.0`
- **<2A>𨅯<EFBFBD>憭批<E686AD>**嚗?.12GB
- **<2A><EFBFBD><E7AE87>𨅯<EFBFBD>**嚗䫤python:3-slim`
- **<2A><><EFBFBD>園𡢿**嚗?025-12-24

**<2A><EFBFBD><E79285>**嚗?- <20>?**PDF<44><46>𧋦<EFBFBD>𣂼<EFBFBD>**嚗䥪yMuPDF 1.26.7
- <20>?**Docx<63><78><EFBFBD>𣂼<EFBFBD>**嚗鐝ammoth + python-docx
- <20>?**<2A>唳旿皜<E697BF><E79A9C>嚗㇄C撌亙<E6928C>嚗?*嚗䮝andas 2.0+ / numpy 1.24+ / polars 0.19+
- <20>?**霂剛<E99C82><EFBFBD>瘚?*嚗饝angdetect
- <20>?**Nougat OCR**嚗𡁜歇蝘駁膄嚗<E88684><E59A97>撠誯<E692A0><E8AAAF>?.5GB嚗?
**<2A>函蔡<E587BD><EFBFBD>?*嚗?- <20>?撌脤<E6928C>蝵脣<E89DB5>SAE嚗?025-12-24嚗?- <20>?摨𠉛鍂餈鞱<E9A488><EFBFBD>虜嚗?銝泡orker餈𤤿<E9A488>嚗?- <20>?<3F><><EFBFBD>霈輸䔮<E8BCB8><EFBFBD>嚗䫤http://172.17.173.66:8000`
- <20>?<3F>亙熒璉<E78692><E79289>仿<EFBFBD><EFBFBD>

**Git<69><74>辣蝏𤘪<E89D8F>**嚗?```
AIclinicalresearch/extraction_service/
<0A><EFBFBD><E98EBF><EFBFBD> Dockerfile              <20>?撌脫<E6928C>鈭二it嚗<74><E59A97><EFBFBD>嗆挾<E59786><E68CBE>遣 + <20><EFBFBD>鈭烐<E988AD>嚗?<3F><EFBFBD><E98EBF><EFBFBD> .dockerignore          <20>?撌脫<E6928C>鈭二it嚗<74><E59A97><EFBFBD>𡝗<EFBFBD>撱箔<E692B1>銝𧢲<E98A9D>嚗?<3F><EFBFBD><E5A999><EFBFBD> requirements-prod.txt  <20>?撌脫<E6928C>鈭二it嚗<74>移蝞<E7A7BB>靘肽<E99D98><E882BD>𡑒”嚗?```

---

## <20><> <20><EFBFBD><E49C98><EFBFBD>蝵脣<E89DB5><E884A3>脰扇敶?
### 2026-01-01嚗<31><E59A97>蝡眠1.2<EFBFBD>函蔡 - 隡<><E99AA1>敺桐縑<E6A190><EFBFBD>撉諹<E69289>嚗争<E59A97>

#### <20>函蔡<E587BD>峕艶
- **<2A><EFBFBD>**嚗帋蛹隡<E89BB9><E99AA1>敺桐縑<E6A190><EFBFBD><E4BA99>滨蔭<E6BBA8>臭縑<E887AD><EFBFBD>嚗屸<E59A97><EFBFBD><EFBFBD>滨垢<E6BBA8>寧𤌍敶閖<E695B6>蝵脣<E89DB5><E884A3><EFBFBD><EFBFBD><E99C82>隞?- **<2A><EFBFBD>**嚗冴ttps://iit.xunzhengyixue.com/
- **撉諹<E69289><E8ABB9><EFBFBD>辣**嚗阳W_verify_YnhsQBwI0ARnNoG0.txt

#### <20>函蔡餈<E894A1><E9A488>銝𡡞䔮憸䀝耨憭?1. **<2A><EFBFBD><E6A185>𤑳緵**嚗𡁜<E59A97>蝡眠1.1<EFBFBD>函蔡憭梯揖嚗<EFBFBD><EFBFBD>典鍳<EFBFBD><EFBFBD>蝡见朖<EFBFBD><EFBFBD><EFBFBD>?   - <20>?<3F>啗情嚗锭AE<41><EFBFBD>銝箇征嚗<E5BE81><EFBFBD>函𠶖<E587BD><F0A0B696>遬蝷?撏拇<E6928F><E68B87><EFBFBD><E39A9A><EFBFBD>?
   - <20>?<3F>躰秤嚗䫤exec /docker-entrypoint.sh: no such file or directory`

2. **<2A>寞𧋦<E5AF9E><EFBFBD><E7AC94><EFBFBD><EFBFBD>**嚗?   - <20><> `docker-entrypoint.sh` 雿輻鍂鈭<E98D82>indows<77><EFBFBD>蝚佗<E89D9A>CRLF `\r\n`嚗?   - <20><> Linux摰孵膥<E5ADB5><E886A5>ash閫<68><E996AB><EFBFBD><EFBFBD>瘜閗<E7989C><E99697>青RLF<4C><EFBFBD><E6BE86><EFBFBD><EFBFBD><EFBFBD>?   - <20><> 餈蹱糓銝<E7B393>銝芸<E98A9D><E88AB8><EFBFBD>頝典像<E585B8><EFBFBD><E595A3>煾䔮憸?
3. **閫<><E996AB><EFBFBD><EFBFBD>**嚗?   - <20>?撠?`docker-entrypoint.sh` 頧祆揢銝摻nix<69><EFBFBD>蝚佗<E89D9A>LF `\n`嚗?   - <20>?雿輻鍂PowerShell<6C>賭誘<E8B3AD><EFBFBD>頧祆揢
   - <20>?<3F>砍𧑐Docker瘚贝<E7989A>撉諹<E69289><E8ABB9><EFBFBD>

4. **<2A>𨅯<EFBFBD><F0A885AF><EFBFBD>遣銝擧綫<E693A7>?*嚗?   - <20>?<3F>齿鰵<E9BDBF><E9B0B5><EFBFBD>𨅯<EFBFBD><F0A885AF><EFBFBD>扇銝漓1.2嚗?3.7蝘𡜐<EFBFBD>
   - <20>?<3F><EFBFBD><E588B8><EFBFBD>ACR<43>𣂼<EFBFBD>嚗Ê̌igest: 1b444d3d...嚗?   - <20>?<3F>𨅯<EFBFBD><F0A885AF><EFBFBD>鉄隡<E98984><E99AA1>敺桐縑撉諹<E69289><E8ABB9><EFBFBD>辣

5. **SAE<41>函蔡<E587BD>𣂼<EFBFBD>**嚗?   - <20>?<3F>函蔡<E587BD>𨅯<EFBFBD><F0A885AF><EFBFBD>𧋦嚗鯝1.2
   - <20>?<3F><EFBFBD><E887AC><EFBFBD><E3979B>滨蔭嚗䫤BACKEND_SERVICE_HOST=172.17.173.73`, `BACKEND_SERVICE_PORT=3001`
   - <20>?摰孵膥<E5ADB5>臬𢆡甇<F0A286A1>虜嚗<E8999C><E59A97>摨瑟<E691A8><E7919F>仿<EFBFBD><EFBFBD>
   - <20>?<3F><EFBFBD>蝵穃𧑐<E7A983><F0A79190>嚗䫤http://172.17.173.80:80`
   - <20>𩤃<EFBFBD> IP<49><EFBFBD><E595A3><EFBFBD>嚗?72.17.173.72 <20>?172.17.173.80

#### <20><><EFBFBD><EFBFBD><E888AA><EFBFBD><EFBFBD>
1. **Windows<77><EFBFBD>蝚阡䔮憸?*嚗?   - <20><EFBFBD>嚗鎭it<69>汾indows銝𢠃<E98A9D>霈方蓮<E696B9>蛹CRLF
   - 閫<><E996AB>嚗帋蝙<E5B88B>?`.gitattributes` <20>𡝗<EFBFBD><F0A19D97>刻蓮<E588BB>?   - 撉諹<E69289>嚗䫤(Get-Content file -Raw) -match "\`r\`n"`

2. **摰孵膥靚<E886A5><E99D9A><EFBFBD><EFBFBD>撌?*嚗?   - <20>砍𧑐瘚贝<E7989A>嚗䫤docker run --rm -e KEY=VALUE image:tag`
   - <20><EFBFBD><E4BAA6><EFBFBD>嚗䫤docker logs container_name`
   - 餈𥕦<E9A488>摰孵膥嚗䫤docker exec -it container sh`

3. **SAE<41>函蔡<E587BD><E894A1>雿喳<E99BBF>頝?*嚗?   - <20><EFBFBD><E887AC><EFBFBD><EFBFBD><EFBFBD>滨蔭摰峕㟲
   - <20>砍𧑐<E7A08D><F0A79190><EFBFBD><EFBFBD><E99C82><EFBFBD>誩虾甇<E899BE>虜餈鞱<E9A488>
   - <20>函蔡<E587BD>穉P<E7A989><EFBFBD><E888AA><EFBFBD>嚗屸<E59A97><EFBFBD><EFBFBD><EFBFBD>韏𡝗<E99F8F><F0A19D97><EFBFBD><E288A0>滨蔭

#### <20>函蔡蝏𤘪<E89D8F>
- <20>?<3F>滨垢<E6BBA8>滚𦛚v1.2<EFBFBD>函蔡<EFBFBD>𣂼<EFBFBD>
- <20>?隡<><E99AA1>敺桐縑撉諹<E69289><E8ABB9><EFBFBD><EFBFBD>航挪<E888AA>?- <20>?蝟餌<E89D9F><E9A48C><EFBFBD>餈鞱<E9A488><EFBFBD>虜
- <20>𩤃<EFBFBD> <20><><EFBFBD><EFBFBD>𧶏<EFBFBD><F0A7B68F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>撌脫凒<E884AB><EFBFBD>靘肽<E99D98><E882BD>滨垢<E6BBA8><E59EA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E996AC><EFBFBD><EFBFBD>蝵?
---

### 2025-12-25嚗<35><E59A97><EFBFBD><EFBFBD>蝵脫<E89DB5><E884AB><EFBFBD>𠯫嚗咓<E59A97>?
#### 銝𠰴<E98A9D>嚗鐭ode.js<6A>𡒊垢<F0A1928A>函蔡
- <20>?Node.js<6A>𡒊垢<F0A1928A>𣂼<EFBFBD><F0A382BC>函蔡<E587BD>訕AE嚗ǒ1.3嚗?- <20>?靽桀<E99DBD>Alpine Linux bash頝臬<E9A09D><E887AC><EFBFBD>嚗?bin/bash <20>?/bin/sh嚗?- <20>?靽桀<E99DBD>config<69><EFBFBD>蝻箏仃<E7AE8F><EFBFBD>嚗㇄ockerfile銵亙<E98AB5>COPY config嚗?- <20>?靽桀<E99DBD>pino-pretty<74>煺漣<E785BA><EFBFBD><E887AC><EFBFBD><EFBFBD>辺隞嗅鍳<E59785><EFBFBD>
- <20>?靽桀<E99DBD>healthCheck ES Module<6C>澆捆<E6BE86><EFBFBD>require <20>?import嚗?- <20>?<3F><><EFBFBD>撘撇WT撖<54>𤨎嚗?4雿滚<E99BBF><E6BB9A><EFBFBD><E5899B><EFBFBD>

#### 銝剖<E98A9D>嚗𡁜<E59A97>蝡烤ginx<6E>函蔡
- <20>?<3F>滨垢Nginx<6E>𣂼<EFBFBD><F0A382BC>函蔡<E587BD>訕AE嚗ǒ1.0嚗?- <20>?<3F>滨垢<E6BBA8>滚𦛚餈鞱<E9A488><EFBFBD>虜嚗<E8999C><E59A97>蝵穃𧑐<E7A983><F0A79190>嚗冴ttp://172.17.173.72:80嚗?- <20>?<3F>滨垢<E6BBA8><EFBFBD>蝡臭誨<E887AD><E8AAA8><EFBFBD><EFBFBD><E99C82><EFBFBD>
- <20>?摰峕㟲<E5B395>曇楝瘚贝<E7989A><E8B49D><EFBFBD><EFBFBD><E59A97>蝡胼<E89DA1><E883BC>𡒊垢<F0A1928A>埝㺭<E59F9D><EFBFBD>嚗?
#### 銝见<E98A9D>嚗𡁶㴓憓<E3B493><E68693><EFBFBD>譍耨憭滢<E686AD>CLB<4C>滨蔭
- <20>?<3F>𤑳緵撌亙<E6928C>C<EFBFBD>?憭批<E686AD><E689B9>賣𥁒<E8B3A3><EFBFBD>connect ECONNREFUSED 127.0.0.1:8000嚗?- <20>?<3F>埝䰻撟嗡耨憭滚<E686AD><E6BB9A>桅䔮憸矋<E686B8><E79F8B><EFBFBD><E887AC><EFBFBD><E3979B><EFBFBD>霂?  - 隞<><E99A9E>雿輻鍂嚗䫤EXTRACTION_SERVICE_URL`
  - <20>躰秤<E8BAB0>滨蔭嚗䫤PYTHON_SERVICE_URL`
  - 甇<><EFBFBD>滨蔭嚗䫤EXTRACTION_SERVICE_URL=http://172.17.173.66:8000`
- <20>?Node.js<6A>𡒊垢<F0A1928A>齿鰵<E9BDBF>函蔡嚗䬠P<E4ACA0><EFBFBD><E595A3>湔鰵銝綽<E98A9D>http://172.17.173.73:3001
- <20>?<3F>湔鰵<E6B994>滨垢Nginx<6E><EFBFBD><E887AC><EFBFBD>嚗鋳ACKEND_SERVICE_HOST=172.17.173.73
- <20>?<3F>滨蔭CLB韐蠘蝸<E8A098><E89DB8><EFBFBD><EFBFBD><E58981><EFBFBD><E79195><EFBFBD>霈輸䔮<E8BCB8><EFBFBD>嚗冴ttp://8.140.53.236/
- <20>?撌亙<E6928C>C<EFBFBD>?憭批<E686AD><E689B9><EFBFBD><E8B3A2><EFBFBD>霂閖<E99C82><EFBFBD>
- <20>?<3F><>讃蝑𥟇䰻璅<E79285>瘚贝<E7989A><E8B49D><EFBFBD>
- <20>?摰峕㟲蝟餌<E89D9F><E9A48C>函蔡<E587BD>𣂼<EFBFBD>撉諹<E69289> <20><>

---

### 2025-12-24嚗<34><E59A97>憪钅<E686AA>蝵莎<E89DB5>

- <20>?PostgreSQL<51>唳旿摨㯄<E691A8>蝵脣<E89DB5><E884A3>?- <20>?<3F>滨垢Nginx Docker<65>𨅯<EFBFBD><F0A885AF><EFBFBD>遣撟嗆綫<E59786><E7B6AB>秐ACR
- <20>?Python敺格<E695BA><E6A0BC>ocker<65>𨅯<EFBFBD><F0A885AF><EFBFBD>遣撟嗆綫<E59786><E7B6AB>秐ACR
- <20>?Python敺格<E695BA><E6A0BC><EFBFBD><E28AA5><EFBFBD>蝵脣<E89DB5>SAE嚗<45><E59A97>蝵穃𧑐<E7A983><F0A79190>嚗?72.17.173.66:8000嚗?- <20>?閫<><E996AB>ACR<43>𨅯<EFBFBD><F0A885AF><EFBFBD><E58CA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E59A97>蝵桅<E89DB5><E6A185><EFBFBD>摨栞恕霂<E68195><E99C82>
- <20>?Node.js<6A>𡒊垢Prisma<6D><EFBFBD><E6BB9A>峕郊摰峕<E691B0>嚗?2銝芣芋<E88AA3><EFBFBD><E9A1B5>见𢆡銵亙<E98AB5>30+<2B>喟頂摮埈挾嚗?- <20>?Node.js<6A>𡒊垢TypeScript蝻𤥁<E89DBB>靽桀<E99DBD>摰峕<E691B0><EFBFBD>耨憭?00+<2B>躰秤<E8BAB0>?<3F>躰秤嚗?- <20>?Node.js<6A>𡒊垢Docker<65>𨅯<EFBFBD><F0A885AF><EFBFBD><EFBFBD>𣂼<EFBFBD>嚗?38MB嚗峕㺿餈𤤿<E9A488><F0A4A4BF><EFBFBD>B嚗?- <20>?Node.js<6A>𡒊垢<F0A1928A>𨅯<EFBFBD><F0A885AF><EFBFBD><E588B8>秐ACR嚗ǒ1.0嚗?
---

> **<2A>鞟內**嚗𡁏𧋦<F0A1818F><F0A78BA6>﹝霈啣<E99C88>SAE<41>滚𦛚<E6BB9A><EFBFBD><E587BD><EFBFBD><EFBFBD><EFBFBD>摰䂿𠶖<E482BF><F0A0B696><EFBFBD>瘥𤩺活<F0A4A9BA>函蔡<E587BD>𤾸<EFBFBD>憿餅凒<E9A485><EFBFBD>  
> **<2A><><EFBFBD>擧凒<E693A7>?*嚗?026-01-01 14:00  
> **敶枏<E695B6><E69E8F><EFBFBD>𧋦**嚗𡁜<E59A97>蝡眠1.2 | <20>𡒊垢v1.3 | Python v1.0 | PostgreSQL 15