عن المشروع
# تنفيذ مرجعي لـ Bluesky على بروتوكول AT (atproto)
يحتوي هذا المستودع على التنفيذ المرجعي لـ Bluesky لبروتوكول AT Protocol (atproto)، وهو بروتوكول وسائط اجتماعية لامركزي، وخدمة خلفية تطبيق microblogging باسم `app.bsky`. صُمم ليكون من السهل على البرامج الخارجية العمل بشكل سلس مثل التطبيقات الأولى: التغذية المخصصة، الخدمات الموحدة، والعملاء البديلون يبنون ضد نفس واجهات برمجة التطبيقات.
## ما بداخله
### القواميس
تعريفات النطاق المعيارية لكل من فضاءات أسماء `com.atproto.*` و `app.bsky.*`، مخزنة كملفات JSON في لغة تعريف_schema (تشبه JSON Schema أو OpenAPI).
### حزم TypeScript
نُشرت تحت npm تحت النطاق `@atproto/*` (مع أدوات داخلية تحت `@atproto-labs/*`). تشمل الحزم الرئيسية:
- **`@atproto/lex`** – حزمة SDK آمنة للأنواع تولد TypeScript من قوالب Lexicon وتوفر عميلاً HTTP (XRPC). موصى بها لبناء التطبيقات أو الروبوتات. لا يزال عميل `@atproto/api` موجوداً لكن الكود الجديد يجب أن يفضل `@atproto/lex`.
- **حزم OAuth** (`./packages/oauth/`) – تطبيقات العميل والخادم لـ "تسجيل الدخول مع Bluesky"، مع متغيرات لمتصفح وNode وExpo runtimes.
- **المكونات الأساسية للبروتوكول** – حزم مركزة لمعالجة المعرفات (`syntax`)، حل DID/handle (`identity`, `did`)، التوقيع (`crypto`)، مستودع وMerkle Search Tree (`repo`)، واستهلاك firehose (`sync`).
- **الخدمات المشتركة** – كود الغراء الداخلي في `common` و `common-web` و `./packages/internal/`.
### خدمات TypeScript
كل خدمة لها تنفيذها في `packages/<name>` وواجهة تشغيل رفيعة في `services/<name>`:
- **`pds`** – خادم البيانات الشخصية (Personal Data Server)، يستضيف محتوى المستودع لحسابات atproto. تتوفر تعليمات للإدارة الذاتية على [bluesky-social/pds](https://github.com/bluesky-social/pds).
- **`bsky`** – تنفيذ AppView لنقاط نهاية API `app.bsky.*`، يعمل على الشبكة الرئيسية عند `api.bsky.app`.
- **`bsync`** – خدمة مزامنة داخلية تُستخدم بواسطة AppView لحالة الخدمة عبر مثل الإخفاقات والإشعارات.
- **`ozone`** – خدمة الرقابة التي تنفذ API `tools.ozone.*`.
## ما ليس فيه
تطبيق BlueSky Social client (الويب والهاتف) مصدره في [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](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 بوعد عدم الاعتداء على براءات الاختراع.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.