feat(cross_context): 支持私聊和群聊混合的上下文共享

本次更新扩展了跨上下文共享功能,使其不再局限于群聊之间,现在可以支持群聊与私聊的混合共享。

主要变更:
- 将 `cross_context.groups` 的 `chat_ids` 配置格式从一维字符串列表(仅群号)更新为二维列表 `[["type", "id"], ...]`,其中 `type` 可以是 "group" 或 "private"。
- 更新了 `cross_context_api` 以正确处理新的配置格式,使其能够识别并获取私聊和群聊的消息历史。
- 相应地更新了配置文件模板 `bot_config_template.toml` 以反映新的配置格式和功能。

BREAKING CHANGE: `cross_context.groups` 的 `chat_ids` 配置格式已更改。旧的一维群号列表格式不再受支持,用户需要按照 `[["type", "id"], ...]` 的新格式更新其配置文件才能使用此功能。
This commit is contained in:
minecraft1024a
2025-09-05 19:30:06 +08:00
parent 5bae2fa8f8
commit e3d1209d14
3 changed files with 55 additions and 38 deletions

View File

@@ -473,19 +473,20 @@ pre_sleep_notification_groups = []
# 用于生成睡前消息的提示。AI会根据这个提示生成一句晚安问候。
pre_sleep_prompt = "我准备睡觉了,请生成一句简短自然的晚安问候。"
[cross_context] # 跨群聊上下文共享配置
[cross_context] # 跨群聊/私聊上下文共享配置
# 这是总开关,用于一键启用或禁用此功能
enable = false
enable = true
# 在这里定义您的“共享组”
# 只有在同一个组内的聊才会共享上下文
# 注意:这里的chat_ids需要填写群号
# 只有在同一个组内的聊才会共享上下文
# 格式:chat_ids = [["type", "id"], ["type", "id"], ...]
# type 可选 "group" 或 "private"
[[cross_context.groups]]
name = "项目A技术讨论组"
chat_ids = [
"111111", # 假设这是“开发群”的ID
"222222" # 假设这是“产品群”的ID
["group", "169850076"], # 假设这是“开发群”的ID
["group", "1025509724"], # 假设这是“产品群”的ID
["private", "123456789"] # 假设这是某个用户的私聊
]
[maizone_intercom]
# QQ空间互通组配置
# 启用后,发布说说时会读取指定互通组的上下文
@@ -495,6 +496,6 @@ enable = false
[[maizone_intercom.groups]]
name = "Maizone默认互通组"
chat_ids = [
"111111", # 示例群聊1
"222222" # 示例聊2
["group", "111111"], # 示例群聊1
["private", "222222"] # 示例聊2
]