#!/usr/bin/env python3
"""
调试配置问题的脚本
"""

import sys
import os
from pathlib import Path

# 添加项目路径
project_root = Path(__file__).parent
sys.path.insert(0, str(project_root))
sys.path.insert(0, str(project_root / 'python'))

def debug_config():
    """调试配置问题"""
    try:
        from config_manager.main import EnhancedConfigManager
        
        print("🔍 调试配置问题...")
        
        # 创建配置管理器
        config_manager = EnhancedConfigManager()
        
        # 获取所有服务器
        servers = config_manager.get_existing_servers()
        
        print(f"\n📋 找到 {len(servers)} 个服务器配置:")
        
        for name, config in servers.items():
            print(f"\n🖥️  服务器: {name}")
            print(f"   描述: {config.get('description', '无描述')}")
            print(f"   主机: {config.get('host', '未设置')}")
            print(f"   用户: {config.get('username', '未设置')}")
            
            # 检查连接类型
            connection_type = config.get('connection_type', 'ssh')
            print(f"   连接类型: {connection_type}")
            
            if connection_type == 'relay':
                relay_config = config.get('relay', {})
                print(f"   Relay主机: {relay_config.get('host', '未设置')}")
                print(f"   目标主机: {relay_config.get('target_host', '未设置')}")
            
            # 检查 Docker 配置
            docker_config = config.get('specs', {}).get('docker', {})
            if docker_config:
                print(f"   Docker容器: {docker_config.get('container_name', '未设置')}")
                print(f"   Docker镜像: {docker_config.get('image', '未设置')}")
                print(f"   自动创建: {docker_config.get('auto_create', False)}")
        
        # 检查特定服务器的详细配置
        for server_name in ['cpu_221', 'hg222', 'hg223', 'tj03']:
            if server_name in servers:
                print(f"\n🔧 {server_name} 详细配置:")
                config = servers[server_name]
                
                # 打印完整配置
                import json
                print(json.dumps(config, indent=2, ensure_ascii=False))
                
    except Exception as e:
        print(f"❌ 调试失败: {e}")
        import traceback
        traceback.print_exc()

if __name__ == "__main__":
    debug_config() 