开发者生态
morning
蓝天协议服务
2026-08-14
1 阅读
约8分钟阅读
danabramov
字号:
今天,我们推出 Bluesky 协议服务:一个新品牌和一个新网站,用于 Bluesky 在 AT 协议网络上运行的公共基础设施。 Bluesky 始终运行的不仅仅是 Bluesky 应用程序。我们运行基于 atproto 构建的 Jetstream 实例、中继和 Bluesky API 端点。但是,如果您是一名尝试在该基础设施上进行构建的开发人员,我们的文档并不总是能让您轻松了解我们作为服务运行的内容或从哪里开始。我们今天正在解决这个问题。 Bluesky 协议服务组织了开发人员在生态系统内所需的所有文档,澄清了围绕 Bluesky 提供的基础设施的服务合同,取代了旧的 docs.bsky.app 网站,并为我们提供了一种干净的方式来发布未来的版本,如本文中的版本!与新网站一起发布的主要版本是 Jetstream v2。 Jetstream 是大多数开发人员大规模使用网络的最佳方式:您描述所需的切片,然后它通过 WebSocket 以纯 JSON 形式到达。它无法给你的是历史。如果您需要网络上已经存在的记录,则必须自己回填存储库,然后切换到直播。 Jetstream v2 向服务器添加了该功能。它保留了整个网络的压缩档案,并在直播尾部旁边添加了一种新的消费方式:网络重播让您可以从过去的任何点追上并无缝切换到直播。您将过滤器发布到 planSnapshot ,下载它通过纯 HTTP 返回的密封片段,然后在提示处连接一次实时 WebSocket。重播在服务器上是无状态的,没有每个消费者的光标,无需注册订阅,也无需在客户端上暂存任何内容。 Jetstream 是您的缓冲区。您还可以只对网络进行快照——仅通过 HTTP ( listSegments + getSegment ) 进行存档的时间点副本,没有实时尾部。相同的存档,相同的过滤器,没有 WebSocket。这解锁了更复杂的服务器端切片,而无需在本地回填:您可以启动一个 App,对一个月的帖子进行分析,或者从停机中恢复,所有这些都通过与实时尾部相同的 JSON 形状来实现。为这些档案提供服务需要大量带宽。为了确保服务保持可靠且运行成本低廉,我们现在仅针对这些请求需要 API 令牌。实时尾部保持开放且未经身份验证,只有当您请求存档时我们才需要令牌。我们没有计划为直播引入身份验证要求。 v2 实例现已在 wss://jetstream.us-west.bsky.network 和 wss://jetstream.us-east.bsky.network 上线。现有的 v1 实例将保持运行一段时间不变,并且实时尾部在两者上的行为相同,因此不必急于移动。阅读网络重放文档中的完整流程。和!与往常一样,该基础设施是开源且可自我托管的。有关详细信息,请参阅运行您自己的 Jetstream。 Jetstream 是纯 JSON,因此您永远不需要 SDK。但有一些常见的粘合剂:重新连接、重复数据删除、游标管理、将事件解码为类型记录。因此,新的 Jetstream SDK:TypeScript 和 Go 客户端可以构建 Jetstream 对象,传递过滤器,并等待已解码的键入事件: import { Jetstream } from '@bsky/jetstream' import { app } from '@bsky/sdk/lexicons' const js = new Jetstream ( 'https://jetstream.us-east.bsky.network' ) for wait ( const evt of js .live ({ collections : [ app . bsky . feed .post] })) { if ( evt .kind === 'commit' && evt . commit .operation === 'create' ) { console .log ( evt . commit .collection , evt . commit . record .text) } } 复制已复制! TypeScript SDK 可从 npm 获取,包括 npmx 。 Go SDK 作为 Jetstream 项目的一部分提供。 Jetstream SDK 文档更详细。早在 5 月份,我们就将 lex SDK 升级为稳定预览版,并承诺将推出独立的 Bluesky 文档。现在已经完成了:Bluesky TypeScript SDK 在 @atproto/lex 之上重建,这意味着我们不再维护 Bluesky 特定帮助程序的遗留代码路径。这是词典工具链,从协议层到 app.bsky 记录,端到端完全类型化。这个新网站上的每个 TypeScript 示例都是针对它编写的,这标志着我们摆脱了遗留技术债务的巨大进步——这对我们来说是良好的代码卫生,并且应该消除 LLM 对已弃用 SDK 的建议。如果您仍在使用 @atproto/api 代码,它会继续像以前一样工作,并且 Bluesky API 指南可作为迁移参考。最后,HTTP 参考已更新。将这些文档从 https://docs.bsky.app 中分离出来实际上是这次改革的第一步;我们现在正在着陆剩余的飞机。为 Replay 提供支持的新的 network.bsky.jetstream.* 方法( planBackfill 、 listSegments 、 getSegment 和 getBlock )现在可以通过完整的请求和响应模式进行浏览,并且该参考现在也记录了 Jetstream 的 WebSocket 端点,因此整个 Jetstream v2 表面都位于一处。以上所有内容今天均已上线:
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