📚 自主学习

🧠 AI 自主学习

插件名称: astrbot_plugin_self_learning
版本说明: 仓库 metadata.yaml 标注为 3.4.4;GitHub 最新 Release 显示为 3.5.2。
让 bot 从群聊和真实对话中学习表达方式、群组黑话、社交关系、好感度、长期信息和人格增量。

该插件主要在后台自动运行。普通用户不需要记忆固定命令,但启用后,群聊消息可能被采集、筛选、分析和保存。


🚀 普通用户需要知道什么?

项目说明
是否需要手动触发不需要,插件按管理员配置自动学习
会学习什么对话风格、常用表达、群组黑话、社交关系和上下文
会不会立即改变人格学习结果可先进入审查队列,是否自动应用由管理员决定
是否保存消息插件可保存原始消息、筛选消息、对话对和学习结果
能否保证学得正确不能,AI 可能误解语境、黑话和人物关系
能否回滚管理员可在 WebUI 中审查、拒绝、删除和回滚部分结果

✨ 它会带来什么变化?

启用一段时间后,bot 可能逐渐:

  • 学会群内常用的说话方式;
  • 理解群友经常使用的缩写和黑话;
  • 对不同用户形成不同的互动倾向;
  • 记录好感度和社交关系;
  • 在后续回复前注入已批准的表达示例;
  • 根据情绪和心理状态改变回复表现;
  • 建立记忆图、知识图谱和社交关系图谱。

插件不会直接替换 AstrBot 的回复系统,而是在消息进入、bot 回复发送后和下一次 LLM 请求前增强上下文。


🔄 学习流程

  1. 插件接收并保存符合条件的用户消息。
  2. 对消息进行长度、目标用户、黑名单等筛选。
  3. 提取表达模式、群组黑话和对话样例。
  4. 达到条件后启动实时或批量学习。
  5. 学习结果进入人格或风格审查队列。
  6. 管理员批准或自动策略通过后,结果可用于后续对话。
  7. 下一次请求大模型前,插件注入已批准的风格、黑话、记忆和社交信息。

👑 管理员命令

仓库 README 明确说明:以下命令全部需要 AstrBot 管理员权限。

命令说明
@bot learning_status查看学习状态和统计
@bot start_learning手动启动学习
@bot stop_learning停止学习
@bot force_learning强制执行一次学习
@bot remember 上下文 => 表达示例手动保存对话上下文,并关联表达方式和对话示例
@bot affection_status查看好感度状态
@bot set_mood 情绪类型设置 bot 当前情绪

手动记忆示例

@bot remember 用户夸 bot 很可爱 => 嘿嘿,那当然啦~

实际语法和可接受内容以 bot 返回结果为准。


🖥️ 管理面板

默认地址:

http://127.0.0.1:7833

WebUI 可用于:

页面作用
总览查看消息数、学习状态、待审内容、图谱和性能指标
全量设置修改公开配置项
待审人格批准、拒绝、删除和回滚人格学习结果
风格审查审核表达模式与 few-shot 对话
黑话查看候选词、含义、计数和作用范围
学习内容查看原始消息、筛选消息、表达模式和学习批次
图谱查看记忆图、知识图谱和社交关系图谱
模型调用监控筛选、提炼和强化模型调用
日志等级动态调整日志详细程度

仓库 README 说明当前 WebUI 默认免密访问。
不应直接暴露到公网;需要远程访问时,应由管理员添加反向代理鉴权、防火墙或其他访问控制。


🔐 隐私与数据提醒

插件可能处理或保存:

  • 用户发送的群聊消息;
  • bot 发送的回复;
  • 用户与 bot 的对话配对;
  • 用户之间的互动关系;
  • 好感度、情绪和心理状态推断;
  • 群组黑话和含义;
  • 学习后生成的人格与表达风格;
  • 记忆图和知识图谱数据。

管理员在启用前应取得必要授权,并向群成员说明消息可能被分析和保存。普通用户也不应在群聊中发送密码、令牌、证件号码等敏感信息。


⚠️ 管理员必读

  • 启用前必须手动备份 AstrBot 原生人格。
  • 插件内的审查和回滚不能替代外部备份。
  • 学习结果可能错误理解玩笑、反讽、角色扮演和群内冲突。
  • 自动应用人格前,建议先使用人工审查。
  • 默认数据库后端为 PostgreSQL;也支持显式切换 SQLite 或 MySQL。
  • 安装阶段不会自动安装全部依赖,需要在 WebUI 中手动确认安装。
  • 修改数据库类型、数据目录或 WebUI 地址后,需要重启插件。
  • Provider 未配置时插件仍可能加载,但 LLM 学习能力会降级。
  • 与其他记忆或群聊增强插件同时使用时,应避免重复学习和重复注入。

❓ 常见问题

Q:为什么 bot 没有立刻学会我说的话?

学习通常需要消息数量达到阈值,并经过筛选和审查,不是看到一句话就立即写入人格。

Q:为什么 bot 学错了我的意思?

AI 可能误解玩笑、反话或群内黑话。管理员应在 WebUI 的人格和风格审查页面拒绝或删除错误结果。

Q:普通用户能查看好感度吗?

README 只把 affection_status 列为管理员命令,因此普通用户默认不能使用。

Q:为什么管理员命令没有反应?

请确认账号拥有 AstrBot 管理员权限,并使用本站统一格式 @bot + 命令

Q:这个插件会不会读取所有群消息?

是否采集取决于目标列表、黑名单、消息捕获开关和筛选阈值。启用范围由管理员配置。


📎 项目信息

  • 显示名称:self-learning
  • 仓库 metadata 版本:3.4.4
  • GitHub 最新 Release:3.5.2
  • 作者:NickMo、EterUltimate
  • AstrBot 最低版本:4.11.4
  • 支持平台:OneBot、QQ、QQ 官方机器人、Telegram
  • 开源协议:AGPL-3.0
  • 项目地址:https://github.com/NickCharlie/astrbot_plugin_self_learning
评论交流

文档目录