现在群友们习以为常的 AI 群友“云萤”(https://github.com/igng-dev/igng-bot),其实在 2026 年 5 月到 7 月之间经历了三个相当野生的早期版本。回头翻当时的代码和部署笔记,满满都是摸着石头过河的折腾痕迹。
原型期:亲密度乘算公式与「巡逻 AI」
最早在 5 月份写『群聊聊天机器人』原型的时候,我用 NapCatQQ 接上 MariaDB、本地 ChromaDB 向量数据库和阿里云千问,最先思考的问题就是:“怎么让机器人像个真群友一样自然接话,而不是没人叫它就不吭声、或者每句话都无脑刷屏?”
当时我设计了一套“群聊基础触发概率 × 用户亲密度(0.0~1.0)”的算式:平时和你聊得越多、互动越好的群友,她说句话触发机器人接茬的概率就越高;过了概率筛子之后,还会先让一个轻量级的“巡逻 AI”看一眼上下文,判断这句接话合不合适,觉得有话可聊才真正张嘴。
云萤 V1:每 60 秒查自己有没有被禁言
到了『云萤 V1』阶段,我把它正式部署到了内网 192.168.5.16 的虚拟机上,开始给它加各种拟人化的小心思。比如后台每隔 30 分钟会自动跑一次群聊记忆提炼,把群友的喜好存进向量库;更逗的是,因为群管理经常拿禁言它当乐子,我专门写了个每 60 秒轮询一次的定时任务去查它自己有没有被管理员塞口球;到了每天凌晨 0 点,它还会根据当天的心情调用生图接口给自己画一张新头像。
云萤 V2:为了换头像专门装了个 95GB 的安卓容器
6 月 10 日推进到『云萤 V2』时,我把架构拆成了“自研主程序 + AstrBot 框架”双轨运行。那时候碰到一个特别轴的难题:许多涉及 QQ 个人资料和特定移动端交互的操作,协议端接口要么不支持、要么容易风控。
为了跟这个问题死磕到底,我干脆在虚拟机里硬生生划出 95GB 磁盘空间,装了一套 Waydroid 1.6.2(基于 LineageOS 20 的 Android 13 容器),里面跑着真正的手机版 QQ,再在外层用 scrcpy 配合自动化点击脚本去模拟手指操作。虽然这套庞然大物后来因为太重被我精简掉了,但那两个月把能试的野路子全趟了一遍,也让我彻底摸清了群聊机器人真正需要什么。