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%)
337 lines
15 KiB
Markdown
337 lines
15 KiB
Markdown
# <20><> 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>?
|
||
---
|
||
|
||
## <20><> 銝<><E98A9D><EFBFBD><EFBFBD><EFBFBD>漤<EFBFBD>蝵脩𠶖<E884A9><F0A0B696><EFBFBD>閫?
|
||
| <20>滚𦛚<E6BB9A>滨妍 | <20>函蔡<E587BD>嗆<EFBFBD>?| <20>𨅯<EFBFBD><F0A885AF><EFBFBD>𧋦 | <20>函蔡雿滨蔭 | <20><><EFBFBD>擧凒<E693A7>唳𧒄<E594B3>?|
|
||
|---------|---------|---------|---------|-------------|
|
||
| **PostgreSQL<51>唳旿摨?* | <20>?餈鞱<E9A488>銝?| PostgreSQL 15 | RDS | 2025-12-24 |
|
||
| **<EFBFBD>滨垢Nginx<EFBFBD>滚𦛚** | <20>?餈鞱<E9A488>銝?| v1.2 | SAE | 2026-01-01 |
|
||
| **Python敺格<E695BA><E6A0BC>?* | <20>?餈鞱<E9A488>銝?| v1.0 | SAE | 2025-12-24 |
|
||
| **Node.js<6A>𡒊垢** | <20>?餈鞱<E9A488>銝?| v1.3 | SAE | 2025-12-25 |
|
||
| **Dify AI<41>滚𦛚** | <20>?<3F>芷<EFBFBD>蝵?| - | - | - |
|
||
|
||
---
|
||
|
||
## <20><> 鈭䎚<E988AD><E48E9A>燵<EFBFBD>䔶<EFBFBD>韏<EFBFBD><E99F8F>靽⊥<E99DBD>
|
||
|
||
### 2.1 ACR摰孵膥<E5ADB5>𨅯<EFBFBD>隞枏<E99A9E>
|
||
|
||
**<EFBFBD>箸𧋦靽⊥<EFBFBD>**嚗?- **<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`
|
||
|
||
**<EFBFBD>𨅯<EFBFBD>隞枏<EFBFBD><EFBFBD>𡑒”**嚗?
|
||
| 隞枏<E99A9E><E69E8F>滨妍 | <20><><EFBFBD>啁<EFBFBD><E59581>?| <20>𨅯<EFBFBD>憭批<E686AD> | VPC<50>啣<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<50>滨妍**嚗䫤ai-clinical-vpc`
|
||
- **蝵烐挾**嚗䫤172.17.0.0/16`
|
||
- **<2A>啣<EFBFBD>**嚗𡁜<E59A97><F0A1819C>?嚗<><E59A97>鈭穿<E988AD>
|
||
- **鈭斗揢<E69697>?**嚗䫤vsw-2zevacop039bxrmj6yc0c`嚗<>虾<EFBFBD>典躹F嚗?- **鈭斗揢<E69697>?**嚗䫤vsw-2zehoeyw9ldncymcyvfwq`嚗<EFBFBD>虾<EFBFBD>典躹A嚗?- **摰匧<E691B0>蝏<EFBFBD>D**嚗䫤sg-2zedk6fi8sgmmcwdu7tu`
|
||
|
||
**NAT蝵穃<E89DB5>靽⊥<E99DBD>**嚗?- **NAT蝵穃<E89DB5><E7A983>滨妍**嚗䫤NAT_airesearch`
|
||
- **NAT蝵穃<E89DB5>ID**嚗䫤ngw-2zeec9ulzgw7ywvx1pst6`
|
||
- **<2A>祉<EFBFBD>IP嚗𠄌IP嚗?*嚗䫤182.92.176.14`
|
||
- **SNAT銵沉D**嚗䫤stb-2zesszmzx1qpwf1cb2bry`
|
||
|
||
---
|
||
|
||
### 2.3 RDS PostgreSQL<51>唳旿摨?
|
||
**摰硺<E691B0>靽⊥<E99DBD>**嚗?- **摰硺<E691B0>ID**嚗䫤pgm-2zex1m2y3r23hdn5`
|
||
- **閫<>聢**嚗?<3F>?GB嚗īg.n2.2c.1m嚗?- **摮睃<E691AE>蝛粹𡢿**嚗?00GB嚗𠄎SD鈭𤑳<E988AD>嚗?- **PostgreSQL<51><4C>𧋦**嚗?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>
|
||
- **<2A><>憭扯<E686AD><E689AF>交㺭**嚗?00
|
||
- **<2A>嗅躹**嚗鋫sia/Shanghai
|
||
- **<2A>賢<EFBFBD><E8B3A2>?*嚗?72.17.0.0/16嚗ĀPC蝵烐挾嚗?
|
||
**<2A>唳旿摨㯄<E691A8>蝵?*嚗?- **<EFBFBD>唳旿摨枏<EFBFBD>**嚗䫤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 |
|
||
|
||
**<EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD><EFBFBD>滨蔭**嚗?
|
||
**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<65>滨妍**嚗䫤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`
|
||
- **<2A>祉<EFBFBD>Endpoint**嚗䫤oss-cn-beijing.aliyuncs.com`
|
||
- **Bucket<65>笔<EFBFBD>嚗<EFBFBD><E59A97>蝵𡢅<E89DB5>**嚗䫤ai-clinical-research.oss-cn-beijing-internal.aliyuncs.com`
|
||
- **<2A>𥕦遣<F0A595A6>園𡢿**嚗?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`
|
||
- **<2A>𥕦遣<F0A595A6>園𡢿**嚗?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/`嚗<>歇憭<E6AD87><E686AD>嚗?- **<2A>𡒊垢<F0A1928A>滚𦛚<E6BB9A>?*嚗䫤172.17.173.80:80`嚗<EFBFBD><EFBFBD>蝡烤ginx嚗?- **<EFBFBD>穃𨯬蝡臬藁**嚗?0嚗𠃍TTP嚗?
|
||
---
|
||
|
||
## <20>𣑐 銝剹<E98A9D><E589B9>歇<EFBFBD>函蔡<E587BD>滚𦛚霂行<E99C82>
|
||
|
||
### 3.1 PostgreSQL<51>唳旿摨?
|
||
- **<2A>函蔡<E587BD>園𡢿**嚗?025-12-24
|
||
- **<2A>函蔡<E587BD>孵<EFBFBD>**嚗䫤pg_dump` <20>券<EFBFBD>撖澆枂 <20>?RDS撖澆<E69296>
|
||
- **<2A>唳旿餈<E697BF>宏<EFBFBD>園鵭**嚗𡁶漲12蝘𡜐<E89D98>90MB SQL<51><4C>辣嚗?- **撉諹<E69289><E8ABB9>嗆<EFBFBD>?*嚗尠<E59A97> Schema摰峕㟲<E5B395><E39FB2>㺭<EFBFBD>桐<EFBFBD><E6A190>氬<EFBFBD><E6B0AC><EFBFBD>蝟餅迤蝖?- **憭<>遢<EFBFBD><E981A2>辣**嚗䫤AIclinicalresearch/rds_init_20251224_154529.sql`嚗?0MB嚗?- **RDS<44>芸𢆡憭<F0A286A1>遢**嚗𡁏<E59A97><F0A1818F>亙<EFBFBD><E4BA99>?<3F>對<EFBFBD>靽萘<E99DBD>7憭抬<E686AD>
|
||
|
||
---
|
||
|
||
### 3.2 <20>滨垢Nginx<6E>滚𦛚
|
||
|
||
**敶枏<E695B6><E69E8F>函蔡<E587BD><E894A1>𧋦**嚗鯝1.2
|
||
|
||
**<EFBFBD>𨅯<EFBFBD>靽⊥<EFBFBD>**嚗?- **隞枏<E99A9E><E69E8F>滨妍**嚗䫤ai-clinical_frontend-nginx`
|
||
- **<2A>𨅯<EFBFBD><F0A885AF><EFBFBD>𧋦**嚗䫤v1.2` <20><><EFBFBD>敶枏<E695B6><E69E8F>函蔡<E587BD><E894A1>𧋦嚗?- **<EFBFBD>𨅯<EFBFBD>憭批<EFBFBD>**嚗𡁶漲50MB
|
||
- **<2A>箇<EFBFBD><E7AE87>𨅯<EFBFBD>**嚗䫤nginx:alpine`
|
||
- **<2A><>遣<EFBFBD>園𡢿**嚗?026-01-01
|
||
- **<2A>𨅯<EFBFBD><F0A885AF>䁅<EFBFBD>**嚗窃ha256:1b444d3d04e0e0e62a50009f165991b7d0192d7e21804aa9a3b3558e5aec7961
|
||
|
||
**<EFBFBD>函蔡<EFBFBD>嗆<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>Z<EFBFBD>蝚阡䔮憸矋<E686B8>docker-entrypoint.sh CRLF<4C>䓴F嚗?- <20>?瘛餃<E7989B>隡<EFBFBD><E99AA1>敺桐縑<E6A190>笔<EFBFBD>撉諹<E69289><E8ABB9><EFBFBD>辣
|
||
- <20>𩤃<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/
|
||
<EFBFBD>鎿<EFBFBD><EFBFBD><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>Z<EFBFBD>蝚佗<E89D9A>
|
||
<EFBFBD>婙<EFBFBD><EFBFBD><EFBFBD> public/
|
||
<20>婙<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>嚗?- **<EFBFBD>𨅯<EFBFBD><EFBFBD>䁅<EFBFBD>**嚗窃ha256:a4ffb61c15af1cd1ed9de187b4464a1aab773918e5b41b4df5b8ad96514f9941
|
||
|
||
**<EFBFBD><EFBFBD><EFBFBD>舀沲<EFBFBD>?*嚗?- **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/
|
||
<EFBFBD>鎿<EFBFBD><EFBFBD><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
|
||
|
||
**<EFBFBD>蠘<EFBFBD>璅∪<EFBFBD>**嚗?- <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/
|
||
<EFBFBD>鎿<EFBFBD><EFBFBD><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. **<EFBFBD>寞𧋦<EFBFBD>笔<EFBFBD><EFBFBD><EFBFBD><EFBFBD>**嚗? - <20><> `docker-entrypoint.sh` 雿輻鍂鈭<E98D82>indows<77>Z<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>Z<EFBFBD>蝚佗<E89D9A>LF `\n`嚗? - <20>?雿輻鍂PowerShell<6C>賭誘<E8B3AD>寥<EFBFBD>頧祆揢
|
||
- <20>?<3F>砍𧑐Docker瘚贝<E7989A>撉諹<E69289><E8ABB9>朞<EFBFBD>
|
||
|
||
4. **<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>遣銝擧綫<EFBFBD>?*嚗? - <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>Z<EFBFBD>蝚阡䔮憸?*嚗? - <20>笔<EFBFBD>嚗鎭it<69>汾indows銝𢠃<E98A9D>霈方蓮<E696B9>V蛹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
|