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

插件详情

astrbot_plugin_Favour_Ultra logo

astrbot_plugin_Favour_Ultra

更加完善的好感度判断插件,配合LLM和自定义 Prompt 进行使用,效果显著。该插件使用与现有好感度插件不同的判断、写入方法,以及扩展更多的自定义内容,允许更加自由地定义好感度规则。

好感度
关系管理
提示词
娱乐
版本v3.0.2
作者糯米茨
Star17
更新2025/12/26

插件说明

:name

好感度/关系管理插件

查看更新日志(v3.0.2)
未来计划
来许愿!

12月27日 更新概要:

❗更新后请先重载一次插件以适配新版配置文件❗

  • 对冷暴力宣告做修改,防止LLM学习上下文而误添加

1. 插件概述

该插件是基于 AstrBot 框架开发的好感度管理工具,支持多平台用户(QQ、Telegram、企微等)的好感度动态计算与持久化存储。核心功能包括:

  1. 为LLM准备好感度系统,自然的添加到对话中
  2. 隐藏式更新,让用户无法直接察觉到好感度更新详情
  3. 由LLM自行判断并确认人际交往关系,包括但不限于朋友、情侣等日常关系,以及主仆、使魔等符合世界观的关系

2. 功能特点

功能分类 具体说明
多模式管理 支持「全局模式」(所有会话共享好感度)和「会话隔离模式」(每个对话独立计算)
好感度分级 可配置好感度等级规则(如极度厌恶、喜欢、挚爱等),影响 LLM 交互态度
冷暴力模式 好感度低于阈值时自动进入限时冷暴力状态,拦截LLM请求并发送自定义回复
数据安全 清空数据时可自动生成带时间戳的备份文件,避免误操作导致数据丢失
权限控制 根据用户等级不同,可以分别使用不同的命令,包含人为修改好感度的命令(暂时没有修改关系的)
LLM 深度集成 自动向 LLM Prompt 注入好感度规则,解析 LLM 返回标签更新数据,无需人工干预
多平台适配 支持多平台用户 ID 格式(字母、数字、_、-、@、: 等特殊字符)
完善的日志记录 关键操作(数据读写、命令执行、异常)均输出日志,便于问题排查
权限继承 Bot管理员 ≥ 群主 ≥ 群管理员 ≥ 高等级成员 ≥ 普通用户

3. 安装

  • 直接在astrbot的插件市场搜索"糯米茨"找到目标插件,点击安装,等待完成即可

  • 也可以克隆源码到插件文件夹:

# 克隆仓库到插件目录
cd /AstrBot/data/plugins
git clone https://github.com/nuomicici/astrbot_plugin_Favour_Ultra

# 控制台重启AstrBot
配置项 类型 默认值 描述
min_favour_value int -100 好感度数值下限
好感度的最低值,到达此值后不再下降。
max_favour_value int 100 好感度数值上限
好感度的最高值,到达此值后不再上升。
default_favour int 0 普通用户初始好感度
新用户首次交互时的初始值(需在 min~max 范围内)。
admin_default_favour int 50 管理员/特使初始好感度
管理员或特使的初始好感度(需在 min~max 范围内)。
favour_rule_prompt text (见配置) 好感度规则提示词
定义 LLM 在不同好感度阶段的反应规则。
enable_clear_backup bool true 自动备份
清空数据时是否自动生成备份文件(推荐开启)。
is_global_favour bool false 全局好感度模式
开启:所有群聊/私聊共享好感度。
关闭:每个会话独立计算(防止跨群刷分)。
favour_envoys list [] 好感度特使列表
填入用户ID。特使拥有较高的初始好感度,但无管理权限。
favour_increase_min int 1 好感度上升下限
单次互动好感度增加的最小值。
favour_increase_max int 3 好感度上升上限
单次互动好感度增加的最大值。
favour_decrease_min int 1 好感度下降下限
单次互动好感度扣除的最小值(绝对值)。
favour_decrease_max int 5 好感度下降上限
单次互动好感度扣除的最大值(绝对值)。
level_threshold int 50 高等级成员阈值
群成员等级达到此值时视为高等级成员。
cold_violence_threshold int -50 冷暴力触发阈值
当好感度 ≤ 此值时,触发冷暴力模式。
cold_violence_duration_minutes int 60 冷暴力持续时间
触发后,需经过此时间(分钟)才能恢复正常对话。
cold_violence_replies object (见配置) 冷暴力回复配置
自定义冷暴力期间的各种自动回复文案。

