diff --git a/agents/haonan/workspace/dev-workflow/stats.py b/agents/haonan/workspace/dev-workflow/stats.py index 126e51a..fd615b8 100644 --- a/agents/haonan/workspace/dev-workflow/stats.py +++ b/agents/haonan/workspace/dev-workflow/stats.py @@ -34,7 +34,15 @@ def _load_stats_data() -> Dict[str, Any]: try: with open(STATS_FILE, 'r', encoding='utf-8') as f: return json.load(f) - except (json.JSONDecodeError, IOError): + except json.JSONDecodeError as e: + # 备份损坏的文件 + backup_path = STATS_FILE.with_suffix(f'.corrupted.{datetime.now().strftime("%Y%m%d_%H%M%S")}.bak') + try: + STATS_FILE.rename(backup_path) + except OSError: + pass # 备份失败时忽略 + return {"events": [], "metadata": {"created_at": datetime.now().isoformat()}} + except IOError: return {"events": [], "metadata": {"created_at": datetime.now().isoformat()}}