refactor: extract hardcoded original_umo key to constant

Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-02-03 17:16:04 +00:00
parent 3091b92158
commit bb9f2623d8
5 changed files with 18 additions and 6 deletions
+5 -2
View File
@@ -832,13 +832,16 @@ def _get_compress_provider(
def _apply_global_context_info(event: AstrMessageEvent, req: ProviderRequest) -> None:
"""Add platform and session information to user prompt when in global unified context mode."""
from astrbot.core.config.default import GLOBAL_UNIFIED_CONTEXT_UMO
from astrbot.core.config.default import (
GLOBAL_UNIFIED_CONTEXT_UMO,
ORIGINAL_UMO_KEY,
)
if event.unified_msg_origin != GLOBAL_UNIFIED_CONTEXT_UMO:
return
# Get original UMO from extras
original_umo = event.get_extra("original_umo")
original_umo = event.get_extra(ORIGINAL_UMO_KEY)
if not original_umo:
return
+3 -1
View File
@@ -258,7 +258,9 @@ class SendMessageToUserTool(FunctionTool[AstrAgentContext]):
self, context: ContextWrapper[AstrAgentContext], **kwargs
) -> ToolExecResult:
# In global context mode, default to original UMO if session not specified
original_umo = context.context.event.get_extra("original_umo")
from astrbot.core.config.default import ORIGINAL_UMO_KEY
original_umo = context.context.event.get_extra(ORIGINAL_UMO_KEY)
default_session = original_umo or context.context.event.unified_msg_origin
session = kwargs.get("session") or default_session
messages = kwargs.get("messages")
+2
View File
@@ -19,6 +19,8 @@ WEBHOOK_SUPPORTED_PLATFORMS = [
# Constant UMO for global unified context mode
GLOBAL_UNIFIED_CONTEXT_UMO = "global::global"
# Key for storing original UMO in event extras when global context mode is enabled
ORIGINAL_UMO_KEY = "original_umo"
# 默认配置
DEFAULT_CONFIG = {
+3 -1
View File
@@ -170,7 +170,9 @@ class RespondStage(Stage):
)
# Restore original UMO before sending if in global context mode
original_umo = event.get_extra("original_umo")
from astrbot.core.config.default import ORIGINAL_UMO_KEY
original_umo = event.get_extra(ORIGINAL_UMO_KEY)
if original_umo:
logger.debug(
f"Restoring original UMO before sending: {event.unified_msg_origin} -> {original_umo}"
+5 -2
View File
@@ -82,12 +82,15 @@ class WakingCheckStage(Stage):
) -> None | AsyncGenerator[None, None]:
# apply global unified context mode
if self.global_unified_context_mode:
from astrbot.core.config.default import GLOBAL_UNIFIED_CONTEXT_UMO
from astrbot.core.config.default import (
GLOBAL_UNIFIED_CONTEXT_UMO,
ORIGINAL_UMO_KEY,
)
original_umo = event.unified_msg_origin
event.unified_msg_origin = GLOBAL_UNIFIED_CONTEXT_UMO
# Store original UMO for reference in later stages
event.set_extra("original_umo", original_umo)
event.set_extra(ORIGINAL_UMO_KEY, original_umo)
logger.debug(
f"Global unified context mode enabled. Changed UMO from {original_umo} to {GLOBAL_UNIFIED_CONTEXT_UMO}"
)