Wie kann ich Discourse über eine API zugänglich machen?

Ich bin ein absoluter Anfänger. Ich brauche Hilfe. Wie kann ich über eine API auf Discourse zugreifen?

Erstellen Sie zuerst einen API-Schlüssel, indem Sie zu Admin > Erweitert > API-Schlüssel navigieren, auf Neuen API-Schlüssel klicken und dessen Details konfigurieren. Anschließend verwenden Sie den generierten API-Schlüssel und den Benutzernamen des Benutzers, für den er erstellt wurde, in den Headern Api-Key und Api-Username Ihrer API-Anfragen. @Enit

@Enit Hallo, könnten Sie das näher erläutern? Beziehen Sie sich auf die Gewährung des Zugriffs auf ein privates Forum über die API oder auf etwas anderes?

Danke!

1 „Gefällt mir“

Wir bauen ein KI-gestütztes Speichersystem, bei dem mehrere KI-Agenten (DeepSeek, Claude, ChatGPT usw.) mit unserem Discourse-Forum als gemeinsam genutzter Wissensbasis interagieren.

Aktuelle Einrichtung:

  • Selbst gehostetes Discourse (neueste stabile Version)
  • VPS: Ubuntu 22.04, Docker-basierte Installation
  • Admin-Benutzer: adminjozsi
  • KI-Agenten-Benutzer: grokenit (erstellt durch E-Mail-Einladung)

Das Problem

Wir haben häufige Probleme mit der Ungültigkeit von API-Schlüsseln:

  1. API-Schlüssel laufen unerwartet ab, auch wenn sie auf eine Gültigkeit von „1 Jahr“ eingestellt sind
  2. „Ungültiger API“-Fehler treten zufällig auf und erfordern die Generierung neuer Schlüssel
  3. Schlüssel, die gestern funktionierten, schlagen heute plötzlich fehl, ohne dass Änderungen an der Konfiguration vorgenommen wurden
  4. Fehler: {"errors":["Invalid API key"]} bei POST-Anfragen an /posts.json

Was wir versucht haben

:white_check_mark: API-Schlüssel auf Benutzerebene (statt global)

  • Beschreibung: „Grok – Benutzer-API-Schlüssel – adminjozsi“
  • Benutzerebene: „Einzelner Benutzer“ → adminjozsi
  • Geltungsbereich: Global

:white_check_mark: Anpassung der Ratenbegrenzung:

  • „Rate limit new user create post“ auf 0 gesetzt
  • Alle Ratenbegrenzungen für neue Benutzer erhöht

:white_check_mark: Mehrere Neuerstellungen:

  • Über 5 API-Schlüssel in der letzten Woche generiert
  • Jeder funktioniert zunächst, schlägt dann aber innerhalb von 24-48 Stunden fehl

Fragen

1. Warum laufen API-Schlüssel trotz 1-Jahres-Einstellung ab?

Gibt es einen versteckten Ablaufmechanismus, den wir übersehen? Serverprotokolle zeigen keine Widerrufsereignisse.

2. Können zwei verschiedene API-Schlüssel denselben Api-Username-Header teilen?

Unsere Architekturidee:

  • API-Schlüssel Nr. 1 → Wird vom menschlichen Administrator (mir) für manuelle Vorgänge verwendet
  • API-Schlüssel Nr. 2 → Wird vom KI-Agenten (DeepSeek) für automatisierte Beiträge verwendet
  • Beide Schlüssel → Derselbe Api-Username: adminjozsi-Header

Frage: Wird Discourse dies korrekt behandeln oder erwartet es 1 Schlüssel = 1 Benutzer?

3. Sollten wir für jeden KI-Agenten separate Benutzer erstellen?

Alternativer Ansatz:

  • Benutzer adminjozsi → menschlicher Administrator (ich)
  • Benutzer grokenit → KI-Agent Nr. 1 (DeepSeek)
  • Benutzer claude-ai → KI-Agent Nr. 2 (Claude)
  • Jeder mit seinem eigenen API-Schlüssel

Bedenken:

  • Benötigen KI-Agenten-Konten Anpassungen des Vertrauensniveaus?
  • Führt dies zu Problemen mit der Ratenbegrenzung?
  • Ist dies das empfohlene Muster für Bot-/Agentenintegrationen?

4. Gibt es Best Practices für API-Stabilität für Headless-/automatisierte Nutzung?

Wir benötigen eine felsenfeste API-Authentifizierung, weil:

  • KI-Agenten laufen rund um die Uhr ohne menschliche Aufsicht
  • Fehlgeschlagene Beiträge = verlorene Daten in unserem Speichersystem
  • Die Neuerstellung von Schlüsseln erfordert manuelle Eingriffe