5. 命令使用说明

插件支持多种交互命令,所有命令均通过 命令 参数1 参数2... 的格式触发,参数之间用空格隔开。

权限分为普通用户、群管理员、群主和 Bot 管理员,权限等级依次递增。

1. 普通用户命令

适用于所有用户,无需特殊权限。

命令格式 功能描述
查看我的好感度 查询您在当前会话的好感度、关系等信息。
别名:我的好感度, 好感度查询, 查看好感度, 查询好感度
查看他人好感度 <用户ID> 查询指定用户的好感度信息(支持 @用户)。
别名:查询他人好感度, 查看用户好感度, ta的好感度
查看好感度帮助 显示插件的详细帮助文档,包含所有命令列表和注意事项。
别名:好感度帮助, 好感度插件帮助

2. 管理员命令

需要指定的管理员权限才能使用。权限等级:Bot管理员 > 群主 > 群管理员。

命令格式 功能描述 权限要求
修改好感度 <用户ID> <数值> 精准设置指定用户的好感度值。数值范围:配置的 min ~ max。
作用范围:依据当前会话模式(全局或当前会话)。
群管理员及以上
删除好感度数据 <用户ID> 从数据库中删除指定用户的记录(重置为初始状态)。
作用范围:依据当前会话模式。
群管理员及以上
查询好感度数据 以图文形式列出当前会话内所有用户的好感度数据。
别名:查看好感度数据, 本群好感度查询, 查看本群好感度, 本群好感度
群管理员及以上
查询全部好感度 以图文形式列出所有会话的好感度数据,按会话分组显示。
别名:查看全部好感度, 查询全局好感度, 查看全局好感度, 查询好感度全局
Bot管理员
清空当前好感度 清空当前会话的所有好感度数据。
注意:这是一个危险操作,需要输入 清空当前好感度 确认 来执行。
群主及以上
清空全局好感度数据 清空所有会话的好感度数据,即清空整个 haogan.json 文件。
注意:这是一个高危操作,需要输入 清空全局好感度数据 确认 来执行。
Bot管理员
取消冷暴力 <用户ID> 强制解除指定用户的冷暴力封禁状态。
别名:解除冷暴力
Bot管理员

3. 参数说明

  • <用户ID>:通常指用户的 QQ 号码,也支持直接 @用户。
  • <数值>:一个整数,用于设定好感度,范围必须在配置的 min_favour_value 到 max_favour_value 之间。

4. 权限层级说明

  • **Bot管理员**:在机器人全局配置文件 admins_id 中指定的用户,拥有插件的最高权限,其权限全局生效。
  • **群主**:QQ 群的创建者,权限仅在当前群生效。
  • **群管理员**:由群主在 QQ 群中设置的管理员,权限仅在当前群生效。

6. 数据存储说明

文件名格式 作用描述 存储格式示例
haogan.json 核心数据文件,存储用户好感度与关系(按会话/全局模式) json [{"userid":"123","session_id":"qq_group_1","favour":80,"relationship":"朋友","is_unique":false}]
global_favour.json 全局好感度数据文件,用于「非全局模式」下新会话初始值导入 json {"123456789": 50, "987654321": 30}
haogan_backup_YYYYMMDD_HHMMSS.json 清空数据时的备份文件(仅 enable_clear_backup=true 时生成) 同 haogan.json 格式,文件名含时间戳(如 haogan_backup_20240520_153045.json)

