diff --git a/agents/haonan/workspace/dev-workflow/stats.py b/agents/haonan/workspace/dev-workflow/stats.py index 2f72768..6561bf1 100644 --- a/agents/haonan/workspace/dev-workflow/stats.py +++ b/agents/haonan/workspace/dev-workflow/stats.py @@ -18,6 +18,12 @@ from collections import defaultdict STATS_DIR = Path(__file__).parent / "data" STATS_FILE = STATS_DIR / "stats_data.json" +# 锁文件路径 +LOCK_FILE = STATS_DIR / "stats_data.lock" + +# 最大事件数量限制 +MAX_EVENTS = 10000 + # 敏感字段列表(不记录这些字段) SENSITIVE_FIELDS = {"password", "token", "secret", "key", "credential", "auth"} @@ -153,6 +159,11 @@ def record_event( # 加载现有数据 data = _load_stats_data() data["events"].append(event) + + # 事件数量限制:超过 MAX_EVENTS 时移除最旧的事件 + if len(data["events"]) > MAX_EVENTS: + data["events"] = data["events"][-MAX_EVENTS:] + data["metadata"]["last_updated"] = datetime.now().isoformat() # 原子写入