返回博客

AstrBot / RSS / Automation

每日 AI 资讯自动摘要与推送插件

记录一个 AstrBot 插件如何从 RSS 拉取内容、生成摘要并定时推送。

每日资讯推送适合做成轻量插件:输入源清楚,触发时间固定,失败时也可以降级为原文链接推送。实现重点放在去重、摘要缓存和异常恢复。

项目概览

项目仓库:xxofficial/astrbot_plugin_daily_ai_news

项目结构较轻,核心逻辑集中在 main.py,配置 schema、metadata 和测试文件围绕主入口展开。用途是订阅固定 AI 日报 RSS,按固定时间抓取新增内容,生成摘要后推送到订阅会话。

应用场景包括频道每日简报、群聊主题资讯聚合、轻量机器人定时播报。它的价值在于维护成本低,失败时仍能以原文链接维持信息流。

拉取与摘要

插件定时读取 RSS 源,按发布时间和条目 ID 判断新增内容。新增条目进入摘要任务,优先调用平台内置 LLM 生成短摘要;如果模型调用失败,则回退到标题、摘要字段和链接组合。

摘要结果写入缓存,重复推送时复用已有文本。这样既减少模型调用,也能让重启后的推送行为保持一致。

订阅管理

订阅列表记录目标会话和推送偏好。命令入口提供订阅、取消订阅、立即检查等操作。定时任务只读取当前订阅列表并发送消息,订阅修改和推送执行互相独立。

实现原理围绕 RSS 获取、发布日期解析、摘要缓存和发送记录展开。抓取到新条目后,插件先判断是否已发送,再生成摘要并写入缓存;发送完成后记录条目标识,避免重启后重复推送。