عن المشروع
يوفر cb365 وصولاً عبر سطر الأوامر إلى خدمات Microsoft 365، حيث يعمل كبديل لكتابة تطبيقات Graph API مخصصة أو التفاعل اليدوي مع واجهة المستخدم. يتيح أتمتة مهام مثل إنشاء المهام، وإرسال البريد، وإدارة التقاويم، والنشر في Teams، والتفاعل مع SharePoint وOneDrive وPlanner وLoop. توفر الأداة مخرجات JSON منظمة، مما يجعلها مناسبة للاستهلاك من قبل البرامج النصية ووكلاء الذكاء الاصطناعي.
تشمل الميزات الرئيسية والجمهور المستهدف ما يلي:
* **مهندسو DevOps والمنصات**: لبرمجة عمليات M365 مثل إنشاء المهام من CI أو نشر نتائج البناء في Teams.
* **بناة وكلاء الذكاء الاصطناعي**: مصممة مع مخرجات `--json` وأعلام الأمان لتدفقات العمل المستقلة.
* **مديرو تكنولوجيا المعلومات**: بديل CLI لـ PowerShell لعمليات Graph API.
* **المطورون**: يقلل من كود Graph SDK المتكرر لمهام M365 الشائعة.
يقوم cb365 بتغليف Microsoft Graph API، ويتعامل مع التعقيدات مثل:
* **المصادقة**: يدعم تدفقات device-code وclient credentials والشهادات، مع تخزين الرموز (tokens) بشكل آمن في سلسلة مفاتيح نظام التشغيل.
* **الأمان**: يتضمن 44 قاعدة مبرمجة مسبقاً، مما يتطلب استخدام `--force` للحذف و `--confirm` للبث، مع توفر `--dry-run` لجميع عمليات الكتابة. لا يتم الكشف عن الرموز أبداً في المخرجات.
* **المخرجات**: يوفر تنسيقات `--json` و `--plain` (TSV) وجداول سهلة القراءة، مصممة للتكامل مع خطوط الأنابيب (pipelines).
* **الملفات الشخصية (Profiles)**: يدير المصادقة المفوضة (delegated) وتطبيق فقط (app-only) جنباً إلى جنب، مما يسمح بالتبديل السهل بين المستأجرين (tenants).
* **بدون تبعيات**: ملف ثنائي واحد بلغة Go بدون متطلبات وقت تشغيل.
التثبيت متاح عبر `go install` أو ملفات ثنائية جاهزة للإصدار. يجب على المستخدمين تسجيل تطبيق Entra ID وتكوين أذونات API اللازمة. تدعم المصادقة الاستخدام المفوض (device code) للاستخدام التفاعلي، وتطبيق فقط (client secret أو certificate) للأتمتة غير المراقبة، مع قبول الأسرار الخاصة بالعميل (client secrets) فقط من الإدخال القياسي (stdin) لأغراض الأمان.
تتوفر الأوامر لمختلف أعباء عمل M365:
* **Auth**: تسجيل الدخول، الحالة، تسجيل الخروج، وإدارة الملفات الشخصية.
* **To Do**: عرض، إنشاء، تحديث، إكمال، وحذف قوائم المهام والمهام.
* **Mail**: عرض، الحصول على، تحديد كقراءة، نقل، حذف نهائي، مسودة، إرسال، والبحث في الرسائل.
* **Calendar**: عرض، الحصول على، إنشاء، تحديث، وحذف الأحداث.
* **Contacts**: عرض، الحصول على، البحث، إنشاء، وتحديث جهات الاتصال.
* **Planner**: عرض الخطط، إنشاء الخطط، إدارة الحاويات (buckets)، وإدارة المهام.
* **Teams**: عرض القنوات، إرسال رسائل إلى القنوات والدردشات، والحذف الناعم لرسائل القنوات.
* **SharePoint**: عرض/البحث عن المواقع، الحصول على تفاصيل الموقع، إدارة القوائم وعناصر القائمة، وإدارة الملفات (عرض، الحصول على، رفع).
* **OneDrive**: عرض، الحصول على، رفع، حذف الملفات، وإنشاء المجلدات.
* **Loop**: عرض مساحات العمل والصفحات، تنزيل/تصدير الصفحات، حذف الصفحات، رفع الملفات، وإنشاء المجلدات.
تشمل الأعلام العامة `--json` و `--plain` و `--profile` و `--dry-run` و `--verbose`. تؤكد الأداة على إبقاء محتوى الأعمال خارج وسيطات العمليات من خلال دعم القيم غير المباشرة من الملفات أو stdin. قواعد الأمان مبرمجة مسبقاً، وتغطي حماية الكتابة، وقواعد خاصة بالتقويم (مثل التحقق من المنطقة الزمنية، اكتشاف التكرار، حماية عدد الحاضرين)، وسلامة البريد (مثل `--confirm` للإرسال، وحماية عدد المستلمين)، وسلامة الرموز (التخزين الآمن، عدم الكشف عنها في المخرجات).
لتكامل وكلاء الذكاء الاصطناعي، توفر مخرجات `--json` بيانات منظمة. يُنصح الوكلاء بمعاملة محتوى M365 كبيانات غير موثوقة واستخدام قوائم سماح صريحة للأوامر وأعلام التأكيد للآثار الجانبية. تستخدم معالجة الأخطاء أكواد الخروج القياسية لـ Unix، مع طباعة الأخطاء في stderr.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.