#!/bin/bash set -e echo "================================" echo "Crypto Agent 诊断" echo "================================" echo "" cd /Users/aaron/source_code/Stock_Agent/backend echo "1. 检查虚拟环境..." if [ -d "venv" ]; then source venv/bin/activate echo " ✓ 虚拟环境存在" echo " ✓ $(python --version 2>&1)" else echo " ❌ 虚拟环境不存在" exit 1 fi echo "" echo "2. 检查配置文件..." if [ -f "../.env" ] || [ -f ".env" ]; then echo " ✓ .env 文件存在" else echo " ❌ .env 文件不存在" exit 1 fi echo "" echo "3. 检查关键依赖..." packages=("fastapi" "uvicorn" "pandas" "numpy" "sqlalchemy" "pydantic" "ccxt" "httpx" "aiohttp") for pkg in "${packages[@]}"; do if python -c "import $pkg" 2>/dev/null; then echo " ✓ $pkg" else echo " ❌ $pkg 未安装" fi done echo "" echo "4. 测试配置加载..." python -c " from app.config import get_settings settings = get_settings() print(' ✓ 配置加载成功') print(f' - DeepSeek Key: {'已配置' if settings.deepseek_api_key else '未配置'}') print(f' - 智谱AI Key: {'已配置' if settings.zhipuai_api_key else '未配置'}') print(f' - Bitget 实盘: {'开启' if settings.bitget_trading_enabled else '关闭'}') " echo "" echo "5. 测试模块导入..." modules=(\"app.models.database\" \"app.services.cache_service\" \"app.services.bitget_trading_api_sdk\" \"app.crypto_agent.crypto_agent\") for module in "${modules[@]}"; do if python -c "import $module" 2>/dev/null; then echo " ✓ $module" else echo " ❌ $module 导入失败" fi done echo "" echo "6. 检查端口占用..." if lsof -i :8000 >/dev/null 2>&1; then echo " ⚠ 端口8000已被占用" else echo " ✓ 端口8000可用" fi