这个项目能做什么

# AT协议参考实现(TypeScript) 本仓库包含Bluesky对AT协议(atproto)的参考实现,这是一个去中心化的社交媒体协议,以及`app.bsky`微博应用服务的后端。它旨在让第三方软件与第一方软件一样无缝:自定义信息流、联邦服务和替代客户端都基于相同的API构建。 ## 包含内容 ### Lexicons `com.atproto.*`和`app.bsky.*`命名空间的规范化模式定义,以JSON文件形式存储,使用Lexicon模式定义语言(类似于JSON Schema或OpenAPI)。 ### TypeScript包 以npm上的`@atproto/*`作用域发布(内部工具在`@atproto-labs/*`下)。主要包包括: - **`@atproto/lex`** – 类型安全的SDK,从Lexicon模式生成TypeScript,并提供HTTP(XRPC)客户端。推荐用于构建应用或机器人。较旧的`@atproto/api`客户端仍然存在,但新代码应优先使用`@atproto/lex`。 - **OAuth包**(`./packages/oauth/`) – 针对“使用Bluesky登录”的客户端和服务器实现,提供浏览器、Node和Expo运行时版本。 - **协议原语** – 专注于标识符解析(`syntax`)、DID/handle解析(`identity`、`did`)、签名(`crypto`)、仓库与Merkle搜索树(`repo`)以及firehose消费(`sync`)的包。 - **共享工具** – `common`、`common-web`和`./packages/internal/`中的内部粘合代码。 ### TypeScript服务 每个服务在`packages/<name>`中实现,并在`services/<name>`中有简洁的运行时包装器: - **`pds`** – 个人数据服务器,托管atproto账户的仓库内容。自托管说明可在[bluesky-social/pds](https://github.com/bluesky-social/pds)获取。 - **`bsky`** – `app.bsky.*` API端点的AppView实现,主网络运行在`api.bsky.app`。 - **`bsync`** – AppView使用的内部同步服务,用于跨服务状态(如静音和通知)。 - **`ozone`** – 实现`tools.ozone.*` API的审核服务。 ## 不在此处的内容 Bluesky Social客户端应用(Web和移动端)源代码位于[bluesky-social/social-app](https://github.com/bluesky-social/social-app)。Go语言源代码(包括BGS实现)位于[bluesky-social/indigo](https://github.com/bluesky-social/indigo)。 ## 快速开始 - **概览和指南**:[atproto.com/guides/overview](https://atproto.com/guides/overview) - **问题**:[GitHub Discussions](https://github.com/bluesky-social/atproto/discussions) - **协议规范**:[atproto.com/specs/atp](https://atproto.com/specs/atp) ## 贡献 欢迎贡献,但优先处理高质量的问题和拉取请求。请参阅[CONTRIBUTING.md](./CONTRIBUTING.md)了解开发者快速入门、规则和指南,包括对LLM辅助贡献的政策。代码约定见[STYLE_GUIDE.md](./STYLE_GUIDE.md)。 ## 安全 请将安全问题报告至security@bsky.app(自动抄送给团队)。更多信息请参阅[SECURITY.md](https://github.com/bluesky-social/atproto/blob/main/SECURITY.md)。 ## 许可证 采用MIT和Apache 2.0双重许可。下游项目可单独选择任一许可证,或同时选择两者。Bluesky Social PBC已承诺软件专利不侵犯承诺(见[公告](https://bsky.social/about/blog/10-01-2025-patent-pledge))。