Files
AIclinicalresearch/开发环境配置指南.md
AI Clinical Dev Team 239c7ea85e feat: Day 21-22 - knowledge base frontend completed, fix CORS and file upload issues
- Complete knowledge base list and detail pages
- Complete document upload component
- Fix CORS config (add PUT/DELETE method support)
- Fix file upload issues (disabled state and beforeUpload return value)
- Add detailed debug logs (cleaned up)
- Create Day 21-22 completion summary document
2025-10-11 15:40:12 +08:00

13 KiB
Raw Blame History

开发环境配置指南

🎯 核心建议先本地开发MVP完成后再上云

理由:

  • 节省成本开发期2.5个月无需云服务器费用)
  • 调试方便(本地开发响应快)
  • 灵活性高(随时修改配置)
  • 降低风险(等功能稳定后再上云)

📅 分阶段部署策略

阶段1本地开发0-2个月 当前阶段

环境: 开发人员本地电脑

需要的硬件:

  • CPU: 4核心以上
  • 内存: 16GB以上推荐
  • 硬盘: 50GB可用空间
  • 操作系统: Windows 10+、macOS、Linux

需要安装:

  • Docker Desktop运行Dify
  • Node.js 18+(后端开发)
  • PostgreSQL 15+或用Docker
  • Redis 7+或用Docker

费用: ¥0使用现有设备

适用于:

  • 搭建基础架构
  • 开发核心功能
  • 本地测试
  • MVP开发

阶段2内测环境2-2.5个月)

环境: 小型云服务器

推荐配置:

  • CPU: 2核心
  • 内存: 4GB
  • 硬盘: 40GB
  • 带宽: 1Mbps

云厂商选择:

  • 阿里云:轻量应用服务器 约¥60/月
  • 腾讯云:轻量应用服务器 约¥50/月

费用: ¥50-60/月

适用于:

  • 小范围内测5-10人
  • 功能验证
  • 性能初步测试

阶段3正式上线3个月后

环境: 生产级云服务器

推荐配置:

  • CPU: 4核心
  • 内存: 8GB
  • 硬盘: 100GB SSD
  • 带宽: 5Mbps

费用: ¥200-300/月

适用于:

  • 正式对外服务
  • 100+用户规模

💻 本地开发环境配置(详细步骤)

方案A全Docker方式推荐

优点: 环境隔离、配置简单、一键启动

1. 安装Docker Desktop

Windows

# 下载并安装 Docker Desktop
# https://www.docker.com/products/docker-desktop/

# 启动后验证
docker --version
docker-compose --version

macOS

# 使用 Homebrew
brew install --cask docker

# 或下载安装包
# https://www.docker.com/products/docker-desktop/

2. 创建项目目录

mkdir ai-clinical-research
cd ai-clinical-research

3. 创建 docker-compose.yml

# docker-compose.yml
version: '3.8'

services:
  # PostgreSQL 数据库
  postgres:
    image: postgres:15-alpine
    container_name: acr-postgres
    environment:
      POSTGRES_DB: ai_clinical_research
      POSTGRES_USER: dev_user
      POSTGRES_PASSWORD: dev_password
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

  # Redis 缓存
  redis:
    image: redis:7-alpine
    container_name: acr-redis
    ports:
      - "6379:6379"
    volumes:
      - redis_data:/data
    restart: unless-stopped

  # DifyRAG系统
  dify:
    image: langgenius/dify-api:latest
    container_name: acr-dify
    environment:
      - DB_USERNAME=dify
      - DB_PASSWORD=dify_password
      - DB_HOST=dify-postgres
      - DB_PORT=5432
      - DB_DATABASE=dify
      - REDIS_HOST=dify-redis
      - REDIS_PORT=6379
      - SECRET_KEY=your-secret-key-change-this
    ports:
      - "5001:5001"
    depends_on:
      - dify-postgres
      - dify-redis
    restart: unless-stopped

  # Dify 专用 PostgreSQL
  dify-postgres:
    image: postgres:15-alpine
    container_name: acr-dify-postgres
    environment:
      POSTGRES_DB: dify
      POSTGRES_USER: dify
      POSTGRES_PASSWORD: dify_password
    volumes:
      - dify_postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

  # Dify 专用 Redis
  dify-redis:
    image: redis:7-alpine
    container_name: acr-dify-redis
    volumes:
      - dify_redis_data:/data
    restart: unless-stopped

  # Dify Web界面可选开发调试用
  dify-web:
    image: langgenius/dify-web:latest
    container_name: acr-dify-web
    environment:
      - CONSOLE_API_URL=http://localhost:5001
    ports:
      - "3000:3000"
    depends_on:
      - dify
    restart: unless-stopped

volumes:
  postgres_data:
  redis_data:
  dify_postgres_data:
  dify_redis_data:

networks:
  default:
    name: acr-network

4. 启动所有服务

# 启动所有容器
docker-compose up -d

