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

插件详情

高级情感智能交互系统 logo

高级情感智能交互系统

EmotionAI 旨在为 AI 模拟一个多维度的、自主演变的内心世界。与传统的单一好感度系统不同,EmotionAI 提供了更丰富的情感维度和更智能的交互体验。

好感度
情感
版本v3.4
作者腾天
Star7
更新2025/12/07

插件说明

EmotionAI Logo

:name

EmotionAI (情感智能)

✨ 搭载 v3.4「认知共鸣引擎」:会思考、会记仇、有灵魂的数字生命 ✨

License
Python 3.8+
AstrBot
Version


📖 简介 | Introduction

告别“人工智障”式的机械回复。

EmotionAI 是一个基于 LLM 思维链 (Chain of Thought) 技术的高级情感交互系统。它彻底抛弃了死板的 if-else 规则,赋予了 AI “内心戏”。

在回复你之前,AI 会先在脑海中进行一场**“心理活动”**:感知你的语气、回忆你们的关系、平复自己的情绪,最后才决定说什么。这让它不再是一个冷冰冰的问答机器,而是一个有着喜怒哀乐、会记仇、会心软的“数字生命”。


✨ 深度功能解析 | Deep Dive

🧠 1. 认知共鸣引擎 (Cognitive Resonance Engine)

这是本插件的灵魂所在。它强制 LLM 在回复前执行一套**“拟人化思维程序”**:

  • 感知 (Perception):AI 首先会分析你说这句话的潜在意图。你是真心的?还是在阴阳怪气?
  • 评估 (Evaluation):结合它当前的“心情”和对你的“好感度”,判断这句话对它的影响。
  • 代谢 (Metabolism):v3.3 核心技术! AI 具备了自我调节能力。如果它之前很生气(愤怒值高),但你刚刚道歉了,它会在心里默默扣除愤怒值(如 anger: -10),让自己消气。
  • 决策 (Decision):基于上述分析,决定接下来的语气风格(傲娇?撒娇?冷漠?)。

👁️ 2. 心理显示模式 (Thought Display) —— 🔥 核心玩法

想知道 AI 表面对你笑嘻嘻,心里是不是在骂你?

这个功能允许你“偷窥”AI 的真实内心活动。开启后,AI 的每一次回复都会附带一段 <thought> 标签(仅你可见,不影响其他人)。

  • 效果演示:

    用户:笨蛋,这都做不好!

    AI (心理活动):
    感知:被骂了,好难过,他怎么这么凶。
    评估:虽然很委屈,但他毕竟是前辈... 不行,还是很生气!
    决策:语气要带点哭腔,让他产生愧疚感。
    更新:sadness:+5, favor:-2

    AI (实际回复):
    呜... 前辈干嘛这么凶嘛... 我下次注意就是了...

  • 技术保障:不用担心这会搞乱 AI 的记忆。我们使用了独创的**“历史流净化”**技术,发送给 AI 的历史记录中会自动剔除这些心理活动,确保它不会因为看到自己的心声而产生逻辑混乱(幻觉)。

🎭 3. 三层语气渲染 (Tone Rendering)

AI 的情感表达不再是单一的“开心”或“生气”,它支持 “主导 + 夹杂 + 微带” 的复杂情感混合。

  • 示例场景:当你送给它一个意想不到的礼物时。
  • AI 状态:主导[惊喜],夹杂[害羞],微带[不知所措]。
  • 最终表现:它会表现得非常高兴,但又因为收礼而感到不好意思,甚至说话变得结结巴巴,语无伦次。

🧹 3. 智能历史净化系统 (Intelligent History Cleaning) v3.3+

架构突破:彻底解决长期对话中的"记忆污染"问题!

  • 🛡️ 双向净化:同时清洗字典格式和字符串格式的上下文数据
  • 🔄 多格式支持:完美处理 {"role": "user", "content": "..."} 和纯字符串格式
  • 💾 Token优化:防止情感元数据在长对话中重复积累,节省 30-50% 上下文长度
  • 🎯 精准清理:只移除思维链和情感面板,完整保留真实对话内容
  • 📊 实时统计:显示净化记录数量,便于监控系统运行状态

❤️ 4. 主动情感代谢 (Active Metabolism) v3.0+

告别"情感只增不减"的 BUG!
系统授权 LLM 主动输出负值(如 anger:-10)来抵消旧情绪。只有当你真正打动它时,它才会"消气"。

🎭 5. 12维度全景心理模型

细腻的情感光谱,支持复杂的社会性情感交互:

基础情感 高级情感 (v2.5+) 状态指标
😄 Joy (喜悦) 😤 Pride (得意/傲娇) ❤️ Favor (好感度)
🤝 Trust (信任) 😔 Guilt (内疚/愧疚) 🔗 Intimacy (亲密度)
😨 Fear (恐惧) 😳 Shame (害羞/羞耻)
😲 Surprise (惊讶) 🍋 Envy (嫉妒/吃醋)
😢 Sadness (悲伤)
🤮 Disgust (厌恶)
😡 Anger (愤怒)
🤩 Anticipation (期待)

