返回

文章详情

ActivityPub 在 ATProto 上

Hacker News2026年7月10日 13:40

为什么不两个一起呢?在运动政治中有一个笑话,如果你有一个托洛茨基主义者(你可以用任何其他宗派替代“托洛茨基主义者”),你就有一个政党;如果你有两个托洛茨基主义者,你就有两个派系;如果你有三个托洛茨基主义者,你就会有党内分裂。现在感觉这就是开放社交媒体空间的氛围。人们觉得他们需要选边站,捍卫自己的立场,宁愿撕咬彼此的脸,也不愿确保豹子不会这样做。我想从某种意义上说,这很社交媒体。也非常愚蠢。我想通过提出一个大家都能一起讨厌的建议来缓解这种装腔作势的乏味。或者,更严肃一点,我想做一个短小的练习,展示一下关注一些有趣的建筑细节可能并不是最愚蠢的事情。这可以为更广泛的网络社交媒体讨论奠定基础。这只是一个草图,并且有问题。我最初想要对此进行原型设计,但工作情况使得我几乎没有精力进行原型设计(所以我主要是在将我的笔记倾倒到这个博客上)。把它当作一次设计挑衅,挑衅的内容是:通过相对较少的工作,我们可以在 AT 协议 PDS 上运行 ActivityPub。我不会试图说服你我们可以在不对当前状态进行某些修改的情况下做到这一点,但我想引起你对为什么这个值得思考的事情的关注,并且,如果运气好的话,说服你我们应该朝那个方向发展(即便不一定是这个特定的组合)。请注意,我觉得我很难相信我是第一位想到这个的人,但我未能找到任何相关内容。也许你认为我应该是唯一一个有这个想法的人。首先要理解的是,AT 协议并不是 Bluesky。ATProto 旨在成为构建社交媒体应用程序的通用工具箱,并且可以说它超越了这一点,支持个人数据服务器(PDS)的通用基础设施。实际上,ATProto 架构明确描述为一个 PDS,并且这个 PDS 作为用户代理存在。虽然 Bluesky 已明确表示,他们打算控制实现 Bluesky 的 app.bsky API 路由,但他们同样明确表示,com.atproto 路由旨在成为一个开放标准。(这还没有得到保证,但我本来也不打算请求许可。)我之所以引起你对这个区分的关注,是因为 ATProto 具有有趣的属性,尤其是在它如何支持不依赖于服务器的可插拔身份以及签名数据存储库方面。这使得用户掌握了权力,而不是(就像常规联邦)服务器管理员掌握。它意味着你总是可以保证可信的退出,你不会被锁定。默认情况下,邮件样式的联邦(这是 AP 的底层模型)是容易被捕获的,事实上电子邮件被捕获(约 85% 是 Gmail,迁移是基于域名或管理员可能接受转发的善意)。然而,ATProto 本身并不做任何社交媒体。它“只”是一个可以实现协议的层。这并不意味着它可以用来实现任意协议,但 ActivityPub/Activity Streams 具有一个非常好的间接性,使得这一切变得容易得多:演员文档。演员是指任何可以进行活动的实体,因此可以在社交媒体上做事情。你可以从几乎任何地方获取演员文档,例如,你可以通过在我的松鼠身份的 URL 后添加 .json 来查看我的演员文档。你可以通过解析一个句柄到一个 DID,并找到嵌入在 DID 文档中的信息来获取它。演员文档有一个不错的特性:它为各种操作提供了 API 端点的 URL。这就是说,与其期待整个 API 的端点位于预定的位置,不如为每个端点指定任意 URL。在从我的松鼠演员文档中删除一些杂质后,我们可以看到其中列出了一些:{ "@context" : "https://www.w3.org/ns/activitystreams" , "id" : "https://mastodon.social/users/robin" , "type" : "Person" , "following" : "https://mastodon.social/users/robin/following" , "followers" : "https://mastodon.social/users/robin/followers" , "inbox" : "https://mastodon.social/users/robin/inbox" , "outbox" : "https://mastodon.social/users/robin/outbox" , "preferredUsername" : "robin" , "name" : "Robin Berjon" } 这意味着我们可以利用这一层间接性,将一个人的 ATProto PDS 指向 ActivityPub 路由:{ "@context" : "https://www.w3.org/ns/activitystreams" , "id" : "https://mastodon.social/users/robin" , "type" : "Person" , "following" : "https://pds.berjon.com/xrpc/org.w3.activitypub.following" , "followers" : "http

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