refactor(context): 简化跨上下文功能,移除通用共享组模式
移除了基于白名单/黑名单的通用上下文共享组(ContextGroup)功能。此模式实现复杂且与S4U模式功能重叠,移除后可大幅简化配置项和内部逻辑。 主要变更: - 从配置中删除了 `ContextGroup` 模型和 `cross_context.groups` 列表。 - 删除了 `build_cross_context_normal` 和 `get_context_group` 函数。 - 保留并增强了S4U(Search for User)模式,为其增加了更详细的日志和健壮性检查。 - `get_intercom_group_context` 函数被调整为专门服务于 `maizone_context_group`。 BREAKING CHANGE: 移除了 `cross_context.groups` 配置项及相关的通用上下文共享组功能。请迁移至S4U模式以实现跨上下文需求。
This commit is contained in:
@@ -702,28 +702,6 @@ class WebSearchConfig(ValidatedConfigBase):
|
||||
search_strategy: Literal["fallback", "single", "parallel"] = Field(default="single", description="搜索策略")
|
||||
|
||||
|
||||
class ContextGroup(ValidatedConfigBase):
|
||||
"""
|
||||
上下文共享组配置
|
||||
|
||||
定义了一个聊天上下文的共享范围和规则。
|
||||
"""
|
||||
|
||||
name: str = Field(..., description="共享组的名称,用于唯一标识一个共享组")
|
||||
mode: Literal["whitelist", "blacklist"] = Field(
|
||||
default="whitelist",
|
||||
description="共享模式。'whitelist'表示仅共享chat_ids中列出的聊天;'blacklist'表示共享除chat_ids中列出的所有聊天。",
|
||||
)
|
||||
default_limit: int = Field(
|
||||
default=5,
|
||||
description="在'blacklist'模式下,对于未明确指定数量的聊天,默认获取的消息条数。",
|
||||
)
|
||||
chat_ids: list[list[str]] = Field(
|
||||
...,
|
||||
description='定义组内成员的列表。格式为 [["type", "id", "limit"(可选)]]。type为"group"或"private",id为群号或用户ID,limit为可选的消息条数。',
|
||||
)
|
||||
|
||||
|
||||
class MaizoneContextGroup(ValidatedConfigBase):
|
||||
"""QQ空间专用互通组配置"""
|
||||
|
||||
@@ -739,8 +717,6 @@ class CrossContextConfig(ValidatedConfigBase):
|
||||
|
||||
enable: bool = Field(default=False, description="是否启用跨群聊上下文共享功能")
|
||||
|
||||
# --- Normal模式: 共享组配置 ---
|
||||
groups: list[ContextGroup] = Field(default_factory=list, description="上下文共享组列表")
|
||||
# --- S4U模式: 用户中心上下文检索 ---
|
||||
s4u_mode: Literal["whitelist", "blacklist"] = Field(
|
||||
default="whitelist",
|
||||
|
||||
Reference in New Issue
Block a user