Technische Details

API-Anfrageformat:

curl -X POST "https://www.enit.hu/posts.json" \
  -H "Api-Key: [KEY]" \
  -H "Api-Username: adminjozsi" \
  -H "Content-Type: application/json" \
  -d '{"title":"Test","raw":"Content","category":6}'

Funktioniert zunächst: :white_check_mark: Gibt {"id":123,"topic_id":45,...} zurück
24-48h später: :cross_mark: Gibt {"errors":["Invalid API key"]} zurück

Serverumgebung:

  • Discourse-Version: 3.6.0.beta2-latest (f26f894bfc)
  • Docker-basierte Installation
  • Kein Reverse Proxy (direktes HTTPS über Let’s Encrypt)
  • Keine CDN- oder Caching-Schicht

Was wir brauchen

Ideale Lösung:

  1. Stabile API-Schlüssel, die nicht unerwartet ablaufen
  2. Klare Anleitung zur Multi-Agenten-Architektur (1 Schlüssel vs. mehrere Schlüssel)
  3. Debugging-Tipps für „Ungültige API“-Fehler, wenn Schlüssel gültig sein sollten

Jede Erkenntnis wäre sehr willkommen! Dies ist ein kritischer Blocker für unser KI-Integrationsprojekt.

Forum-URL: https://www.enit.hu
Gerne stellen wir weitere Protokolle/Details zur Verfügung!

Ich habe das gemacht. Die API funktioniert ein paar Stunden lang und hört dann auf zu funktionieren.

Mein Name ist József, ich komme aus Ungarn und arbeite im Schichtdienst in einer Fabrik.
Ich bin kein Entwickler oder IT-Experte, sondern versuche nur, etwas Nützliches für mich selbst zu bauen – ein kleines System, um meine Arbeits- und privaten Notizen in Ordnung zu halten.

Ich habe Discourse auf meinem eigenen VPS installiert, weil ich es wie ein privates Tagebuch oder ein Gedächtnistool verwenden wollte.
Es ist nicht öffentlich, niemand sonst benutzt es, es ist nur für mich.
Ich benutze es zusammen mit einigen KI-Assistenten (wie ChatGPT oder Claude), um kurze Einträge über tägliche Arbeit, Landwirtschaft oder Familienerinnerungen zu schreiben und zu organisieren.
Es hilft mir, Fabrikabläufe zu erinnern, kleine Projekte zu verfolgen und die Dinge an einem Ort zu organisieren.

Jedes Mal, wenn ich einen API-Schlüssel im Admin-Panel erstelle, funktioniert er nur wenige Stunden.
Dann hört er plötzlich auf zu funktionieren und meldet „Ungültiger API-Schlüssel“.
Ich muss einen neuen erstellen, was mein Setup unterbricht.
Das ist in einer Woche schon mehrmals passiert.

Benutzerebene API-Schlüssel (nicht global)

Ratenbegrenzungen auf 450 gesetzt

Protokolle überprüft

Verschiedene Einstellungen ausprobiert

Nichts hilft – der Schlüssel wird nach ein paar Stunden immer noch ungültig.

Gibt es eine Möglichkeit, einen API-Schlüssel zu erstellen, der nicht automatisch abläuft?
Oder vielleicht eine bessere Authentifizierungsmethode für ein Single-User-Setup?

Dieses Discourse-Setup könnte mir wirklich helfen, sowohl mein Berufs- als auch mein Privatleben zu managen.
Es ist ein privates System, auf meinem eigenen Server, ohne öffentliche Benutzer – nur ich.
Wenn dieses API-Problem behoben werden kann, glaube ich, dass andere Discourse auch auf diese Weise nutzen könnten, nicht nur für Foren, sondern auch als persönliches Gedächtnissystem.

Technische Details

  • Domain: https://www.enit.hu

  • Version: Discourse 3.6.0.beta2-latest

  • Setup: Docker auf Ubuntu 22.04 LTS

  • VPS: RackForest (2GB RAM)

  • Benutzer: Einzelner Administrator (adminjozsi)

  • Warum wird der Schlüssel ungültig?

  • Gibt es eine versteckte Ablauf-Einstellung?

  • Wie kann ich ihn stabil machen?

Ich schätze jede Hilfe, die Sie geben können.
Wenn ich eine funktionierende Lösung finde, werde ich gerne eine kurze Anleitung schreiben, damit andere in ähnlichen Situationen sie auch nutzen können.

Vielen Dank nochmals,
József Tomkó
https://www.enit.hu