歡迎朋友們!
此儲存庫包含 Bluesky AT 協定和app.bsky
微博應用服務後端的參考實作。
打字稿包:
包裹 | 文件 | 國家公共管理 |
---|---|---|
@atproto/api :客戶端庫 | 自述文件 | |
@atproto/common-web :可以在網頁瀏覽器中運行的共享程式碼和幫助程序 | 自述文件 | |
@atproto/common :共享程式碼和助手,但在網頁瀏覽器中不起作用 | 自述文件 | |
@atproto/crypto :加密簽章與金鑰序列化 | 自述文件 | |
@atproto/identity :DID 並處理解析 | 自述文件 | |
@atproto/lexicon :模式定義語言 | 自述文件 | |
@atproto/repo :資料儲存結構,包括MST | 自述文件 | |
@atproto/syntax :標識符的字串解析器 | 自述文件 | |
@atproto/xrpc :客戶端 HTTP API 幫助程序 | 自述文件 | |
@atproto/xrpc-server :伺服器端 HTTP API 幫助器 | 自述文件 |
打字稿服務:
pds
:“個人資料伺服器”,託管 atproto 帳戶的儲存庫內容。大多數實作程式碼位於packages/pds
中,執行時期包裝器位於services/pds
中。有關自架的說明,請參閱 bluesky-social/pds。bsky
: app.bsky.*
API 端點的 AppView 實作。在主網路api.bsky.app
上運行。大多數實作程式碼位於packages/bsky
中,執行時期包裝器位於services/bsky
中。字典:對於com.atproto.*
和app.bsky.*
來說,目前在該儲存庫中都具有規範版本,位於./lexicons/
下。這些是 Lexicon 架構定義語言中的 JSON 文件,類似於 JSON Schema 或 OpenAPI。
互通性測試資料: ./interop-test-files/
interop-test-files/ 中的語言中立測試檔案可能對其他協定實作有用,以確保它們正確遵循規範
Bluesky Social 用戶端應用程式(適用於網頁和行動裝置)的原始程式碼可以在 bluesky-social/social-app 中找到。
Go程式語言原始碼位於bluesky-social/indigo,包括BGS實作。
我們建議使用nvm
來管理 Node.js 安裝。此專案需要Node.js版本pnpm
您可以使用npm install --global pnpm
安裝它。
有一個 Makefile 可以幫助完成基本的開發任務:
# use existing nvm to install node 18 and pnpm
make nvm-setup
# pull dependencies and build all local packages
make deps
make build
# run the tests, using Docker services as needed
make test
# run a local PDS and AppView with fake test accounts and data
# (this requires a global installation of `jq` and `docker`)
make run-dev-env
# show all other commands
make help
身份驗證傳輸協議(“ATP”或“atproto”)是一種去中心化社交媒體協議,由 Bluesky PBC 開發。了解更多:
Bluesky Social 應用程式包含一組建構在整個 AT 協定框架中的模式和 API。這些「字典」的命名空間是app.bsky.*
。
雖然我們確實接受貢獻,但我們會優先考慮高品質的問題和拉取請求。遵守以下準則將確保更及時的審查。
規則:
指南:
請記住,我們為廣泛的用戶社群提供服務。在我們的日常生活中,我們不斷地問「哪一個是我們的首要任務」。如果您提交的 PR 寫得很好,可以簡潔地解決問題,那麼這就是一個了不起的貢獻。否則,儘管我們很樂意接受您的想法和貢獻,但我們確實沒有足夠的頻寬。
Bluesky 是一個基於 AT 協定建構的開放社交網絡,AT 協定是一種靈活的技術,永遠不會將開發人員排除在他們幫助建立的生態系統之外。借助 atproto,第三方可以透過自訂來源、聯合服務、客戶端等與第一方一樣無縫。
如果您發現任何安全問題,請發送電子郵件至 [email protected]。該電子郵件會自動抄送給整個團隊,我們會立即回覆。請參閱 SECURITY.md 以了解更多資訊。
此專案獲得 MIT 和 Apache 2.0 條款的雙重許可:
下游項目和最終用戶可以自行決定選擇單獨許可或一起選擇許可。這種雙重授權的動機是 Apache 2.0 提供的額外軟體專利保證。