SuperAPI AI 工具集

backfilling-atproto

数据与分析

查看项目

更新于 10-15 23:43

技能介绍

用途:从 ATProto 的 PDS 回填自定义 collection 的历史记录,适合建立索引、迁移记录或从 PDS 同步数据。

主要能力:区分公共 API 与 PDS 直连。公共 API(public.api.bsky.app)仅支持 app.bsky.,对自定义 collection(如 network.comind.)返回 404;直连 PDS 可覆盖包括自定义 collection 在内的全部 collection,是处理 network.comind.、stream.thought. 等的必要方式。

使用方式:先解析 handle 到 DID,再取 PDS 地址;随后调用 com.atproto.repo.listRecords 分页列出记录。查找 PDS 可用 httpx.get("https://public.api.bsky.app/xrpc/app.bsky.actor.getProfile", params={"actor": "central.comind.network"}) 取 did,再请求 https://plc.directory/{did} 并从 service[0].serviceEndpoint 读取 PDS。列记录时 repo 传 DID、collection 传目标集合,每页 limit 可用 100,返回的 cursor 用于翻页。记录含 uri、cid、value;uri 末段即 rkey,value 内含 $type 与 createdAt 等字段。

常见自定义集合:network.comind.* 对应 PDS comind.network;stream.thought.* 位于 bsky.social 或自定义 PDS。

限制与注意:处理前应检查记录是否已存在以保证幂等;用 cursor 增量拉取避免重复全量请求;多数 PDS 建议约 100 请求/分钟,大规模回填应在请求间加入延时。资料未提供具体速率上限、重试策略或错误处理细节。