مولد نصوص Discourse llms.txt 🤖

مولد ملف llms.txt لمنصة Discourse

:information_source: ملخص يولد ملفات llms.txt تلقائيًا لجعل محتوى المنتدى قابلاً للاكتشاف بواسطة نماذج اللغة الكبيرة (LLMs) مثل ChatGPT وClaude وأنظمة الذكاء الاصطناعي الأخرى
:hammer_and_wrench: رابط المستودع GitHub - kaktaknet/discourse-llms-txt-generator: 🤖 Discourse llms.txt Generator Plugin. Automatically generates llms.txt and llms-full.txt files for your Discourse forum to optimize content discovery by Large Language Models (LLMs) and AI systems. · GitHub
:open_book: دليل التثبيت كيفية تثبيت الإضافات في Discourse

الميزات

تنفذ هذه الإضافة معيار llms.txt — وهو اتفاق مقترح لتقديم محتوى متوافق مع نماذج اللغة الكبيرة (LLMs) من المواقع الإلكترونية. يمكن اعتباره “ملف robots.txt للذكاء الاصطناعي” الذي يساعد في ظهور محتوى المنتدى في الردود المولدة بواسطة الذكاء الاصطناعي.

للتوثيق التفصيلي للميزات، راجع README.md

للتوثيق التقني والتطوير، راجع CONTRIBUTING.md

على الرغم من أن هذا الفيديو ليس مخصصًا تحديدًا لمنصة Discourse أو إضافاتها، إلا أنه يشرح بشكل ممتاز أهمية ملفات llms.txt للمنتديات.

آلاف المواقع — بما في ذلك العديد من أكبر وأهم شركات التكنولوجيا في العالم — قد طبقت بالفعل معيار llms.txt في نطاقاتها الخاصة. ومن الأمثلة على ذلك:

  • :white_check_mark: Amazon AWS — https://docs.aws.amazon.com/llms.txt
  • :white_check_mark: Cloudflare — https://developers.cloudflare.com/llms.txt
  • :white_check_mark: Stripe — https://stripe.com/llms.txt
  • :white_check_mark: Angular — https://angular.dev/llms.txt
  • :white_check_mark: Redis — https://redis.io/llms.txt
  • :white_check_mark: Docker — https://docs.docker.com/llms.txt
  • :white_check_mark: Model Context Protocol — https://modelcontextprotocol.io/llms-full.txt

عندما تتبنى عمالقة الصناعة معيارًا على نطاق واسع — قبل وقت طويل من اعتباره “رسميًا” — فإن ذلك يُعد إشارة واضحة على أن llms.txt يحل مشكلة حقيقية وملحة. هذه الشركات لا تطرح مبادرات على مستوى الموقع بخفة؛ بل يكون لديها دائمًا سبب استراتيجي قوي. إن التبني السريع والواسع النطاق لملفات llms.txt عبر قطاع التكنولوجيا يُظهر مدى أهمية المحتوى المنظم للذكاء الاصطناعي، وأن الصناعة نفسها تقود هذا التبني — حتى أسرع من هيئات وضع المعايير الرسمية.

