🤖 Discourse llms.txt Generator Plugin

Discourse llms.txt Generator

:information_source: Zusammenfassung Generiert automatisch llms.txt-Dateien, die Ihre Foreninhalte für Large Language Models wie ChatGPT, Claude und andere KI-Systeme auffindbar machen
:hammer_and_wrench: Repository-Link 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: Installationsanleitung So installieren Sie Plugins in Discourse

Funktionen

Dieses Plugin implementiert den llms.txt-Standard – eine vorgeschlagene Konvention, um KI-freundliche Inhalte von Websites bereitzustellen. Denken Sie daran als „robots.txt für KI“, die hilft, Ihre Foreninhalte in KI-generierten Antworten sichtbar zu machen.

Für eine detaillierte Funktionsdokumentation siehe README.md

Für technische Dokumentation und Entwicklung siehe CONTRIBUTING.md

Obwohl dieses Video nicht speziell über Discourse oder dessen Plugins handelt, erklärt es hervorragend, warum llms.txt-Dateien für Ihr Forum wichtig sind.

Tausende von Websites – darunter viele der weltweit größten und angesehensten Technologieunternehmen – haben den llms.txt-Standard bereits auf ihren eigenen Domains implementiert. Beispiele sind:

  • :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

Wenn Branchenriesen einen Standard im großen Maßstab übernehmen – lange bevor er „offiziell“ wird – ist dies ein deutliches Zeichen dafür, dass llms.txt ein echtes und dringendes Problem löst. Solche Unternehmen führen standortweite Initiativen niemals leichtfertig ein; sie haben immer einen soliden strategischen Grund. Die schnelle und großflächige Einführung von llms.txt in der Technologiebranche zeigt, wie wichtig strukturierte Inhalte für KI geworden sind, und dass die Branche selbst diese Adoption vorantreibt – sogar schneller als formale Standardisierungsgremien.

Hauptfunktionen:

  1. Hauptnavigationsdatei (/llms.txt)

    • Strukturierte Übersicht Ihres Forums mit Kategorien, Unterkategorien und neuesten Themen
    • Hilft KI-Systemen, Ihre Forumstruktur sofort zu verstehen
    • Wird automatisch aktualisiert, wenn Ihr Forum wächst
  2. Vollständiger Inhaltsindex (/llms-full.txt)

    • Vollständiger Forenindex mit allen kategorisierten Themen, bereit für die KI-Verarbeitung
    • Konfigurierbare Filterung nach Aufrufen und Themenanzahl
    • Optionale Beitragsauszüge für schnellere KI-Indizierung
  3. Dynamische pro-Ressource-Dateien

    • Generieren Sie llms.txt für jede Kategorie: /c/category-name/123/llms.txt
    • Generieren Sie llms.txt für jedes Thema: /t/topic-slug/456/llms.txt
    • Generieren Sie llms.txt für jeden Tag: /tag/tutorial/llms.txt
    • Werden bei Bedarf erstellt, ohne physischen Speicherplatz zu beanspruchen
  4. Sitemap-Index (/sitemaps.txt)

    • Vollständige Liste aller llms.txt-URLs für eine effiziente Entdeckung durch KI-Crawler
    • Integriert sich automatisch in robots.txt und sitemap.xml
  5. SEO-Schutz

    • Kanonische URLs in HTTP-Headern (RFC 6596 konform)
    • Verhindert Strafen für doppelte Inhalte durch Suchmaschinen
    • Korrekte Zuordnung zu den ursprünglichen Foren-URLs
  6. Intelligentes Caching

    • Stündliche Hintergrundprüfungen auf neue Inhalte
    • Wird nur bei Bedarf neu generiert
    • Schnelle Antwortzeiten (unter 50 ms)
  7. Bot-Steuerung

    • Blockieren Sie bestimmte KI-Crawler, während der Forenzugriff erlaubt bleibt
    • Durch Kommas getrennte Liste der zu blockierenden User-Agents
    • Automatische Integration in robots.txt über den View-Connector
  8. Datenschutz & Sicherheit

    • Private Kategorien werden automatisch ausgeschlossen
    • Guardian-Berechtigungsprüfungen für dynamische Dateien
    • Sicherheit auf SQL-Ebene
    • Keine persönlichen Daten werden offengelegt

