BSAF
Bluesky 構造化アラートフィード規約
仕様書(オープン規約) Released vv1
概要
Bluesky 上の構造化アラート・情報 Bot 向けのオープン規約。
Bot は広く投稿し、クライアントがローカルでフィルタリングすることで、
ユーザーは自分に必要な情報だけを受け取れる仕組みを実現する。
プロトコルの仕組み
Bot 層
各国・各ドメインの情報源からデータを収集し、BSAF タグ付きで広く投稿
↓
BSAF 規約
共通タグ形式で機械可読なメタデータを付与
bsaf:v1 · type:earthquake · value:5+ · time:... · target:jp-kanto · source:jma ↓
クライアント層
ローカルでフィルタリング → ユーザーは自分に必要な情報だけを受け取る
主な機能
- AT Protocol の tags フィールドを活用した構造化メタデータ設計
- 6つの必須タグ(bsaf:v1 / type / value / time / target / source)
- 最大8タグ・合計640バイトの制約内に収まる軽量設計
- Bot Definition JSON によるクライアントUIの動的自動生成
- type + value + time + target の4タプルによる重複検出アルゴリズム
- ドメイン非依存設計(disaster / sports / news / traffic 等あらゆる用途に対応)
- 人間が読める post text と機械可読な tags の完全分離(既存クライアントとの後方互換性)
- 日本・米国・EU・オーストラリア等9カ国のデータソース対応ガイド
開発の背景
北海道在住として2018年の北海道胆振東部地震(全道ブラックアウト46時間)を体験。
「情報が届かない恐怖」を原体験として、SNS上の災害情報の根本的な矛盾を解決するために設計。
既存の解決策(地域 Bot の分散、プラットフォーム固有機能)はいずれも課題があった。
Bot が出し分けるのではなく、クライアントがフィルタリングするという発想の転換が BSAF の核心。
仕様は CC BY 4.0 で公開。誰でも採用・改変・再配布可能なオープン規約として設計した。
参照実装として bsaf-jma-bot(日本 / 気象庁)と kazahana(対応クライアント)を公開している。