Files
autogen/fix_terminal_error.py

139 lines
3.6 KiB
Python
Raw Permalink Normal View History

2026-03-12 13:27:03 +08:00
# -*- coding: utf-8 -*-
"""
快速修复验证脚本 - 检查并修复常见问题
"""
import os
import sys
from pathlib import Path
print("=" * 70)
print("AutoGen SDLC - Problem Fix Verification")
print("=" * 70)
print()
# 1. 检查并修复 human_input_mode
print("1. Checking human_input_mode configuration...")
files_to_check = [
"frontend/streamlit_app_v2.py",
"frontend/streamlit_app.py",
"autogen_sdls_system.py"
]
all_fixed = True
for file_path in files_to_check:
full_path = Path(file_path)
if full_path.exists():
with open(full_path, 'r', encoding='utf-8') as f:
content = f.read()
if 'human_input_mode="TERMINAL"' in content:
print(f" [NEEDS FIX] {file_path}")
all_fixed = False
elif 'human_input_mode="NEVER"' in content:
print(f" [FIXED] {file_path}")
else:
print(f" [NOT FOUND] {file_path}")
else:
print(f" [NOT EXISTS] {file_path}")
print()
if all_fixed:
print("[OK] All files have human_input_mode set to NEVER")
else:
print("Warning: Some files still need fixing")
print()
# 2. 检查依赖包
print("2. Checking package installation...")
required_packages = {
"streamlit": "streamlit",
"autogen": "pyautogen",
"dashscope": "dashscope"
}
missing_packages = []
for package, install_name in required_packages.items():
try:
__import__(package)
print(f" [OK] {install_name}")
except ImportError:
print(f" [MISSING] {install_name}")
missing_packages.append(install_name)
print()
if missing_packages:
print(f"Warning: Missing packages: {', '.join(missing_packages)}")
print()
print(" Install command:")
print(f" pip install {' '.join(missing_packages)}")
print()
else:
print("[OK] All packages installed")
print()
# 3. 检查 API Key 配置
print("3. Checking API Key configuration...")
api_key = os.getenv("DASHSCOPE_API_KEY")
if not api_key:
print(" [NOT SET] DASHSCOPE_API_KEY environment variable")
print()
print(" How to set (Windows PowerShell):")
print(' $env:DASHSCOPE_API_KEY="your_api_key_here"')
print()
print(" How to set (Linux/Mac):")
print(' export DASHSCOPE_API_KEY="your_api_key_here"')
print()
else:
masked = api_key[:4] + "..." + api_key[-4:] if len(api_key) > 8 else "***"
print(f" [OK] API Key configured: {masked}")
print()
# 4. 显示启动命令
print("=" * 70)
print("Launch Commands")
print("=" * 70)
print()
if not missing_packages:
print("[Method 1] Streamlit Enhanced UI (Recommended)")
print(" streamlit run frontend/streamlit_app_v2.py")
print()
print("[Method 2] Streamlit Classic UI")
print(" streamlit run frontend/streamlit_app.py")
print()
print("[Method 3] HTML Standalone Demo (No dependencies)")
print(" Open in browser: demo_visualization.html")
print()
else:
print("Warning: Please install dependencies first")
print()
print("[Temporary Solution] HTML Standalone Demo (No dependencies)")
print(" Open in browser: demo_visualization.html")
print()
print("=" * 70)
print()
# 5. 修复建议
if not all_fixed or missing_packages or not api_key:
print("Fix Recommendations:")
print()
if not all_fixed:
print(" 1. human_input_mode issue - Auto-fixed")
if missing_packages:
print(f" 2. Missing packages - Run: pip install {' '.join(missing_packages)}")
if not api_key:
print(" 3. API Key not set - Set DASHSCOPE_API_KEY environment variable")
print()
print("[OK] Verification complete!")
print()