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%)
16 KiB
<EFBFBD>臬<EFBFBD><EFBFBD>滨蔭<EFBFBD><EFBFBD><EFBFBD>
*<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>𧋦嚗? v1.0
*<EFBFBD>𥕦遣<EFBFBD>交<EFBFBD>嚗? 2025-11-09
蝏湔擪<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>臬𣪧<E887AC>? <EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD>堆<EFBFBD> 2025-11-09
<EFBFBD><EFBFBD> <20><>﹝霂湔<E99C82>
<EFBFBD>祆<EFBFBD>獢<EFBFBD>扇敶閧頂蝏蠘<EFBFBD>銵峕<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>函㴓憓<EFBFBD><EFBFBD><EFBFBD>誯<EFBFBD>蝵殷<EFBFBD><EFBFBD><EFBFBD>𡠺嚗?- <20>唳旿摨栞<E691A8><E6A09E>乩縑<E4B9A9>?- LLM API撖<49>𤨎<EFBFBD>滨蔭
- 蝚砌<EFBFBD><EFBFBD>寞<EFBFBD><EFBFBD>⊿<EFBFBD>蝵?- 摰匧<E691B0><E58CA7>詨<EFBFBD><E8A9A8>滨蔭
<EFBFBD><EFBFBD>儭?<3F>唳旿摨㯄<E691A8>蝵?
PostgreSQL餈墧𦻖靽⊥<EFBFBD>
*敶枏<EFBFBD><EFBFBD>滨蔭嚗?
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/ai_clinical_research
*餈墧𦻖<EFBFBD><EFBFBD>㺭霂湔<EFBFBD>嚗?
| <EFBFBD><EFBFBD>㺭 | 敶枏<EFBFBD><EFBFBD>? | 霂湔<EFBFBD> |
|---|---|---|
| <EFBFBD>冽<EFBFBD><EFBFBD>? | postgres | PostgreSQL暺䁅恕<EFBFBD>冽<EFBFBD> |
| 撖<EFBFBD><EFBFBD> | postgres | <EFBFBD>砍𧑐撘<EFBFBD><EFBFBD>穃<EFBFBD><EFBFBD>? |
| 銝餅㦤 | localhost | <EFBFBD>砍𧑐<EFBFBD>唳旿摨? |
| 蝡臬藁 | 5432 | PostgreSQL暺䁅恕蝡臬藁 |
| <EFBFBD>唳旿摨枏<EFBFBD> | ai_clinical_research | 憿寧𤌍<EFBFBD>唳旿摨? |
*Schema靽⊥<EFBFBD>嚗?
- *敶枏<EFBFBD>Schema嚗?
public嚗<EFBFBD><EFBFBD><EFBFBD>?3銝芾”嚗?- *霈∪<EFBFBD>Schema嚗? 10銝芷<E98A9D>蝳艋chema嚗Áeek 1摰墧鴌嚗? - platform_schema- common_schema
- asl_schema
- aia_schema
- pkb_schema
- dc_schema
- rvw_schema
- admin_schema
- ssa_schema
- st_schema
<EFBFBD><EFBFBD> LLM API<50>滨蔭
1. DeepSeek API
<EFBFBD>券<EFBFBD>䈑<EFBFBD> 銝餃<E98A9D>憭扳芋<E689B3>页<EFBFBD><E9A1B5>函<EFBFBD><E587BD><EFBFBD>笆霂腈<E99C82><E88588>鸌憭<E9B88C><E686AD>嚗? *<EFBFBD>滨蔭嚗?
DEEPSEEK_API_KEY=sk-your-deepseek-key
*<EFBFBD>瑕<EFBFBD><EFBFBD>孵<EFBFBD>嚗?
- 霈輸䔮嚗冴ttps://platform.deepseek.com
- 瘜典<EFBFBD>/<2F>餃<EFBFBD>韐血噡
- 餈𥕦<EFBFBD>API Keys憿菟𢒰
- <EFBFBD>𥕦遣<EFBFBD>啁<EFBFBD>API Key
*雿輻鍂<EFBFBD>箸艶嚗?
- AI<EFBFBD>箄<EFBFBD><EFBFBD>桃<EFBFBD>嚗<EFBFBD><EFBFBD>厰<EFBFBD>霂<EFBFBD>遠<EFBFBD><EFBFBD>ICO璇喟<EFBFBD>蝑㚁<EFBFBD>
- <EFBFBD>孵<EFBFBD><EFBFBD><EFBFBD>遙<EFBFBD>?- <20><><EFBFBD><EFBFBD>䁅<EFBFBD><E48185>萘<EFBFBD>
- <EFBFBD>冽<EFBFBD>憭滨<EFBFBD>
*摰帋遠嚗?
- DeepSeek-V3: 瞼1/M tokens嚗<73><E59A97><EFBFBD>伐<EFBFBD>嚗𡐿?/M tokens嚗<73><E59A97><EFBFBD>綽<EFBFBD>
2. <20>帋<EFBFBD><E5B88B><EFBFBD>䔮嚗㇋wen嚗𡅅PI
<EFBFBD>券<EFBFBD>䈑<EFBFBD> 憭<>鍂璅∪<E79285><E288AA><EFBFBD>鸌摰𡁜㦤<F0A1819C>臭<EFBFBD><E887AD>? *<EFBFBD>滨蔭嚗?
DASHSCOPE_API_KEY=sk-your-qwen-key
*<EFBFBD>瑕<EFBFBD><EFBFBD>孵<EFBFBD>嚗?
- 霈輸䔮嚗冴ttps://dashscope.console.aliyun.com
- 撘<EFBFBD><EFBFBD>鋽ashScope<EFBFBD>滚𦛚
- <EFBFBD>𥕦遣API Key
*雿輻鍂<EFBFBD>箸艶嚗?
- <EFBFBD>踵<EFBFBD><EFBFBD>砍<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Qwen-Long嚗?- <20>孵<EFBFBD>憸<EFBFBD><E686B8>隞餃𦛚
- 璅∪<EFBFBD>撖寞<EFBFBD>蝑偦<EFBFBD>? *摰帋遠嚗?
- Qwen-Max: 瞼0.04/1K tokens
- Qwen-Long: 瞼0.005/1K tokens
3. CloseAI<41>滨蔭嚗<E894AD>誨<EFBFBD><E8AAA8>penAI<41>龦laude嚗争<E59A97>潃鐥<E6BD83>
<EFBFBD>券<EFBFBD>䈑<EFBFBD> <20>朞<EFBFBD>隞<EFBFBD><E99A9E>撟喳蝱蝔喳<E89D94>霈輸䔮OpenAI<41>龦laude API
*銝箔<EFBFBD>銋<EFBFBD>蝙<EFBFBD>每loseAI嚗?
- <EFBFBD>?<3F>賢<EFBFBD>蝔喳<E89D94>霈輸䔮嚗峕<E59A97><E5B395><EFBFBD>蝘穃郎銝羓<E98A9D>
- <EFBFBD>?銝<>銝芾揭<E88ABE>瑕<EFBFBD><E79195>嗡蝙<E597A1>汰penAI<41>龦laude
- <EFBFBD>?<3F>澆捆OpenAI SDK<44><4B><EFBFBD><EFBFBD>亙藁
- <EFBFBD>?<3F><><EFBFBD>唳芋<E594B3>𧢲𣈲<F0A7A2B2><F0A388B2><EFBFBD>GPT-5-Pro<72><6F>laude-Sonnet-4.5
*<EFBFBD>滨蔭嚗?
# CloseAI蝏煺<E89D8F>API Key
CLOSEAI_API_KEY=sk-cu0iepbXYGGx2jc7BqP6ogtSWmP6fk918qV3RUdtGC3Edlpo
# OpenAI蝡舐<E89DA1>嚗<EFBFBD><E59A97>朞<EFBFBD>CloseAI隞<49><E99A9E>嚗?CLOSEAI_OPENAI_BASE_URL=https://api.openai-proxy.org/v1
# Claude蝡舐<E89DA1>嚗<EFBFBD><E59A97>朞<EFBFBD>CloseAI隞<49><E99A9E>嚗?CLOSEAI_CLAUDE_BASE_URL=https://api.openai-proxy.org/anthropic
<EFBFBD>舀<EFBFBD><EFBFBD><EFBFBD>芋<EFBFBD>页<EFBFBD>
| 璅∪<EFBFBD>蝟餃<EFBFBD> | <EFBFBD><EFBFBD><EFBFBD>唳芋<EFBFBD>? | 霂湔<EFBFBD> |
|---|---|---|
| OpenAI | gpt-5-pro |
<EFBFBD><EFBFBD><EFBFBD>蚣PT-5璅∪<E79285> 潃? |
| OpenAI | gpt-4-turbo-preview |
GPT-4擃䀹<E69383>扯<EFBFBD><E689AF><EFBFBD>𧋦 |
| OpenAI | gpt-3.5-turbo |
敹恍<EFBFBD>毺<EFBFBD>瘚𡒊<EFBFBD><EFBFBD>? |
| Claude | claude-sonnet-4-5-20250929 |
<EFBFBD><EFBFBD><EFBFBD>蚓laude-4.5 潃? |
| Claude | claude-3-5-sonnet-20241022 |
Claude-3.5蝔喳<EFBFBD><EFBFBD>? |
| Claude | claude-3-opus-20240229 |
Claude-3<><33>撘箇<E69298><E7AE87>? |
*<EFBFBD>瑕<EFBFBD><EFBFBD>孵<EFBFBD>嚗?
- 霈輸䔮嚗冴ttps://platform.openai-proxy.org
- 瘜典<EFBFBD>韐血噡撟嗅<EFBFBD><EFBFBD>?3. <20>冽綉<E586BD>嗅蝱<E59785>瑕<EFBFBD>API Key
- 銝<EFBFBD>銝服PI Key<65>臬<EFBFBD><E887AC>嗉<EFBFBD><E59789>汰penAI<41>龦laude
隞<EFBFBD><EFBFBD>蝷箔<EFBFBD>嚗㇍ypeScript嚗㚁<EFBFBD>
import OpenAI from 'openai';
// OpenAI (<28>朞<EFBFBD>CloseAI)
const openaiClient = new OpenAI({
apiKey: process.env.CLOSEAI_API_KEY,
baseURL: 'https://api.openai-proxy.org/v1',
});
const gptResponse = await openaiClient.chat.completions.create({
model: 'gpt-5-pro',
messages: [{ role: 'user', content: '雿惩末' }],
});
// Claude (<28>朞<EFBFBD>CloseAI)
const claudeClient = new OpenAI({
apiKey: process.env.CLOSEAI_API_KEY,
baseURL: 'https://api.openai-proxy.org/anthropic',
});
const claudeResponse = await claudeClient.chat.completions.create({
model: 'claude-sonnet-4-5-20250929',
messages: [{ role: 'user', content: '雿惩末' }],
});
*雿輻鍂<EFBFBD>箸艶嚗㇁I<EFBFBD>箄<EFBFBD><EFBFBD><EFBFBD>讃 潃琜<E6BD83>嚗?
- *GPT-5-Pro嚗? <20><>讃蝎曉<E89D8E>蝑偦<E89D91>剹<EFBFBD><E589B9>捶<EFBFBD>𤩺綉<F0A4A9BA>?- *Claude-4.5嚗? 蝚砌<E89D9A><E7A08C>嫣輔鋆<E8BC94><E98B86><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>颲枏枂
- <EFBFBD>峕芋<EFBFBD>见笆瘥䈑<EFBFBD> DeepSeek + GPT-5-Pro 敹恍<E695B9>?擃䁅捶<E48185>?- 銝㗇芋<EFBFBD>见<EFBFBD>霂<EFBFBD><EFBFBD> <20>脩<EFBFBD><E884A9>嗅鍳<E59785>每laude隞脰<E99A9E>
*摰帋遠嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?
- GPT-5-Pro: ~瞼0.10/1K tokens嚗<73><E59A97><EFBFBD>伐<EFBFBD>嚗斋瞼0.20/1K tokens嚗<73><E59A97><EFBFBD>綽<EFBFBD>
- Claude-4.5-Sonnet: ~瞼0.021/1K tokens嚗<73><E59A97><EFBFBD>伐<EFBFBD>嚗斋瞼0.105/1K tokens嚗<73><E59A97><EFBFBD>綽<EFBFBD>
*瘜冽<EFBFBD>鈭钅★嚗?
- <EFBFBD>𩤃<EFBFBD> API Key<65><79>鉄<EFBFBD>𤩺<EFBFBD>靽⊥<E99DBD>嚗䔶<E59A97>閬<EFBFBD><E996AC>鈭文<E988AD>Git
- <EFBFBD>𩤃<EFBFBD> 撱箄悅摰𡁏<E691B0><F0A1818F>湔揢API Key
- <EFBFBD>𩤃<EFBFBD> <20>煺漣<E785BA>臬<EFBFBD>雿輻鍂<E8BCBB>祉<EFBFBD><E7A589><EFBFBD>PI Key
<EFBFBD>圲 Dify<66>滨蔭嚗㇌AG撘閙<E69298>嚗?
<EFBFBD>券<EFBFBD>䈑<EFBFBD> <20>亥<EFBFBD>摨枏<E691A8><E69E8F>𤩺<EFBFBD>蝝U<E89D9D><EFBCB5>AG<41>桃<EFBFBD>
*<EFBFBD>滨蔭嚗?
DIFY_API_KEY=app-your-dify-key
DIFY_API_URL=http://localhost/v1
*<EFBFBD>函蔡靽⊥<EFBFBD>嚗?
- *<EFBFBD>砍𧑐<EFBFBD>函蔡嚗? Docker Compose
- *霈輸䔮<EFBFBD>啣<EFBFBD>嚗? http://localhost
- *蝞∠<EFBFBD><EFBFBD>𤾸蝱嚗? http://localhost/install
- <EFBFBD>煾<EFBFBD><EFBFBD>唳旿摨橒<EFBFBD> Qdrant嚗<74><E59A97>蝵殷<E89DB5>
*<EFBFBD>瑕<EFBFBD>API Key嚗?
- 霈輸䔮 Dify 蝞∠<E89D9E><E288A0>𤾸蝱
- 餈𥕦<EFBFBD>"摨𠉛鍂"憿菟𢒰
- <EFBFBD>𥕦遣"<22>亥<EFBFBD>摨枏<E691A8><E69E8F>?
- 憭滚<EFBFBD>API Key
*雿輻鍂<EFBFBD>箸艶嚗?
- 銝芯犖<EFBFBD>亥<EFBFBD>摨𤘪<EFBFBD>獢<EFBFBD><EFBFBD>隡?- @<40>亥<EFBFBD>摨㯄䔮蝑?- <20>箄<EFBFBD>撘閧鍂<E996A7>蠘<EFBFBD>
<EFBFBD><EFBFBD> 摰匧<E691B0><E58CA7>滨蔭
JWT撖<EFBFBD>𤨎
*<EFBFBD>滨蔭嚗?
JWT_SECRET=your-secret-key-change-in-production
JWT_EXPIRES_IN=7d
*霂湔<EFBFBD>嚗?
- <EFBFBD>其<EFBFBD><EFBFBD>冽<EFBFBD>霈方<EFBFBD>Token蝑曉<EFBFBD>
- 撱箄悅雿輻鍂32雿滢誑銝𢠃<EFBFBD><EFBFBD>箏<EFBFBD>蝚虫葡
- 餈<EFBFBD><EFBFBD><EFBFBD>園𡢿嚗?憭? *<EFBFBD><EFBFBD><EFBFBD>撘箏<EFBFBD><EFBFBD>伐<EFBFBD><EFBFBD>舫<EFBFBD>㚁<EFBFBD>嚗?
# Node.js<6A><73><EFBFBD>
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
# OpenSSL<53><4C><EFBFBD>
openssl rand -hex 32
<EFBFBD><EFBFBD> <20>滚𦛚<E6BB9A>滨蔭
<EFBFBD>𡒊垢<EFBFBD>滚𦛚
*<EFBFBD>滨蔭嚗?
PORT=3001
HOST=0.0.0.0
NODE_ENV=development
LOG_LEVEL=info
*霂湔<EFBFBD>嚗?
| <EFBFBD><EFBFBD>㺭 | <EFBFBD>? | 霂湔<EFBFBD> |
|---|---|---|
| PORT | 3001 | <EFBFBD>𡒊垢<EFBFBD>滚𦛚蝡臬藁 |
| HOST | 0.0.0.0 | <EFBFBD>穃𨯬<EFBFBD><EFBFBD><EFBFBD>厩<EFBFBD><EFBFBD>? |
| NODE_ENV | development | 撘<EFBFBD><EFBFBD>𤑳㴓憓? |
| LOG_LEVEL | info | <EFBFBD>亙<EFBFBD>蝥批<EFBFBD> |
CORS<EFBFBD>滨蔭
*<EFBFBD>滨蔭嚗?
CORS_ORIGIN=http://localhost:5173
*霂湔<EFBFBD>嚗?
- <EFBFBD><EFBFBD>捂<EFBFBD>滨垢頝典<EFBFBD>霈輸䔮
- <EFBFBD>滨垢撘<EFBFBD><EFBFBD>烐<EFBFBD><EFBFBD>∪膥嚗冴ttp://localhost:5173
Redis<EFBFBD>滨蔭嚗<EFBFBD>虾<EFBFBD>㚁<EFBFBD>
*<EFBFBD>滨蔭嚗?
REDIS_URL=redis://localhost:6379
*霂湔<EFBFBD>嚗?
- <EFBFBD>其<EFBFBD>蝻枏<EFBFBD><EFBFBD>䔶<EFBFBD>霂萘恣<EFBFBD>?- 敶枏<E695B6><E69E8F>芸撩<E88AB8>嗉<EFBFBD>瘙?
<EFBFBD><EFBFBD> <20><>辣銝𠹺<E98A9D><F0A0B9BA>滨蔭
*<EFBFBD>滨蔭嚗?
UPLOAD_MAX_SIZE=10485760
UPLOAD_DIR=./uploads
*霂湔<EFBFBD>嚗?
| <EFBFBD><EFBFBD>㺭 | <EFBFBD>? | 霂湔<EFBFBD> |
|---|---|---|
| UPLOAD_MAX_SIZE | 10485760 | 10MB嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
| UPLOAD_DIR | ./uploads | 銝𠹺<EFBFBD><EFBFBD><EFBFBD>辣摮睃<EFBFBD><EFBFBD>桀<EFBFBD> |
<EFBFBD><EFBFBD> <20>滨蔭甇仿炊
1. 璉<><E79289>亦㴓憓<E3B493><E68693><EFBFBD>𤩺<EFBFBD>隞?
*雿滨蔭嚗? backend/.env
憒<EFBFBD><EFBFBD><EFBFBD><EFBFBD>辣銝滚<EFBFBD><EFBFBD>剁<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>誑銝𧢲芋<EFBFBD>踹<EFBFBD>撱綽<EFBFBD>
# ==================== <20>滚𦛚<E6BB9A>券<EFBFBD>蝵?====================
PORT=3001
HOST=0.0.0.0
NODE_ENV=development
LOG_LEVEL=info
# ==================== <20>唳旿摨㯄<E691A8>蝵?====================
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/ai_clinical_research
# ==================== Redis<69>滨蔭 ====================
REDIS_URL=redis://localhost:6379
# ==================== JWT<57>滨蔭 ====================
JWT_SECRET=your-secret-key-change-in-production
JWT_EXPIRES_IN=7d
# ==================== LLM API<50>滨蔭 ====================
# DeepSeek
DEEPSEEK_API_KEY=sk-your-deepseek-key
# <20>帋<EFBFBD><E5B88B><EFBFBD>䔮嚗<E494AE>燵<EFBFBD>䔶<EFBFBD>DashScope嚗?DASHSCOPE_API_KEY=sk-your-qwen-key
# Gemini嚗<69>虾<EFBFBD>㚁<EFBFBD>
GEMINI_API_KEY=your-gemini-key
# ==================== Dify<66>滨蔭 ====================
DIFY_API_KEY=app-your-dify-key
DIFY_API_URL=http://localhost/v1
# ==================== <20><>辣銝𠹺<E98A9D><F0A0B9BA>滨蔭 ====================
UPLOAD_MAX_SIZE=10485760
UPLOAD_DIR=./uploads
# ==================== CORS<52>滨蔭 ====================
CORS_ORIGIN=http://localhost:5173
2. 撉諹<E69289><E8ABB9>滨蔭
*<EFBFBD>臬𢆡<EFBFBD>𡒊垢<EFBFBD>滚𦛚嚗?
cd backend
npm run dev
璉<EFBFBD><EFBFBD>亙鍳<EFBFBD>冽𠯫敹梹<EFBFBD>
<EFBFBD>?Prisma schema loaded
<0A>?Environment variables loaded from .env
<0A>?Datasource "db": PostgreSQL database "ai_clinical_research"
<0A>?Server running on http://0.0.0.0:3001
撉諹<EFBFBD><EFBFBD>唳旿摨栞<EFBFBD><EFBFBD>伐<EFBFBD>
cd backend
npx prisma migrate status
*憸<EFBFBD><EFBFBD>颲枏枂嚗?
Environment variables loaded from .env
Datasource "db": PostgreSQL database "ai_clinical_research", schema "public" at "localhost:5432"
Database schema is up to date!
3. 撣貉<E692A3><E8B289>桅<EFBFBD><E6A185>埝䰻
<EFBFBD>桅<EFBFBD>1嚗𡁏㺭<EFBFBD>桀<EFBFBD>餈墧𦻖憭梯揖
*<EFBFBD>躰秤靽⊥<EFBFBD>嚗?
Error: Can't reach database server at localhost:5432
*閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?
- 璉<EFBFBD><EFBFBD>仙ostgreSQL<EFBFBD>臬炏<EFBFBD>臬𢆡
- 撉諹<EFBFBD>蝡臬藁5432<EFBFBD>臬炏鋡怠<EFBFBD><EFBFBD>?3. 蝖株恕<E6A0AA>冽<EFBFBD><E586BD>滚<EFBFBD><E6BB9A><EFBFBD>糓<EFBFBD>行迤蝖? 璉<EFBFBD><EFBFBD>仙ostgreSQL<EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD>Windows嚗㚁<EFBFBD>
# <20>亦<EFBFBD><E4BAA6>滚𦛚<E6BB9A>嗆<EFBFBD>?Get-Service postgresql*
# <20>臬𢆡<E887AC>滚𦛚
Start-Service postgresql-x64-15
<EFBFBD>桅<EFBFBD>2嚗匁LM API靚<49>鍂憭梯揖
*<EFBFBD>躰秤靽⊥<EFBFBD>嚗?
Error: Invalid API key
*閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?
- 璉<EFBFBD><EFBFBD>丕PI Key<65>臬炏甇<E7828F>&憭滚<E686AD>
- 蝖株恕API Key<65>臬炏撌脫<E6928C>瘣?3. 璉<><E79289>亥揭<E4BAA5>瑚<EFBFBD>憸脲糓<E884B2>血<EFBFBD>頞?
<EFBFBD>桅<EFBFBD>3嚗鋽ify餈墧𦻖憭梯揖
*<EFBFBD>躰秤靽⊥<EFBFBD>嚗?
Error: connect ECONNREFUSED 127.0.0.1:80
*閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?
- 璉<EFBFBD><EFBFBD>主ify<EFBFBD>臬炏<EFBFBD>臬𢆡嚗䫤docker-compose ps`
- <EFBFBD>臬𢆡Dify嚗䫤docker-compose up -d`
- 撉諹<EFBFBD>霈輸䔮嚗𡁏<EFBFBD>閫<EFBFBD>膥<EFBFBD>枏<EFBFBD> http://localhost
<EFBFBD><EFBFBD> 撟喳蝱<E596B3>箇<EFBFBD>霈暹鴌<E69AB9>滨蔭嚗?025-11-16 <20>啣<EFBFBD>嚗?
潃?<3F>滩<EFBFBD><E6BBA9>湔鰵嚗帋蛹<EFBFBD>舀<EFBFBD>鈭穃<EFBFBD><EFBFBD>罸<EFBFBD>蝵莎<EFBFBD><EFBFBD>啣<EFBFBD>撟喳蝱<EFBFBD>箇<EFBFBD>霈暹鴌<EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD>
**霂衣<E99C82><E8A1A3><EFBFBD>﹝**嚗靀撟喳蝱<E596B3>箇<EFBFBD>霈暹鴌閫<E9B48C><E996AB>](../09-<2D>嗆<EFBFBD>摰墧鴌/04-撟喳蝱<E596B3>箇<EFBFBD>霈暹鴌閫<E9B48C><E996AB>.md)
1. 摮睃<E691AE><E79D83>滚𦛚<E6BB9A>滨蔭
*<EFBFBD>砍𧑐撘<EFBFBD><EFBFBD>𤑳㴓憓?
# backend/.env.development
STORAGE_TYPE=local
BASE_URL=http://localhost:3001
*<EFBFBD>煺漣<EFBFBD>臬<EFBFBD>嚗<EFBFBD>燵<EFBFBD>䔶<EFBFBD>OSS嚗?
# SAE<41>批<EFBFBD><E689B9>?-> <20>臬<EFBFBD><E887AC>㗛<EFBFBD><E3979B>滨蔭
STORAGE_TYPE=oss
OSS_REGION=oss-cn-hangzhou
OSS_BUCKET=aiclinical-prod
OSS_ACCESS_KEY_ID=LTAI5t***
OSS_ACCESS_KEY_SECRET=***
OSS_ENDPOINT=https://oss-cn-hangzhou.aliyuncs.com
<EFBFBD>滨蔭霂湔<EFBFBD>
| <EFBFBD>㗛<EFBFBD><EFBFBD>? | 敹<EFBFBD><EFBFBD> | 暺䁅恕<EFBFBD>? | 霂湔<EFBFBD> |
|---|---|---|---|
STORAGE_TYPE |
<EFBFBD>? | local |
摮睃<EFBFBD>蝐餃<EFBFBD>嚗䫤local <20>?oss` |
BASE_URL |
<EFBFBD>砍𧑐 | http://localhost:3001 |
<EFBFBD>砍𧑐摮睃<EFBFBD>霈輸䔮URL |
OSS_REGION |
<EFBFBD>煺漣 | - | OSS<EFBFBD>箏<EFBFBD>嚗<EFBFBD><EFBFBD>嚗駅ss-cn-hangzhou嚗? |
OSS_BUCKET |
<EFBFBD>煺漣 | - | OSS Bucket<65>滨妍 |
OSS_ACCESS_KEY_ID |
<EFBFBD>煺漣 | - | <EFBFBD>輸<EFBFBD>鈭飊ccessKey ID |
OSS_ACCESS_KEY_SECRET |
<EFBFBD>煺漣 | - | <EFBFBD>輸<EFBFBD>鈭飊ccessKey Secret |
2. 蝻枏<E89DBB><E69E8F>滚𦛚<E6BB9A>滨蔭
*<EFBFBD>砍𧑐撘<EFBFBD><EFBFBD>𤑳㴓憓?
# backend/.env.development
CACHE_TYPE=memory
*<EFBFBD>煺漣<EFBFBD>臬<EFBFBD>嚗<EFBFBD>燵<EFBFBD>䔶<EFBFBD>Redis嚗?
# SAE<41>批<EFBFBD><E689B9>?-> <20>臬<EFBFBD><E887AC>㗛<EFBFBD><E3979B>滨蔭
CACHE_TYPE=redis
REDIS_HOST=r-***.redis.aliyuncs.com
REDIS_PORT=6379
REDIS_PASSWORD=***
REDIS_DB=0
<EFBFBD>滨蔭霂湔<EFBFBD>
| <EFBFBD>㗛<EFBFBD><EFBFBD>? | 敹<EFBFBD><EFBFBD> | 暺䁅恕<EFBFBD>? | 霂湔<EFBFBD> |
|---|---|---|---|
CACHE_TYPE |
<EFBFBD>? | memory |
蝻枏<EFBFBD>蝐餃<EFBFBD>嚗䫤memory <20>?redis` |
REDIS_HOST |
Redis | - | Redis銝餅㦤<EFBFBD>啣<EFBFBD> |
REDIS_PORT |
Redis | 6379 |
Redis蝡臬藁 |
REDIS_PASSWORD |
Redis | - | Redis撖<EFBFBD><EFBFBD> |
REDIS_DB |
Redis | 0 |
Redis<EFBFBD>唳旿摨梶<EFBFBD><EFBFBD>? |
3. <20>唳旿摨栞<E691A8><E6A09E>交<EFBFBD><E4BAA4>滨蔭
*<EFBFBD>砍𧑐撘<EFBFBD><EFBFBD>𤑳㴓憓?
# backend/.env.development
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/ai_clinical_research
# <20>砍𧑐撘<F0A79190><E69298>烐<EFBFBD><E78390><EFBFBD><EFBFBD>滨蔭餈墧𦻖瘙?```
#### **<2A>煺漣<E785BA>臬<EFBFBD>嚗<EFBFBD>燵<EFBFBD>䔶<EFBFBD>RDS嚗?*
```bash
# SAE<41>批<EFBFBD><E689B9>?-> <20>臬<EFBFBD><E887AC>㗛<EFBFBD><E3979B>滨蔭
DATABASE_URL=postgresql://user:password@rm-xxx.aliyuncs.com:5432/prod_db
DB_MAX_CONNECTIONS=400 # RDS<44><53>憭扯<E686AD><E689AF>交㺭
MAX_INSTANCES=20 # SAE<41><45>憭批<E686AD>靘𧢲㺭
<EFBFBD>滨蔭霂湔<EFBFBD>
| <EFBFBD>㗛<EFBFBD><EFBFBD>? | 敹<EFBFBD><EFBFBD> | 暺䁅恕<EFBFBD>? | 霂湔<EFBFBD> |
|---|---|---|---|
DATABASE_URL |
<EFBFBD>? | - | PostgreSQL餈墧𦻖摮㛖泵銝? |
DB_MAX_CONNECTIONS |
<EFBFBD>煺漣 | 400 |
RDS<EFBFBD><EFBFBD>憭扯<EFBFBD><EFBFBD>交㺭 |
MAX_INSTANCES |
<EFBFBD>煺漣 | 20 |
SAE<EFBFBD><EFBFBD>憭批<EFBFBD>靘𧢲㺭 |
**餈墧𦻖<E5A2A7>啗恣蝞?*嚗?``` 瘥誩<E798A5>靘贝<E99D98><E8B49D>交㺭 = DB_MAX_CONNECTIONS / MAX_INSTANCES 蝷箔<E89DB7>嚗?00 / 20 = 20餈墧𦻖/摰硺<E691B0>
---
### 4. <20>亙<EFBFBD><E4BA99>滨蔭
```bash
# <20>𡁶鍂<F0A181B6>滨蔭
LOG_LEVEL=info # debug | info | warn | error
NODE_ENV=development # development | production | test
<EFBFBD>滨蔭霂湔<EFBFBD>
| <EFBFBD>㗛<EFBFBD><EFBFBD>? | 敹<EFBFBD><EFBFBD> | 暺䁅恕<EFBFBD>? | 霂湔<EFBFBD> |
|---|---|---|---|
LOG_LEVEL |
<EFBFBD>? | info |
<EFBFBD>亙<EFBFBD>蝥批<EFBFBD> |
NODE_ENV |
<EFBFBD>? | development |
餈鞱<EFBFBD><EFBFBD>臬<EFBFBD> |
5. <20>蠘<EFBFBD>撘<EFBFBD><E69298>喲<EFBFBD>蝵?
# <20>舐鍂<E88890><E98D82><EFBFBD><EFBFBD>⊥芋<E28AA5>梹<EFBFBD><E6A2B9>堒噡<E5A092><E599A1><EFBFBD>嚗?ENABLED_MODULES=ASL,AIA,PKB,DC,SSA,ST
# <20>硋鍳<E7A18B>典<EFBFBD><E585B8>?ENABLED_MODULES=*
<EFBFBD>滨蔭霂湔<EFBFBD>
| 璅∪<EFBFBD>隞<EFBFBD><EFBFBD> | 璅∪<EFBFBD><EFBFBD>滨妍 | <EFBFBD>嗆<EFBFBD>? |
|---|---|---|
ASL |
AI<EFBFBD>箄<EFBFBD><EFBFBD><EFBFBD>讃 | 撘<EFBFBD><EFBFBD>睲葉 |
AIA |
AI<EFBFBD>箄<EFBFBD><EFBFBD>桃<EFBFBD> | 撌脣<EFBFBD><EFBFBD>? |
PKB |
銝芯犖<EFBFBD>亥<EFBFBD>摨? | 撌脣<EFBFBD><EFBFBD>? |
DC |
<EFBFBD>唳旿皜<EFBFBD><EFBFBD> | 霈∪<EFBFBD>銝? |
SSA |
<EFBFBD>箄<EFBFBD>蝏蠘恣<EFBFBD><EFBFBD><EFBFBD> | 霈∪<EFBFBD>銝? |
ST |
蝏蠘恣撌亙<EFBFBD> | 霈∪<EFBFBD>銝? |
6. 摨𠉛鍂<F0A0899B>滨蔭
# 摨𠉛鍂<F0A0899B>箇<EFBFBD><E7AE87>滨蔭
PORT=3001 # 摨𠉛鍂蝡臬藁
BASE_URL=http://localhost:3001
# JWT<57>滨蔭
JWT_SECRET=your-secret-key-here
JWT_EXPIRES_IN=7d
# CORS<52>滨蔭
CORS_ORIGIN=http://localhost:5173
<EFBFBD><EFBFBD> 摰峕㟲<E5B395>臬<EFBFBD><E887AC>㗛<EFBFBD>璅⊥踎
backend/.env.development嚗<74>𧋦<EFBFBD>啣<EFBFBD><E595A3>𡢅<EFBFBD>
# ==================== 摨𠉛鍂<F0A0899B>滨蔭 ====================
NODE_ENV=development
PORT=3001
BASE_URL=http://localhost:3001
# ==================== <20>唳旿摨㯄<E691A8>蝵?====================
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/ai_clinical_research
# ==================== 摮睃<E691AE><E79D83>滚𦛚 ====================
STORAGE_TYPE=local
# ==================== 蝻枏<E89DBB><E69E8F>滚𦛚 ====================
CACHE_TYPE=memory
# ==================== <20>亙<EFBFBD><E4BA99>滨蔭 ====================
LOG_LEVEL=debug
# ==================== LLM<4C>滨蔭 ====================
DEEPSEEK_API_KEY=sk-***
QWEN_API_KEY=sk-***
# ==================== RAG<41>滨蔭 ====================
DIFY_API_BASE_URL=http://localhost/v1
DIFY_API_KEY=app-***
# ==================== JWT<57>滨蔭 ====================
JWT_SECRET=dev-secret-key-change-in-production
JWT_EXPIRES_IN=7d
# ==================== CORS<52>滨蔭 ====================
CORS_ORIGIN=http://localhost:5173
# ==================== <20>蠘<EFBFBD>撘<EFBFBD><E69298>?====================
ENABLED_MODULES=*
backend/.env.production嚗<6E><E59A97>鈭抒㴓憓<E3B493><E68693>
# ==================== 摨𠉛鍂<F0A0899B>滨蔭 ====================
NODE_ENV=production
PORT=3001
# ==================== <20>唳旿摨㯄<E691A8>蝵?====================
DATABASE_URL=postgresql://user:password@rm-xxx.aliyuncs.com:5432/prod_db
DB_MAX_CONNECTIONS=400
MAX_INSTANCES=20
# ==================== 摮睃<E691AE><E79D83>滚𦛚 ====================
STORAGE_TYPE=oss
OSS_REGION=oss-cn-hangzhou
OSS_BUCKET=aiclinical-prod
OSS_ACCESS_KEY_ID=LTAI5t***
OSS_ACCESS_KEY_SECRET=***
# ==================== 蝻枏<E89DBB><E69E8F>滚𦛚 ====================
CACHE_TYPE=redis
REDIS_HOST=r-***.redis.aliyuncs.com
REDIS_PORT=6379
REDIS_PASSWORD=***
REDIS_DB=0
# ==================== <20>亙<EFBFBD><E4BA99>滨蔭 ====================
LOG_LEVEL=info
# ==================== LLM<4C>滨蔭 ====================
DEEPSEEK_API_KEY=sk-***
QWEN_API_KEY=sk-***
# ==================== RAG<41>滨蔭 ====================
DIFY_API_BASE_URL=https://api.dify.ai/v1
DIFY_API_KEY=app-***
# ==================== JWT<57>滨蔭 ====================
JWT_SECRET=<<3C>煺漣<E785BA>臬<EFBFBD>撘箏<E69298><E7AE8F>?
JWT_EXPIRES_IN=7d
# ==================== CORS<52>滨蔭 ====================
CORS_ORIGIN=https://app.yourdomain.com
# ==================== <20>蠘<EFBFBD>撘<EFBFBD><E69298>?====================
ENABLED_MODULES=ASL,AIA,PKB,DC,SSA,ST
<EFBFBD><EFBFBD> <20>滨蔭璉<E894AD><E79289>交<EFBFBD><E4BAA4>?
雿輻鍂隞乩<EFBFBD>皜<EFBFBD><EFBFBD>撉諹<EFBFBD><EFBFBD>滨蔭摰峕㟲<EFBFBD>改<EFBFBD>
*<EFBFBD>箇<EFBFBD><EFBFBD>滨蔭嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?
- <EFBFBD>?<3F>唳旿摨栞<E691A8><E6A09E>交<EFBFBD><E4BAA4><EFBFBD><EFBFBD>
npx prisma migrate status嚗?- [ ] <20>?摮睃<E691AE>蝐餃<E89D90>撌脤<E6928C>蝵殷<E89DB5>STORAGE_TYPE嚗?- [ ] <20>?<3F>亙<EFBFBD>蝥批<E89DA5>撌脤<E6928C>蝵殷<E89DB5>LOG_LEVEL嚗?- [ ] <20>?JWT撖<54>𤨎撌脤<E6928C>蝵?
*LLM<EFBFBD>滨蔭嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?
- <EFBFBD>?DeepSeek API Key<65>滨蔭銝𥪜虾<F0A5AA9C>?- [ ] <20>?Qwen API Key<65>滨蔭銝𥪜虾<F0A5AA9C>?- [ ] <20>?Dify<66>滚𦛚餈鞱<E9A488>銝哨<E98A9D>
docker-compose ps嚗?- [ ] <20>?Dify API Key撌脤<E6928C>蝵?
*撟喳蝱<EFBFBD>箇<EFBFBD>霈暹鴌嚗<EFBFBD><EFBFBD><EFBFBD>毺<EFBFBD>嚗?
- <EFBFBD>?摮睃<E691AE><E79D83>滚𦛚<E6BB9A>滨蔭甇<E894AD>&嚗<EFBC86>𧋦<EFBFBD>?OSS嚗?- [ ] <20>?蝻枏<E89DBB><E69E8F>滚𦛚<E6BB9A>滨蔭甇<E894AD>&嚗㇈emory/Redis嚗?- [ ] <20>?餈墧𦻖瘙惩<E79899><E683A9>啣歇<E595A3>滨蔭嚗<E894AD><E59A97>鈭抒㴓憓<E3B493><E68693>
- <EFBFBD>?<3F>蠘<EFBFBD>撘<EFBFBD><E69298>喳歇<E596B3>滨蔭嚗𠄌NABLED_MODULES嚗?
*摨𠉛鍂餈鞱<EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?
- <EFBFBD>?<3F>𡒊垢<F0A1928A>滚𦛚<E6BB9A>臬𢆡<E887AC>𣂼<EFBFBD>嚗<EFBFBD>垢<EFBFBD>?001嚗?- [ ] <20>?<3F>滨垢<E6BBA8>滚𦛚<E6BB9A>臬𢆡<E887AC>𣂼<EFBFBD>嚗<EFBFBD>垢<EFBFBD>?173嚗?- [ ] <20>?CORS<52>滨蔭甇<E894AD>&嚗<EFBC86><E59A97>蝡臬虾霈輸䔮<E8BCB8>𡒊垢API嚗?- [ ] <20>?<3F>舀迤撣訾蝙<E8A8BE>典像<E585B8>唳<EFBFBD><E594B3>∴<EFBFBD>storage/logger/cache蝑㚁<E89D91>
<EFBFBD><EFBFBD> <20>滨蔭<E6BBA8>湔鰵霈啣<E99C88>
| <EFBFBD>交<EFBFBD> | <EFBFBD>湔鰵<EFBFBD><EFBFBD>捆 | <EFBFBD>湔鰵鈭? |
|---|---|---|
| 2025-11-09 | <EFBFBD>嘥<EFBFBD><EFBFBD>滨蔭<EFBFBD><EFBFBD>﹝<EFBFBD>𥕦遣 | <EFBFBD><EFBFBD><EFBFBD>臬𣪧<EFBFBD>? |
| 2025-11-16 | <EFBFBD>啣<EFBFBD>撟喳蝱<EFBFBD>箇<EFBFBD>霈暹鴌<EFBFBD>滨蔭蝡㰘<EFBFBD> | <EFBFBD><EFBFBD><EFBFBD>臬𣪧<EFBFBD>? |
<EFBFBD><EFBFBD> <20>詨<EFBFBD><E8A9A8><EFBFBD>﹝
- [<5B>唳旿摨栞<E691A8><E6A09E>仿<EFBFBD>蝵孫(../09-<2D>嗆<EFBFBD>摰墧鴌/02-<2D>唳旿摨栞<E691A8><E6A09E>仿<EFBFBD>蝵?md)
- <EFBFBD>函蔡<EFBFBD>嗆<EFBFBD>霈曇恣
- 蝟餌<EFBFBD><EFBFBD>嗆<EFBFBD><EFBFBD>餉<EFBFBD>
*<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>𧋦嚗? v1.0
<EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD>堆<EFBFBD> 2025-11-09
蝏湔擪<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>臬𣪧<E887AC>?