القدرات الرئيسية:

  1. ملف التنقل الرئيسي (/llms.txt)

    • نظرة عامة منظمة على المنتدى تتضمن الفئات، والفئات الفرعية، وأحدث المواضيع
    • يساعد أنظمة الذكاء الاصطناعي على فهم تنظيم المنتدى فورًا
    • يتم تحديثه تلقائيًا مع نمو المنتدى
  2. فهرس المحتوى الكامل (/llms-full.txt)

    • فهرس كامل للمنتدى يتضمن جميع المواضيع مصنفة وجاهزة لاستهلاك الذكاء الاصطناعي
    • إمكانية التصفية القابلة للتكوين بناءً على عدد المشاهدات وعدد المواضيع
    • مقتطفات اختيارية من المنشورات لفهرسة أسرع بواسطة الذكاء الاصطناعي
  3. ملفات ديناميكية لكل مورد

    • توليد ملف llms.txt لأي فئة: /c/category-name/123/llms.txt
    • توليد ملف llms.txt لأي موضوع: /t/topic-slug/456/llms.txt
    • توليد ملف llms.txt لأي وسم: /tag/tutorial/llms.txt
    • يتم إنشاؤها عند الطلب دون الحاجة إلى تخزين فعلي
  4. فهرس خريطة الموقع (/sitemaps.txt)

    • قائمة كاملة بجميع عناوين URL لملفات llms.txt لاكتشاف محركات الزحف الخاصة بالذكاء الاصطناعي بكفاءة
    • تكامل تلقائي مع ملف robots.txt وsitemap.xml
  5. حماية تحسين محركات البحث (SEO)

    • عناوين URL معيارية في رؤوس HTTP (متوافقة مع RFC 6596)
    • يمنع عقوبات المحتوى المكرر من محركات البحث
    • نسب مناسبة إلى عناوين URL الأصلية للمنتدى
  6. تخزين ذكي

    • فحوصات خلفية كل ساعة للمحتوى الجديد
    • إعادة التوليد فقط عند الضرورة
    • أوقات استجابة سريعة (أقل من 50 مللي ثانية)
  7. التحكم في البوتات

    • حظر محركات الزحف الخاصة بالذكاء الاصطناعي المحددة مع السماح بالوصول إلى المنتدى
    • قائمة مفصولة بفواصل من أسماء وكلاء المستخدم المراد حظرها
    • تكامل تلقائي مع robots.txt عبر موصل العرض
  8. الخصوصية والأمان

    • استبعاد الفئات الخاصة تلقائيًا
    • فحوصات أذونات Guardian للملفات الديناميكية
    • تصفية أمنية على مستوى SQL
    • عدم تعريض أي بيانات شخصية

الفوائد لمنتداك:

  • زيادة الظهور: يظهر محتواك في ردود ChatGPT وClaude وأنظمة الذكاء الاصطناعي الأخرى
  • المنسوب المباشر: تقوم أنظمة الذكاء الاصطناعي بالاشارة والربط بمنتداك
  • زيادة حركة المرور: زيادة الاكتشاف من خلال البحث المدعوم بالذكاء الاصطناعي
  • تحسين GEO: تحسين محركات البحث التوليدية لأنظمة الذكاء الاصطناعي
  • بدون صيانة: التوليد والتحديثات التلقائية

التكوين

بعد تثبيت الإضافة، انتقل إلى Admin → Settings → Plugins → discourse-llms-txt-generator

الخطوة 1: تفعيل الإضافة

قم بتعيين llms_txt_enabled إلى true (مفعّل افتراضيًا)

الخطوة 2: تكوين الفهرسة

قم بتعيين llms_txt_allow_indexing إلى true للسماح لمحركات الزحف الخاصة بالذكاء الاصطناعي بالوصول (مفعّل افتراضيًا)

يتحكم هذا الإعداد في ما إذا كانت ملفات llms.txt ستظهر في ملف robots.txt كملفات مسموح بها أو ممنوعة.

الخطوة 3: تعيين فلاتر المحتوى

قم بتكوين هذه الإعدادات بناءً على حجم المنتدى:

  • llms_txt_min_views: الحد الأدنى لعدد مشاهدات الموضوع للإدراج (الافتراضي: 50)
  • llms_txt_posts_limit: عدد المواضيع المراد إدراجها
    • small: 500 موضوع (موصى به للمنتديات الكبيرة)
    • medium: 2,500 موضوع (موصى به لمعظم المنتديات)
    • large: 5,000 موضوع
    • all: جميع المواضيع (استخدم بحذر في المنتديات الكبيرة)

الخطوة 4: اختياري - إضافة وصف مخصص

املأ llms_txt_full_description بجملة أو جملتين تصفان هدف المنتدى ومجتمعه. يساعد هذا أنظمة الذكاء الاصطناعي على تقديم معلومات أكثر دقة عن المنتدى.

