AstrBot 智能自学习插件 🧠✨
(使用前一定要先手动备份人格到本地 以防出现BUG导致人格混乱)
🚀 项目概述
AstrBot 智能自学习插件是一个为 AstrBot 框架设计的全功能 AI 自主学习解决方案。以用户设置的学习对象的聊天消息为样本,让bot不断学习,实现更自然,更真实的消息对话。
目前插件正在测试阶段 有许多Bug还没有修好
ChatPlus插件用户 和本插件用户 欢迎加入QQ群聊 1021544792 反馈你所遇到的Bug
🤝 推荐搭配:群聊增强插件 (Group Chat Plus)
项目地址: 群聊增强插件 (Group Chat Plus)
为什么推荐同时使用?
本项目专注于AI学习与人格优化,而群聊增强插件专注于智能回复与群聊互动。两者完美互补:
- AI读空气能力 - 聊增强插件让Bot像真人一样"读懂气氛",避免过度活跃或完全沉默
- 动态回复概率 - 智能调节回复频率,营造自然的群聊互动节奏
- 注意力机制 - 像真人一样专注对话,避免频繁切换话题
- 真实性增强 - 打字错误生成、情绪系统、延迟模拟等功能让回复更像真人
- 社交节奏增强 - 主动聊天、时段概率调整,让Bot保持存在感而不刷屏
本插件负责学习与优化人格,聊增强插件负责智能决策何时回复,两者配合使用可以让您的Bot既有学习能力,又有"读空气"的社交智能!
🤖 MaiBot功能参考:本版本参考了 Mai-with-u/MaiBot: 麦麦bot,一款专注于 群组聊天 的赛博网友(比较专注)多平台智能体的学习算法和功能模块,参考MaiBot的表达模式学习、记忆图系统、知识图谱管理等先进技术,实现更加智能和自然的对话学习能力。
该插件通过机器学习、多维度数据分析、情感智能系统和动态人格优化,为聊天Bot提供了完整的自主学习生态系统。
- 新增:集成MaiBot核心功能,实现智能表达模式学习
- 新增:群聊社交关系分析模块,可视化用户互动关系
- 新增:WebUI管理界面,提供完整的数据可视化和管理功能
🤖 参考MaiBot的功能集成说明
本版本参考了 MaiBot 的先进实现,主要包含以下核心功能:
🎯 参考MaiBot的核心功能模块
🗣️ 表达模式学习器 (ExpressionPatternLearner)
- 功能来源: 参考 MaiBot 的表达模式学习机制
🧠 记忆图系统 (MemoryGraphManager)
- 功能来源: 基于 MaiBot 的记忆管理架构
- 核心特性:
🔗 知识图谱管理 (KnowledgeGraphManager)
- 功能来源: 参考 MaiBot 的知识抽取方法
⏰ 时间衰减机制 (TimeDecayManager)
- 功能来源: 采用 MaiBot 的15天衰减算法
🎨 增强型Prompt工程
- 功能来源: 采用 MaiBot 的场景-表达模式
本项目的 MaiBot 功能集成参考了 MaiBot 项目 的以下核心设计思路和实现方法:
- 表达模式学习的场景-表达映射机制
- 15天时间衰减的质量管理算法
- 基于NetworkX的记忆图构建方法
- 知识图谱的实体-关系提取策略
- 25条消息触发和300秒间隔的学习节奏控制
感谢 MaiBot 项目提供的优秀开源实现,为bot智能对话学习领域做出的贡献!
🌟 核心特性
- 🔄 全自动学习循环: 实时消息捕获、智能筛选、风格分析、人格优化
- 🧠 情感智能系统: 好感度管理、情绪状态、动态响应机制
- 📊 数据可视化分析: 学习轨迹图表、用户行为分析、社交关系可视化
- 🤖 高级学习机制: 人格切换、上下文感知学习、增量学习、对抗学习
- 💬 增强交互能力: 多轮对话管理、跨群记忆、主动话题引导
- 🎯 智能化提升: 知识图谱、个性化推荐、自适应学习率调整
- 🌐 Web 管理界面: 完整的可视化管理控制台
后台管理使用教程
重要安全提醒
插件启动后请立即访问后台管理页面并修改默认密码!
🌐 访问后台管理
启动插件后,Web管理界面将在以下地址启动:
http://localhost:7833 或 http://你的服务器IP:7833首次登录:
- 默认密码:
self_learning_pwd - ⚠️ 强烈建议:首次登录后立即修改密码!
- 默认密码:
🛡️ 安全说明
- 请务必在生产环境中修改默认密码!
📊 WebUI 管理界面功能说明
插件提供了完整的Web可视化管理界面,包含以下功能模块:
1. 📈 数据统计页面
功能概述: 展示插件运行的核心数据指标和统计信息
主要内容:
- 消息收集统计:原始消息数、已筛选消息数、学习会话数
- 学习进度跟踪:学习次数、最后学习时间、平均学习质量
- 系统运行状态:学习器状态、调度器状态、Web服务状态
- 数据库统计:数据库大小、各表记录数、存储使用情况
使用场景: 快速了解插件整体运行状态,监控学习效果