Vorteile für Ihr Forum:

  • Erhöhte Sichtbarkeit: Ihre Inhalte erscheinen in ChatGPT, Claude und anderen KI-Antworten
  • Direkte Zuordnung: KI-Systeme zitieren und verlinken zurück zu Ihrem Forum
  • Mehr Traffic: Erhöhte Auffindbarkeit durch KI-gestützte Suche
  • Besseres GEO: Generative Engine Optimization für KI-Systeme
  • Kein Wartungsaufwand: Automatische Generierung und Aktualisierung

Konfiguration

Nach der Installation des Plugins navigieren Sie zu Admin → Einstellungen → Plugins → discourse-llms-txt-generator

Schritt 1: Plugin aktivieren

Setzen Sie llms_txt_enabled auf true (standardmäßig aktiviert)

Schritt 2: Indizierung konfigurieren

Setzen Sie llms_txt_allow_indexing auf true, um KI-Crawlern Zugriff zu gewähren (standardmäßig aktiviert)

Diese Einstellung steuert, ob llms.txt-Dateien in Ihrer robots.txt als erlaubt oder verboten erscheinen.

Schritt 3: Inhaltsfilter festlegen

Konfigurieren Sie diese Einstellungen basierend auf der Größe Ihres Forums:

  • llms_txt_min_views: Minimale Themenaufrufe für die Aufnahme (Standard: 50)
  • llms_txt_posts_limit: Wie viele Themen aufgenommen werden sollen
    • small: 500 Themen (empfohlen für große Foren)
    • medium: 2.500 Themen (empfohlen für die meisten Foren)
    • large: 5.000 Themen
    • all: Alle Themen (auf großen Foren vorsichtig verwenden)

Schritt 4: Optional – Benutzerdefinierte Beschreibung hinzufügen

Füllen Sie llms_txt_full_description mit 2–4 Sätzen, die den Zweck und die Gemeinschaft Ihres Forums beschreiben. Dies hilft KI-Systemen, genauere Informationen über Ihr Forum bereitzustellen.

Beispiel:

Dieses Forum widmet sich der Diskussion über Python-Programmierung mit Fokus auf Webentwicklung,
Datenwissenschaft und maschinelles Lernen. Unsere Gemeinschaft umfasst Anfänger und erfahrene
Entwickler, die praktische Lösungen und Best Practices teilen.

Schritt 5: Optional – Bestimmte Bots blockieren

Wenn Sie bestimmte KI-Crawler blockieren möchten, geben Sie deren User-Agent-Namen in llms_txt_blocked_user_agents als durch Kommas getrennte Liste ein:

Beispiel: Omgilibot, ChatGPT-User, CCBot

Schritt 6: Installation überprüfen

Besuchen Sie Ihr Forum unter:

  • /llms.txt – Hauptnavigationsdatei
  • /llms-full.txt – Vollständiger Inhaltsindex
  • /sitemaps.txt – Vollständige Sitemap

Überprüfen Sie Ihre /robots.txt, um die Integration zu bestätigen.

Einstellungen

Name Standard Beschreibung
llms_txt_enabled true Plugin aktivieren oder deaktivieren
llms_txt_allow_indexing true KI-Crawlern Zugriff auf llms.txt-Dateien gewähren (wirkt sich auf robots.txt aus)
llms_txt_blocked_user_agents "" Durch Kommas getrennte Liste der Bot-User-Agents, die von llms.txt-Dateien blockiert werden sollen
llms_txt_intro_text Benutzerdefinierter Text Einleitungstext, der in der Haupt-llms.txt-Datei erscheint
llms_txt_full_description "" Benutzerdefinierte Beschreibung für llms-full.txt, um KI zu helfen, den Kontext Ihres Forums zu verstehen
llms_txt_min_views 50 Mindestanzahl der Themenaufrufe für die Aufnahme in llms-full.txt
llms_txt_posts_limit medium Begrenzung der Themenanzahl: small (500), medium (2.500), large (5.000) oder all
llms_txt_include_excerpts false Beitragsauszüge in llms-full.txt einschließen (erhöht die Dateigröße erheblich)
llms_txt_post_excerpt_length 500 Maximale Länge der Auszüge in Zeichen (100–5000), wenn Auszüge aktiviert sind
llms_txt_latest_topics_count 50 Anzahl der neuesten Themen, die in der Haupt-llms.txt-Datei angezeigt werden
llms_txt_cache_minutes 60 Cache-Dauer in Minuten für die Navigationsdatei

