feat(admin): Add user management and upgrade to module permission system
Features - User Management (Phase 4.1): - Database: Add user_modules table for fine-grained module permissions - Database: Add 4 user permissions (view/create/edit/delete) to role_permissions - Backend: UserService (780 lines) - CRUD with tenant isolation - Backend: UserController + UserRoutes (648 lines) - 13 API endpoints - Backend: Batch import users from Excel - Frontend: UserListPage (412 lines) - list/filter/search/pagination - Frontend: UserFormPage (341 lines) - create/edit with module config - Frontend: UserDetailPage (393 lines) - details/tenant/module management - Frontend: 3 modal components (592 lines) - import/assign/configure - API: GET/POST/PUT/DELETE /api/admin/users/* endpoints Architecture Upgrade - Module Permission System: - Backend: Add getUserModules() method in auth.service - Backend: Login API returns modules array in user object - Frontend: AuthContext adds hasModule() method - Frontend: Navigation filters modules based on user.modules - Frontend: RouteGuard checks requiredModule instead of requiredVersion - Frontend: Remove deprecated version-based permission system - UX: Only show accessible modules in navigation (clean UI) - UX: Smart redirect after login (avoid 403 for regular users) Fixes: - Fix UTF-8 encoding corruption in ~100 docs files - Fix pageSize type conversion in userService (String to Number) - Fix authUser undefined error in TopNavigation - Fix login redirect logic with role-based access check - Update Git commit guidelines v1.2 with UTF-8 safety rules Database Changes: - CREATE TABLE user_modules (user_id, tenant_id, module_code, is_enabled) - ADD UNIQUE CONSTRAINT (user_id, tenant_id, module_code) - INSERT 4 permissions + role assignments - UPDATE PUBLIC tenant with 8 module subscriptions Technical: - Backend: 5 new files (~2400 lines) - Frontend: 10 new files (~2500 lines) - Docs: 1 development record + 2 status updates + 1 guideline update - Total: ~4900 lines of code Status: User management 100% complete, module permission system operational
This commit is contained in:
@@ -1,38 +1,44 @@
|
||||
# 环境配置指南
|
||||
|
||||
> **<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>𧋦嚗?* v1.0
|
||||
> **<EFBFBD>𥕦遣<EFBFBD>交<EFBFBD>嚗?* 2025-11-09
|
||||
> **蝏湔擪<EFBFBD><EFBFBD><EFBFBD>** <20><><EFBFBD>臬𣪧<E887AC>?
|
||||
> **文档版本:** v1.0
|
||||
> **创建日期:** 2025-11-09
|
||||
> **维护者:** 技术团队
|
||||
> **最后更新:** 2025-11-09
|
||||
|
||||
---
|
||||
|
||||
## 📋 文档说明
|
||||
|
||||
<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>滨蔭
|
||||
本文档记录系统运行所需的全部环境变量配置,包括:
|
||||
- 数据库连接信息
|
||||
- LLM API密钥配置
|
||||
- 第三方服务配置
|
||||
- 安全相关配置
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD><EFBFBD>儭?<3F>唳旿摨㯄<E691A8>蝵?
|
||||
## 🗄️ 数据库配置
|
||||
|
||||
### PostgreSQL连接信息
|
||||
|
||||
**敶枏<EFBFBD><EFBFBD>滨蔭嚗?*
|
||||
**当前配置:**
|
||||
```env
|
||||
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/ai_clinical_research
|
||||
```
|
||||
|
||||
**餈墧𦻖<EFBFBD><EFBFBD>㺭霂湔<EFBFBD>嚗?*
|
||||
| <EFBFBD><EFBFBD>㺭 | 敶枏<E695B6><E69E8F>?| 霂湔<E99C82> |
|
||||
**连接参数说明:**
|
||||
| 参数 | 当前值 | 说明 |
|
||||
|------|--------|------|
|
||||
| <EFBFBD>冽<EFBFBD><EFBFBD>?| postgres | PostgreSQL暺䁅恕<EFBFBD>冽<EFBFBD> |
|
||||
| 撖<EFBFBD><EFBFBD> | postgres | <EFBFBD>砍𧑐撘<EFBFBD><EFBFBD>穃<EFBFBD><EFBFBD>?|
|
||||
| 銝餅㦤 | localhost | <EFBFBD>砍𧑐<EFBFBD>唳旿摨?|
|
||||
| 用户名 | postgres | PostgreSQL默认用户 |
|
||||
| 密码 | postgres | 本地开发密码 |
|
||||
| 主机 | localhost | 本地数据库 |
|
||||
| 端口 | 5432 | PostgreSQL默认端口 |
|
||||
| <EFBFBD>唳旿摨枏<EFBFBD> | ai_clinical_research | 憿寧𤌍<EFBFBD>唳旿摨?|
|
||||
| 数据库名 | ai_clinical_research | 项目数据库 |
|
||||
|
||||
**Schema靽⊥<EFBFBD>嚗?*
|
||||
- **敶枏<EFBFBD>Schema嚗?* `public`嚗<EFBFBD><EFBFBD><EFBFBD>?3銝芾”嚗?- **霈∪<E99C88>Schema嚗?* 10銝芷<E98A9D>蝳艋chema嚗Áeek 1摰墧鴌嚗? - platform_schema
|
||||
**Schema信息:**
|
||||
- **当前Schema:** `public`(所有13个表)
|
||||
- **计划Schema:** 10个隔离Schema(Week 1实施)
|
||||
- platform_schema
|
||||
- common_schema
|
||||
- asl_schema
|
||||
- aia_schema
|
||||
@@ -49,45 +55,50 @@ DATABASE_URL=postgresql://postgres:postgres@localhost:5432/ai_clinical_research
|
||||
|
||||
### 1. DeepSeek API
|
||||
|
||||
**<EFBFBD>券<EFBFBD>䈑<EFBFBD>** 銝餃<E98A9D>憭扳芋<E689B3>页<EFBFBD><E9A1B5>函<EFBFBD><E587BD><EFBFBD>笆霂腈<E99C82><E88588>鸌憭<E9B88C><E686AD>嚗?
|
||||
**<EFBFBD>滨蔭嚗?*
|
||||
**用途:** 主力大模型(推理、对话、批处理)
|
||||
|
||||
**配置:**
|
||||
```env
|
||||
DEEPSEEK_API_KEY=sk-your-deepseek-key
|
||||
```
|
||||
|
||||
**<EFBFBD>瑕<EFBFBD><EFBFBD>孵<EFBFBD>嚗?*
|
||||
**获取方式:**
|
||||
1. 访问:https://platform.deepseek.com
|
||||
2. 注册/登录账号
|
||||
3. 进入API Keys页面
|
||||
4. 创建新的API Key
|
||||
|
||||
**雿輻鍂<EFBFBD>箸艶嚗?*
|
||||
**使用场景:**
|
||||
- AI智能问答(选题评价、PICO梳理等)
|
||||
- <EFBFBD>孵<EFBFBD><EFBFBD><EFBFBD>遙<EFBFBD>?- <20><><EFBFBD><EFBFBD>䁅<EFBFBD><E48185>萘<EFBFBD>
|
||||
- 批处理任务
|
||||
- 标题摘要初筛
|
||||
- 全文复筛
|
||||
|
||||
**摰帋遠嚗?*
|
||||
- DeepSeek-V3: 瞼1/M tokens嚗<EFBFBD><EFBFBD><EFBFBD>伐<EFBFBD>嚗𡐿?/M tokens嚗<EFBFBD><EFBFBD><EFBFBD>綽<EFBFBD>
|
||||
**定价:**
|
||||
- DeepSeek-V3: ¥1/M tokens(输入),¥2/M tokens(输出)
|
||||
|
||||
---
|
||||
|
||||
### 2. 通义千问(Qwen)API
|
||||
|
||||
**<EFBFBD>券<EFBFBD>䈑<EFBFBD>** 憭<>鍂璅∪<E79285><E288AA><EFBFBD>鸌摰𡁜㦤<F0A1819C>臭<EFBFBD><E887AD>?
|
||||
**<EFBFBD>滨蔭嚗?*
|
||||
**用途:** 备用模型、特定场景优化
|
||||
|
||||
**配置:**
|
||||
```env
|
||||
DASHSCOPE_API_KEY=sk-your-qwen-key
|
||||
```
|
||||
|
||||
**<EFBFBD>瑕<EFBFBD><EFBFBD>孵<EFBFBD>嚗?*
|
||||
**获取方式:**
|
||||
1. 访问:https://dashscope.console.aliyun.com
|
||||
2. 开通DashScope服务
|
||||
3. 创建API Key
|
||||
|
||||
**雿輻鍂<EFBFBD>箸艶嚗?*
|
||||
- <EFBFBD>踵<EFBFBD><EFBFBD>砍<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Qwen-Long嚗?- <20>孵<EFBFBD>憸<EFBFBD><E686B8>隞餃𦛚
|
||||
- 璅∪<EFBFBD>撖寞<EFBFBD>蝑偦<EFBFBD>?
|
||||
**摰帋遠嚗?*
|
||||
**使用场景:**
|
||||
- 长文本处理(Qwen-Long)
|
||||
- 特定领域任务
|
||||
- 模型对比筛选
|
||||
|
||||
**定价:**
|
||||
- Qwen-Max: ¥0.04/1K tokens
|
||||
- Qwen-Long: ¥0.005/1K tokens
|
||||
|
||||
@@ -97,36 +108,39 @@ DASHSCOPE_API_KEY=sk-your-qwen-key
|
||||
|
||||
**用途:** 通过代理平台稳定访问OpenAI和Claude API
|
||||
|
||||
**銝箔<EFBFBD>銋<EFBFBD>蝙<EFBFBD>每loseAI嚗?*
|
||||
- <EFBFBD>?<3F>賢<EFBFBD>蝔喳<E89D94>霈輸䔮嚗峕<E59A97><E5B395><EFBFBD>蝘穃郎銝羓<E98A9D>
|
||||
- <EFBFBD>?銝<>銝芾揭<E88ABE>瑕<EFBFBD><E79195>嗡蝙<E597A1>汰penAI<EFBFBD>龦laude
|
||||
- <EFBFBD>?<3F>澆捆OpenAI SDK<EFBFBD><EFBFBD><EFBFBD><EFBFBD>亙藁
|
||||
- <EFBFBD>?<3F><><EFBFBD>唳芋<E594B3>𧢲𣈲<F0A7A2B2><F0A388B2><EFBFBD>GPT-5-Pro<EFBFBD><EFBFBD>laude-Sonnet-4.5
|
||||
**为什么使用CloseAI?**
|
||||
- ✅ 国内稳定访问,无需科学上网
|
||||
- ✅ 一个账号同时使用OpenAI和Claude
|
||||
- ✅ 兼容OpenAI SDK标准接口
|
||||
- ✅ 最新模型支持:GPT-5-Pro、Claude-Sonnet-4.5
|
||||
|
||||
**<EFBFBD>滨蔭嚗?*
|
||||
**配置:**
|
||||
```env
|
||||
# CloseAI统一API Key
|
||||
CLOSEAI_API_KEY=sk-cu0iepbXYGGx2jc7BqP6ogtSWmP6fk918qV3RUdtGC3Edlpo
|
||||
|
||||
# OpenAI蝡舐<EFBFBD>嚗<EFBFBD><EFBFBD>朞<EFBFBD>CloseAI隞<EFBFBD><EFBFBD>嚗?CLOSEAI_OPENAI_BASE_URL=https://api.openai-proxy.org/v1
|
||||
# OpenAI端点(通过CloseAI代理)
|
||||
CLOSEAI_OPENAI_BASE_URL=https://api.openai-proxy.org/v1
|
||||
|
||||
# Claude蝡舐<EFBFBD>嚗<EFBFBD><EFBFBD>朞<EFBFBD>CloseAI隞<EFBFBD><EFBFBD>嚗?CLOSEAI_CLAUDE_BASE_URL=https://api.openai-proxy.org/anthropic
|
||||
# Claude端点(通过CloseAI代理)
|
||||
CLOSEAI_CLAUDE_BASE_URL=https://api.openai-proxy.org/anthropic
|
||||
```
|
||||
|
||||
**支持的模型:**
|
||||
|
||||
| 璅∪<EFBFBD>蝟餃<EFBFBD> | <20><><EFBFBD>唳芋<E594B3>?| 霂湔<E99C82> |
|
||||
| 模型系列 | 最新模型 | 说明 |
|
||||
|---------|---------|------|
|
||||
| **OpenAI** | `gpt-5-pro` | <EFBFBD><EFBFBD><EFBFBD>蚣PT-5璅∪<E79285> 潃?|
|
||||
| **OpenAI** | `gpt-5-pro` | 最新GPT-5模型 ⭐ |
|
||||
| OpenAI | `gpt-4-turbo-preview` | GPT-4高性能版本 |
|
||||
| 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<EFBFBD><EFBFBD>撘箇<EFBFBD><EFBFBD>?|
|
||||
| OpenAI | `gpt-3.5-turbo` | 快速经济版本 |
|
||||
| **Claude** | `claude-sonnet-4-5-20250929` | 最新Claude-4.5 ⭐ |
|
||||
| Claude | `claude-3-5-sonnet-20241022` | Claude-3.5稳定版 |
|
||||
| Claude | `claude-3-opus-20240229` | Claude-3最强版本 |
|
||||
|
||||
**<EFBFBD>瑕<EFBFBD><EFBFBD>孵<EFBFBD>嚗?*
|
||||
**获取方式:**
|
||||
1. 访问:https://platform.openai-proxy.org
|
||||
2. 瘜典<EFBFBD>韐血噡撟嗅<EFBFBD><EFBFBD>?3. <20>冽綉<E586BD>嗅蝱<E59785>瑕<EFBFBD>API Key
|
||||
2. 注册账号并充值
|
||||
3. 在控制台获取API Key
|
||||
4. 一个API Key可同时调用OpenAI和Claude
|
||||
|
||||
**代码示例(TypeScript):**
|
||||
@@ -156,44 +170,49 @@ const claudeResponse = await claudeClient.chat.completions.create({
|
||||
});
|
||||
```
|
||||
|
||||
**雿輻鍂<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>?- **銝㗇芋<E39787>见<EFBFBD>霂<EFBFBD><E99C82>** <20>脩<EFBFBD><E884A9>嗅鍳<E59785>每laude隞脰<E99A9E>
|
||||
**使用场景(AI智能文献 ⭐):**
|
||||
- **GPT-5-Pro:** 文献精准筛选、质量控制
|
||||
- **Claude-4.5:** 第三方仲裁、结构化输出
|
||||
- **双模型对比:** DeepSeek + GPT-5-Pro 快速+高质量
|
||||
- **三模型共识:** 冲突时启用Claude仲裁
|
||||
|
||||
**摰帋遠嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?*
|
||||
**定价(参考):**
|
||||
- GPT-5-Pro: ~¥0.10/1K tokens(输入),~¥0.20/1K tokens(输出)
|
||||
- Claude-4.5-Sonnet: ~¥0.021/1K tokens(输入),~¥0.105/1K tokens(输出)
|
||||
|
||||
**瘜冽<EFBFBD>鈭钅★嚗?*
|
||||
**注意事项:**
|
||||
- ⚠️ API Key包含敏感信息,不要提交到Git
|
||||
- ⚠️ 建议定期更换API Key
|
||||
- ⚠️ 生产环境使用独立的API Key
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD>圲 Dify<EFBFBD>滨蔭嚗㇌AG撘閙<EFBFBD>嚗?
|
||||
## 🔧 Dify配置(RAG引擎)
|
||||
|
||||
**用途:** 知识库向量检索、RAG问答
|
||||
|
||||
**<EFBFBD>滨蔭嚗?*
|
||||
**配置:**
|
||||
```env
|
||||
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
|
||||
**部署信息:**
|
||||
- **本地部署:** Docker Compose
|
||||
- **访问地址:** http://localhost
|
||||
- **管理后台:** http://localhost/install
|
||||
- **向量数据库:** Qdrant(内置)
|
||||
|
||||
**<EFBFBD>瑕<EFBFBD>API Key嚗?*
|
||||
**获取API Key:**
|
||||
1. 访问 Dify 管理后台
|
||||
2. 进入"应用"页面
|
||||
3. <EFBFBD>𥕦遣"<22>亥<EFBFBD>摨枏<E691A8><E69E8F>?
|
||||
3. 创建"知识库应用"
|
||||
4. 复制API Key
|
||||
|
||||
**雿輻鍂<EFBFBD>箸艶嚗?*
|
||||
- 銝芯犖<EFBFBD>亥<EFBFBD>摨𤘪<EFBFBD>獢<EFBFBD><EFBFBD>隡?- @<40>亥<EFBFBD>摨㯄䔮蝑?- <20>箄<EFBFBD>撘閧鍂<E996A7>蠘<EFBFBD>
|
||||
**使用场景:**
|
||||
- 个人知识库文档上传
|
||||
- @知识库问答
|
||||
- 智能引用功能
|
||||
|
||||
---
|
||||
|
||||
@@ -201,17 +220,18 @@ DIFY_API_URL=http://localhost/v1
|
||||
|
||||
### JWT密钥
|
||||
|
||||
**<EFBFBD>滨蔭嚗?*
|
||||
**配置:**
|
||||
```env
|
||||
JWT_SECRET=your-secret-key-change-in-production
|
||||
JWT_EXPIRES_IN=7d
|
||||
```
|
||||
|
||||
**霂湔<EFBFBD>嚗?*
|
||||
**说明:**
|
||||
- 用于用户认证Token签名
|
||||
- 建议使用32位以上随机字符串
|
||||
- 餈<EFBFBD><EFBFBD><EFBFBD>園𡢿嚗?憭?
|
||||
**<2A><><EFBFBD>撘箏<E69298><E7AE8F>伐<EFBFBD><E4BC90>舫<EFBFBD>㚁<EFBFBD>嚗?*
|
||||
- 过期时间:7天
|
||||
|
||||
**生成强密钥(可选):**
|
||||
```bash
|
||||
# Node.js生成
|
||||
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||||
@@ -226,7 +246,7 @@ openssl rand -hex 32
|
||||
|
||||
### 后端服务
|
||||
|
||||
**<EFBFBD>滨蔭嚗?*
|
||||
**配置:**
|
||||
```env
|
||||
PORT=3001
|
||||
HOST=0.0.0.0
|
||||
@@ -234,24 +254,24 @@ NODE_ENV=development
|
||||
LOG_LEVEL=info
|
||||
```
|
||||
|
||||
**霂湔<EFBFBD>嚗?*
|
||||
| <EFBFBD><EFBFBD>㺭 | <20>?| 霂湔<E99C82> |
|
||||
**说明:**
|
||||
| 参数 | 值 | 说明 |
|
||||
|------|-----|------|
|
||||
| PORT | 3001 | 后端服务端口 |
|
||||
| HOST | 0.0.0.0 | <EFBFBD>穃𨯬<EFBFBD><EFBFBD><EFBFBD>厩<EFBFBD><EFBFBD>?|
|
||||
| NODE_ENV | development | 撘<EFBFBD><EFBFBD>𤑳㴓憓?|
|
||||
| HOST | 0.0.0.0 | 监听所有网卡 |
|
||||
| NODE_ENV | development | 开发环境 |
|
||||
| LOG_LEVEL | info | 日志级别 |
|
||||
|
||||
---
|
||||
|
||||
### CORS配置
|
||||
|
||||
**<EFBFBD>滨蔭嚗?*
|
||||
**配置:**
|
||||
```env
|
||||
CORS_ORIGIN=http://localhost:5173
|
||||
```
|
||||
|
||||
**霂湔<EFBFBD>嚗?*
|
||||
**说明:**
|
||||
- 允许前端跨域访问
|
||||
- 前端开发服务器:http://localhost:5173
|
||||
|
||||
@@ -259,25 +279,27 @@ CORS_ORIGIN=http://localhost:5173
|
||||
|
||||
### Redis配置(可选)
|
||||
|
||||
**<EFBFBD>滨蔭嚗?*
|
||||
**配置:**
|
||||
```env
|
||||
REDIS_URL=redis://localhost:6379
|
||||
```
|
||||
|
||||
**霂湔<EFBFBD>嚗?*
|
||||
- <EFBFBD>其<EFBFBD>蝻枏<EFBFBD><EFBFBD>䔶<EFBFBD>霂萘恣<EFBFBD>?- 敶枏<E695B6><E69E8F>芸撩<E88AB8>嗉<EFBFBD>瘙?
|
||||
**说明:**
|
||||
- 用于缓存和会话管理
|
||||
- 当前未强制要求
|
||||
|
||||
---
|
||||
|
||||
## 📁 文件上传配置
|
||||
|
||||
**<EFBFBD>滨蔭嚗?*
|
||||
**配置:**
|
||||
```env
|
||||
UPLOAD_MAX_SIZE=10485760
|
||||
UPLOAD_DIR=./uploads
|
||||
```
|
||||
|
||||
**霂湔<EFBFBD>嚗?*
|
||||
| <EFBFBD><EFBFBD>㺭 | <20>?| 霂湔<E99C82> |
|
||||
**说明:**
|
||||
| 参数 | 值 | 说明 |
|
||||
|------|-----|------|
|
||||
| UPLOAD_MAX_SIZE | 10485760 | 10MB(字节) |
|
||||
| UPLOAD_DIR | ./uploads | 上传文件存储目录 |
|
||||
@@ -286,19 +308,20 @@ UPLOAD_DIR=./uploads
|
||||
|
||||
## 🚀 配置步骤
|
||||
|
||||
### 1. 璉<EFBFBD><EFBFBD>亦㴓憓<EFBFBD><EFBFBD><EFBFBD>𤩺<EFBFBD>隞?
|
||||
**雿滨蔭嚗?* `backend/.env`
|
||||
### 1. 检查环境变量文件
|
||||
|
||||
**位置:** `backend/.env`
|
||||
|
||||
如果文件不存在,参考以下模板创建:
|
||||
|
||||
```env
|
||||
# ==================== <EFBFBD>滚𦛚<EFBFBD>券<EFBFBD>蝵?====================
|
||||
# ==================== 服务器配置 ====================
|
||||
PORT=3001
|
||||
HOST=0.0.0.0
|
||||
NODE_ENV=development
|
||||
LOG_LEVEL=info
|
||||
|
||||
# ==================== <EFBFBD>唳旿摨㯄<EFBFBD>蝵?====================
|
||||
# ==================== 数据库配置 ====================
|
||||
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/ai_clinical_research
|
||||
|
||||
# ==================== Redis配置 ====================
|
||||
@@ -312,7 +335,8 @@ JWT_EXPIRES_IN=7d
|
||||
# DeepSeek
|
||||
DEEPSEEK_API_KEY=sk-your-deepseek-key
|
||||
|
||||
# <EFBFBD>帋<EFBFBD><EFBFBD><EFBFBD>䔮嚗<EFBFBD>燵<EFBFBD>䔶<EFBFBD>DashScope嚗?DASHSCOPE_API_KEY=sk-your-qwen-key
|
||||
# 通义千问(阿里云DashScope)
|
||||
DASHSCOPE_API_KEY=sk-your-qwen-key
|
||||
|
||||
# Gemini(可选)
|
||||
GEMINI_API_KEY=your-gemini-key
|
||||
@@ -333,7 +357,7 @@ CORS_ORIGIN=http://localhost:5173
|
||||
|
||||
### 2. 验证配置
|
||||
|
||||
**<EFBFBD>臬𢆡<EFBFBD>𡒊垢<EFBFBD>滚𦛚嚗?*
|
||||
**启动后端服务:**
|
||||
```bash
|
||||
cd backend
|
||||
npm run dev
|
||||
@@ -341,10 +365,10 @@ npm run dev
|
||||
|
||||
**检查启动日志:**
|
||||
```
|
||||
<EFBFBD>?Prisma schema loaded
|
||||
<EFBFBD>?Environment variables loaded from .env
|
||||
<EFBFBD>?Datasource "db": PostgreSQL database "ai_clinical_research"
|
||||
<EFBFBD>?Server running on http://0.0.0.0:3001
|
||||
✓ Prisma schema loaded
|
||||
✓ Environment variables loaded from .env
|
||||
✓ Datasource "db": PostgreSQL database "ai_clinical_research"
|
||||
✓ Server running on http://0.0.0.0:3001
|
||||
```
|
||||
|
||||
**验证数据库连接:**
|
||||
@@ -353,7 +377,7 @@ 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"
|
||||
@@ -366,17 +390,20 @@ Database schema is up to date!
|
||||
|
||||
#### 问题1:数据库连接失败
|
||||
|
||||
**<EFBFBD>躰秤靽⊥<EFBFBD>嚗?*
|
||||
**错误信息:**
|
||||
```
|
||||
Error: Can't reach database server at localhost:5432
|
||||
```
|
||||
|
||||
**閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?*
|
||||
**解决方案:**
|
||||
1. 检查PostgreSQL是否启动
|
||||
2. 撉諹<EFBFBD>蝡臬藁5432<EFBFBD>臬炏鋡怠<EFBFBD><EFBFBD>?3. 蝖株恕<E6A0AA>冽<EFBFBD><E586BD>滚<EFBFBD><E6BB9A><EFBFBD>糓<EFBFBD>行迤蝖?
|
||||
2. 验证端口5432是否被占用
|
||||
3. 确认用户名密码是否正确
|
||||
|
||||
**检查PostgreSQL状态(Windows):**
|
||||
```bash
|
||||
# <EFBFBD>亦<EFBFBD><EFBFBD>滚𦛚<EFBFBD>嗆<EFBFBD>?Get-Service postgresql*
|
||||
# 查看服务状态
|
||||
Get-Service postgresql*
|
||||
|
||||
# 启动服务
|
||||
Start-Service postgresql-x64-15
|
||||
@@ -386,39 +413,42 @@ Start-Service postgresql-x64-15
|
||||
|
||||
#### 问题2:LLM API调用失败
|
||||
|
||||
**<EFBFBD>躰秤靽⊥<EFBFBD>嚗?*
|
||||
**错误信息:**
|
||||
```
|
||||
Error: Invalid API key
|
||||
```
|
||||
|
||||
**閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?*
|
||||
**解决方案:**
|
||||
1. 检查API Key是否正确复制
|
||||
2. 蝖株恕API Key<EFBFBD>臬炏撌脫<EFBFBD>瘣?3. 璉<><E79289>亥揭<E4BAA5>瑚<EFBFBD>憸脲糓<E884B2>血<EFBFBD>頞?
|
||||
2. 确认API Key是否已激活
|
||||
3. 检查账户余额是否充足
|
||||
|
||||
---
|
||||
|
||||
#### 问题3:Dify连接失败
|
||||
|
||||
**<EFBFBD>躰秤靽⊥<EFBFBD>嚗?*
|
||||
**错误信息:**
|
||||
```
|
||||
Error: connect ECONNREFUSED 127.0.0.1:80
|
||||
```
|
||||
|
||||
**閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?*
|
||||
**解决方案:**
|
||||
1. 检查Dify是否启动:`docker-compose ps`
|
||||
2. 启动Dify:`docker-compose up -d`
|
||||
3. 验证访问:浏览器打开 http://localhost
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD><EFBFBD> 撟喳蝱<E596B3>箇<EFBFBD>霈暹鴌<E69AB9>滨蔭嚗?025-11-16 <EFBFBD>啣<EFBFBD>嚗?
|
||||
> **潃?<3F>滩<EFBFBD><E6BBA9>湔鰵**嚗帋蛹<E5B88B>舀<EFBFBD>鈭穃<E988AD><E7A983>罸<EFBFBD>蝵莎<E89DB5><E88E8E>啣<EFBFBD>撟喳蝱<E596B3>箇<EFBFBD>霈暹鴌<E69AB9>臬<EFBFBD><E887AC>㗛<EFBFBD>
|
||||
## 🌟 平台基础设施配置(2025-11-16 新增)
|
||||
|
||||
> **⭐ 重要更新**:为支持云原生部署,新增平台基础设施环境变量
|
||||
> **详细文档**:[平台基础设施规划](../09-架构实施/04-平台基础设施规划.md)
|
||||
|
||||
---
|
||||
|
||||
### 1. 存储服务配置
|
||||
|
||||
#### **<EFBFBD>砍𧑐撘<EFBFBD><EFBFBD>𤑳㴓憓?*
|
||||
#### **本地开发环境**
|
||||
|
||||
```bash
|
||||
# backend/.env.development
|
||||
@@ -426,10 +456,10 @@ STORAGE_TYPE=local
|
||||
BASE_URL=http://localhost:3001
|
||||
```
|
||||
|
||||
#### **<EFBFBD>煺漣<EFBFBD>臬<EFBFBD>嚗<EFBFBD>燵<EFBFBD>䔶<EFBFBD>OSS嚗?*
|
||||
#### **生产环境(阿里云OSS)**
|
||||
|
||||
```bash
|
||||
# SAE<EFBFBD>批<EFBFBD><EFBFBD>?-> <20>臬<EFBFBD><E887AC>㗛<EFBFBD><E3979B>滨蔭
|
||||
# SAE控制台 -> 环境变量配置
|
||||
STORAGE_TYPE=oss
|
||||
OSS_REGION=oss-cn-hangzhou
|
||||
OSS_BUCKET=aiclinical-prod
|
||||
@@ -440,11 +470,11 @@ OSS_ENDPOINT=https://oss-cn-hangzhou.aliyuncs.com
|
||||
|
||||
#### **配置说明**
|
||||
|
||||
| <EFBFBD>㗛<EFBFBD><EFBFBD>?| 敹<><E695B9> | 暺䁅恕<E48185>?| 霂湔<E99C82> |
|
||||
| 变量名 | 必需 | 默认值 | 说明 |
|
||||
|--------|------|--------|------|
|
||||
| `STORAGE_TYPE` | <EFBFBD>?| `local` | 摮睃<EFBFBD>蝐餃<EFBFBD>嚗䫤local` <20>?`oss` |
|
||||
| `STORAGE_TYPE` | ✅ | `local` | 存储类型:`local` 或 `oss` |
|
||||
| `BASE_URL` | 本地 | `http://localhost:3001` | 本地存储访问URL |
|
||||
| `OSS_REGION` | <EFBFBD>煺漣 | - | OSS<EFBFBD>箏<EFBFBD>嚗<EFBFBD><EFBFBD>嚗駅ss-cn-hangzhou嚗?|
|
||||
| `OSS_REGION` | 生产 | - | OSS区域(如:oss-cn-hangzhou) |
|
||||
| `OSS_BUCKET` | 生产 | - | OSS Bucket名称 |
|
||||
| `OSS_ACCESS_KEY_ID` | 生产 | - | 阿里云AccessKey ID |
|
||||
| `OSS_ACCESS_KEY_SECRET` | 生产 | - | 阿里云AccessKey Secret |
|
||||
@@ -453,17 +483,17 @@ OSS_ENDPOINT=https://oss-cn-hangzhou.aliyuncs.com
|
||||
|
||||
### 2. 缓存服务配置
|
||||
|
||||
#### **<EFBFBD>砍𧑐撘<EFBFBD><EFBFBD>𤑳㴓憓?*
|
||||
#### **本地开发环境**
|
||||
|
||||
```bash
|
||||
# backend/.env.development
|
||||
CACHE_TYPE=memory
|
||||
```
|
||||
|
||||
#### **<EFBFBD>煺漣<EFBFBD>臬<EFBFBD>嚗<EFBFBD>燵<EFBFBD>䔶<EFBFBD>Redis嚗?*
|
||||
#### **生产环境(阿里云Redis)**
|
||||
|
||||
```bash
|
||||
# SAE<EFBFBD>批<EFBFBD><EFBFBD>?-> <20>臬<EFBFBD><E887AC>㗛<EFBFBD><E3979B>滨蔭
|
||||
# SAE控制台 -> 环境变量配置
|
||||
CACHE_TYPE=redis
|
||||
REDIS_HOST=r-***.redis.aliyuncs.com
|
||||
REDIS_PORT=6379
|
||||
@@ -473,30 +503,31 @@ REDIS_DB=0
|
||||
|
||||
#### **配置说明**
|
||||
|
||||
| <EFBFBD>㗛<EFBFBD><EFBFBD>?| 敹<><E695B9> | 暺䁅恕<E48185>?| 霂湔<E99C82> |
|
||||
| 变量名 | 必需 | 默认值 | 说明 |
|
||||
|--------|------|--------|------|
|
||||
| `CACHE_TYPE` | <EFBFBD>?| `memory` | 蝻枏<EFBFBD>蝐餃<EFBFBD>嚗䫤memory` <EFBFBD>?`redis` |
|
||||
| `CACHE_TYPE` | ✅ | `memory` | 缓存类型:`memory` 或 `redis` |
|
||||
| `REDIS_HOST` | Redis | - | Redis主机地址 |
|
||||
| `REDIS_PORT` | Redis | `6379` | Redis端口 |
|
||||
| `REDIS_PASSWORD` | Redis | - | Redis密码 |
|
||||
| `REDIS_DB` | Redis | `0` | Redis<EFBFBD>唳旿摨梶<EFBFBD><EFBFBD>?|
|
||||
| `REDIS_DB` | Redis | `0` | Redis数据库编号 |
|
||||
|
||||
---
|
||||
|
||||
### 3. 数据库连接池配置
|
||||
|
||||
#### **<EFBFBD>砍𧑐撘<EFBFBD><EFBFBD>𤑳㴓憓?*
|
||||
#### **本地开发环境**
|
||||
|
||||
```bash
|
||||
# backend/.env.development
|
||||
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/ai_clinical_research
|
||||
|
||||
# <EFBFBD>砍𧑐撘<EFBFBD><EFBFBD>烐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>滨蔭餈墧𦻖瘙?```
|
||||
# 本地开发无需配置连接池
|
||||
```
|
||||
|
||||
#### **<EFBFBD>煺漣<EFBFBD>臬<EFBFBD>嚗<EFBFBD>燵<EFBFBD>䔶<EFBFBD>RDS嚗?*
|
||||
#### **生产环境(阿里云RDS)**
|
||||
|
||||
```bash
|
||||
# SAE<EFBFBD>批<EFBFBD><EFBFBD>?-> <20>臬<EFBFBD><E887AC>㗛<EFBFBD><E3979B>滨蔭
|
||||
# SAE控制台 -> 环境变量配置
|
||||
DATABASE_URL=postgresql://user:password@rm-xxx.aliyuncs.com:5432/prod_db
|
||||
DB_MAX_CONNECTIONS=400 # RDS最大连接数
|
||||
MAX_INSTANCES=20 # SAE最大实例数
|
||||
@@ -504,15 +535,16 @@ MAX_INSTANCES=20 # SAE最大实例数
|
||||
|
||||
#### **配置说明**
|
||||
|
||||
| <EFBFBD>㗛<EFBFBD><EFBFBD>?| 敹<><E695B9> | 暺䁅恕<E48185>?| 霂湔<E99C82> |
|
||||
| 变量名 | 必需 | 默认值 | 说明 |
|
||||
|--------|------|--------|------|
|
||||
| `DATABASE_URL` | <EFBFBD>?| - | PostgreSQL餈墧𦻖摮㛖泵銝?|
|
||||
| `DATABASE_URL` | ✅ | - | PostgreSQL连接字符串 |
|
||||
| `DB_MAX_CONNECTIONS` | 生产 | `400` | RDS最大连接数 |
|
||||
| `MAX_INSTANCES` | 生产 | `20` | SAE最大实例数 |
|
||||
|
||||
**餈墧𦻖<EFBFBD>啗恣蝞?*嚗?```
|
||||
**连接数计算**:
|
||||
```
|
||||
每实例连接数 = DB_MAX_CONNECTIONS / MAX_INSTANCES
|
||||
蝷箔<EFBFBD>嚗?00 / 20 = 20餈墧𦻖/摰硺<E691B0>
|
||||
示例:400 / 20 = 20连接/实例
|
||||
```
|
||||
|
||||
---
|
||||
@@ -527,30 +559,33 @@ NODE_ENV=development # development | production | test
|
||||
|
||||
#### **配置说明**
|
||||
|
||||
| <EFBFBD>㗛<EFBFBD><EFBFBD>?| 敹<><E695B9> | 暺䁅恕<E48185>?| 霂湔<E99C82> |
|
||||
| 变量名 | 必需 | 默认值 | 说明 |
|
||||
|--------|------|--------|------|
|
||||
| `LOG_LEVEL` | <EFBFBD>?| `info` | <EFBFBD>亙<EFBFBD>蝥批<EFBFBD> |
|
||||
| `NODE_ENV` | <EFBFBD>?| `development` | 餈鞱<EFBFBD><EFBFBD>臬<EFBFBD> |
|
||||
| `LOG_LEVEL` | ✅ | `info` | 日志级别 |
|
||||
| `NODE_ENV` | ✅ | `development` | 运行环境 |
|
||||
|
||||
---
|
||||
|
||||
### 5. <EFBFBD>蠘<EFBFBD>撘<EFBFBD><EFBFBD>喲<EFBFBD>蝵?
|
||||
```bash
|
||||
# <20>舐鍂<E88890><E98D82><EFBFBD><EFBFBD>⊥芋<E28AA5>梹<EFBFBD><E6A2B9>堒噡<E5A092><E599A1><EFBFBD>嚗?ENABLED_MODULES=ASL,AIA,PKB,DC,SSA,ST
|
||||
### 5. 功能开关配置
|
||||
|
||||
# <20>硋鍳<E7A18B>典<EFBFBD><E585B8>?ENABLED_MODULES=*
|
||||
```bash
|
||||
# 启用的业务模块(逗号分隔)
|
||||
ENABLED_MODULES=ASL,AIA,PKB,DC,SSA,ST
|
||||
|
||||
# 或启用全部
|
||||
ENABLED_MODULES=*
|
||||
```
|
||||
|
||||
#### **配置说明**
|
||||
|
||||
| 璅∪<EFBFBD>隞<EFBFBD><EFBFBD> | 璅∪<E79285><E288AA>滨妍 | <20>嗆<EFBFBD>?|
|
||||
| 模块代码 | 模块名称 | 状态 |
|
||||
|---------|---------|------|
|
||||
| `ASL` | AI智能文献 | 开发中 |
|
||||
| `AIA` | AI<EFBFBD>箄<EFBFBD><EFBFBD>桃<EFBFBD> | 撌脣<E6928C><E884A3>?|
|
||||
| `PKB` | 銝芯犖<EFBFBD>亥<EFBFBD>摨?| 撌脣<E6928C><E884A3>?|
|
||||
| `DC` | <20>唳旿皜<E697BF><E79A9C> | 霈∪<E99C88>銝?|
|
||||
| `SSA` | <EFBFBD>箄<EFBFBD>蝏蠘恣<EFBFBD><EFBFBD><EFBFBD> | 霈∪<E99C88>銝?|
|
||||
| `ST` | 蝏蠘恣撌亙<E6928C> | 霈∪<E99C88>銝?|
|
||||
| `AIA` | AI智能问答 | 已完成 |
|
||||
| `PKB` | 个人知识库 | 已完成 |
|
||||
| `DC` | 数据清洗 | 计划中 |
|
||||
| `SSA` | 智能统计分析 | 计划中 |
|
||||
| `ST` | 统计工具 | 计划中 |
|
||||
|
||||
---
|
||||
|
||||
@@ -581,7 +616,7 @@ NODE_ENV=development
|
||||
PORT=3001
|
||||
BASE_URL=http://localhost:3001
|
||||
|
||||
# ==================== <EFBFBD>唳旿摨㯄<EFBFBD>蝵?====================
|
||||
# ==================== 数据库配置 ====================
|
||||
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/ai_clinical_research
|
||||
|
||||
# ==================== 存储服务 ====================
|
||||
@@ -608,7 +643,7 @@ JWT_EXPIRES_IN=7d
|
||||
# ==================== CORS配置 ====================
|
||||
CORS_ORIGIN=http://localhost:5173
|
||||
|
||||
# ==================== <EFBFBD>蠘<EFBFBD>撘<EFBFBD><EFBFBD>?====================
|
||||
# ==================== 功能开关 ====================
|
||||
ENABLED_MODULES=*
|
||||
```
|
||||
|
||||
@@ -619,7 +654,7 @@ ENABLED_MODULES=*
|
||||
NODE_ENV=production
|
||||
PORT=3001
|
||||
|
||||
# ==================== <EFBFBD>唳旿摨㯄<EFBFBD>蝵?====================
|
||||
# ==================== 数据库配置 ====================
|
||||
DATABASE_URL=postgresql://user:password@rm-xxx.aliyuncs.com:5432/prod_db
|
||||
DB_MAX_CONNECTIONS=400
|
||||
MAX_INSTANCES=20
|
||||
@@ -650,50 +685,66 @@ DIFY_API_BASE_URL=https://api.dify.ai/v1
|
||||
DIFY_API_KEY=app-***
|
||||
|
||||
# ==================== JWT配置 ====================
|
||||
JWT_SECRET=<<3C>煺漣<E785BA>臬<EFBFBD>撘箏<E69298><E7AE8F>?
|
||||
JWT_SECRET=<生产环境强密钥>
|
||||
JWT_EXPIRES_IN=7d
|
||||
|
||||
# ==================== CORS配置 ====================
|
||||
CORS_ORIGIN=https://app.yourdomain.com
|
||||
|
||||
# ==================== <EFBFBD>蠘<EFBFBD>撘<EFBFBD><EFBFBD>?====================
|
||||
# ==================== 功能开关 ====================
|
||||
ENABLED_MODULES=ASL,AIA,PKB,DC,SSA,ST
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD><EFBFBD> <20>滨蔭璉<E894AD><E79289>交<EFBFBD><E4BAA4>?
|
||||
## 📊 配置检查清单
|
||||
|
||||
使用以下清单验证配置完整性:
|
||||
|
||||
### **<EFBFBD>箇<EFBFBD><EFBFBD>滨蔭嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?*
|
||||
- [ ] <20>?<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<4C>滨蔭嚗<E894AD><E59A97><EFBFBD><EFBFBD>嚗?*
|
||||
- [ ] <20>?DeepSeek API Key<65>滨蔭銝𥪜虾<F0A5AA9C>?- [ ] <20>?Qwen API Key<65>滨蔭銝𥪜虾<F0A5AA9C>?- [ ] <20>?Dify<66>滚𦛚餈鞱<E9A488>銝哨<E98A9D>`docker-compose ps`嚗?- [ ] <20>?Dify API Key撌脤<E6928C>蝵?
|
||||
### **撟喳蝱<E596B3>箇<EFBFBD>霈暹鴌嚗<E9B48C><E59A97><EFBFBD>毺<EFBFBD>嚗?*
|
||||
- [ ] <20>?摮睃<E691AE><E79D83>滚𦛚<E6BB9A>滨蔭甇<E894AD>&嚗<EFBC86>𧋦<EFBFBD>?OSS嚗?- [ ] <20>?蝻枏<E89DBB><E69E8F>滚𦛚<E6BB9A>滨蔭甇<E894AD>&嚗㇈emory/Redis嚗?- [ ] <20>?餈墧𦻖瘙惩<E79899><E683A9>啣歇<E595A3>滨蔭嚗<E894AD><E59A97>鈭抒㴓憓<E3B493><E68693>
|
||||
- [ ] <20>?<3F>蠘<EFBFBD>撘<EFBFBD><E69298>喳歇<E596B3>滨蔭嚗𠄌NABLED_MODULES嚗?
|
||||
### **摨𠉛鍂餈鞱<E9A488>嚗<EFBFBD><E59A97><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>
|
||||
### **基础配置(必需)**
|
||||
- [ ] ✅ 数据库连接成功(`npx prisma migrate status`)
|
||||
- [ ] ✅ 存储类型已配置(`STORAGE_TYPE`)
|
||||
- [ ] ✅ 日志级别已配置(`LOG_LEVEL`)
|
||||
- [ ] ✅ JWT密钥已配置
|
||||
|
||||
### **LLM配置(必需)**
|
||||
- [ ] ✅ DeepSeek API Key配置且可用
|
||||
- [ ] ✅ Qwen API Key配置且可用
|
||||
- [ ] ✅ Dify服务运行中(`docker-compose ps`)
|
||||
- [ ] ✅ Dify API Key已配置
|
||||
|
||||
### **平台基础设施(云原生)**
|
||||
- [ ] ✅ 存储服务配置正确(本地/OSS)
|
||||
- [ ] ✅ 缓存服务配置正确(Memory/Redis)
|
||||
- [ ] ✅ 连接池参数已配置(生产环境)
|
||||
- [ ] ✅ 功能开关已配置(ENABLED_MODULES)
|
||||
|
||||
### **应用运行(必需)**
|
||||
- [ ] ✅ 后端服务启动成功(端口3001)
|
||||
- [ ] ✅ 前端服务启动成功(端口5173)
|
||||
- [ ] ✅ CORS配置正确(前端可访问后端API)
|
||||
- [ ] ✅ 可正常使用平台服务(storage/logger/cache等)
|
||||
|
||||
---
|
||||
|
||||
## 🔄 配置更新记录
|
||||
|
||||
| <EFBFBD>交<EFBFBD> | <20>湔鰵<E6B994><E9B0B5>捆 | <20>湔鰵鈭?|
|
||||
| 日期 | 更新内容 | 更新人 |
|
||||
|------|---------|--------|
|
||||
| 2025-11-09 | <EFBFBD>嘥<EFBFBD><EFBFBD>滨蔭<EFBFBD><EFBFBD>﹝<EFBFBD>𥕦遣 | <20><><EFBFBD>臬𣪧<E887AC>?|
|
||||
| 2025-11-16 | <EFBFBD>啣<EFBFBD>撟喳蝱<EFBFBD>箇<EFBFBD>霈暹鴌<EFBFBD>滨蔭蝡㰘<EFBFBD> | <20><><EFBFBD>臬𣪧<E887AC>?|
|
||||
| 2025-11-09 | 初始配置文档创建 | 技术团队 |
|
||||
| 2025-11-16 | 新增平台基础设施配置章节 | 技术团队 |
|
||||
|
||||
---
|
||||
|
||||
## 📚 相关文档
|
||||
|
||||
- [<EFBFBD>唳旿摨栞<EFBFBD><EFBFBD>仿<EFBFBD>蝵孫(../09-<2D>嗆<EFBFBD>摰墧鴌/02-<2D>唳旿摨栞<E691A8><E6A09E>仿<EFBFBD>蝵?md)
|
||||
- [数据库连接配置](../09-架构实施/02-数据库连接配置.md)
|
||||
- [部署架构设计](../05-部署文档/01-部署架构设计.md)
|
||||
- [系统架构总览](../00-项目概述/技术架构总览.md)
|
||||
|
||||
---
|
||||
|
||||
**<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>𧋦嚗?* v1.0
|
||||
**文档版本:** v1.0
|
||||
**最后更新:** 2025-11-09
|
||||
**蝏湔擪<EFBFBD><EFBFBD><EFBFBD>** <20><><EFBFBD>臬𣪧<E887AC>?
|
||||
**维护者:** 技术团队
|
||||
|
||||
|
||||
Reference in New Issue
Block a user