مثال:

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

الخطوة 5: اختياري - حظر بوتات محددة

إذا كنت ترغب في حظر محركات زحف معينة للذكاء الاصطناعي، فقم بإدخال أسماء وكلاء المستخدم الخاصة بها في llms_txt_blocked_user_agents كقائمة مفصولة بفواصل:

مثال: Omgilibot, ChatGPT-User, CCBot

الخطوة 6: التحقق من التثبيت

قم بزيارة منتداك في:

  • /llms.txt - ملف التنقل الرئيسي
  • /llms-full.txt - فهرس المحتوى الكامل
  • /sitemaps.txt - خريطة الموقع الكاملة

تحقق من ملف /robots.txt للتأكد من التكامل.

الإعدادات

الاسم الافتراضي الوصف
llms_txt_enabled true تمكين أو تعطيل الإضافة
llms_txt_allow_indexing true السماح لمحركات الزحف الخاصة بالذكاء الاصطناعي بالوصول إلى ملفات llms.txt (يؤثر على robots.txt)
llms_txt_blocked_user_agents "" قائمة مفصولة بفواصل من أسماء وكلاء المستخدم للبوتات المراد حظرها من ملفات llms.txt
llms_txt_intro_text نص مخصص نص المقدمة الذي يظهر في ملف llms.txt الرئيسي
llms_txt_full_description "" وصف مخصص لملف llms-full.txt لمساعدة الذكاء الاصطناعي على فهم سياق المنتدى
llms_txt_min_views 50 الحد الأدنى لعدد مشاهدات الموضوع المطلوب للإدراج في llms-full.txt
llms_txt_posts_limit medium حد عدد المواضيع: small (500)، medium (2,500)، large (5,000)، أو all
llms_txt_include_excerpts false تضمين مقتطفات من المنشورات في llms-full.txt (يزيد حجم الملف بشكل كبير)
llms_txt_post_excerpt_length 500 الحد الأقصى لطول المقتطف بالأحرف (100-5000) إذا تم تمكين المقتطفات
llms_txt_latest_topics_count 50 عدد أحدث المواضيع المراد عرضها في ملف llms.txt الرئيسي
llms_txt_cache_minutes 60 مدة التخزين المؤقت بالدقائق لملف التنقل

ملاحظات هامة:

  • تمكين llms_txt_include_excerpts مع تعيين llms_txt_posts_limit إلى all قد يتسبب في أحجام ملفات ضخمة للغاية (قد تصل إلى 10-100+ ميجابايت) وعبء عالٍ على الخادم في المنتديات الكبيرة
  • يتم استبعاد الفئات الخاصة تلقائيًا من جميع ملفات llms.txt
  • الملفات الديناميكية لكل مورد (الفئات، المواضيع، الوسوم) لا يتم تخزينها مؤقتًا ويتم توليدها عند الطلب
  • تستخدم الإضافة موصلات العرض لتكامل robots.txt — لا حاجة لتعديل ملف robots.txt يدويًا

التفاصيل التقنية

البنية:

  • توليد عند الطلب دون ملفات مُولدة مسبقًا
  • تخزين ذكي مع فحوصات خلفية كل ساعة
  • واعٍ بالأذونات باستخدام Discourse Guardian
  • تصفية أمنية على مستوى SQL للمحتوى الخاص
  • عناوين URL معيارية في رؤوس HTTP لمنع عقوبات تحسين محركات البحث

الأداء:

  • ملف التنقل مخزن مؤقتًا لمدة 60 دقيقة (قابل للتكوين)
  • ملف المحتوى الكامل يُولد عند الطلب
  • التخزين الذكي يعيد التوليد فقط عند وجود محتوى جديد
  • وقت استجابة أقل من 50 مللي ثانية للمحتوى المخزن مؤقتًا

التوافق:

  • Discourse 2.7.0+
  • Ruby 2.7+
  • تم اختباره على Discourse 3.6.0.beta3