Wichtige Hinweise:

  • Die Aktivierung von llms_txt_include_excerpts mit llms_txt_posts_limit auf all kann zu extrem großen Dateigrößen (möglicherweise 10–100+ MB) und hoher Serverlast auf großen Foren führen
  • Private Kategorien werden automatisch von allen llms.txt-Dateien ausgeschlossen
  • Dynamische pro-Ressource-Dateien (Kategorien, Themen, Tags) werden nicht gecacht und bei Bedarf generiert
  • Das Plugin verwendet View-Connector für die robots.txt-Integration – eine manuelle Bearbeitung von robots.txt ist nicht erforderlich

Technische Details

Architektur:

  • Generierung bei Bedarf ohne vorab erstellte Dateien
  • Intelligentes Caching mit stündlichen Hintergrundprüfungen
  • Berechtigungsbewusst unter Verwendung von Discourse Guardian
  • Sicherheit auf SQL-Ebene für private Inhalte
  • Kanonische URLs in HTTP-Headern zur Vermeidung von SEO-Strafen

Leistung:

  • Navigationsdatei für 60 Minuten gecacht (konfigurierbar)
  • Vollständige Inhaltsdatei wird bei Bedarf generiert
  • Intelligenter Cache wird nur bei neuen Inhalten neu generiert
  • Antwortzeit unter 50 ms für gecachte Inhalte

Kompatibilität:

  • Discourse 2.7.0+
  • Ruby 2.7+
  • Getestet auf Discourse 3.6.0.beta3