# 查看运行状态
docker-compose ps

# 查看日志
docker-compose logs -f

# 停止所有容器
docker-compose down

# 停止并删除数据
docker-compose down -v

5. 验证服务

# 检查 PostgreSQL
docker exec -it acr-postgres psql -U dev_user -d ai_clinical_research -c "\dt"

# 检查 Redis
docker exec -it acr-redis redis-cli ping
# 应返回: PONG

# 检查 Dify
curl http://localhost:5001/health
# 或在浏览器访问 http://localhost:3000

方案B本地安装方式

适用于: 不想用Docker或机器配置较低

1. 安装 PostgreSQL

Windows

# 下载安装包
# https://www.postgresql.org/download/windows/

# 安装后创建数据库
psql -U postgres
CREATE DATABASE ai_clinical_research;
CREATE USER dev_user WITH PASSWORD 'dev_password';
GRANT ALL PRIVILEGES ON DATABASE ai_clinical_research TO dev_user;

macOS

brew install postgresql@15
brew services start postgresql@15

# 创建数据库
createdb ai_clinical_research

2. 安装 Redis

Windows

# 使用 MemuraiRedis for Windows
# https://www.memurai.com/get-memurai

# 或使用 WSL2 + Docker
wsl --install
# 然后在 WSL2 中运行 Docker

macOS

brew install redis
brew services start redis

3. 安装 Node.js

# Windows 和 macOS
# 下载 LTS 版本
# https://nodejs.org/

# 验证安装
node --version  # v18.x 或更高
npm --version

4. 安装 Dify本地方式

# 克隆 Dify
git clone https://github.com/langgenius/dify.git
cd dify/api

# 安装 Python 依赖
pip install -r requirements.txt

# 配置环境变量
cp .env.example .env
# 编辑 .env填入数据库连接信息

# 运行数据库迁移
flask db upgrade

# 启动 API
flask run --host=0.0.0.0 --port=5001

🔧 开发工具推荐

必需工具

  1. 代码编辑器

    • VS Code推荐
    • WebStorm
    • CursorAI辅助编程
  2. API测试工具

    • Postman推荐
    • Insomnia
    • VS Code REST Client 插件
  3. 数据库管理工具

    • DBeaver推荐免费
    • TablePlus
    • pgAdmin
  4. Git客户端

    • Git命令行
    • GitHub Desktop
    • SourceTree

推荐插件VS Code

{
  "recommendations": [
    "dbaeumer.vscode-eslint",         // ESLint
    "esbenp.prettier-vscode",         // 代码格式化
    "prisma.prisma",                  // Prisma ORM
    "ms-azuretools.vscode-docker",    // Docker
    "humao.rest-client",              // REST API 测试
    "bradlc.vscode-tailwindcss",      // TailwindCSS
    "dsznajder.es7-react-js-snippets" // React 代码片段
  ]
}

📝 本地开发配置文件

