一个 AstrBot 多群自然插话插件原型。
它的目标不是让机器人更能聊,而是让它少说、短说、像普通群友一样偶尔接一句。插件只使用 AstrBot 已有的消息、配置、LLM 和发送能力,不起外部服务,也不单独接外部 LLM。
- WebUI 多群:配置面板维护“已添加群聊”,启用的群都会作为目标群运行,并自动补齐已知平台会话。
- 轻量记忆:使用插件数据目录里的 SQLite,只保存短文本上下文和压缩摘要。
- 低频插话:后台周期检查,每个启用群独立计算触发和发言冷却。
- 短重试:条件不满足或概率没中时只短暂后再看,不会直接进入长冷却。
- 话题优先:触发时先看有没有可附和或可轻聊的话题,没有再低概率自创一句。
- 随机延迟:主动插话触发后随机等几秒到两分钟,再读取最新消息决定是否回复。
- 艾特接管:群里直接艾特时立即给一句人味短回,空白艾特也不会落到 AstrBot 标准 LLM 回复。
- 命令放行:命中放行规则的艾特会交给其他插件,例如
/在线、重启服务器。 - 隐式对话:机器人刚说完后,群友接短句或提到机器人/插件/默认回复时,可判断为在跟它说话。
- 人味短句:限制一句话、限制字数,过滤 Markdown、客服腔和常见 AI 套话。
- 黑话学习:尝试记忆群内黑话解释,不确定时避开使用。
- 内线询问:可在 WebUI 指定内线 QQ,用来询问不确定黑话或依赖图片/游戏机制的内容。
- 交互语言:群聊发言和内线私信都由 LLM 生成,程序只做节流、记忆和过滤。
- 表达线索:记录自己最近想表达的态度,避免每次短句都散掉。
- 身份处理:不会承认自己是 AI;被骂 AI 时可以不理、轻嘲或短怼。
- 插件甩锅:被问到账号插件触发时,倾向一句话带过,例如“我只是拿这个号说话”。
/iar status 查看状态
/iar on 开启当前群
/iar off 关闭当前群
/iar addgroup 把当前群加入并启用
/iar groups 查看已添加群聊
/iar say 强制尝试生成一句,方便测试
/iar summary 手动刷新群语境记忆
/iar slang 查看黑话记忆
/iar learn 手动扫描黑话
/iar reset 清空当前群的插件记忆
把本目录放到 AstrBot 的 data/plugins/astrbot_plugin_i_aint_no_robot 下,然后在 WebUI 重载插件。
更完整的配置和部署步骤见 部署说明。