Multi-Group-Chat-Manager — 多群聊管理器
v1.0.0用户画像+好感度双系统 + 自研液态记忆引擎。零外部依赖(核心),仅 OneBot 采集器使用 requests。画像使用自研 FluidMemory 引擎追踪用户特征,支持艾宾浩斯遗忘曲线衰减+自动关键词匹配强化。好感度基于群规加减分系统,JSON 文件+文件锁保护。全配置统一化:config.json 集中管理...
运行时依赖
安装命令
点击复制技能文档
🦞 multi-group-chat-manager v1.0.0 多群聊用户画像管理 + 好感度系统。 让 AI 更懂每个群友。 自动记录兴趣偏好、性格特征、常聊话题;追踪好感度,用规则引擎自动加减分;液态记忆引擎模拟人类遗忘曲线。 适配平台: QQ(OneBot)、飞书、Discord、Telegram 等任意 OpenClaw 支持的消息渠道。
📋 目录 🆕 初始化流程(首次部署看这里) 📂 项目架构 🧩 系统一:用户画像系统 ❤️ 系统二:好感度系统 🧠 系统三:液态记忆引擎 ⚙️ 系统四:好感度规则引擎 🔄 上下线会话管理 📝 画像更新与扫描流程 🔒 隐私保障 💻 CLI 速查
🆕 初始化流程(首次部署看这里) 第一步:配置 OpenClaw 在 OpenClaw 配置文件中启用此 Skill: skills: multi-group-chat-manager: enabled: true path: /path/to/skills/multi-group-chat-manager
第二步:配置文件(config.json) 编辑 config.json,填写你的信息: { "onebot": { "base_url": "http://127.0.0.1:3000", "groups": { "群号1": "群名称1", "群号2": "群名称2" } }, "affection": { "small_group_default_score": 85, "small_group_ids": ["群友QQ号1", "群友QQ号2"] } }
需要修改的配置项: 参数 位置 说明 onebot.groups config.json 你管理的 QQ 群列表(群号→群名) onebot.base_url config.json OneBot HTTP API 地址 affection.small_group_ids config.json 核心成员 QQ 号列表(初始好感度 85 分) affection.small_group_default_score config.json 核心成员初始好感度(默认 85) affection.default_score config.json 新成员默认好感度(默认 50)
如果使用非 QQ 渠道(飞书/Discord 等),onebot 部分可直接留空或删除,画像和好感度系统仍正常工作,只是无法用 OneBot 做批量消息采集。
第三步:设置群规规则文件 为你的每个群创建规则文件,放在 scripts/rules/ 目录下: # 复制模板 cp scripts/rules/rule_sample.json scripts/rules/rule_你的群号.json 编辑文件,修改 meta.group_id 和 meta.group_name,根据你的群规调整关键词和规则。 参考 rule_sample.json 中的注释理解每个字段的含义。
第四步:初始化好感度 # 对核心成员批量设置初始好感度 python scripts/affection.py init 群友QQ号 85 # 或批量导入(编辑 config.json 的 small_group_ids 后,逐条执行) 新用户将在首次被记录时自动获得 default_score(默认 50 分)。
第五步:初始化画像存储目录 数据目录会自动创建,无需手动操作。首次调用 profiles.py update 时会自动建立目录结构: profiles/ ├── memory/ # 液态记忆数据 └── composite/ # 概要画像 logs/ # 好感度日志
第六步:验证部署 # 检查好感度系统 python scripts/affection.py status # 检查液态记忆引擎 python scripts/memory.py stats # 检查 OneBot 连接(QQ 渠道) python scripts/onebot_collector.py health # 查看规则引擎状态 python scripts/rule_engine.py list
第七步(可选):配置 AI 助手调用 在 AI 助手的 AGENTS.md 或 SOUL.md 中添加触发规则和工作流程说明,使助手知道何时上下线、如何查询画像和执行好感度操作。 参考本文档的「触发流程」章节设计你的 AI 助手的行为逻辑。
📂 项目架构 multi-group-chat-manager/ │ ├── SKILL.md ← 技能说明书(给 AI 看的完整工作流程) │ ├── README.md ← 给开发者/用户看的功能介绍 │ ├── config.json ← 系统配置文件(修改后热加载生效) │ ├── config.yaml ← 带注释的说明版本(仅供人类参考) │ ├── session_state.json ← 上下线会话状态(运行时自动生成) │ ├── .last_decay ← 上次衰减时间戳标记(自动维护) │ ├── affection.json ← 好感度主数据(每人当前分数) │ ├── logs/ ← 每人独立的加减分日志目录(运行时自动创建) │ └── ... │ ├── profiles/ ← 画像数据目录 │ ├── memory/ ← FluidMemory 引擎数据(每人独立文件) │ └── composite/ ← 概要画像缓存 │ ├── scripts/ ← 核心 Python 脚本 │ ├── config.py ← 统一配置加载模块 │ ├── memory.py ← 液态记忆引擎(零外部依赖) │ ├── profiles.py ← 画像系统:存储、合并、格式化 │ ├── affection.py ← 好感度系统:加减分、日志、查询 │ ├── session_state.py ← 上下线会话状态管理 │ ├── rule_engine.py ← 好感度规则引擎 │ ├── onebot_collector.py ← OneBot 群消息采集器(依赖 requests) │ └── rules/ │ ├── rule_sample.json ← 公开模板(首次部署时复制) │ └── rule_cooldown.json ← 水位线+计数器(自动维护)
技术栈: 运行环境:OpenClaw Agent 框架 存储:画像 → FluidMemory(JSON文件+流体衰减算法)/ 好感度 → JSON 文件 通信:QQ(OneBot 协议)/ 飞书 / 任意 OpenClaw 支持的渠道 外部依赖:requests(仅 onebot_collector.py 使用,其他脚本零外部依赖)
🧩 系统一:用户画像系统 这是什么? AI 助手会根据和群友的日常聊天,慢慢记住每个人的兴趣爱好、性格特点、常聊话题等。 这些信息存在液态记忆里,下次聊天时就能自然地接上。
画像数据格式 { "user_id": "用户ID", "name": "最新昵称", "preferences": ["兴趣/偏好条目"], "personality": ["性格特征条目"], "topics_of_interest": ["常聊话题"], "behavior": ["行为模式条目"], "group_roles": {"群名": "角色"}, "first_seen": 时间戳, "last_updated": 时间戳, "update_count": 更新次数, "important_facts": ["需要记住的关键事实"] }
每条特征同时作为独立记忆条目存入 FluidMemory,支持按字段和关键词召回。
画像提取规则 应该提取的信息: ✅ 兴趣偏好:「我喜欢玩空洞骑士」「我爱吃辣」 ✅ 性格特征:「这人说话很直」「他总是自嘲」 ✅ 行为习惯:「fly喜欢迫害人」「他深夜出没」 ✅ 知识背景:「他是学计算机的」「他懂哲学」 ✅ 关系特征:「他是群主」「他和fly关系好」 ✅ 语言风格:「喜欢用括号」「爱发emoji」「打字口语化」
不应该提取的信息: ❌ 地址、电话、邮箱等联系信息 ❌ 密码/Token 等凭据类信息 ❌ 情感隐私、家庭矛盾细节等隐私事件 ❌ 账号密码/验证码
去重规则: 同一条信息不重复存储 基于语义判断,不依赖精确文字匹配 人格特征方面:相近条目合并为更完整的表述
❤️ 系统二:好感度系统 好感度等级 分数区间 等级 图标 AI 态度 85~100 ⭐ 优秀 ⭐ 非常信任,主动帮忙 70~84 ☀️ 友好