Backend (FastAPI + SQLAlchemy + Claude API + RAG): - Config management with Pydantic v2 - Database engine with connection pooling and SQL injection prevention - AI engine with Claude API integration (support custom base URL) - RAG engine with ChromaDB and sentence-transformers - Requirement analysis service - Config generation service - Executor engine with SQL validation - REST API endpoints: /analyze, /generate, /execute Frontend (Vue 3 + Element Plus + Pinia): - Complete 3-step workflow: analyze → generate → execute - Step indicator with progress visualization - Analysis result display with field table - SQL preview with monospace font - Execute confirmation dialog with safety warning - Execution result display - State management with Pinia - API service integration Security: - SQL injection prevention with parameterized queries - Dangerous SQL operation blocking - Database password URL encoding - Transaction auto-rollback - Pydantic config validation Features: - Natural language requirement analysis - Automated SQL configuration generation - Safe execution with human review - LAN access support - Custom Claude API endpoint support Documentation: - README with quick start guide - Quick start guide - LAN access configuration - Dependency fixes guide - Claude API configuration - Git operation guide - Implementation report Dependencies fixed: - numpy<2.0.0 for chromadb compatibility - sentence-transformers==2.7.0 for huggingface_hub compatibility Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
6.1 KiB
6.1 KiB
局域网访问配置指南
🌐 配置说明
本项目已配置支持局域网访问,允许团队在同一局域网内访问前端和后端服务。
✅ 已完成的配置
1. 前端配置 (Vite)
文件: frontend/vite.config.js
server: {
host: '0.0.0.0', // 监听所有网络接口,允许局域网访问
port: 5173,
proxy: {
'/api': {
target: 'http://localhost:8000',
changeOrigin: true
}
}
}
2. 后端配置 (FastAPI)
文件: backend/app/main.py
- 服务监听:
host="0.0.0.0"(已配置,监听所有网络接口) - CORS 策略:
- 开发模式 (
DEBUG=True): 允许所有来源 (allow_origins=["*"]) - 生产模式: 仅允许 localhost
- 开发模式 (
🚀 使用步骤
1. 获取服务器 IP 地址
在运行服务的机器上执行:
Windows:
ipconfig
查找 "IPv4 地址",例如:192.168.1.100
Linux/Mac:
ifconfig
# 或
ip addr show
查找 inet 地址,例如:inet 192.168.1.100
2. 启动服务
启动后端:
cd backend
source venv/bin/activate # Windows: venv\Scripts\activate
python -m app.main
后端将监听:
http://0.0.0.0:8000(所有网络接口)- 可通过
http://localhost:8000或http://192.168.1.100:8000访问
启动前端:
cd frontend
npm run dev
Vite 将输出:
VITE v5.0.4 ready in xxx ms
➜ Local: http://localhost:5173/
➜ Network: http://192.168.1.100:5173/
3. 局域网访问
在同一局域网的其他设备上,使用服务器 IP 地址访问:
- 前端:
http://192.168.1.100:5173 - 后端 API:
http://192.168.1.100:8000 - API 文档:
http://192.168.1.100:8000/docs
🔥 防火墙配置
如果局域网内无法访问,需要检查防火墙设置。
Windows 防火墙
方法 1: 允许端口
# 以管理员身份运行 PowerShell
netsh advfirewall firewall add rule name="ERP AI Assistant - Frontend" dir=in action=allow protocol=tcp localport=5173
netsh advfirewall firewall add rule name="ERP AI Assistant - Backend" dir=in action=allow protocol=tcp localport=8000
方法 2: 允许应用
- 打开 "Windows Defender 防火墙"
- 点击 "允许应用通过防火墙"
- 添加
node.exe和python.exe
Linux 防火墙
UFW (Ubuntu):
sudo ufw allow 5173/tcp
sudo ufw allow 8000/tcp
sudo ufw reload
Firewalld (CentOS/RHEL):
sudo firewall-cmd --permanent --add-port=5173/tcp
sudo firewall-cmd --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
云服务器安全组
如果运行在云服务器上,需要在安全组中开放端口:
- 入站规则: 允许 TCP 端口 5173 和 8000
📱 测试访问
1. 本地测试
在服务器机器上测试:
# 测试后端
curl http://localhost:8000/health
# 测试前端(浏览器访问)
http://localhost:5173
2. 局域网测试
在其他设备上测试:
# 测试后端(替换为实际 IP)
curl http://192.168.1.100:8000/health
# 测试前端(浏览器访问)
http://192.168.1.100:5173
⚠️ 安全注意事项
开发环境
当前配置适合开发环境:
- ✅ CORS 允许所有来源 (
allow_origins=["*"]) - ✅ 方便团队协作和测试
生产环境
强烈建议生产环境进行以下调整:
-
设置
DEBUG=False# .env DEBUG=False -
配置具体允许的域名 修改
backend/app/main.py:allow_origins=[ "https://your-domain.com", "https://erp.your-company.com", ] -
使用 HTTPS
- 配置 SSL 证书
- 使用 Nginx 反向代理
-
使用环境变量管理 CORS 在
.env中配置:ALLOWED_ORIGINS=https://domain1.com,https://domain2.com
🔧 高级配置
自定义端口
如果默认端口被占用,可以修改:
前端 (frontend/vite.config.js):
server: {
host: '0.0.0.0',
port: 3000, // 自定义端口
// ...
}
后端 (backend/app/main.py):
uvicorn.run(
"app.main:app",
host="0.0.0.0",
port=8888, # 自定义端口
reload=settings.DEBUG
)
使用 Nginx 反向代理
生产环境推荐使用 Nginx:
server {
listen 80;
server_name erp.your-company.com;
# 前端
location / {
proxy_pass http://127.0.0.1:5173;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# 后端 API
location /api/ {
proxy_pass http://127.0.0.1:8000/api/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
📊 访问日志
查看访问日志,确认服务正常运行:
前端日志:
# Vite 会显示访问日志
npm run dev
后端日志:
# FastAPI/Uvicorn 会显示请求日志
python -m app.main
🐛 故障排查
问题 1: 无法访问
症状: 局域网内其他设备无法访问
检查清单:
- ✅ 服务器 IP 地址是否正确
- ✅ 防火墙是否开放端口
- ✅ 服务是否正在运行
- ✅ 是否在同一局域网内
诊断命令:
# 测试端口是否开放
telnet 192.168.1.100 5173
telnet 192.168.1.100 8000
# 或使用 nc
nc -zv 192.168.1.100 5173
nc -zv 192.168.1.100 8000
问题 2: CORS 错误
症状: 浏览器控制台显示 CORS 错误
解决方案:
- 确认
DEBUG=True在.env中 - 检查后端 CORS 配置
- 查看浏览器控制台错误详情
问题 3: API 代理失败
症状: 前端无法调用后端 API
解决方案:
- 检查后端是否在
localhost:8000运行 - 确认 Vite proxy 配置正确
- 查看浏览器网络请求
📝 快速命令参考
# 查看本机 IP
ipconfig # Windows
ifconfig # Linux/Mac
ip addr show # Linux
# 测试端口
netstat -an | grep 5173 # Linux/Mac
netstat -an | findstr 5173 # Windows
# 开放防火墙端口
sudo ufw allow 5173/tcp # Ubuntu
sudo firewall-cmd --add-port=5173/tcp # CentOS
更新时间: 2026-03-21 适用版本: v1.0.0+