2. 🎭 人格管理页面
功能概述: 管理Bot的所有人格,支持切换、编辑、备份和恢复
主要功能:
- 人格列表: 显示所有可用人格,包括默认人格、学习人格、备份人格
- 人格切换: 一键切换Bot使用的当前人格
- 人格编辑: 修改人格的系统提示词、对话示例等内容
- 人格备份: 手动创建人格备份,防止数据丢失
- 人格恢复: 从备份文件中恢复历史人格版本
- 人格删除: 删除不需要的人格(自动保护当前使用的人格)
使用场景: 日常人格维护、测试不同人格效果、回滚人格变更

3. 🔍 人格审查页面
功能概述: 审查并批准/拒绝AI自动生成的人格更新建议
主要内容:
- 待审查列表: 显示所有待审查的人格更新记录
- 更新详情: 展示更新类型、更新原因、建议修改内容
- 对比显示: 并排对比原始内容和建议更新内容,修改部分红色高亮显示
- 审查操作: 批准或拒绝更新,可添加审查备注
- 学习来源: 显示触发此次更新的学习类型(表达学习/关系学习等)
使用场景: 人工把关AI学习成果,确保人格更新质量

4. 💬 风格学习页面
功能概述: 管理对话风格学习数据,查看学习进度和成果
主要功能:
- 学习进度图表: 可视化展示学习进度趋势
- 风格模式列表: 查看已学习的表达风格模式
- 场景-表达映射: 展示当...时,使用...的场景表达关系
- 质量评分: 显示每条学习数据的质量分数和时间衰减
- 数据管理: 删除低质量学习数据,优化学习效果
使用场景: 监控风格学习效果,管理学习数据质量

5. 🌐 社交关系分析页面
功能概述: 可视化分析群聊成员之间的社交关系网络
主要功能:
- 群组选择: 选择要分析的群组
- 关系网络图: 使用力导向图展示成员互动关系
- 节点:群成员(大小表示活跃度)
- 连线:互动关系(粗细表示互动频率)
- 颜色:好感度等级(绿色=高好感,红色=低好感)
- 成员详情: 点击节点查看成员详细信息
- 发言次数、好感度、昵称列表
- 最常互动的成员
- 主要话题偏好
- 互动统计: 展示群内互动模式和关系强度
使用场景: 了解群聊社交网络,分析用户互动模式

7. ⚙️ 系统设置页面
功能概述: 配置插件各项参数和功能开关
主要设置项:
- 学习参数: 学习间隔、消息阈值、批处理大小
- 模型配置: 筛选模型、提炼模型、API配置
- 好感度系统: 启用/禁用、上限设置、衰减率
- 情绪系统: 每日情绪变化、情绪持续时间
- 数据管理: 自动备份间隔、数据保留期限
- 调试模式: 启用详细日志、测试模式
使用场景: 自定义插件行为,优化性能和效果

