diff --git a/src/app/dialogs/agent.py b/src/app/dialogs/agent.py index b1cd115262d9d504b397ad9c1878a8ca3e96d728..1e405318e4df4859a8855ed167b6f77c73d0eb23 100644 --- a/src/app/dialogs/agent.py +++ b/src/app/dialogs/agent.py @@ -122,6 +122,7 @@ class AgentSelectionDialog(ModalScreen): """处理键盘事件""" if event.key == "escape": self.app.pop_screen() + event.stop() elif event.key == "enter": # 确保有智能体可选择 if self.agents and 0 <= self.selected_index < len(self.agents): @@ -130,6 +131,7 @@ class AgentSelectionDialog(ModalScreen): selected_agent = ("", _("智能问答")) self.callback(selected_agent) self.app.pop_screen() + event.stop() elif event.key == "up" and self.selected_index > 0: self.selected_index -= 1 self._adjust_view_to_selection() diff --git a/src/app/tui.py b/src/app/tui.py index a7b18704844887aeec0271b6c34d374a91280772..e92d9d9598ec7791447d5f4c97e4709666f0c76d 100644 --- a/src/app/tui.py +++ b/src/app/tui.py @@ -460,6 +460,9 @@ class IntelligentTerminal(App): @on(Input.Submitted, "#command-input") def handle_input(self, event: Input.Submitted) -> None: """处理命令输入""" + if not self._is_in_main_interface(): + return + user_input = event.value.strip() if not user_input or self.processing: return