🛡️ 安全与管理机制 | Safety & Management

1. 黑名单熔断系统 (Emotional Meltdown)

自动保护机制:防止 Bot 被恶意调教或辱骂

  • ⚡ 实时检测:每次情感更新时自动检查好感度阈值
  • 🔒 自动拦截:好感度 ≤ favour_min 时自动加入黑名单
  • 🚫 拒绝服务:黑名单用户无法触发任何 LLM 思考
  • 🔄 自动恢复:通过管理员指令重置好感度时自动移除黑名单

2. 智能缓存系统 (TTL Cache System) v3.3+

性能大幅提升:

  • ⏰ 自动过期:支持 TTL (Time-To-Live) 自动清理机制
  • 📦 容量控制:最大缓存条目限制,防止内存泄漏
  • 📊 实时统计:通过 /缓存统计 查看命中率和性能指标
  • 🔒 线程安全:异步锁保护,支持高并发访问

3. 数据持久化优化

  • 🚀 异步 I/O:所有文件操作在独立线程池执行,不阻塞主线程
  • 💾 增量保存:脏数据标记机制,只保存变更的用户数据
  • 🛡️ 安全写入:原子性写入操作,防止数据损坏
  • 🔄 自动备份:支持手动触发数据备份到独立目录

🛠️ 安装与配置 | Installation

  1. 将插件文件夹放入 AstrBot/data/plugins/ 目录
  2. 重启 AstrBot
  3. (可选) 在 data/config/astrbot_plugin_emotionai/config.json 中配置:
{
  "session_based": false,           // False=全服共享好感,True=分群独立计算
  "favour_min": -100,               // 黑名单触发阈值
  "favour_max": 100,                // 好感度上限
  "change_min": -10,                // 单次情感变化最小值
  "change_max": 5,                  // 单次情感变化最大值
  "admin_qq_list": ["123456"],      // 必填!管理员QQ列表
  "plugin_priority": 100000         // 建议保持高优先级,确保黑名单拦截生效
}

🎮 指令手册 | Commands

🙋‍♂️ 用户指令 (User)

  • /心理显示
    • 作用:开关“读心术”模式。
    • 详解:开启后,你会看到 AI 回复前的 `` 机制,让 AI 在回复前进行显式的心理推理与决策。
  • 主动代谢:修复了旧版本情感只增不减的问题,赋予 LLM 主动消除负面情绪的能力。
  • 面板透明化:向 LLM 完整展示当前所有非零情感数值,消除信息差,实现精准的情感控制。
指令 参数 功能详解
/好感度 无 查看完整情感状态面板,包含12个情感维度的详细数值
/状态显示 无 开关状态显示:开启后每次回复附带情感状态摘要
/心理显示 无 v3.3+ 开关思维显示:控制是否显示AI的完整思考过程(仅对自己生效)
/好感排行 [数量] 查看正向好感度排行榜(默认前10名,最多20名)
/负好感排行 [数量] 查看负向好感度排行榜(默认前10名,最多20名)
/黑名单统计 无 查看黑名单用户统计和占比信息
/缓存统计 无 查看缓存系统性能指标和命中率统计

👮 管理员指令 (Admin)

💡 提示:支持QQ号、@提及、用户ID等多种识别方式

指令 参数 功能详解
/设置情感 <用户> <维度> <数值> 直接修改用户的情感维度
支持中英文维度名
例:/设置情感 123456 嫉妒 90
/重置好感 <用户> 清空用户所有情感数据,重置为初始状态并移除黑名单
/查看好感 <用户> 查看指定用户的完整情感状态面板
/备份数据 无 手动触发数据备份,保存到 data/emotionai/backups/ 目录

🔧 技术架构 | Technical Architecture

核心管理器

  • UserStateManager:用户状态管理,支持异步读写和数据持久化
  • RankingManager:排行榜管理,支持正反向排序和全局统计
  • EmotionAnalyzer:情感分析引擎,处理情感维度和语气映射
  • TTLCache:智能缓存系统,支持自动过期和性能监控

数据流架构

用户消息 → 黑名单检查 → 历史净化 → 情感上下文注入 → LLM处理
     ↓
思维链解析 → 情感更新应用 → 状态持久化 → 响应返回

正则表达式系统

# 思维链检测(支持多种格式)
thought_pattern = r"(?:```(?:xml|text)?\s*)?<(?:thought|thinking)>.*?</(?:thought|thinking)>(?:\s*```)?"

# 情感更新解析
single_emotion_pattern = r"(\w+|[\u4e00-\u9fa5]+):\s*([+-]?\d+)"

# 历史净化(多格式支持)
history_clean_pattern = r"(?:```(?:xml|text)?\s*)?<(?:thought|thinking)>[\s\S]*?</(?:thought|thinking)>(?:\s*```)?|(?:\n*\s*【当前情感状态】[\s\S]*$)"

