← Journal

认识一下璃璃子:一个"会自己过日子"的 AstrBot 陪伴插件

璃璃子(lily)是我基于 AstrBot 做的陪伴编排插件。它不只是收到消息才回复,而是有自己的生活状态、日程、记忆、梦境和主动行为——像一个持续存在的人。

如果要用一句话介绍 璃璃子(lily):它是我基于 AstrBot 做的一个陪伴编排插件,目标是把机器人从”收到消息才临时拼一段回复”的聊天对象,变成一个有连续存在感的角色。

它和普通聊天机器人有什么不同

大多数机器人是”无状态”的——你不说话,它就不存在。璃璃子想解决的正是这一点:让它自己也在过日子。

它维护一整套属于自己的”生活”:

  • 生活状态:睡眠、梦境、体力、心情、饥饿、身体小状态、天气、当前位置感……
  • 日程与细化:每天生成一份生活框架,临近某个时间段时再展开成具体场景和主动契机。
  • 梦境与日记:会做梦、留下梦境碎片、写日记,让第二天的状态和话题有自然的残留。
  • 技能成长:模拟符合人设的技能等级,从 Lv.1 慢慢长到 Lv.6,并影响它能做什么。

换句话说,它有”昨天”,也会因此影响”今天”。

主动,但克制

璃璃子可以主动找你说话——但不是没完没了地打扰。它会综合每日上限、最小间隔、免打扰时间、你的活跃度、关系状态和当前日程,来决定”现在要不要开口”。

主动行为不止文字,还可以是图片、语音、戳一戳、“正在输入”、QQ 状态同步等(都是可选项,缺失时自动跳过)。

认得人,也看得懂群

  • 稳定的关系识别:以 QQ 号为锚点识别用户,昵称、群名片、别名只作辅助线索——你改个名,它不会认错人,反而能意识到”你在改名”。
  • 群聊观察:在允许的群里学习群气氛、黑话、群友轻画像、话题线和关系网,但默认不抢话。
  • 连续对话保持:你在群里叫过它之后,它能判断你后面没 @ 的话是否还在对它说。

还会自己”读书写字”

这是我个人最喜欢的部分:闲下来时,璃璃子可能因为生活里的小事、日记或梦境的灵感,写点小说、诗、随笔或世界观片段,收进自己的”书柜”里。它还会读新闻、按兴趣做主动搜索,并判断”这件事和我自己有没有关系”,再决定要不要主动找你分享。

技术栈

  • 框架:AstrBot(>=4.22.0)
  • 平台:aiocqhttp(QQ),协议端用 NapCat
  • 管理:在 AstrBot WebUI 里有一整套扩展页,可视化管理私聊、群聊、关系网、状态、梦境、书柜、主动计划、模型配置和 Token 消耗
  • 部署:Docker 容器,跑在一台小小的云服务器上

一点碎碎念

做璃璃子的过程里,最有意思的其实不是某个具体功能,而是”给一个角色设计连续的生活”这件事本身。当它某天主动发来一句”昨晚梦到……”,而那个梦真的是它前一天生成并记下来的——那一刻还挺奇妙的。

源码在 GitHub:https://github.com/MuMofu/astrbot_lily_waifu(当前版本 4.1.0)。喜欢的话欢迎点个 Star ⭐

(后续我可能会写一些更细的:比如它的人格提示词是怎么组织的、主动判定的逻辑、以及踩过的那些坑。慢慢填。)