تصور کنید بتوانید تمام تاریخچهٔ دادههای یک شبکه اجتماعی را بدون درگیری با پیچیدگیهای زیرساختی و بهصورت لحظهای بازپخش کنید. این قابلیت اکنون برای توسعهدهندگان پروتکل AT (AT Protocol) فراهم شده است تا بتوانند از Jetstream v2 و سرویسهای پروتکل بلوسکای (Bluesky Protocol Services) استفاده کنند. این سرویسها در واقع یک مرکز متمرکز برای زیرساختهای عمومی هستند که بلوسکای آنها را مدیریت میکند.
تا پیش از این، اکوسیستم بلوسکای (Bluesky) مجموعهای از ابزارهای پراکنده بود. توسعهدهندگان مجبور بودند برای دسترسی به نمونههای Jetstream، رلهها و نقاط انتهایی API، مستندات جداگانهای را بررسی کنند. این پراکندگی باعث میشد سازندگان جدید بهسختی تشخیص دهند کدام سرویسها رسماً توسط بلوسکای مدیریت میشوند و برای شروع یکپارچهسازی باید از کجا آغاز کنند.
سرویسهای پروتکل بلوسکای جایگزین سایت قدیمی docs.bsky.app شده است. این مرکز جدید تمام مستندات لازم را در اکوسیستم سازماندهی کرده و قراردادهای سرویس برای زیرساختهای ارائهشده توسط بلوسکای را شفاف میکند. این برند جدید روشی تمیز برای عرضه نسخههای آینده فراهم میکند و به عنوان منبع اصلی برای تازهواردان به شبکه عمل میکند؛ از جمله ارائه یک راهنمای بصری «چگونه کار میکند» (How It Works) که مفاهیمی مانند رکوردها، لکسیکونها (Lexicons) و جریان دادههای سریع (Firehose) را توضیح میدهد. همانطور که در تحلیلهای قبلی ما دربارهی استانداردهای باز در شبکههای اجتماعی اشاره کردیم، شفافیت در لایه پروتکل، کلید رشد اکوسیستمهای غیرمتمرکز است.
طبق اعلام بلوسکای، Jetstream v2 با معرفی قابلیت «بازپخش شبکه» (Network Replay)، یک شکاف دادهای حیاتی را پر میکند. پیش از این، توسعهدهندگانی که به سوابق تاریخی نیاز داشتند، باید ابتدا مخازن را بهصورت دستی پر میکردند (Backfill) و سپس به استریم زنده متصل میشدند. اکنون سرور یک آرشیو فشرده از کل شبکه را نگه میدارد تا کاربران بتوانند از هر نقطهای در گذشته شروع کرده و بدون هیچ شکافی به جریان زنده (Live Tail) برسند.
بر اساس مستندات فنی، فرآیند بازپخش از یک گردشکار مشخص پیروی میکند:
- برنامهریزی اسنپشات: کاربران با ارسال فیلترها به متد
planSnapshotمحدوده داده مورد نظر را تعریف میکنند. - دانلود HTTP: سرور قطعات مهرومومشده (Sealed Segments) را از طریق HTTP ساده بازمیگرداند.
- انتقال به WebSocket: به محض رسیدن کلاینت به انتهای آرشیو، اتصال به WebSocket زنده برقرار میشود.
این بازپخش در سمت سرور «بدون وضعیت» (Stateless) است؛ یعنی نیازی به ثبت اشتراک، مدیریت نشانگر (Cursor) برای هر مصرفکننده یا آمادهسازی چیزی در سمت کلاینت نیست. همچنین کاربران میتوانند بدون نیاز به اتصال زنده، تنها با استفاده از متدهای listSegments و getSegment یک کپی نقطهای از آرشیو را (Snapshot) فقط از طریق HTTP دریافت کنند.
برای حفظ پایداری و مدیریت هزینههای پهنایباند، بلوسکای اکنون برای درخواستهای آرشیو، توکن API الزامی کرده است؛ هرچند جریان زنده همچنان باز و بدون نیاز به احراز هویت است. نمونههای v2 در حال حاضر روی آدرسهای wss://jetstream.us-west.bsky.network و wss://jetstream.us-east.bsky.network فعال هستند. نمونههای v1 فعلی برای مدتی بدون تغییر به کار خود ادامه میدهند، زیرا رفتار جریان زنده در هر دو نسخه یکسان است.
بلوسکای برای سادهسازی مصرف استریمهای JSON، SDKهای Jetstream جدیدی برای TypeScript (از طریق npm و npmx) و Go منتشر کرد. این کتابخانهها کدهای رابط یا «چسب» — شامل اتصال مجدد، حذف دادههای تکراری، مدیریت نشانگر و رمزگشایی رویدادها به رکوردهای تایپشده — را بر عهده میگیرند که پیش از این باید بهصورت دستی نوشته میشد.
علاوه بر این، SDK تایپاسکریپت بلوسکای بر پایه @atproto/lex بازنویسی شده است. این اقدام باعث حذف مسیرهای کد قدیمی و تضمین تایپشدگی کامل از لایه پروتکل تا رکوردهای app.bsky میشود. هدف از این پاکسازی این است که هوش مصنوعی زاینده (Generative AI) — مثل دستیاری که میلیاردها خط کد را خوانده و حالا پیشنهاد میدهد — دیگر SDKهای منسوخ را به توسعهدهندگان توصیه نکند. این رویکرد در جهت تسهیل تعامل مدلهای زبانی با زیرساختهای وب است، مشابه آنچه در قابلیت جدید Claude برای میزبانی وب مشاهده کردیم که امکانات تعاملی را برای توسعهدهندگان گسترش میدهد. اگرچه کدهای @atproto/api همچنان کار میکنند، اما راهنمای جدید API بلوسکای به عنوان مرجعی برای مهاجرت به نسخه جدید عمل میکند.
این تغییر نشاندهنده حرکت بلوسکای به سمت حرفهایسازی تجربه توسعهدهندگان است. با تبدیل شبکه به یک آرشیو قابل پرسوجو به جای صرفاً یک جریان زنده، مانع ورود برای تحلیلهای پیچیده سمت سرور کاهش یافته است. اکنون میتوانید اپلیکیشنی بسازید و پستهای یک ماه گذشته را بدون نیاز به انجام هیچگونه Backfill محلی تحلیل کنید.
برای یک توسعهدهنده، این یعنی زمان کمتری برای مدیریت وضعیت پایگاهداده و زمان بیشتری برای ساخت ویژگیهای محصول. قابلیت بازیابی از زمانهای توقف (Downtime) یا تحلیلهای گذشتهنگر با استفاده از همان ساختار JSON جریان زنده، لایه بزرگی از بدهی فنی را حذف میکند. تمام این زیرساختها همچنان متنباز و قابل میزبانی شخصی (Self-hosting) هستند.
توسعهدهندگان اکنون میتوانند در مرجع HTTP بهروزرسانیشده، متدهای جدید network.bsky.jetstream.* از جمله planBackfill ،listSegments ،getSegment و getBlock را بررسی کنند. این متدها اکنون با طرحهای (Schema) کامل درخواست و پاسخ قابل مرور هستند و مرجع جدید، نقاط انتهایی WebSocket مربوط به Jetstream را در یک مکان واحد مستند کرده است.
گام بعدی شما
- اگر در حال ساخت ابزارهای تحلیل داده برای بلوسکای هستید، SDKهای جدید Go یا TypeScript را جایگزین پیادهسازیهای دستی کنید.
- برای کاهش هزینه استنتاج و ذخیرهسازی، بهجای Backfill محلی، از مکانیزم Network Replay استفاده کنید.
- مستندات جدید در پورتال خدمات پروتکل را برای شناسایی سرویسهای رسمی بلوسکای مرور کنید.
اما داستان استقرار این زیرساخت در مقیاس جهانی حتی پیچیدهتر است — به تحلیل ما دربارهی توزیع داده در شبکههای غیرمتمرکز مراجعه کنید.




گفتگو