diff --git a/core/main_terminal.py b/core/main_terminal.py index 705ee67..6f396a6 100644 --- a/core/main_terminal.py +++ b/core/main_terminal.py @@ -654,8 +654,7 @@ class MainTerminal(MainTerminalCommandMixin, MainTerminalContextMixin, MainTermi "execution_mode": self.get_execution_mode(), "pending_permission_mode": None, "pending_execution_mode": None, - "frozen_permission_prompt": self._build_permission_mode_message() or "", - "frozen_execution_prompt": self._build_execution_mode_message() or "", + # frozen_*_prompt 不在创建时预设,由第一次 build_messages 根据当时的实际模式懒加载并冻结 }, ) print(f"{OUTPUT_FORMATS['info']} 新建对话: {conversation_id}") diff --git a/core/main_terminal_parts/context.py b/core/main_terminal_parts/context.py index 4461d85..6480025 100644 --- a/core/main_terminal_parts/context.py +++ b/core/main_terminal_parts/context.py @@ -211,7 +211,7 @@ class MainTerminalContextMixin: cm = getattr(self, "context_manager", None) meta = getattr(cm, "conversation_metadata", {}) if cm else {} cached = meta.get(key) if isinstance(meta, dict) else None - if isinstance(cached, str): + if isinstance(cached, str) and cached: return cached built = builder() or "" diff --git a/core/web_terminal.py b/core/web_terminal.py index 35f3ddd..65996bd 100644 --- a/core/web_terminal.py +++ b/core/web_terminal.py @@ -174,8 +174,7 @@ class WebTerminal(MainTerminal): "execution_mode": self.get_execution_mode() if hasattr(self, "get_execution_mode") else "sandbox", "pending_permission_mode": None, "pending_execution_mode": None, - "frozen_permission_prompt": self._build_permission_mode_message() or "", - "frozen_execution_prompt": self._build_execution_mode_message() or "", + # frozen_*_prompt 不在创建时预设,由第一次 build_messages 根据当时的实际模式懒加载并冻结 }, ) diff --git a/utils/conversation_manager.py b/utils/conversation_manager.py index 25f6140..b74640a 100644 --- a/utils/conversation_manager.py +++ b/utils/conversation_manager.py @@ -512,8 +512,8 @@ class ConversationManager: "execution_mode": "sandbox", "pending_permission_mode": None, "pending_execution_mode": None, - "frozen_permission_prompt": "", - "frozen_execution_prompt": "", + "frozen_permission_prompt": None, + "frozen_execution_prompt": None, "has_images": has_images, "has_videos": has_videos, # 首次对话尚未生成文件树快照,待首次用户消息时填充