توفير عدد المواضيع عبر أداة Discourse AI API دالة `discourse.getUser`

وصف الميزة:

أضف مفتاحًا إلى الكائن الذي تُرجعه واجهة برمجة تطبيقات أداة الذكاء الاصطناعي لـ Discourse، discourse.getUser، يوفر عدد المواضيع التي أنشأها المستخدم.

السلوك الحالي:

يمكن توفير قدرات إضافية لشخصيات الذكاء الاصطناعي في Discourse عن طريق إنشاء “أدوات” مخصصة ليستخدمها نموذج اللغة الكبير (LLM) هنا. يوفر Discourse واجهة برمجة تطبيقات يمكن استخدامها في كود الأداة.

يمكن الحصول على بيانات حول حساب المستخدم عبر دالة discourse.getUser.

الكائن الذي تُرجعه الدالة يحتوي على مفتاح post_count. يتضح أنه في سياق إحصائيات المستخدم، تعني “المشاركة” (post) فعليًا “ردًا” (reply). وبالتالي، فإن قيمة هذا المفتاح لا تتضمن عدد المشاركات الأصلية للمواضيع التي أنشأها المستخدم.

سيكون من المنطقي توفير البيانات لهذين النوعين المختلفين من النشاط عبر مفتاحين منفصلين، ولكن بشكل غير مفهوم، لا تُرجع الدالة بيانات عدد المواضيع على الرغم من أن هذا أحد إحصائيات المستخدم الأساسية.

:slightly_frowning_face: لا يمكن الحصول على صورة كاملة لنشاط المستخدم عبر دالة discourse.getUser. سيكون من غير الملائم أو المستحيل الحصول على هذه المعلومات بوسائل أخرى.

خطوات قابلة للاستنساخ:

  1. سجل الدخول إلى منتدى لديك فيه امتيازات المسؤول.
  2. انتقل إلى صفحة المسؤول > الإضافات > الذكاء الاصطناعي > الأدوات (/admin/plugins/discourse-ai/ai-tools).
  3. انقر على زر “+ أداة جديدة”.
    ستفتح قائمة.
  4. حدد “البدء من صفحة فارغة…” من القائمة.
    سيتم فتح صفحة تكوين أداة جديدة.
  5. أدخل أي قيم في الحقول التالية في الصفحة:
    • الاسم (Name)
    • اسم الأداة (Tool Name)
    • الوصف (Description)
    • الملخص (Summary)
  6. أدخل الكود التالي في حقل “البرنامج النصي” (Script):
    function invoke() {
      return discourse.getUser(-1);
    }
    
    تم اختيار معرّف المستخدم -1 بشكل عشوائي لأنه من المحتمل أن يكون موجودًا في أي منتدى. يمكن تمرير أي معرّف مستخدم أو اسم مستخدم آخر إلى discourse.getUser إذا كنت تفضل ذلك.
  7. انقر على زر “حفظ” في أسفل الصفحة.
  8. انقر على زر “تشغيل الاختبار” في أسفل الصفحة.
    سيتم فتح مربع حوار “اختبار أداة الذكاء الاصطناعي”.
  9. انقر على زر “تشغيل الاختبار” في مربع الحوار.

:slightly_frowning_face: نتيجة الاختبار لا توفر عدد المواضيع التي أنشأها المستخدم.

إصدار Discourse:

f8f53ac5e8e4348ae308fcddc078766463d5e5f3

سياق إضافي:

أنا على علم بأنه يمكنني الحصول على هذه المعلومات من نقطة النهاية /user-badges/{username}/summary.json لـ واجهة برمجة تطبيقات Discourse، ويمكن إجراء طلبات واجهة برمجة التطبيقات عبر دالة http.get لواجهة برمجة تطبيقات الأداة. ليس من الممكن القيام بذلك لأن إعداد الموقع hide_new_user_profiles ممكّن على المنتدى الذي أديره، وبالتالي فإن نقطة النهاية للمستخدمين الجدد تكون متاحة فقط للطلبات المصادق عليها. لذلك، سيكون من الضروري تخزين مفتاح واجهة برمجة تطبيقات في كود الأداة لاستخدام واجهة برمجة التطبيقات. لن أفعل ذلك.