fix: record message confirmations in context

This commit is contained in:
Xin Wang
2026-08-11 14:15:10 +08:00
parent 86639692ba
commit fc026e765e
6 changed files with 273 additions and 8 deletions
+12 -1
View File
@@ -43,6 +43,7 @@ from services.message_stage import (
MessageDisplaySpec,
MessageStageRunner,
MessageStageSpec,
confirmation_context_message,
)
from services.runtime_variables import DynamicVariableError, DynamicVariableStore
from services.system_tools import state_update_properties, system_tool_kind
@@ -226,8 +227,12 @@ class PromptBrain(BaseBrain):
self.prepare_greeting_context(speech, runtime.context)
try:
if opening_message is not None:
message_spec = self._opening_message_stage_spec(
speech,
opening_message,
)
message_result = await self._message_stages.run(
self._opening_message_stage_spec(speech, opening_message),
message_spec,
speak=self._speak_opening,
set_input_enabled=runtime.set_input_enabled,
input_already_blocked=self._opening_input_blocked,
@@ -241,6 +246,12 @@ class PromptBrain(BaseBrain):
message_result.error or "开场消息显示失败"
)
return
context_message = confirmation_context_message(
message_result,
source="prompt-opening",
)
if context_message is not None:
runtime.context.add_message(context_message)
if opening_actions:
result = await self._action_stages.run(