1. 插件概述
该插件是基于 AstrBot 框架开发的好感度管理工具,支持多平台用户(QQ、Telegram、企微等)的好感度动态计算与持久化存储。核心功能包括:
- 为LLM准备好感度系统,自然的添加到对话中
- 隐藏式更新,让用户无法直接察觉到好感度更新详情
- 由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 生成响应后,插件会解析响应文本中的特定标签,更新用户数据:
- 好感度标签解析:匹配
[好感度 上升/降低/持平:数值]格式标签。 - 关系标签解析:匹配
[用户申请确认关系:关系名称:同意与否:是否唯一]格式标签。- 例:
[用户申请确认关系:老婆:true:true]表示确立了一个排他性关系。
- 例:
- 数据更新:根据解析结果更新
haogan.json。 - 文本清理:删除响应中的标签文本,避免用户看到底层规则。
3. 冷暴力机制
当好感度变化导致用户当前好感度 低于或等于 cold_violence_threshold 设定的阈值时,会触发冷暴力模式:
- 触发:用户被添加到一个临时列表中,并记录一个解锁时间(当前时间 +
cold_violence_duration_minutes)。 - 拦截:在该用户下一次发送消息时,插件会拦截对 LLM 的请求。
- 响应:插件会直接返回一条自定义的“冷暴力”消息。
- 恢复:超过解锁时间后,用户的交互恢复正常。
8. 注意事项
- 好感度范围限制:所有好感度数值强制限制在配置的
min和max之间,超出范围会被自动截断。 - 用户 ID 格式要求:用户 ID 需符合「字母、数字、
_、-、@、:、.」字符集,长度 ≤ 64。 - 模式切换影响:切换
is_global_favour模式后,原有数据不会互通(全局模式用一套数据,会话模式用另一套)。 - 权限等级说明:
- Bot管理员:配置中的 admins_id 成员。
- 群主/群管理员:QQ 群内的相应角色。
- 高等级成员:群等级达到阈值的成员。
- 普通用户:默认权限。
- 插件卸载数据:卸载插件时,数据文件会保留,重新安装后可继续使用。
- 日志排查:若出现数据不更新、命令无响应等问题,可查看 AstrBot 日志定位错误。
❓ 常见问题 (FAQ)
Q1:好感度不更新怎么办?
A1:排查以下几点:
- 查看 LLM 响应是否包含
[好感度]标签(若没有,需检查favour_rule_prompt是否配置正确,或者 LLM 是否“太笨”没听懂指令); - 检查用户 ID 是否符合格式;
- 查看日志是否有
写入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)
- 修改冷暴力宣言插入方式
- v3.0 (2025年12月5日)
- 重大更新:文件结构重构!
- 功能增强:现在可以通过@指定用户,并且可查询他人的好感度数据了
- 关系判断:对于关系确定的规则添加了更多规范,让群聊内不会出现“同时拥有两个结婚对象”这种情况(如果是NTR人设就看你人设是不是觉得这必须是唯一关系了)
- 输出优化:有人反映由于默认T2i服务经常过载,导致图片输出错误,现添加转图失败文本输出,增加容错
- 开通反馈:反馈通道可以通过QQ群添加!
- v2.7(2025年11月27日)
- 数据保存规范:规范了数据保存路径
- 容错提升:对好感度标签的识别容错率提升了
- v2.6 (2025年11月15日)
- 在2.5的基础上,添加了更多的自定义配置项目,大致功能不变
- 添加了BOT管理员可以手动取消冷暴力状态的功能
- 还有什么来着,我忘了,想起来再写
- v2.5 (2025年11月15日)
- 新增“冷暴力”模式:当用户好感度低于预设阈值时,插件会自动进入限时“冷暴力”状态,拦截并回复特定消息,防止恶意骚扰。相关配置项已添加
- 优化代码结构:重构了权限管理和文件读写逻辑,提升了稳定性和性能
- 完善用户昵称获取:优化了在群聊和私聊中获取用户显示名称的逻辑,使其更加准确
- 更新文档:同步更新了新功能、配置项和命令说明
- 2025年11月3日
- 更变标签清理方式,让LLM不会因为历史对话中不包含数据变化标签导致后续也不添加
- 保留好感度变化标签到历史记录中,可以从“对话数据”(或通过命令history)中查看变化详情 (大优化!!!)
- 2025年11月2日
- 扩大标签识别,防止因标签不完整而被错误输出
- 添加提醒,如果标签无效,可以在控制台查看error和warn输出
- 添加部分命令别名,查询类命令不完整或不规范也可以使用
- 对帮助文档进行分权限显示
- 2025年10月5日
- 新增权限等级系统,支持细粒度权限控制
- 优化数据管理机制,增强数据校验和错误处理
- 新增会话隔离/全局模式切换功能
- 完善命令系统,增加二次确认机制
- 优化用户体验,提供更详细的帮助文档
- 改进数据迁移机制,完全兼容旧版本数据
- v3.0.2(2025.12.27)
如需更多帮助,可访问 插件 GitHub 仓库 获取最新文档。
11. 未来计划
- 添加“冷暴力处理”,当好感度低于特定值的时候,会进入冷暴力模式,防止恶意用户捣乱
- 目前冷暴力是全局模式,暂时没有办法分对话冷暴力。后续稍微改改
- 添加模型判断,让好感度的判断不再局限与当前用于回复的LLM模型
- 关系的唯一性:已完成
- 启用群聊白名单功能
- 待定,欢迎补充~
联系
| 作者信息 | 交流/反馈 |
|---|---|
| 作者: 糯米茨 联系方式: (许愿通道) - GitHub Issues |
![]() |
求你们了
来鞭策支持一下叭!
