diff --git a/core/agent/compaction.py b/core/agent/compaction.py index 8947eef..01cd9bb 100644 --- a/core/agent/compaction.py +++ b/core/agent/compaction.py @@ -365,7 +365,11 @@ class CompactionPreparation: tokens_before: int = 0 previous_summary: Optional[str] = None file_ops: FileOperations = field(default_factory=FileOperations) - settings: CompactionSettings = DEFAULT_COMPACTION_SETTINGS + # 注意(P2-04 跨平台修复):Python 3.11+ 的 dataclass 禁止不可哈希默认值 + # (eq dataclass 实例 __hash__=None);Ubuntu 24.04 自带 3.12, + # 直接写 `= DEFAULT_COMPACTION_SETTINGS` 在 3.11+ 会 ValueError。 + # default_factory 返回同一共享实例,与 3.10 行为完全一致。 + settings: CompactionSettings = field(default_factory=lambda: DEFAULT_COMPACTION_SETTINGS) def _compaction_diag(line: str) -> None: