Files
AIclinicalresearch/docs/07-运维文档/01-环境配置指南.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

16 KiB
Raw Blame History

<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>嚗?

  1. 霈輸䔮嚗冴ttps://platform.deepseek.com
  2. 瘜典<EFBFBD>/<2F><EFBFBD>韐血噡
  3. 餈𥕦<EFBFBD>API Keys憿菟𢒰
  4. <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>嚗?

  1. 霈輸䔮嚗冴ttps://dashscope.console.aliyun.com
  2. <EFBFBD><EFBFBD>鋽ashScope<EFBFBD>滚𦛚
  3. <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>嚗?

  1. 霈輸䔮嚗冴ttps://platform.openai-proxy.org
  2. 瘜典<EFBFBD>韐血噡撟嗅<EFBFBD><EFBFBD>?3. <20>冽綉<E586BD>嗅蝱<E59785><EFBFBD>API Key
  3. <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><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嚗?

  1. 霈輸䔮 Dify 蝞∠<E89D9E><E288A0>𤾸蝱
  2. 餈𥕦<EFBFBD>"摨𠉛鍂"憿菟𢒰
  3. <EFBFBD>𥕦遣"<22><EFBFBD>摨枏<E691A8><E69E8F>?
  4. 憭滚<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>嚗?

  1. <EFBFBD><EFBFBD>仙ostgreSQL<EFBFBD>臬炏<EFBFBD>臬𢆡
  2. 撉諹<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>嚗?

  1. <EFBFBD><EFBFBD>丕PI Key<65>臬炏甇<E7828F>憭滚<E686AD>
  2. 蝖株恕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>嚗?

  1. <EFBFBD><EFBFBD>主ify<EFBFBD>臬炏<EFBFBD>臬𢆡嚗䫤docker-compose ps`
  2. <EFBFBD>臬𢆡Dify嚗䫤docker-compose up -d`
  3. 撉諹<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>


*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧋦嚗? v1.0
<EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD><EFBFBD> 2025-11-09
蝏湔擪<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>臬𣪧<E887AC>?