
2026/08/14 9:14
ブルースキ―プロトコルサービス
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Bluesky Protocol Services は今日、Jetstream v2 の導入とともに公式に開始し、その最も重要な機能として標準 HTTP 要求のみ(
listSegments および getSegment)を使用してネットワーク履歴の時点スナップショットを取得する能力を披露しました。この更新は、圧縮されたアーカイブと Network Replay テクノロジーを利用してギャップのない形で歴史を再構築し、ユーザーがライブに切り替える前に過去のあらゆる時点から追うことを可能にしています。極めて重要なのは、認証プロトコルが進化したことで、アーカイブ要求にはセキュリティトークンが必要となり一方で、ライブテールは統合を滑らかにするため無認証のまま公開されています。これを支えるため、Bluesky は更新されたソフトウェア開発キット(SDK)をリリースしました。これにはレガシーコードパスを削除した再構築された TypeScript クライアントと新しい Go クライアントが含まれ、また現代的なインフラストラクチャの基盤も整備されました。既存の v1 インスタンスは US-East および US-West で安定性を保つために引き続きアクティブですが、開発者は新サイトでの最新ドキュメント(planBackfill に関するガイドを含む)を再確認されるよう促されています。なお、@atproto/api コードベースも以前と同様に機能し続けています。結局のところ、この移行は状態lessness サーバーセグメントを活用することで信頼性を大幅に向上させ、カスタムクライアントの構築を簡素化します。本文
Bluesky Protocol Services 正式開始と Jetstream v2 の新機能発表
本日、Bluesky Protocol Services が公式に始動しました。これは AT プログラムネットワーク上で動作するパブリックインフラストラクチャとしての Bluesky の新たなブランドであり、新しいウェブサイトです。
ブルースカイのプロトコル・サービス概要
以前はインフラ運用の詳細が不透明で文書も直感的でないことがありました。これを改善し、以下のような明確化と整理を行いました。
- 体系的ドキュメント: 開発者が必要な全情報を整理した新ドキュメントサイトを提供します。
- 明確なサービス契約: ブルースカイが提供するインフラの役割と範囲を明確に定義しました。
- 旧サイト代替:
の機能をすべて置き換えます。docs.bsky.app - 将来への道筋: 今後リリースされるアップデートも、同様にこのプラットフォームで cleanly(クリーンに)配信する仕組みを提供します。
Jetstream v2 と Network Replay の導入
新ウェブサイトの同時リリースとして、Jetstream v2 が登場しました。これにより、ネットワークの圧縮アーカイブをサーバー側で維持し、より高度なスライシングが可能になりました。
従来の課題と解決策
- 旧方式(Jetstream v1): ローカルでのバックフィルが必要で、ライブストリームへの切り替えにはギャップが発生しました。
- 新方式(Jetstream v2): サーバー側が全アーカイブを保持するため、Network Replay を活用してギャップなく過去から現在へシフト可能です。
Network Replay の仕組み
サーバー上でステートレスな処理を行い、クライアント側の準備作業は一切不要です。
- 仕組み: 過去のある時点 (
) を POST してシールドされたセグメントを HTTP でダウンロードした後、先頭のみからライブ WebSocket に接続します。planSnapshot - メリット:
- クライアント側でカーソル管理や登録すべきサブスクリプションが不要です。
- Jetstream が自動的にあなたのバッファ(履歴)となります。
- 全ネットワークの圧縮アーカイブを利用可能です。
アーカイブ消費モード
ネットワークを単にスナップショットして取得することも可能で、ライブテールは付帯しません。
- HTTP Only モード:
およびlistSegments
を使用して、ある時点のコピーを取得します。getSegment - 不要なもの: 同じアーカイブ・フィルタを使用するため、WebSocket の接続やライブテールの維持が不要です。
これらの機能により、ローカルバックフィルなしで月単位の投稿データを分析したり、ダウンタイムからの復旧を行ったりできます。すべて統一された JSON 形式を通じて処理可能です。
トークン認証と利用制限
アーカイブの提供は帯域幅に依存するため、サービスの信頼性と低廉な運用コストを保証します。
- API トークン必須: アーカイブリクエスト(Network Replay など)には API トークンの持有が必須となります。
- ライブテール認証なし: ライブテールの視聴自体は引き続き認証不要であり、将来の認証要件導入も予定されていません。
- 移行手順: 詳細は「Network Replay ドキュメント」をご参照ください。
インスタンスエンドポイントと互換性
稼働中のエンドポイント
以下の v2 インスタンスが既に稼働しています:
wss://jetstream.us-west.bsky.network wss://jetstream.us-east.bsky.network
既存環境との互換性
- v1 インスタンス: 暫定的に引き続き変更なく動作します。
- ライブテール挙動: v1 と v2 で同一のため、即時移行の義務はありません。
- 独自ホスティング: このインフラストラクチャはオープンソースであり、セルフホストも可能です(詳細:「独自に Jetstream を動作させる」ページ参照)。
SDK と開発者ツール
Jetstream は平文 JSON ですが、再接続や重複排除、型付きレコード化などの統合層として新たな Jetstream SDK が提供されます。
利用可能な SDK
- TypeScript SDK: npm(および npmx)から入手可能。
を基盤に再構築され、レガシーコードパスを廃止しました。@atproto/lex- プロトコル層から app.bsky レコードまで完全型付きの lexicon チェーンを提供します。
- Go SDK: Jetstream プロジェクトの一部として提供されています。
型付き処理の実装例
// TypeScript SDK の使用イメージ // Jetstream オブジェクト構築 -> フィルタ指定 -> for await でイベント処理 for await (const event of jetstream) { // decodeされた型付きレコードが利用可能 }
レキシコン(Lex)SDK の安定化
- 5 月に推奨した独立した Bluesky ドキュメントおよび
を基盤とした新しい TypeScript SDK が正式にリリースされました。@atproto/lex - 移行方針:
- 新しい例はすべて対象となり、技術的負債からの転換が進みます。
の使用を継続する場合も従来の通り動作します(Bluesky API ガイドが移行リファレンスとして機能)。@atproto/api
HTTP リファレンスの更新
https://docs.bsky.app を中心にドキュメントが統合・再記述されました。
新機能とスキーマ公開
- Replay メソッド:
の全メソッド(network.bsky.jetstream.*
,planBackfill
,listSegments
,getSegment
)の完全なリクエスト/レスポンススキーマを閲覧可能にしました。getBlock - WebSocket ドキュメント: Jetstream v2 全体を一箇所に集約し、エンドポイントも詳細にドキュメント化しています。
スタートへの指針
- ネットワーク初体験者は「仕組みの概観」から始めると良いでしょう(視覚的なウォールカスで、レコード・レキシコン・ファイアホースの連携を確認可能)。
- アプリのデータモデル構築については、すべて更新された Bluesky API ガイド を参照してください。
今後の要望
今後数週間にわたり、Replay を活用した開発事例についてのご教示をお待ちしています。SDK のオーケストレーション方針を最適化するには、実際にストリームをどのように折りたたんでいるか(実装パターン)を見せていただくことが最も重要です。