数据安全提示

  • 备份文件不会自动清理,需定期手动删除旧文件,避免占用磁盘空间;
  • 若误删数据,可将备份文件重命名为 haogan.json 恢复(需先停止插件);
  • 迁移插件时,直接复制该目录即可保留所有数据;
  • 新版本完全兼容旧版本数据,升级时会自动迁移和校验数据格式。

7. 核心工作机制

1. LLM Prompt 注入

插件在 LLM 生成响应前,会自动向 system_prompt 头部注入好感度规则。注入的 Prompt 包含:

  • 最高标准要求:强制 LLM 优先遵循好感度规则,不可忽略或修改;
  • 权限等级信息:告知 LLM 用户的具体权限等级,影响交互态度;
  • 好感度详情:当前用户的好感度、关系,以及初始值规则;
  • 基础变化规则:好感度上升/降低/持平的标签格式与幅度限制;
  • 关系判定规则:用户申请建立关系时的响应格式,包含唯一性检测指令。

2. LLM 响应解析

LLM 生成响应后,插件会解析响应文本中的特定标签,更新用户数据:

  1. 好感度标签解析:匹配 [好感度 上升/降低/持平:数值] 格式标签。
  2. 关系标签解析:匹配 [用户申请确认关系:关系名称:同意与否:是否唯一] 格式标签。
    • 例:[用户申请确认关系:老婆:true:true] 表示确立了一个排他性关系。
  3. 数据更新:根据解析结果更新 haogan.json。
  4. 文本清理:删除响应中的标签文本,避免用户看到底层规则。

3. 冷暴力机制

当好感度变化导致用户当前好感度 低于或等于 cold_violence_threshold 设定的阈值时,会触发冷暴力模式:

  1. 触发:用户被添加到一个临时列表中,并记录一个解锁时间(当前时间 + cold_violence_duration_minutes)。
  2. 拦截:在该用户下一次发送消息时,插件会拦截对 LLM 的请求。
  3. 响应:插件会直接返回一条自定义的“冷暴力”消息。
  4. 恢复:超过解锁时间后,用户的交互恢复正常。

8. 注意事项

  1. 好感度范围限制:所有好感度数值强制限制在配置的 min 和 max 之间,超出范围会被自动截断。
  2. 用户 ID 格式要求:用户 ID 需符合「字母、数字、_、-、@、:、.」字符集,长度 ≤ 64。
  3. 模式切换影响:切换 is_global_favour 模式后,原有数据不会互通(全局模式用一套数据,会话模式用另一套)。
  4. 权限等级说明:
    • Bot管理员:配置中的 admins_id 成员。
    • 群主/群管理员:QQ 群内的相应角色。
    • 高等级成员:群等级达到阈值的成员。
    • 普通用户:默认权限。
  5. 插件卸载数据:卸载插件时,数据文件会保留,重新安装后可继续使用。
  6. 日志排查:若出现数据不更新、命令无响应等问题,可查看 AstrBot 日志定位错误。

❓ 常见问题 (FAQ)

Q1:好感度不更新怎么办?

A1:排查以下几点:

  1. 查看 LLM 响应是否包含 [好感度] 标签(若没有,需检查 favour_rule_prompt 是否配置正确,或者 LLM 是否“太笨”没听懂指令);
  2. 检查用户 ID 是否符合格式;
  3. 查看日志是否有 写入haogan.json失败 错误。

Q2:如何恢复误删的数据?

A2:若 enable_clear_backup=true,找到最新的备份文件(如 haogan_backup_xxxx.json),重命名为 haogan.json 并替换原文件,重启插件即可。

Q3:全局模式和会话模式有什么区别?

