feat(chat): 引入跨群聊上下文共享功能

该功能允许在不同但相关的群聊之间共享对话上下文,从而提供更连贯和情境感知的回复。

主要实现方式:
- 在配置文件中引入 `cross_context` 部分,允许用户定义“共享组”,将多个群聊ID(原始ID)归入一组。
- 新增 `_build_cross_context_block` 方法,用于构建并注入到Prompt中。
- 支持两种上下文获取模式:
  - `normal` 模式:获取共享组内其他群聊的最新消息。
  - `s4u` 模式:获取当前发言用户在共享组内其他群聊的近期发言记录。
- 更新了Prompt模板以包含新的 `cross_context_block`。
- 提供了相应的配置模板和版本号更新。
This commit is contained in:
minecraft1024a
2025-08-22 13:24:23 +08:00
parent 7531ed9ba8
commit 2b8ed74a78
4 changed files with 112 additions and 4 deletions

View File

@@ -45,7 +45,8 @@ from src.config.official_configs import (
AntiPromptInjectionConfig,
PluginsConfig,
WakeUpSystemConfig,
MonthlyPlanSystemConfig
MonthlyPlanSystemConfig,
CrossContextConfig
)
from .api_ada_configs import (
@@ -392,6 +393,7 @@ class Config(ValidatedConfigBase):
plugins: PluginsConfig = Field(default_factory=lambda: PluginsConfig(), description="插件配置")
wakeup_system: WakeUpSystemConfig = Field(default_factory=lambda: WakeUpSystemConfig(), description="唤醒度系统配置")
monthly_plan_system: MonthlyPlanSystemConfig = Field(default_factory=lambda: MonthlyPlanSystemConfig(), description="月层计划系统配置")
cross_context: CrossContextConfig = Field(default_factory=lambda: CrossContextConfig(), description="跨群聊上下文共享配置")
class APIAdapterConfig(ValidatedConfigBase):