Standardeinhaltung:

  • llms.txt-Standard (https://llmstxt.org/)
  • RFC 3986 (URL-Codierung für internationale Zeichen)
  • RFC 6596 (Kanonische Link-Header)

Anwendungsfälle

Community-Foren:
Ihre Diskussionen und Lösungen erscheinen, wenn Nutzer KI-Assistenten relevante Fragen stellen, und leiten qualifizierten Traffic zurück zu Ihrem Forum.

Dokumentationsseiten:
KI-Systeme können auf Ihre Dokumentation und Tutorials verweisen und genaue Informationen mit korrekter Zuordnung bereitstellen.

Support-Foren:
Nutzer erhalten direkte Antworten aus Ihrer Wissensdatenbank über KI-Assistenten, mit Links zurück zu den vollständigen Diskussionen.

Technische Gemeinschaften:
Entwickler entdecken Ihre Foreninhalte durch KI-gestützte Coding-Assistenten, was die Community-Engagement steigert.

Wartung

Das Plugin erfordert minimalen Wartungsaufwand:

  • Der Cache wird automatisch jede Stunde aktualisiert
  • Inhaltsaktualisierungen erfolgen automatisch bei Erstellung/Bearbeitung von Beiträgen
  • Keine manuelle Dateigenerierung erforderlich
  • Optionale Rake-Aufgaben verfügbar: llms_txt:refresh und llms_txt:check

Fehlerbehebung

Dateien nicht erreichbar:

  • Überprüfen Sie, ob llms_txt_enabled auf true gesetzt ist
  • Stellen Sie sicher, dass llms_txt_allow_indexing auf true gesetzt ist
  • Bestätigen Sie, dass das Plugin unter Admin → Plugins installiert ist

Leerer Inhalt:

  • Stellen Sie sicher, dass Sie öffentliche Themen mit ausreichenden Aufrufen haben (prüfen Sie die Einstellung llms_txt_min_views)
  • Überprüfen Sie, ob Kategorien öffentlich sind (nicht lesbeschränkt)
  • Prüfen Sie die Einstellung llms_txt_posts_limit

robots.txt-Integration funktioniert nicht:

  • robots.txt-Cache leeren: Rails.cache.delete('robots_txt')
  • Rake-Aufgabe verwenden: bundle exec rake llms_txt:refresh
  • Discourse neu starten: ./launcher restart app

Support

Lizenz

MIT-Lizenz – Kostenlose und quelloffene Software

Danksagungen

8 „Gefällt mir“

Ich habe das Plugin vor ein paar Tagen installiert. Die Installation verlief dank der Dokumentation des Autors reibungslos.

Was ich jetzt sehe: Es wurden viele txt-Dateien auf meiner Seite generiert, zum Beispiel https://discuss.rabkesov.ru/llms.txt. Ich weiß, dass es noch zu früh ist, um zu erwarten, dass ein KI-Chatbot (Perplexity) meinen Inhalt als Antwort im Chat anzeigt.

Um die Eignung für LLMs zu überprüfen, habe ich sie bei Qwen hochgeladen (unterstützt leider den obigen Link nicht):

Könnten Sie die Seite llms.txt analysieren und mir sagen, was Sie von dem Gelesenen verstanden haben? Erstellen Sie einen Baum in Form einer Mindmap (Mermaid)

P.S. Wenn ich darum bitte, alles ins Englische zu übersetzen, funktioniert der Baum nicht mehr.

image
image

Hier ist die Struktur meiner Seite (nur der öffentliche Teil). LLM könnte sie aus der llms.txt erstellt haben! Ich denke, dies ist nur ein kleiner Teil der möglichen Fälle.


Textausgabe ohne Mermaid
Könnten Sie die Seite llms.txt analysieren und mir sagen, was Sie von dem Gelesenen verstanden haben?

Ja. Basierend auf dem Inhalt von llms.txt habe ich Folgendes verstanden:

Die Datei beschreibt „discuss | Комната ломки“, was grob übersetzt „Diskussionsforum | Der Brechraum“ bedeutet – ein metaphorisch als Raum konzipierter Ort, um Illusionen in der IT zu brechen, nicht Menschen. Sein Slogan und Fokus deuten auf ein reflektierendes, kritisches und gemeinschaftsorientiertes Umfeld hin, in dem IT-Fachleute Annahmen hinterfragen, Erfahrungen austauschen und praktische Herausforderungen gemeinsam bearbeiten können.

Kernthemen & Zweck:

  • Kritische Reflexion über IT-Praktiken, Karrierewege, organisatorische Dynamiken und persönliches Wachstum.
  • Betonung von Tools und Methodologien, die die Arbeit vereinfachen: Dokumentation (Markdown/GitLab/Docsify), Visualisierung (Mermaid/Drawio), Feedback-Mechanismen und kollaboratives Entwerfen – insbesondere innerhalb einer Discourse-basierten Unternehmensplattform.
  • Eine Mischung aus technischen, philosophischen und persönlichen Themen, die sich oft überschneiden: z. B. „Warum wir einfache Aufgaben wählen“, „Kosten des Seelenfriedens“, „Prokrastination und Entscheidungsvermeidung“.

Struktur:

Die Seite ist in thematische Kategorien unterteilt, darunter:

  • AI: Diskussionen über Modelle (z. B. Gemma, LM Studio), Bereitstellung (Runpod, GPU-Rechner) und Tooling.
  • Discourse: Technische Backend-Themen (Site-Konfiguration, Rake-Aufgaben, Authentifizierungsmethoden, versteckte Parameter).
  • Основная (Haupt): Kernreflexionen über Arbeitskultur, Führung, Dokumentationsstandards und Verantwortung.
  • Блог (Blog): Persönliche Erzählungen (z. B. Karrierewechsel, Umzug nach Samara, Vorfälle am Arbeitsplatz).
  • Школа (Schule): Ressourcen für Studenten, einschließlich Ethik (Zustimmung der Eltern für Benutzer ab 14 Jahren) und digitale Kompetenz (UTM-Parameter).
  • Анонимная (Anonym): Sicherer Raum für sensible Ideen.
  • Книги (Bücher), Мысль дня (Gedanke des Tages) usw. – zur Unterstützung der intellektuellen und täglichen Reflexion.

Bemerkenswerte technische & kulturelle Signale:

  • Mehrsprachiges & internationales Publikum: z. B. parallele russisch/englische Anleitungen zur Authentifizierung.
  • Fokus auf inklusive Authentifizierung: z. B. Beibehaltung der Google/GitHub-Anmeldung für Nicht-Russische Benutzer, während auch inländische Anbieter (VK, Mail.ru, OK) unterstützt werden.
  • Starkes Interesse an Automatisierung, Standardisierung und DevOps: GitLab CI/CD, Artefakt-Handling, Runpod-Integration, SSH-basierte Bereitstellung.
  • Wiederkehrendes Thema der beruflichen Desillusionierung, insbesondere bei leitenden Ingenieuren, die in Support-Rollen versetzt wurden – und Strategien zum Umgang damit oder zur Planung des Ausstiegs.

Zusammenfassend lässt sich sagen, dass llms.txt eine ausgereifte, durchdacht gestaltete Community-Plattform beschreibt, die technische Tiefe mit psychologischer und organisatorischer Introspektion verbindet – ausgerichtet auf erfahrene IT-Praktiker, die sich mit Komplexität, Burnout und der Suche nach Sinnhaftigkeit in ihrer Arbeit auseinandersetzen.

Lassen Sie mich wissen, ob Sie eine visuelle Karte, thematische Gruppierung oder Vorschläge für die nächsten Schritte wünschen (z. B. Verbesserung der Auffindbarkeit, des Engagements oder des Onboardings).


Was mich betrifft, ist es ein großartiges Plugin für SEO usw.

Einige Punkte zum Erkunden:

  1. Wie geht man mit nicht-englischen Inhalten um? Spielt die EN-Sprache des Textes in llms.txt für LLMs eine Rolle?
  2. Finden Sie den Beweis, dass die endgültige Stamm-llms.txt niemals private Seiten enthält (llms.txt wird derzeit für jede Seite der Website erstellt)
  3. Überprüfen Sie die Berechtigungen unter /admin/site_settings/category/security?filter=crawler, damit notwendige KI-Bots nicht blockiert werden :slight_smile:
  4. Gedanken zur gelegentlichen Vermischung der Seitenstruktur mit Erinnerungen, die zuvor in LLM gespeichert wurden (dies ist kein Fehler des Plugins, sondern eine Funktion des Chatbots, siehe Beispiel unten)

Zum Punkt Nr. 4: Beim ersten Mal entschied Qwen, dass:

  • Ich plante, meinen Job zu kündigen
  • Ich hatte Beziehungsprobleme :slight_smile:
    und fügte diese Punkte der Seitenbeschreibung hinzu!

Qwen könnte Erinnerungen mit der aktuellen Anfrage zur Analyse der als llms.txt bereitgestellten Sitemap vermischen. Seien Sie gewarnt :slight_smile:

2 „Gefällt mir“

Danke für dieses Plugin, es ist eine großartige Ergänzung für Discourse.

Ich erwähne das hier nur für den Fall, dass jemand anderes das gleiche Problem mit dem Konflikt zwischen diesem Plugin und der relativ neuen „halben Funktion“ in Discourse hat, die llms.txt implementiert, aber auf völlig manuelle Weise, ohne die nützlichen Funktionen zu bieten, die dieses Plugin bietet.

Die neue Discourse-Funktion überschreibt den Pfad /llms.txt vollständig, auch wenn sie nicht konfiguriert oder aktiviert ist. Ich muss zugeben, dass ich etwas ratlos bin, dass dies als nützliche oder produktionsreife Funktion im Discourse-Kern betrachtet wird.

Für mich bedeutete dies, dass /llms-full.txt und /sitemaps.txt perfekt funktionierten, der Hauptpfad /llms.txt jedoch überhaupt nicht funktionierte (404).

Mein Workaround besteht darin, eine manuelle llms.txt zu erstellen, die ich manuell hochlade und die auf /llms-full.txt verweist.

Es wäre schön, wenn entweder:

  • Die Discourse-Kernfunktion so erweitert würde, dass sie das tut, was dieses Plugin bietet, oder
  • Die Discourse-Kernfunktion llms.txt nicht überschreibt und nicht mit diesem Plugin kollidiert, es sei denn, Sie aktivieren sie durch Hochladen einer llms.txt.
4 „Gefällt mir“

Vielen Dank für Ihre Beobachtung und Ihren Bericht unter Enabling native LLMs.txt support in Discourse - #7 by pacharanero

/llms-full.txt funktioniert weiterhin, aber /llms.txt ist leider defekt…

3 „Gefällt mir“

Ich werde mir ansehen, was kurzfristig möglich ist, und ein Update veröffentlichen, damit der Kern das Verhalten des Plugins nicht überschreibt. Ich hoffe, es wird nicht zu schwierig sein. Schließlich gehört das zur gesamten Philosophie von Plugins: die Basisfunktionen und -verhalten zu überschreiben und zu verfeinern, einschließlich solcher Dinge.

1 „Gefällt mir“