A3:

  • 全局模式:所有会话共享好感度,你在这群惹了 Bot,去别的群它也记得。
  • 会话模式:每个会话(群/私聊)独立计算,互不干扰。

Q4:为什么触发冷暴力后,私聊也不回了?

A4:因为冷暴力状态是全局生效的,且为了计时准确,它是临时存储在内存中的。如果此时重启插件或 Bot,冷暴力状态会重置(除非你手动修改了代码逻辑)。

10. 版本信息

  • 当前版本:v3.0.2
  • 更新日志:
    • v3.0.2(2025.12.27)
      1. 修改冷暴力宣言插入方式
    • v3.0 (2025年12月5日)
      1. 重大更新:文件结构重构!
      2. 功能增强:现在可以通过@指定用户,并且可查询他人的好感度数据了
      3. 关系判断:对于关系确定的规则添加了更多规范,让群聊内不会出现“同时拥有两个结婚对象”这种情况(如果是NTR人设就看你人设是不是觉得这必须是唯一关系了)
      4. 输出优化:有人反映由于默认T2i服务经常过载,导致图片输出错误,现添加转图失败文本输出,增加容错
      5. 开通反馈:反馈通道可以通过QQ群添加!
    • v2.7(2025年11月27日)
      1. 数据保存规范:规范了数据保存路径
      2. 容错提升:对好感度标签的识别容错率提升了
    • v2.6 (2025年11月15日)
      1. 在2.5的基础上,添加了更多的自定义配置项目,大致功能不变
      2. 添加了BOT管理员可以手动取消冷暴力状态的功能
      3. 还有什么来着,我忘了,想起来再写
    • v2.5 (2025年11月15日)
      1. 新增“冷暴力”模式:当用户好感度低于预设阈值时,插件会自动进入限时“冷暴力”状态,拦截并回复特定消息,防止恶意骚扰。相关配置项已添加
      2. 优化代码结构:重构了权限管理和文件读写逻辑,提升了稳定性和性能
      3. 完善用户昵称获取:优化了在群聊和私聊中获取用户显示名称的逻辑,使其更加准确
      4. 更新文档:同步更新了新功能、配置项和命令说明
    • 2025年11月3日
      1. 更变标签清理方式,让LLM不会因为历史对话中不包含数据变化标签导致后续也不添加
      2. 保留好感度变化标签到历史记录中,可以从“对话数据”(或通过命令history)中查看变化详情 (大优化!!!)
    • 2025年11月2日
      1. 扩大标签识别,防止因标签不完整而被错误输出
      2. 添加提醒,如果标签无效,可以在控制台查看error和warn输出
      3. 添加部分命令别名,查询类命令不完整或不规范也可以使用
      4. 对帮助文档进行分权限显示
    • 2025年10月5日
      1. 新增权限等级系统,支持细粒度权限控制
      2. 优化数据管理机制,增强数据校验和错误处理
      3. 新增会话隔离/全局模式切换功能
      4. 完善命令系统,增加二次确认机制
      5. 优化用户体验,提供更详细的帮助文档
      6. 改进数据迁移机制,完全兼容旧版本数据

如需更多帮助,可访问 插件 GitHub 仓库 获取最新文档。

11. 未来计划

  • 添加“冷暴力处理”,当好感度低于特定值的时候,会进入冷暴力模式,防止恶意用户捣乱
  • 目前冷暴力是全局模式,暂时没有办法分对话冷暴力。后续稍微改改
  • 添加模型判断,让好感度的判断不再局限与当前用于回复的LLM模型
  • 关系的唯一性:已完成
  • 启用群聊白名单功能
  • 待定,欢迎补充~

联系

作者信息 交流/反馈
作者: 糯米茨
联系方式: (许愿通道)
- GitHub Issues
- QQ

求你们了

来鞭策支持一下叭!

AstrBot LogoAstrBot 插件市场社区

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

相关链接

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

开发相关

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

© 2026 AstrBot 插件市场 Made with by Community