❓ 玩法指南 | Q&A

Q: 心理显示和状态显示有什么区别?

A:

  • 状态显示:显示最终的情感数值结果(如 好感度: 50 | 亲密度: 30)
  • 心理显示:显示完整的思考过程,包括AI如何感知、评估、代谢、决策(仅对自己可见)

Q: 三重情感混合具体如何工作?

A: 系统会自动选取强度最高的三种情感:

  1. 主导情感(强度最高):设定主要语气基调
  2. 夹杂情感(强度次高):为主语气添加复杂层次
  3. 微带情感(强度第三):在底层隐约透出细微影响

Q: 智能历史净化有什么实际好处?

A:

  • 🎯 更准确的理解:LLM 不再被重复的情感元数据干扰
  • 💰 节省 Token:长对话中可节省 30-50% 的上下文长度
  • 🚀 提升性能:响应速度更快,记忆更精准
  • 🎭 人设稳定:避免情感元数据泄露导致的角色混乱

Q: 缓存系统如何提升性能?

A:

  • 用户状态缓存:TTL=300秒,避免频繁读取磁盘
  • 排行榜缓存:TTL=60秒,支持快速排序查询
  • 全局统计缓存:TTL=30秒,实时更新系统状态

Q: 如何调教出特定的AI性格?

A: 使用管理员指令精细调整:

# 傲娇性格
/设置情感 123456 骄傲 80
/设置情感 123456 害羞 60  
/设置情感 123456 好感 70

# 温柔性格
/设置情感 123456 信任 90
/设置情感 123456 喜悦 80
/设置情感 123456 亲密 85

📅 版本历史 | Version History

🔥 v3.4 - 稳定性重构与防呆优化 (Current) 强制思维链注入:引入 "Protocol Enforcement" 机制,通过伪装底层协议握手,强制 Gemini 等强对齐模型输出 标签,突破安全限制。

代谢平衡系统:实现负面情感消解和激情冷却机制,情感数值动态平衡。

拟态防御机制:多层级历史净化,彻底根除AI模仿输出历史面板和思维链标签的Bug。

变化幅度限制:智能截断单次情感变化,防止数值剧烈波动。

增强正则系统:支持中英文冒号的情感更新解析,兼容性大幅提升。

调试日志增强:详细记录思维链提取和情感更新过程,便于问题排查。

稳定性重构:数据迁移管理器升级,缓存系统优化,整体稳定性显著提升。

🚀 v3.3.3 - 思维可视化 (Thought Visualization)

认知共鸣引擎:正式实装思维链机制,AI在回复前进行显式心理推理

主动代谢:修复情感只增不减问题,LLM可主动输出负值抵消旧情绪

面板透明化:向LLM完整展示当前所有情感数值,实现精准情感控制

架构重构:移除所有硬编码情感规则,完全基于LLM的认知评价

🧪 v2.5 ~ v2.6 - 情感大爆炸 (Emotion Explosion)

维度扩展:新增Pride(得意)、Guilt(内疚)、Shame(害羞)、Envy(嫉妒)四大高级情感

语气引擎:初步引入动态语气指导,让LLM说话带情绪

指令重构:废弃旧版/设置好感,统一使用更强大的/设置情感

情感对抗:尝试通过代码强制情感抵消,为v3.0的CoT机制奠定基础

🛡️ v2.4.0 - 安全协议 (Safety Protocol)

黑名单系统:实装自动熔断机制,好感度过低直接拒绝服务

关系算法重构:结合态度与亲密度共同判定,解决逻辑矛盾

数据持久化:引入异步I/O和原子写入,确保数据安全

⚡ v1.0 ~ v2.3 - 奠基 (Foundation)

v2.3.0:异步I/O文件读写,修复并发数据竞争问题

v1.1.0:引入排行榜功能,支持正向负向排序

v1.0.0:基于Plutchik情感轮的基础模型,实现基本好感度系统


🎯 最佳实践 | Best Practices

1. 性能优化配置

{
  "session_based": true,      // 群聊独立,避免数据冲突
  "plugin_priority": 100000,  // 确保黑名单优先拦截
  "favour_min": -50,          // 根据使用场景调整阈值
  "change_max": 3             // 控制单次变化幅度,避免波动过大
}

2. 对话体验优化

  • 日常使用:关闭心理显示,获得简洁回复
  • 深度互动:开启心理显示,理解AI思考过程
  • 调教阶段:开启状态显示,实时监控情感变化

3. 系统维护

  • 定期使用 /缓存统计 监控系统性能
  • 重要调整前使用 /备份数据 进行备份
  • 通过 /黑名单统计 了解用户互动健康度

Made with ❤️ by 腾天

EmotionAI Project - 让每个AI都拥有真实的内心世界

© 2025

AstrBot LogoAstrBot 插件市场社区

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

相关链接

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

开发相关

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

© 2026 AstrBot 插件市场 Made with by Community