RSS 配信ツールでは、今週も表示層の機能を整理しました。前回の作業ではソース識別子を扱い、取得先やアダプターが変わっても同じ購読対象として扱う方法を確認しました。今回は、その反対側にある「同じ item を配信先ごとにどう見せるか」を扱います。
プロジェクト概要
リポジトリ: RhoninSeiei/astrbot_plugin_rss_forwarder。
このプラグインの設定モデルは source、target、job で構成されます。source はコンテンツを提供し、target は配信先と表示設定を持ち、job は複数の source と target を一つの巡回タスクにまとめます。簡潔配信モードは、この三層モデルの上に追加した表示戦略です。
三層の考え方
ジョブ単位のスイッチは、「この購読グループは標準でタイトル通知だけにする」という意図を表します。頻度が高い feed、幅広い source グループ、概要を展開する価値が小さい購読に向いています。有効にすると、分配層は長いメッセージよりも短いテキストやタイトルカードを優先します。
配信先単位の上書きは、同じ job の中で異なる受け取り方をしたい場合に使います。ある target は job の既定値を継承し、別の target は簡潔表示や通常表示を強制できます。これにより、同じ購読グループでも、賑やかなグループでは控えめにし、個別の配信先では文脈を多めに残せます。
画像保持は、簡潔表示に必要な例外です。タイトルだけで十分な item でも、元画像が主な情報である場合があります。compact_mode_send_images は本文を短く保ちながら item 画像を添付し、短い通知と完全転送の中間を作ります。
実装メモ
設定層には job と target の両方に関連フィールドを追加します。スケジューラーは送信予定 item を作るとき、現在の簡潔表示設定を記録します。分配器は target の上書きを解決し、target ごとに別々の表示形式を生成します。
テキストモードでは、メッセージチェーンはタイトルと任意の画像だけを保持します。画像カードモードでは、タイトルカードを短く保ち、元画像を追加 payload として送ります。配信確認は引き続き job + target + item で記録するため、失敗した target だけを後で補えます。
維持管理メモ
簡潔モードは単なる描画設定に見えますが、実際には情報密度の制御です。ソース識別子、重複排除、配信確認は変えず、「どれだけ見せるか」だけを変えるべきです。設定を job と target の両方に置くことで、コンテンツのまとまりと受け手ごとの好みを分けて扱えます。