🎯 核心服务层 (services/)
📊 数据分析与可视化服务
data_analytics.py: 学习过程可视化、用户行为分析、社交网络图谱生成- 功能: 生成学习轨迹图表、用户活跃度热力图、话题趋势分析、社交关系可视化
🧠 高级学习机制服务
advanced_learning.py: 人格切换、上下文感知学习、增量学习、对抗学习- 功能: 多场景人格自动切换、情境感知学习、知识增量更新、学习效果强化
💬 增强交互服务
enhanced_interaction.py: 多轮对话管理、跨群记忆、主动话题引导- 功能: 对话上下文跟踪、历史记忆管理、智能话题推荐、互动模式分析
🎯 智能化提升服务
intelligence_enhancement.py: 情感智能、知识图谱、个性化推荐、自适应学习- 功能: 情感状态识别、知识实体管理、智能推荐算法、学习率动态调整
❤️ 好感度管理服务
affection_manager.py: 用户好感度系统、bot情绪管理、动态情感响应- 功能:
- 用户好感度跟踪(单用户最大100分,总分250分上限)
- 每日随机情绪系统(10种情绪类型)
- 智能交互分析(称赞、鼓励、侮辱、骚扰等识别)
- 动态情绪响应(根据用户行为自动调节bot情绪)
- 好感度影响系统提示词(情绪状态融入AI回复)
🔧 基础核心服务
message_collector.py: 智能消息收集与预处理database_manager.py: 统一数据管理(全局+分群数据库架构)multidimensional_analyzer.py: 多维度消息分析与用户画像构建style_analyzer.py: 深度对话风格分析与量化learning_quality_monitor.py: 学习质量实时监控与评估progressive_learning.py: 渐进式学习流程协调ml_analyzer.py: 机器学习增强分析persona_manager.py: 动态人格管理persona_updater.py: 智能人格更新persona_backup_manager.py: 人格数据备份与恢复
📋 插件命令详细教程
本插件提供了丰富的命令接口,支持完整的学习管理、好感度系统、临时人格管理等功能。以下是所有可用命令的详细说明:
🎮 基础学习管理命令
/learning_status - 查看学习状态
权限要求: 管理员
功能说明: 查看当前群组/用户的详细学习状态和统计信息
显示内容:
- 基础配置状态(消息抓取、自动学习、实时学习、Web界面)
- 抓取设置(目标QQ号、当前人格)
- 模型配置(筛选模型、提炼模型)
- 学习统计(总消息数、已筛选消息、风格更新次数、最后学习时间)
- 存储统计(原始消息、未处理消息、已筛选消息)
- 调度状态(学习器运行状态)
使用示例:
/learning_status
/start_learning - 启动学习
权限要求: 管理员
功能说明: 手动启动当前群组的自动学习循环
使用场景:
- 插件刚启动时手动激活学习
- 学习被停止后重新启动
- 强制重启学习流程
使用示例:
/start_learning
返回信息:
- 成功: "群组 [群组ID] 的学习已启动"
- 已运行: "群组 [群组ID] 的学习已在运行中"
/stop_learning - 停止学习
权限要求: 管理员
功能说明: 停止当前群组的自动学习循环
使用场景:
- 暂时禁用自动学习
- 维护或调试时停止学习
- 避免过度学习
使用示例:
/stop_learning
/force_learning - 强制学习
权限要求: 管理员
功能说明: 立即执行一次完整的学习周期,忽略时间间隔限制
使用场景:
- 测试学习效果
- 有大量新消息需要立即学习
- 调试学习流程
使用示例:
/force_learning
执行流程:
- 筛选未处理的消息
- 多维度分析消息质量
- 提取对话风格特征
- 更新人格设置
- 质量评估和效果验证
📊 数据管理命令
/clear_data - 清空学习数据
权限要求: 管理员
功能说明: 清空所有学习数据,包括原始消息、筛选消息、学习统计等
⚠️ 重要警告: 此操作不可逆,请谨慎使用!
使用示例:
/clear_data
清空内容:
- 所有收集的原始消息
- 已筛选的高质量消息
- 学习统计数据
- 缓存的分析结果
/export_data - 导出学习数据
权限要求: 管理员
功能说明: 将学习数据导出为JSON格式文件,用于备份或分析
使用示例:
/export_data
导出内容:
- 原始消息数据
- 筛选结果
- 风格分析结果
- 学习统计信息
- 用户行为数据
文件位置: 插件数据目录下,文件名格式:learning_data_export_YYYYMMDD_HHMMSS.json
❤️ 好感度系统命令
/affection_status - 查看好感度状态
权限要求: 管理员
功能说明: 查看当前群组的好感度系统详细状态
显示内容:
- 当前用户好感度等级(满分100)
- 群组总好感度状态(满分250)
- 群组用户数量统计
- Bot当前情绪状态(情绪类型、强度、描述)
- 好感度排行榜(前3名用户)
使用示例:
/affection_status
情绪类型说明:
- happy: 心情很好,说话活泼开朗
- sad: 心情低落,说话温和需要安慰
- excited: 很兴奋,说话有活力
- calm: 心情平静,说话稳重
- angry: 心情不好,说话直接没耐心
- anxious: 紧张不安,说话谨慎
- playful: 调皮,喜欢开玩笑
- serious: 严肃认真,说话简洁直接
- nostalgic: 怀旧情绪,说话带回忆色彩
- curious: 好奇心强,喜欢提问探索
/set_mood <情绪类型> - 设置Bot情绪
权限要求: 管理员
功能说明: 手动设置Bot的情绪状态,影响对话风格和回复语调
使用示例:
/set_mood happy
/set_mood sad
/set_mood excited
/set_mood calm
/set_mood angry
/set_mood anxious
/set_mood playful
/set_mood serious
/set_mood nostalgic
/set_mood curious
功能说明:
- 设置后Bot的回复将体现相应情绪特征
- 情绪状态会持续24小时(可配置)
- 同时更新好感度系统和人格提示词
- 支持的情绪类型见上方情绪类型说明
📈 数据分析命令
/analytics_report - 生成数据分析报告
权限要求: 管理员
功能说明: 生成当前群组的详细数据分析报告
报告内容:
- 学习统计: 总消息数、学习会话数、平均质量分数
- 用户行为分析: 活跃用户数、主要话题、情感倾向
- 优化建议: 基于数据分析的学习模式建议
使用示例:
/analytics_report
分析维度:
- 消息质量趋势
- 用户参与度分析
- 话题分布统计
- 情感状态变化
- 学习效果评估
🎭 人格管理命令
/persona_switch <人格名称> - 切换人格模式
权限要求: 普通用户
功能说明: 切换到指定的人格模式
使用示例:
/persona_switch default
/persona_switch assistant
/persona_switch friend
注意事项:
- 人格名称需要在系统中已存在
- 切换后Bot的对话风格会发生变化
- 切换是永久性的,直到下次手动切换
🔧 临时人格管理命令
/temp_persona - 临时人格管理
权限要求: 管理员
功能说明: 管理临时人格更新,支持多种操作
支持的操作:
1. 应用临时人格
/temp_persona apply "特征1,特征2,特征3" "对话示例1|对话示例2|对话示例3" [持续时间分钟]
参数说明:
特征1,特征2: 用逗号分隔的人格特征列表对话示例1|对话示例2: 用竖线分隔的对话示例持续时间分钟: 可选,默认60分钟
使用示例:
/temp_persona apply "幽默风趣,喜欢开玩笑,活泼开朗" "哈哈,你这个想法很有趣呢!|开什么玩笑,你太逗了哈哈" 120
2. 查看临时人格状态
/temp_persona status
显示信息:
- 当前临时人格名称
- 剩余持续时间
- 特征数量和对话数量
- 备份文件信息
3. 移除临时人格
/temp_persona remove
立即移除当前临时人格,恢复到原始状态。
4. 延长临时人格时间
/temp_persona extend [分钟数]
延长当前临时人格的持续时间,默认延长30分钟。
使用示例:
/temp_persona extend 60
5. 查看备份文件列表
/temp_persona backup_list
显示所有可用的人格备份文件(前10个)。
6. 从备份恢复人格
/temp_persona restore <备份文件名>
使用示例:
/temp_persona restore persona_backup_20240101_120000.json
🛠️ 高级管理命令
/apply_persona_updates - 应用人格更新文件
权限要求: 管理员
功能说明: 读取并应用persona_updates.txt文件中的增量人格更新
使用场景:
- 批量应用预设的人格更新
- 从外部文件导入人格调整
- 自动化人格优化流程
使用示例:
/apply_persona_updates
文件格式: persona_updates.txt中应包含要添加的人格特征和对话示例
/clean_duplicate_content - 清理重复内容
权限要求: 管理员
功能说明: 清理历史重复的情绪状态和增量更新内容,优化人格提示词
使用场景:
- 人格提示词过长时进行优化
- 清理重复的情绪描述
- 保持提示词整洁高效
使用示例:
/clean_duplicate_content
清理效果:
- 移除重复的情绪描述
- 清理冗余的人格特征
- 优化提示词结构
- 同时清空
persona_updates.txt文件
💡 命令使用技巧
🎯 学习管理最佳实践
定期检查状态:
/learning_status # 每天检查一次学习状态数据备份:
/export_data # 每周导出一次数据进行备份强制学习时机:
- 群聊活跃度突然增加时
- 添加新的目标用户后
- 修改学习配置后
/force_learning
❤️ 好感度系统管理
情绪设置策略:
# 早晨设置积极情绪 /set_mood happy # 晚上设置平静情绪 /set_mood calm # 特殊活动时设置兴奋情绪 /set_mood excited定期查看好感度:
/affection_status # 了解用户互动情况
🎭 临时人格应用场景
活动期间临时调整:
# 聚会时设置活泼人格 /temp_persona apply "活泼开朗,善于活跃气氛" "大家一起玩游戏吧!|这个活动超级有趣的!" 180学习期间设置严肃人格:
# 学习讨论时 /temp_persona apply "认真严谨,专业知识丰富" "让我们专心讨论这个问题|这个知识点很重要" 120临时人格管理:
# 检查当前状态 /temp_persona status # 需要时延长时间 /temp_persona extend 60 # 活动结束后移除 /temp_persona remove
🔍 故障排除
学习不工作:
/learning_status # 检查配置状态 /start_learning # 尝试手动启动 /force_learning # 强制执行一次学习数据异常:
/analytics_report # 查看数据分析 /export_data # 备份当前数据 /clean_duplicate_content # 清理冗余内容人格问题:
/temp_persona backup_list # 查看可用备份 /temp_persona restore <文件名> # 恢复到之前状态
⚠️ 注意事项
- 权限说明: 带有管理员权限要求的命令只能由Bot管理员使用
- 数据安全:
/clear_data命令会永久删除数据,使用前请确保已备份 - 资源消耗:
/force_learning和/analytics_report命令可能消耗较多计算资源 - 临时人格: 临时人格会在指定时间后自动过期,也可手动移除
- 好感度系统: 情绪设置会影响用户体验,建议根据群聊氛围合理设置
🔄 智能运行逻辑
1. 消息处理流程
用户消息 → QQ过滤 → 消息收集 → 好感度处理 → 增强交互更新 → 实时学习处理
2. 好感度系统流程
消息分析 → 交互类型识别 → 好感度计算 → 情绪状态更新 → 系统提示词调整
3. 学习循环流程
消息筛选 → 多维度分析 → 风格提取 → 质量评估 → 人格更新 → 效果验证
4. 情感智能流程
情感识别 → 知识图谱更新 → 个性化推荐 → 自适应调整 → 响应生成
🛠️ 技术栈升级
🔥 AI/ML 技术栈
- 大型语言模型: OpenAI GPT系列、自定义API支持
- 机器学习:
scikit-learn、numpy、pandas - 情感计算: 情绪识别、情感状态建模
- 知识图谱:
networkx、关系网络分析 - 自然语言处理:
jieba、nltk、spacy
📊 数据可视化
- 图表生成:
plotly、matplotlib、seaborn - 网络可视化:
bokeh - 数据分析: 多维度统计分析
🏗️ 系统架构
- 异步框架:
asyncio、aiohttp、aiofiles - 数据库:
aiosqlite、分布式数据存储 - Web框架:
quart、quart-cors - 缓存系统:
cachetools、redis
📋 详细配置参数解析
本插件提供了丰富的配置选项,支持高度自定义的学习和交互行为。
🔧 基础学习设置 (Self_Learning_Basic)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enable_message_capture |
bool | true | 是否启用消息抓取功能,关闭后插件停止收集新消息 |
enable_auto_learning |
bool | true | 是否启用定时自动学习,关闭后需要手动触发学习 |
enable_realtime_learning |
bool | false | 是否在收到消息时立即处理,会增加实时负载 |
enable_web_interface |
bool | true | 是否启用Web管理界面用于查看和管理学习数据 |
🎯 目标设置 (Target_Settings)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
target_qq_list |
list | [] | 指定要学习的QQ号列表,为空则学习所有用户消息 |
current_persona_name |
string | "default" | 插件将学习并优化此人格的对话风格 |
🤖 模型配置 (Model_Configuration)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
filter_model_name |
string | "gpt-4o-mini" | 用于初步筛选消息的弱模型,建议使用速度快、成本低的模型 |
refine_model_name |
string | "gpt-4o" | 用于深度分析和提炼对话风格的强模型 |
reinforce_model_name |
string | "gpt-4o" | 用于强化学习的LLM模型 |
filter_provider_id |
string | null | 筛选模型的LLM提供商ID,为空使用默认提供商 |
refine_provider_id |
string | null | 提炼模型的LLM提供商ID,为空使用默认提供商 |
reinforce_provider_id |
string | null | 强化模型的LLM提供商ID,为空使用默认提供商 |
filter_api_url |
string | null | 自定义筛选模型的API接口地址 |
filter_api_key |
string | null | 自定义筛选模型的API密钥 |
refine_api_url |
string | null | 自定义提炼模型的API接口地址 |
refine_api_key |
string | null | 自定义提炼模型的API密钥 |
reinforce_api_url |
string | null | 自定义强化模型的API接口地址 |
reinforce_api_key |
string | null | 自定义强化模型的API密钥 |
⏰ 学习参数 (Learning_Parameters)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
learning_interval_hours |
int | 6 | 自动学习的时间间隔,单位为小时 |
min_messages_for_learning |
int | 50 | 开始学习所需的最少消息数量 |
max_messages_per_batch |
int | 200 | 单次学习处理的最大消息数量,避免一次处理过多消息 |
🔍 筛选参数 (Filter_Parameters)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
message_min_length |
int | 5 | 参与学习的消息最小字符长度 |
message_max_length |
int | 500 | 参与学习的消息最大字符长度 |
confidence_threshold |
float | 0.7 | 消息筛选的置信度阈值,0-1之间,越高越严格 |
🎨 风格分析 (Style_Analysis)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
style_analysis_batch_size |
int | 100 | 单次风格分析处理的消息数量 |
style_update_threshold |
float | 0.8 | 触发人格风格更新的置信度阈值,0-1之间 |
🔬 机器学习设置 (Machine_Learning_Settings)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enable_ml_analysis |
bool | true | 是否启用scikit-learn进行文本聚类和行为分析 |
max_ml_sample_size |
int | 100 | 机器学习分析的最大样本数量,控制资源使用 |
ml_cache_timeout_hours |
int | 1 | 机器学习分析结果的缓存时间 |
💾 人格备份设置 (Persona_Backup_Settings)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
auto_backup_enabled |
bool | true | 是否在人格更新前自动创建备份 |
backup_interval_hours |
int | 24 | 自动备份的时间间隔 |
max_backups_per_group |
int | 10 | 每个群保留的最大备份数量 |
❤️ 好感度系统设置 (Affection_System_Settings)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enable_affection_system |
bool | true | 是否启用用户好感度和情绪响应系统 |
max_total_affection |
int | 250 | bot对所有用户的总好感度上限值 |
max_user_affection |
int | 100 | 单个用户可获得的最大好感度 |
affection_decay_rate |
float | 0.95 | 好感度重新分配时的衰减比例,0-1之间 |
daily_mood_change |
bool | true | 是否每天随机更换bot的情绪状态 |
mood_affect_affection |
bool | true | 当前情绪是否影响好感度变化幅度 |
🎭 情绪系统设置 (Mood_System_Settings)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enable_daily_mood |
bool | true | 是否启用每日随机情绪系统 |
mood_change_hour |
int | 6 | 每日更新情绪的小时(0-23) |
mood_persistence_hours |
int | 24 | 每次情绪状态持续的小时数 |
⚙️ 高级设置 (Advanced_Settings)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
debug_mode |
bool | false | 启用详细的调试日志输出 |
save_raw_messages |
bool | true | 是否保存未经处理的原始消息用于分析 |
auto_backup_interval_days |
int | 7 | 学习数据自动备份的间隔天数,0为禁用 |
💡 配置建议
生产环境建议:
- 关闭
debug_mode以提高性能 - 适当调整
learning_interval_hours避免过于频繁的学习 - 根据服务器性能调整
max_messages_per_batch
- 关闭
开发测试建议:
- 启用
debug_mode便于调试 - 降低
min_messages_for_learning快速测试学习功能 - 启用
enable_realtime_learning实时查看效果
- 启用
资源优化建议:
- 合理设置
max_ml_sample_size控制内存使用 - 调整
ml_cache_timeout_hours平衡性能与实时性 - 定期清理过期备份,控制存储空间
- 合理设置
新增配置项
好感度系统配置
enable_affection_system: bool = True # 启用好感度系统
max_total_affection: int = 250 # bot总好感度上限
max_user_affection: int = 100 # 单用户好感度上限
affection_decay_rate: float = 0.95 # 好感度衰减比例
daily_mood_change: bool = True # 启用每日情绪变化
mood_affect_affection: bool = True # 情绪影响好感度变化
情绪系统配置
enable_daily_mood: bool = True # 启用每日情绪
mood_change_hour: int = 6 # 情绪更新时间(24小时制)
mood_persistence_hours: int = 24 # 情绪持续时间
Web界面配置
enable_web_interface: bool = True # 启用Web管理界面
web_interface_port: int = 7833 # Web界面端口
💾 数据管理架构升级
🗄️ 数据库设计
新增数据表
user_affection: 用户好感度记录bot_mood: bot情绪状态历史affection_history: 好感度变化记录emotion_profiles: 用户情感档案knowledge_entities: 知识实体库user_preferences: 用户偏好设置conversation_contexts: 对话上下文管理
🔐 数据隐私与安全
- 本地存储: 所有数据本地化,确保隐私安全
- 数据加密: 敏感信息加密存储
- 访问控制: Web界面密码保护
- 数据备份: 自动备份与恢复机制
🚀 部署与使用
环境准备
- 确保已安装 Python 3.8+
- 安装项目依赖:
pip install -r astrabot_plugin_self_learning/requirements.txt
快速开始
- 将插件添加到AstrBot插件目录
- 启动AstrBot,插件将自动加载
- 访问Web管理界面:
http://localhost:7833 - 使用默认密码登录并立即修改密码
- 在Astrbot后台插件管理中设置插件配置项
🎯 智能特性展示
❤️ 情感智能系统
- 动态好感度: 根据用户互动自动调节好感度
- 情绪识别: 智能识别夸赞、鼓励、侮辱、骚扰等交互类型
- 情绪响应: bot情绪会根据用户行为动态变化
- 情感融入: 当前情绪状态影响AI回复的语调和内容
📊 数据可视化分析
- 学习轨迹图: 可视化学习进度和质量变化
- 用户行为热力图: 分析用户活跃模式
- 社交网络图: 展示群内用户关系网络
- 情感趋势分析: 跟踪群聊情感氛围变化
🧠 智能学习机制
- 场景感知: 根据不同场景自动切换最适合的人格
- 增量学习: 持续学习新知识,不遗忘历史经验
- 质量监控: 实时评估学习效果,自动调优
- 个性化推荐: 基于用户偏好推荐话题和回复策略
🤝 贡献指南
欢迎开发者参与项目建设!
- Bug反馈: 使用GitHub Issues报告问题
- 功能建议: 提交Feature Request
- 代码贡献: Fork项目并提交Pull Request
- 文档改进: 帮助完善文档和教程