عن المشروع

QM هو إطار عمل متعدد المستخدمين للوكلاء في العمل، متاح في Slack وعلى الويب. وهو ليس مساعدًا شخصيًا واحدًا، بل مصمم للشركات الناشئة: يحصل كل موظف على مساحة عمل معزولة، ويمكن للأشخاص أيضًا التعاون مع الوكيل في القنوات والرسائل الجماعية والمشاريع. لكل شخص ولكل غرفة ذاكرته وملفاته وعرض سلسلة المفاتيح الخاص به وصلاحياته ومهامه المجدولة وتطبيقات الويب الخاصة به وبيئته المعزولة الدائمة. الميزات الرئيسية الموضحة في README: - نطاقات شخصية ومشتركة: يخصص الأشخاص الوكيل لأنفسهم مع الاستمرار في العمل معه تعاونيًا في قنوات Slack والمشاريع. - Slack والويب: تنتقل الهوية والإعدادات نفسها بين Slack وتطبيق الويب. - تحكم المسؤول: إعدادات على مستوى المؤسسة، وأوضاع الأمان والمشاركة، والأدوات والنماذج المتاحة. - تطبيقات الويب: إنشاء تطبيقات داخلية مخصصة ونشرها للأشخاص المناسبين. - المهارات المشتركة: تكون المهارات مملوكة للنطاق وقابلة للمشاركة بمنح، مع ترقية محكومة من المسؤول إلى المؤسسة بأكملها وحزم مهارات مستوردة من مستودعات git. - العمل في الخلفية: تعمل المهام المجدولة والمراقبات وخطافات الويب الواردة بينما لا يراقب أحد. تشمل أمثلة الاستخدام البحث معًا في الملاحظات الداخلية والبريد الإلكتروني والمستندات وقواعد البيانات والويب؛ وبناء التطبيقات الداخلية ونشرها؛ وتعلم أسلوب الكتابة من الرسائل السابقة وفرز صندوق الوارد وفق جدول زمني باستخدام التصنيفات ومسودات الردود؛ والعمل في مستودع قائم لتشغيل الاختبارات وفتح طلبات السحب ومراقبة CI وفحص السجلات؛ وتتبع مشروع في قناة مشتركة مع التحديثات والمتابعات. البنية: تمر كل جولة عبر نواة مركزية بلا واجهة يمكنها استخدام مجموعة متنوعة من النماذج والأدوات (Pi وOpenCode وCodex وClaude Code) لتوليد الردود. تحتفظ طبقة استمرارية Postgres ببيانات المستخدم وسجل الجلسات وغيرها من الحالة الدائمة. يمتلك الوكيل سطح أدوات صغيرًا وثابتًا؛ إحدى الأدوات هي `execute`، التي تشغّل الأوامر في البيئة المعزولة الخاصة بالنطاق. تشترك واجهة الويب ولوحة الإدارة في خدمة واحدة؛ وتشترك البوابة ووسيط المصادقة المدمج الاختياري في خدمة أخرى. تعمل النواة بـ TypeScript على Node وتستخدم Fastify لـ HTTP؛ وتستخدم إضافة Slack مكتبة Bolt؛ وتُبنى واجهة الويب بـ Vite وتُعرض بـ Lit. توجد الإعدادات الخاصة بالشركة في دليل نشر يتم التحقق منه ونشره بواسطة أداة `qm` CLI. تقع الركائز (الأداة، ومخزن الجلسات، والبيئة المعزولة، والذاكرة) خلف واجهات، ويمكن توجيه الذاكرة حسب النطاق إلى مزودين خارجيين مع الاحتفاظ بدفتر ملاحظات مدمج. الأمان والأسرار: يعمل الوكيل بصفة الشخص الذي يعمل لصالحه، ببيانات اعتماده وصلاحياته، وتُدقق الإجراءات. تختار المؤسسة وضع أمان واحدًا لا يمكن للنطاقات الأضيق سوى تشديده: Strict (تتوقف كل استدعاءات أدوات الأداة لموافقة بشرية باستثناء مُنهيَي جولة بلا تأثير)، وAuto (الافتراضي؛ يحجب الوصول إلى الشبكات الخاصة ويستخدم فاحص محتوى عند تهيئته)، وDangerous (بلا فحص محتوى أو بوابات موافقة على الأدوات استنادًا إلى الوضع). تنطبق سياسة أوامر معلنة مسبقًا مع قواعد موافقة ورفض صارم في كل وضع. وضع المشاركة مستقل: Isolated (الافتراضي) يبقي الموارد في نطاقها ما لم تُشارك صراحةً؛ وOpen يسمح بقراءة الملفات الشخصية والمنتجات الفنية والمهارات والذاكرة المفعّلة في غرفة مشتركة مفعّلة ضمن حدود معلنة. توثق SECURITY.md نموذج التهديد والقيود المعروفة. النشر: أنشئ مستودع نشر مملوكًا للمؤسسة يعتمد على `@yc-software/qm`، وشغّل `qm init` مع معرّف المؤسسة والهدف (fly أو aws)، ثم اتبع دليل النشر المولّد. يعمل النشر في حساب السحابة الخاص بالمشغّل. يمكن إجراء التخصيص عبر مستودع النشر (الإعدادات والأدوات والمهارات والخدمات) أو بالاحتفاظ بتفرع من المصدر لإجراء تغييرات على QM نفسه. يغطي README أيضًا تثبيت Slack المُدار عبر خدمة استضافة، بما في ذلك متغيرات البيئة وعقود الاستدعاء. تُقبل المساهمات كنص مكتوب بشريًا لا كشيفرة: صف التغيير المطلوب في ملف .txt أو .md ضمن adrs/. وينبغي الإبلاغ عن الثغرات بشكل خاص وفق SECURITY.md. يتوفر QM بموجب رخصة MIT حيث لا ينص على خلاف ذلك.