From d26ac7a88c83875eb6cefa6189243b1a9d241b9d Mon Sep 17 00:00:00 2001 From: starmen1265 Date: Mon, 9 Mar 2026 14:48:45 +0800 Subject: [PATCH] =?UTF-8?q?fix(stats):=20get=5Fstats()=20=E6=94=B9?= =?UTF-8?q?=E7=94=A8=20.get()=20=E8=AE=BF=E9=97=AE=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 使用 .get() 安全访问 event 字段 - 为可能缺失的字段提供默认值 - 防止 KeyError 异常 --- agents/haonan/workspace/dev-workflow/stats.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/agents/haonan/workspace/dev-workflow/stats.py b/agents/haonan/workspace/dev-workflow/stats.py index 84b5aba..126e51a 100644 --- a/agents/haonan/workspace/dev-workflow/stats.py +++ b/agents/haonan/workspace/dev-workflow/stats.py @@ -149,15 +149,18 @@ def get_stats(mode: Optional[str] = None) -> Dict[str, Any]: } if events: - stats["first_event"] = events[0]["timestamp"] - stats["last_event"] = events[-1]["timestamp"] + stats["first_event"] = events[0].get("timestamp") + stats["last_event"] = events[-1].get("timestamp") for event in events: - stats["events_by_type"][event["event_type"]] += 1 - stats["events_by_mode"][event["mode"]] += 1 + event_type = event.get("event_type", "unknown") + event_mode = event.get("mode", "unknown") + stats["events_by_type"][event_type] += 1 + stats["events_by_mode"][event_mode] += 1 # 按日期统计 - date = event["timestamp"][:10] # YYYY-MM-DD + timestamp = event.get("timestamp", "") + date = timestamp[:10] if timestamp else "unknown" # YYYY-MM-DD stats["events_by_date"][date] += 1 # 转换 defaultdict 为普通 dict