RSS 转发器在本周继续补齐展示层能力。前一阶段解决的是来源身份:订阅对象如何在换地址、换适配器后保持一致。这次调整关注另一侧,也就是同一条内容应该以什么形态发送到不同目标。
项目概览
项目仓库:RhoninSeiei/astrbot_plugin_rss_forwarder。
插件的配置模型包含 source、target 和 job。source 负责提供内容,target 代表发送位置与展示偏好,job 把多个 source 和 target 组合成一次轮询任务。简洁推送模式是在这个三层模型上增加的展示策略。
三层策略
任务级开关用于表达“这组内容默认只需要标题提醒”。这适合频率较高、来源较多、摘要价值较低的订阅组。开启后,分发层会优先生成短文本或标题图卡,避免把每条内容都展开成长消息。
目标级覆盖用于处理同一任务面向不同目标的差异。一个目标可以继承任务默认值,另一个目标可以强制使用简洁模式或完整模式。这样同一组订阅可以在群聊中保持克制,在一对一会话或频道中保留更多上下文。
图片保留解决的是简洁模式下的例外情况。有些内容标题已经足够,但原文图片本身就是主要信息。compact_mode_send_images 让正文保持简洁,同时保留条目图片,避免在“短提醒”和“完整转发”之间二选一。
实现记录
配置层增加任务级字段和目标级字段,调度器在生成待发送条目时记录当前任务的简洁策略。分发器按目标读取覆盖值,为每个目标分别生成展示形式。
文本模式下,消息链只保留标题和可选图片。图片图卡模式下,标题图卡仍然很短,原文图片作为附加 payload 发送。分发确认仍按 job + target + item 记录,因此某个目标失败后,后续轮询只需要补发该目标。
维护心得
简洁模式看起来像一个渲染选项,实际更像信息密度控制。它不应该改变来源身份、去重结果或投递确认,只应该改变“看到多少内容”。把配置放在 job 和 target 两层,可以让内容组织和接收习惯各自独立。