来提交你的插件吧!
有疑问?来看看呗!

插件详情

astrbot_plugin_group_chat

一个先进的群聊交互插件,采用AI算法实现智能回复决策,能像真人一样主动参与对话,实现拟人化的主动交互体验。

主动回复
拟人
版本v1.0.4
作者qa296
Star4
更新2025/11/08

插件说明

AstrBot 群聊插件 (astrbot_plugin_group_chat)

一个真正强大的群聊交互插件,采用先进的AI算法实现拟人化的主动交互体验。

🌟 核心特性

🚀 先进的AI算法

  • 多维度活跃度分析:基于时间窗口、用户参与度、消息质量、话题持续性等多重因素
  • 语义相关性检测:采用结构化特征分析、上下文一致性、用户行为模式等智能方法
  • 动态人格关键词:从机器人人格系统中智能提取关键词,实现个性化@检测
  • 历史数据驱动:基于实际聊天记录进行学习和优化

🎯 智能回复决策系统

  • 读空气功能:使用LLM判断聊天氛围,智能决定是否回复
  • 多因素意愿计算:综合用户印象、群活跃度、疲劳度、连续对话等因素
  • 心流算法:能量系统管理回复节奏,动态调整阈值和冷却时间
  • 自适应阈值:根据历史表现动态调整决策参数
  • 疲劳保护机制:防止过度回复,保持自然交互节奏

💬 高级交互模式

  • 专注聊天模式:支持与特定用户的深度对话
  • 观察模式:在低活跃度群组中自动进入观察状态
  • 连续对话奖励:智能识别和奖励连续对话
  • 消息质量评估:基于长度、互动性、情感表达等维度评估消息价值

📦 安装与部署

快速安装

# 1. 克隆插件到AstrBot插件目录
cd AstrBot/data/plugins
git clone https://github.com/qa296/astrbot_plugin_group_chat.git

# 2. 安装依赖(如果有)
cd astrbot_plugin_group_chat
pip install -r requirements.txt

# 3. 重启AstrBot并在WebUI中启用插件

⚙️ 配置详解

🎛️ 核心配置

{
  "list_mode": "blacklist",           // 名单模式:blacklist/whitelist
  "groups": [],                      // 群组名单列表
  "base_probability": 0.3,           // 基础回复概率 (0.0-1.0)
  "willingness_threshold": 0.5,      // 回复意愿阈值 (0.0-1.0)
  "max_consecutive_responses": 3,    // 最大连续回复次数
  "air_reading_enabled": true,       // 启用读空气功能
  "air_reading_no_reply_marker": "[DO_NOT_REPLY]", // 读空气不回复标记
  "focus_chat_enabled": true,        // 启用专注聊天
  "min_interest_score": 0.6,         // 最小兴趣度分数
  "focus_timeout_seconds": 300,      // 专注聊天超时时间(秒)
  "focus_max_responses": 10,         // 专注聊天最大回复次数
  "fatigue_enabled": true,           // 启用疲劳系统
  "fatigue_threshold": 5,            // 疲劳阈值
  "fatigue_decay_rate": 0.5,         // 疲劳度衰减率(每小时衰减的比例)
  "fatigue_reset_interval": 6,       // 疲劳度重置间隔(小时)
  "memory_enabled": false,           // 启用记忆系统(需要memora_connect)
  "max_memories_recall": 10,         // 最大回忆记忆数量
  "impression_enabled": false,       // 启用印象系统(需要memora_connect)
  "observation_mode_threshold": 0.2, // 观察模式阈值(群活跃度低于此值时进入观察)
  "heartbeat_threshold": 0.55,       // 主动心跳触发门槛(0-1,越低越容易触发)
  "at_boost_value": 0.5              // 被@时一次性增强幅度(0-1)
}

🚀 工作原理

📊 活跃度分析算法

活跃度分数 = 时间窗口权重 × 消息密度 + 用户参与度 × 多样性 + 消息质量 × 价值 + 话题持续性 × 连贯性
  • 时间窗口分析:1分钟(40%) + 5分钟(30%) + 30分钟(20%) + 1小时(10%)
  • 用户参与度:活跃用户数 / 10(标准化到0-1)
  • 消息质量评估:基于长度、标点密度、互动性、情感表达
  • 话题持续性:分析用户交互模式和对话连贯性

🎯 语义相关性检测

采用五维智能分析:

  1. 结构化特征分析:长度、标点密度、@提及、疑问句特征
  2. 上下文一致性分析:用户交互模式、消息长度模式、时间间隔
  3. 用户行为模式分析:互动频率、活跃度、响应模式
  4. 对话流分析:对话节奏、话题连贯性
  5. 时间相关性分析:消息间隔模式分析

