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

@@ -1,5 +1,5 @@
[inner]
version = "6.4.1"
version = "6.4.2"
#----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
#如果你想要修改配置文件请递增version的值
@@ -427,4 +427,25 @@ private_message_increment = 3.0 #"私聊消息增加的唤醒度"
group_mention_increment = 2.0 #"群聊艾特增加的唤醒度"
decay_rate = 0.2 #"每次衰减的唤醒度数值"
decay_interval = 30.0 #"唤醒度衰减间隔(秒)"
angry_duration = 300.0 #"愤怒状态持续时间(秒)"
angry_duration = 300.0 #"愤怒状态持续时间(秒)"
[cross_context] # 跨群聊上下文共享配置
# 这是总开关,用于一键启用或禁用此功能
enable = false
# 在这里定义您的“共享组”
# 只有在同一个组内的群聊才会共享上下文
# 注意这里的chat_ids需要填写群号而不是哈希过的ID
[[cross_context.groups]]
name = "项目A技术讨论组"
chat_ids = [
"111111", # 假设这是“开发群”的ID
"222222" # 假设这是“产品群”的ID
]
[[cross_context.groups]]
name = "日常闲聊组"
chat_ids = [
"333333", # 假设这是“吹水群”的ID
"444444" # 假设这是“游戏群”的ID
]