后端环境变量(.env

# backend/.env

# 数据库
DATABASE_URL="postgresql://dev_user:dev_password@localhost:5432/ai_clinical_research"

# Redis
REDIS_URL="redis://localhost:6379"

# JWT
JWT_SECRET="your-jwt-secret-change-this-in-production"
JWT_EXPIRES_IN="7d"

# LLM API Keys本地开发可先不填等需要测试时再填
DEEPSEEK_API_KEY=""
DASHSCOPE_API_KEY=""
GEMINI_API_KEY=""

# Dify
DIFY_API_URL="http://localhost:5001"
DIFY_API_KEY=""  # 启动Dify后在管理界面获取

# 对象存储(本地开发可先不配置)
OSS_ACCESS_KEY_ID=""
OSS_ACCESS_KEY_SECRET=""
OSS_BUCKET=""
OSS_REGION=""

# 应用配置
NODE_ENV="development"
PORT=3001

前端环境变量(.env.local

# frontend/.env.local

# API 地址
VITE_API_URL="http://localhost:3001"

# 是否启用调试模式
VITE_DEBUG=true

🚀 快速启动脚本

一键启动适用于方案ADocker

创建 start-dev.shmacOS/Linuxstart-dev.batWindows

start-dev.sh:

#!/bin/bash

echo "🚀 启动开发环境..."

# 启动 Docker 服务
echo "📦 启动 Docker 容器..."
docker-compose up -d

# 等待服务就绪
echo "⏳ 等待服务启动..."
sleep 10

# 启动后端
echo "🔧 启动后端服务..."
cd backend
npm run dev &
BACKEND_PID=$!

# 启动前端
echo "🎨 启动前端服务..."
cd ../frontend
npm run dev &
FRONTEND_PID=$!

echo "✅ 开发环境启动完成!"
echo ""
echo "📝 访问地址:"
echo "   前端: http://localhost:5173"
echo "   后端: http://localhost:3001"
echo "   Dify: http://localhost:3000"
echo ""
echo "按 Ctrl+C 停止所有服务"

# 等待用户中断
wait $BACKEND_PID $FRONTEND_PID

start-dev.bat:

@echo off
echo 🚀 启动开发环境...

echo 📦 启动 Docker 容器...
docker-compose up -d

echo ⏳ 等待服务启动...
timeout /t 10

echo 🔧 启动后端服务...
start cmd /k "cd backend && npm run dev"

echo 🎨 启动前端服务...
start cmd /k "cd frontend && npm run dev"

echo ✅ 开发环境启动完成!
echo.
echo 📝 访问地址:
echo    前端: http://localhost:5173
echo    后端: http://localhost:3001
echo    Dify: http://localhost:3000
echo.
pause

💰 成本对比

本地开发(推荐用于开发阶段)

项目 成本
硬件 ¥0使用现有电脑
软件 ¥0全部开源免费
LLM API ¥10-50少量测试
总计 ¥10-50/2.5个月

云服务器(开发环境)

项目 成本
服务器2核4G ¥60/月 × 2.5 = ¥150
数据库(小规格) ¥50/月 × 2.5 = ¥125
带宽 ¥30/月 × 2.5 = ¥75
LLM API ¥50
总计 ¥400/2.5个月

节省约¥350-390开发阶段


⚠️ 本地开发注意事项

1. 资源限制

Docker Desktop 默认限制:

  • CPU: 2核心
  • 内存: 2GB

建议调整:

设置 → Resources → Advanced
- CPUs: 4如果机器允许
- Memory: 8GB推荐
- Swap: 2GB

2. 端口占用

常用端口:

  • 3000: Dify Web界面
  • 3001: 后端API
  • 5001: Dify API
  • 5173: 前端开发服务器
  • 5432: PostgreSQL
  • 6379: Redis

检查端口占用:

# Windows
netstat -ano | findstr :3000

# macOS/Linux
lsof -i :3000

3. 数据备份

定期备份数据库:

# 备份
docker exec acr-postgres pg_dump -U dev_user ai_clinical_research > backup.sql

# 恢复
docker exec -i acr-postgres psql -U dev_user ai_clinical_research < backup.sql

4. API Key 管理

开发阶段策略:

  • 使用个人API Key不要提交到Git
  • 设置低配额(避免误操作)
  • 使用便宜的模型测试DeepSeek-V3

🎯 什么时候需要购买云服务器?

场景1需要团队协作

时机: 当第2名开发者加入时

原因:

  • 共享开发环境
  • 统一数据库
  • 方便联调

推荐: 购买小型云服务器2核4G¥60/月)

场景2需要外部测试

时机: MVP完成需要给用户试用

原因:

  • 外网访问
  • 稳定性测试
  • 收集反馈

推荐: 购买小型云服务器

场景3准备正式上线

时机: 功能稳定,准备对外服务

原因:

  • 生产级稳定性
  • 性能优化
  • 数据安全

推荐: 购买生产级服务器4核8G¥250/月)


📋 分阶段采购清单

第0-8周本地开发当前阶段

需要购买:

  • 不需要任何云服务!

需要准备:

  • 本地安装 Docker Desktop
  • 申请 DeepSeek API Key免费额度足够测试
  • 申请 Qwen API Key可选

费用: ¥0-10


第9-10周内测准备如需要

需要购买:

  • 🟡 轻量应用服务器2核4G¥60/月
  • 🟡 或使用阿里云/腾讯云免费试用(新用户)

用途:

  • 小范围内测
  • 团队联调

费用: ¥0-120


第11周+:正式上线

需要购买:

  • 🔴 云服务器4核8G¥250/月
  • 🔴 对象存储 OSS ¥50/月
  • 🔴 CDN加速 ¥50/月
  • 🔴 域名 ¥50/年
  • 🔴 SSL证书可用免费的Let's Encrypt

费用: ¥350/月起


推荐方案

第1-2个月现在

本地开发,不购买云服务器

理由:

  1. 节省成本¥0 vs ¥400
  2. 调试方便(响应快)
  3. 灵活性高(随时修改)
  4. 功能还在开发中,不需要云环境

需要做的:

  1. 安装 Docker Desktop
  2. 按照本文档配置本地环境
  3. 申请 DeepSeek API Key少量测试用

第2.5个月:

🟡 考虑购买小型云服务器(如需内测)

第3个月+

🔴 购买生产级服务器(正式上线)


🎉 总结

回答您的问题:不需要现在购买云服务器!

建议:

  1. 0-2个月 本地开发Docker Desktop
  2. 🟡 2-2.5个月: 内测环境(小型云服务器,可选)
  3. 🔴 3个月+ 生产环境(正式服务器)

现在就可以开始:

# 1. 安装 Docker Desktop
# 2. 创建项目目录
# 3. 复制上面的 docker-compose.yml
# 4. 启动开发环境
docker-compose up -d

节省成本约¥350-400开发阶段


文档版本v1.0
更新时间2025-10-10