🧠 动态关键词系统

  • 人格提取:从人格名称、描述、提示词中智能提取关键词
  • 配置覆盖:支持通过配置自定义关键词

⚡ 心流算法

采用能量系统实现自然对话节奏:

  • 能量管理:回复消耗能量,活跃度恢复能量,保持0.1-1.0范围
  • 动态冷却:根据群活跃度调整冷却时间,活跃时缩短冷却
  • @增强:被@时立即获得0.5能量提升
  • 连续惩罚:连续回复增加阈值,防止刷屏
  • 相似度奖励:与最近回复相似度高的消息获得额外奖励
  • 时间节奏:距离上次回复越近,阈值越高,实现自然间隔

📁 架构说明

🏗️ 核心组件

astrbot_plugin_group_chat/
├── main.py                    # 🎯 主插件入口
├── _conf_schema.json         # ⚙️ 配置模式定义
├── src/
│   ├── active_chat_manager.py    # 🎮 主动聊天管理器
│   ├── context_analyzer.py       # 🔍 上下文分析器
│   ├── fatigue_system.py         # 😴 疲劳系统
│   ├── focus_chat_manager.py     # 🎯 专注聊天管理器
│   ├── frequency_control.py      # 📊 频率控制(历史数据驱动)
│   ├── group_list_manager.py     # 📋 群组名单管理器
│   ├── impression_manager.py     # 👤 印象管理器
│   ├── interaction_manager.py    # 💬 交互模式管理器
│   ├── memory_integration.py     # 🧠 记忆集成
│   ├── response_engine.py        # 💬 回复引擎
│   ├── state_manager.py          # 💾 状态管理器
│   ├── utils.py                  # 🛠️ 工具函数
│   └── willingness_calculator.py # 🧮 意愿计算器(多维度分析+心流算法)

🔄 数据流

消息接收 → 上下文分析 → 活跃度计算 → 意愿评估 → 相关性检测 → 回复决策 → 状态更新

💾 数据存储

  • 实时状态:内存缓存 + 文件持久化
  • 历史数据:按群组和时间分片存储
  • 用户画像:行为模式和偏好学习
  • 配置缓存:动态配置热更新

🎮 使用示例

基础使用

  1. 自动激活:插件启动后自动开始监控活跃群组
  2. 智能回复:根据计算的意愿值自动决定是否回复
  3. 疲劳保护:自动控制回复频率避免过度打扰

状态查询命令

  • 群聊主动状态:在群聊中发送此命令可查看当前群的详细状态信息,包括:
    • 心跳和UMO映射状态
    • 最近1分钟消息数量
    • 专注度、@增强、有效心跳值
    • 意愿分数和群活跃度
    • 观察模式和专注兴趣度
    • 冷却剩余时间和上次触发时间
    • 心跳间隔和冷却时间配置

📈 版本历史

v1.0.3 (当前版本)

  • ✅ 新增心流算法:能量系统和动态节奏控制
  • ✅ 智能相似度计算:连续对话奖励机制
  • ✅ 动态人格注入:缓存机制和自动注入
  • ✅ 新增群聊主动状态命令:实时状态查询
  • ✅ 扩展配置系统:新增疲劳衰减、心跳阈值等参数

v1.0.2

  • ✅ 优化状态管理器持久化机制
  • ✅ 改进交互模式管理
  • ✅ 增强读空气功能稳定性

v1.0.0

  • ✅ 实现历史数据驱动的频率控制
  • ✅ 多维度活跃度分析算法
  • ✅ 语义相关性检测
  • ✅ 动态人格关键词系统
  • ✅ 高级上下文管理和回复决策
  • ✅ 完整的状态持久化和配置系统

📞 技术支持

  • GitHub Issues: https://github.com/qa296/astrbot_plugin_group_chat/issues
  • AstrBot社区: https://github.com/AstrBotDevs/AstrBot
  • 技术文档: 详见源码注释和架构说明

⭐ 如果这个插件对你有帮助,请给项目一个Star!

AstrBot LogoAstrBot 插件市场社区

AstrBot 插件市场 是一个开放的插件分享平台,欢迎开发者们贡献优质插件。本站致力于为 AstrBot 用户提供高质量扩展,帮助您快速找到喜欢的插件,并鼓励社区伙伴分享使用心得、提出改进建议。

相关链接

官方项目主站 官方插件市场 官方项目仓库 侧边展示主站

开发相关

插件开发文档 快速提交插件 官方项目文档

© 2026 AstrBot 插件市场 Made with by Community