الامتثال للمعايير:

  • معيار llms.txt (https://llmstxt.org/)
  • RFC 3986 (ترميز عناوين URL للأحرف الدولية)
  • RFC 6596 (رؤوس الروابط المعيارية)

حالات الاستخدام

منتديات المجتمع:
تظهر مناقشاتك وحلولك عندما يطرح المستخدمون أسئلة ذات صلة على مساعدي الذكاء الاصطناعي، مما يؤدي إلى جلب حركة مرور مؤهلة إلى منتداك.

مواقع التوثيق:
يمكن لأنظمة الذكاء الاصطناعي الرجوع إلى وثائقك ودروسك، وتقديم معلومات دقيقة مع نسب مناسبة.

منتديات الدعم:
يحصل المستخدمون على إجابات مباشرة من قاعدة معرفتك من خلال مساعدي الذكاء الاصطناعي، مع روابط للمناقشات الكاملة.

المجتمعات التقنية:
يكتشف المطورون محتوى منتداك من خلال مساعدي البرمجة المدعومين بالذكاء الاصطناعي، مما يزيد من تفاعل المجتمع.

الصيانة

تتطلب الإضافة صيانة دنيا:

  • يتم تحديث التخزين المؤقت تلقائيًا كل ساعة
  • تحدث تحديثات المحتوى تلقائيًا عند إنشاء أو تحرير المنشورات
  • لا حاجة لتوليد ملفات يدويًا
  • مهام rake اختيارية متاحة: llms_txt:refresh و llms_txt:check

استكشاف الأخطاء وإصلاحها

الملفات غير قابلة للوصول:

  • تأكد من أن llms_txt_enabled مضبوط على true
  • تحقق من أن llms_txt_allow_indexing مضبوط على true
  • تأكد من تثبيت الإضافة في Admin → Plugins

محتوى فارغ:

  • تأكد من وجود مواضيع عامة ذات مشاهدات كافية (تحقق من إعداد llms_txt_min_views)
  • تأكد من أن الفئات عامة (غير مقيدة بالقراءة)
  • تحقق من إعداد llms_txt_posts_limit

تكامل robots.txt لا يعمل:

  • امسح ذاكرة التخزين المؤقت لملف robots.txt: Rails.cache.delete('robots_txt')
  • استخدم مهمة rake: bundle exec rake llms_txt:refresh
  • أعد تشغيل Discourse: ./launcher restart app

الدعم

الترخيص

رخصة MIT — برنامج مجاني ومفتوح المصدر

الشكر

8 إعجابات

لقد قمت بتثبيت المكون الإضافي قبل يومين. كان التثبيت سلسًا، بفضل وثائق المؤلف.

ما أراه الآن. تم إنشاء الكثير من ملفات txt على موقعي، على سبيل المثال https://discuss.rabkesov.ru/llms.txt. أنا أعلم أنه من السابق لأوانه أن أرى روبوت محادثة يعمل بالذكاء الاصطناعي (Perplexity) يعرض محتواي كإجابة في الدردشة.

لذلك، للتحقق من القدرة على أن تكون مناسبة لنماذج اللغة الكبيرة (LLM)، قمت بتحميلها إلى Qwen (للأسف لا يدعم الرابط أعلاه):

هل يمكنك تحليل الصفحة llms.txt وإخباري بما فهمته مما قرأته؟ قم بإنشاء شجرة على شكل خريطة ذهنية (Mermaid)

م.ب. إذا طلبت ترجمة كل شيء إلى الإنجليزية، فإن الشجرة تتعطل.

image
image

إليك هيكل موقعي (الجزء العام فقط). يمكن لنموذج اللغة الكبير (LLM) إنشاؤه من llms.txt! أعتقد أن هذه مجرد جزء صغير من الحالات الممكنة.


مخرج نصي بدون Mermaid
هل يمكنك تحليل الصفحة llms.txt وإخباري بما فهمته مما قرأته؟

نعم. بناءً على محتوى llms.txt، إليك ما فهمته:

يصف الملف “discuss | Комната ломки”، والذي يُترجم تقريبًا إلى “منتدى المناقشة | غرفة الكسر” - وهو مكان يُقصد به مجازيًا كسر الأوهام في تكنولوجيا المعلومات، وليس الأشخاص. يشير شعاره وتركيزه إلى بيئة تأملية ونقدية ومجتمعية حيث يمكن لمحترفي تكنولوجيا المعلومات فحص الافتراضات ومشاركة الخبرات والتعاون في التحديات العملية.

الموضوعات والغرض الأساسي:

  • التفكير النقدي حول ممارسات تكنولوجيا المعلومات، والمسارات المهنية، والديناميكيات التنظيمية، والنمو الشخصي.
  • التأكيد على الأدوات والمنهجيات التي تبسط العمل: التوثيق (Markdown/GitLab/Docsify)، والتصور (Mermaid/Drawio)، وآليات التغذية الراجعة، والصياغة التعاونية - خاصة ضمن منصة مؤسسية تعتمد على Discourse.
  • مزيج من الموضوعات التقنية والفلسفية والشخصية، التي تتقاطع غالبًا: على سبيل المثال، “لماذا نختار المهام السهلة”، “تكلفة راحة البال”، “التسويف وتجنب القرارات”.

الهيكل:

ينقسم الموقع إلى فئات موضوعية، تشمل:

  • الذكاء الاصطناعي (AI): مناقشات حول النماذج (مثل Gemma، LM Studio)، والنشر (Runpod، حاسبات وحدات معالجة الرسومات)، والأدوات.
  • Discourse: مواضيع خلفية تقنية (إعداد الموقع، مهام rake، طرق المصادقة، المعلمات المخفية).
  • Основная (الرئيسية): تأملات أساسية حول ثقافة العمل، والقيادة، ومعايير التوثيق، والمسؤولية.
  • Блог (المدونة): روايات شخصية (مثل تغييرات المسار الوظيفي، الانتقال إلى سمارا، حوادث مكان العمل).
  • Школа (المدرسة): موارد للطلاب، بما في ذلك الأخلاقيات (موافقة الوالدين للمستخدمين الذين تزيد أعمارهم عن 14 عامًا) ومحو الأمية الرقمية (معلمات UTM).
  • Анонимная (مجهول): مساحة آمنة للأفكار الحساسة.
  • Книги (الكتب)، Мысль дня (فكرة اليوم)، إلخ - لدعم التأمل الفكري واليومي.

إشارات تقنية وثقافية ملحوظة:

  • جمهور متعدد اللغات ودولي: على سبيل المثال، أدلة مصادقة متوازية باللغتين الروسية/الإنجليزية.
  • الاهتمام بـ المصادقة الشاملة: على سبيل المثال، الحفاظ على تسجيل الدخول عبر Google/GitHub للمستخدمين غير الروس، مع دعم أيضًا للمزودين المحليين (VK، Mail.ru، OK).
  • اهتمام قوي بـ الأتمتة والتوحيد القياسي و DevOps: GitLab CI/CD، والتعامل مع البيانات الثابتة (artifacts)، وتكامل Runpod، والنشر المستند إلى SSH.
  • موضوع متكرر يتمثل في خيبة الأمل المهنية، خاصة بين كبار المهندسين الذين تم نقلهم إلى أدوار الدعم - واستراتيجيات للتكيف أو التخطيط للمغادرة.

باختصار، يحدد llms.txt منصة مجتمعية ناضجة ومصممة بعناية تمزج بين العمق التقني والتأمل النفسي والتنظيمي - وتستهدف ممارسي تكنولوجيا المعلومات ذوي الخبرة الذين يتنقلون في التعقيد والإرهاق والبحث عن المعنى في عملهم.

أخبرني إذا كنت تريد خريطة مرئية، أو تجميعًا موضوعيًا، أو اقتراحات للخطوات التالية (على سبيل المثال، تحسين الاكتشاف، أو المشاركة، أو الإعداد).


أما بالنسبة لي، فهو مكون إضافي رائع يمكن استخدامه في تحسين محركات البحث (SEO) وما إلى ذلك.

بعض النقاط للاستكشاف:

  1. كيفية التعامل مع المحتوى غير الإنجليزي؟ هل يهم نموذج اللغة الكبير (LLM) لغة النص الإنجليزية في llms.txt؟
  2. ابحث عن دليل على أن ملف llms.txt الجذري النهائي لا يحتوي أبدًا على صفحات خاصة (يتم إنشاء llms.txt لكل صفحة على الموقع في الوقت الحالي)
  3. تحقق من الأذونات في /admin/site_settings/category/security?filter=crawler حتى لا يتم حظر روبوتات الذكاء الاصطناعي الضرورية :slight_smile:
  4. أفكار حول الخلط العرضي بين هيكل الموقع والذكريات المحفوظة في نموذج اللغة الكبير (LLM) سابقًا (هذا ليس خطأ المكون الإضافي، ولكنه ميزة لروبوت الدردشة، انظر المثال أدناه)

بخصوص النقطة رقم 4. في المرة الأولى قرر Qwen أن:

  • كنت أخطط لمغادرة عملي
  • كانت لدي مشاكل في العلاقة :slight_smile:
    و أضاف هذه النقاط إلى وصف الموقع!

قد يخلط Qwen بين الذكريات والطلب الحالي لتحليل خريطة الموقع المقدمة كـ llms.txt. كن حذرًا :slight_smile:

إعجابَين (2)

شكرًا لك على هذه الإضافة، إنها إضافة رائعة لمنصة Discourse.

أذكر هذا هنا في حال كان أي شخص آخر يواجه نفس المشكلة مع التعارض بين هذه الإضافة و"الميزة شبه الكاملة" التي أضافتها Discourse مؤخرًا، والتي تنفذ ملف llms.txt بطريقة يدوية تمامًا دون القيام بأي من الأمور المفيدة التي تقوم بها هذه الإضافة.

الميزة الجديدة في Discourse تتجاوز مسار /llms.txt بالكامل حتى لو لم يكن مُهيأً أو مفعلًا. يجب أن أعترف أنني شعرت بالذهول قليلًا لأن هذا يُعتبر ميزة مفيدة أو جاهزة للإنتاج في نواة Discourse.

هذا يعني بالنسبة لي أنه بينما عمل /llms-full.txt و /sitemaps.txt بشكل مثالي، فإن المسار الرئيسي /llms.txt لم يعمل على الإطلاق (خطأ 404).

حلي المؤقت هو إنشاء ملف llms.txt يدويًا وأقوم برفعه يدويًا، والذي يشير إلى /llms-full.txt.

سيكون من الجميل إذا تم أحد الأمرين:

  • ترقية ميزة نواة Discourse لتقوم بما تفعله هذه الإضافة، أو
  • ألا تتجاوز ميزة نواة Discourse llms.txt ولا تتعارض مع هذه الإضافة، إلا إذا قمت بتفعيلها عن طريق رفع ملف llms.txt.
4 إعجابات

شكرًا لملاحظتك وإبلاغك عبر Enabling native LLMs.txt support in Discourse - #7 by pacharanero

لا يزال /llms-full.txt يعمل، لكن /llms.txt تعطل للأسف…

3 إعجابات

سألقي نظرة على ما يمكن إنجازه على المدى القريب، وسأصدر تحديثًا بحيث لا يتجاوز النواة سلوك الإضافة. آمل ألا يكون الأمر صعبًا للغاية. فبعد كل شيء، هذا جزء من فلسفة الإضافات بأكملها: تجاوز وضبط الميزات والسلوكيات الأساسية بدقة، بما في ذلك أمور مثل هذه.

إعجاب واحد (1)