发现 AI 代理的未来arrow_forward

astrbot_plugin_self_evolution

calendar_today收录于 2026年4月23日
category智能体与应用工具
code开源
Python工作流自动化AI代理智能体与应用工具知识管理/检索/RAG协议/API/集成

AstrBot 框架的长期能力增强插件,实现自我进化、人格模拟、长期记忆与主动社交。

项目背景#

传统群聊 Bot 往往缺乏状态延续性,每次对话从零开始,缺乏情绪起伏、社交需求和主动参与能力,难以在 IM 环境中建立真实的长期陪伴感。本项目专注于在 AstrBot + NapCat 环境下进行认知层的增强,高度依赖 LLM 进行语义分析、意图规划与内容生成。

核心能力#

Persona Sim 2.0 — 人格生活模拟#

  • 四维状态引擎:追踪能量(energy)、心情(mood)、社交需求(social_need)、饱腹感(satiety),数值范围 0–100
  • Effect 机制:基于时间差推演状态变化,携带 source_detail(来源)、decay_style(衰减风格)、recovery_style(恢复风格),持久化至 SQLite
  • 脑内待办系统:分为 need_todo(生理型)与 social_todo(关系型)
  • 日结情感轨迹:分析日内互动数据输出 trajectory(向上/有落差/独处/平淡/平稳)
  • 心理叙事注入:将状态转化为心理叙事片段(如"刚主动说了话但被冷落,还有点堵着")注入 Prompt,而非生硬的数字

Active Engagement 4.0 — 主动社交参与#

  • Pending Opportunity 机制:Bot 主动判断时机与内容进行插话
  • 评分分层响应:基于 OpportunityScore 阈值分为 ignore / react / text_lite / full 四级
  • Motive 驱动锚点:CONTINUE_THREAD / CURIOUS_PROBE / SEEK_CONNECTION / SELF_PROTECTIVE / LIGHT_RELIEF
  • UnfinishedCue 系统:追踪未完成互动线索(TTL 180 秒)
  • TextLite 轻量回复:QUICK_TOUCH / QUIET_FOLLOW / SMALL_PROBE 三种变体

Persona Arc — 人格弧线#

  • 通过 Progress 积累驱动 Stage 0→1→2 进阶
  • 情感图鉴记录用户明确表达的情绪体验
  • 离线反刍:后台定时生成内在残响并作为 Prompt 背景注入
  • 默认自带 amphoreus_demurge 德谬歌弧线,支持自定义扩展

记忆与画像系统#

  • 维护用户画像(身份、偏好、特征、备注)
  • 会话事件与每日总结按群聊/私聊自动 Scope 隔离
  • 长期知识库召回结果直接注入 Prompt

SAN 精力系统#

  • LLM 群分析结果映射为 interaction_quality,由 Persona Sim 统一管理
  • 降级机制:Persona Sim 不可用时独立注入精力状态

辅助与娱乐功能#

  • NSFW/Promo 图片审核(需图片理解 provider)
  • 表情包学习/存储/发送、戳一戳互动(poke 回复)、喂食互动
  • 监控指定 GitHub 仓库/分支的新 commit 并推送到目标群或用户

架构设计#

项目采用分层模块化设计,main.py 作为插件入口,engine/ 承载核心业务逻辑,cognition/ 负责认知分析,scheduler/ 负责定时任务编排。

  • 认知与规划层eavesdropping.py(社交入口)、engagement_planner.py(场景分类与意图规划)、opportunity_cache.py(机会缓存)
  • 状态演化层persona_sim_engine.py(状态核心)、persona_sim_rules.py(规则触发)、persona_sim_todo.py(待办生成)、persona_sim_consolidation.py(日结)、persona_sim_injection.py(Prompt 注入)
  • 执行与仲裁层reply_policy.py(统一仲裁)、reply_executor.py(回复执行)
  • 支撑层profile.py(画像)、memory_router.py(记忆路由)、affinity.py(情感积分)、entertainment.py(娱乐)

数据持久化#

采用混合存储策略:SQLite 存储高频且需复杂查询的状态数据(Effect、SAN、好感度、engagement_state、图片审核记录);AstrBot 知识库存储会话总结与事件记录;本地文件系统存储用户画像文件与表情包图片目录。

定时任务#

  • 01:00 人格思维生成(每12小时)
  • 04:00 过期用户画像清理
  • 05:00 人格日结
  • 06:00 每日会话记忆总结
  • 间隔触发 主动插嘴检查、SAN 精力分析

安装部署#

  1. 确保运行环境已部署 AstrBot 框架,并使用 NapCat 作为消息协议后端
  2. 在 AstrBot 后台直接安装 astrbot_plugin_self_evolution
  3. 在 AstrBot 中创建基础知识库,将名称填入 memory_kb_name 配置项
  4. 确保 AstrBot 已配置可用的 LLM 模型
  5. 如需启用图片审核或喂食识图功能,需确认已配置图片理解 provider
  6. 重载或重启 AstrBot

命令体系#

用户命令#

命令说明
/se help查看指令帮助
/reflect触发反思
/af show查看好感度
/san show查看 SAN 状态
/profile view [用户]查看画像
/feed喂食(识图判断食物并更新状态)
/shut [分钟]让 AI 暂时闭嘴(管理员)

管理员命令#

命令说明
/ps state/tick/todo/effects/today [群]人格状态管理
/ps think [群]手动触发内心独白
/ev review/approve/reject审核流
/db reset/rebuild数据库管理
/arc status/emotions/prompt/ruminations人格弧线管理

核心配置项#

  • target_scopes:目标群/私聊白名单
  • memory_kb_name:绑定的知识库名称
  • persona_arc.persona_arc_enabled:是否启用人格弧线
  • interject_enabled:是否启用主动插嘴
  • memory_enabled:记忆模块开关
  • moderation.enabled:审核模块开关

待确认信息#

仓库含 LICENSE 文件但具体协议类型未在 README 中声明;AstrBot 框架官方仓库链接未在项目中给出;最低版本要求(AstrBot、NapCat、Python)均未明确标注;具体依赖列表存在于 requirements.txt 但未在 README 中列出。

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch