Konsole + öffentliche Website
Zwei Orte, an denen Letaido seine Ergebnisse ablegt: einer für dein Team, einer für alle anderen.

1. Die Konsole (intern)
Die Console ist eine Web-App nur für Mitglieder, in der Letaido interne Tools bereitstellt. Stell sie dir als private Dashboard-Oberfläche für dein Team vor.
- Nur für Workspace-Mitglieder erreichbar. Anonyme Besucher sehen eine Login-Wand.
- Die App liest die Identität aus Auth-Headern, sodass jede Seite weiß, wer sie ansieht (Eigentümer, Admin, Mitglied, Betrachter).
- Datenbankzugriff: Vollständiger Lese-/Schreibzugriff auf
console_dbundconsole_site_db. Kein Zugriff aufsite_db.
Erstelle eine Konsolen-Seite, wenn:
- Die Ausgabe ist nur für dein Team bestimmt.
- Sie muss interne Daten abfragen, Connectors aufrufen oder Steuerelemente anzeigen.
- Kunden sollten sie niemals sehen.
Berichte, Anwendungen, Artefakte
Alles, was Letaido in der Console erstellt, fällt in eine von drei Kategorien. Die Startseite der Console hat einen Tab für jede Kategorie (Reports, Applications, Artifacts) sowie einen Home-Tab, der alles zusammen auflistet, neueste zuerst, mit der Kategorie als Tag neben dem Titel.

| Bucket | Was es ist | Was dein Team damit macht | Beispiele |
|---|---|---|---|
| Reports | Diagramme, Tabellen und gefilterte Datenansichten | Öffnen, Zahlen lesen, filtern, verlassen | Ahrefs Brand Authority, AI Visibility, Rank Monitor |
| Applications | Mehrseitige Tools und komplexe Workflows | Eingabe einfügen, Pipeline ausführen, Ausgabe erhalten, zu früheren Durchläufen zurückkehren | Battlecard Generator, AI Visibility Dashboard, Paid Ads Campaign Builder |
| Artifacts | Einmalige Elemente: ein Diagramm, eine Tabelle, ein Text-Snippet | Kurz ansehen, kopieren, teilen, weitermachen | E-Mail-Vorschau, Homepage-Block, AEO 101-Abschnitt, Ahrefs Feature Library |
Berichte
Ein Report ist etwas, das du öffnest, um den Zustand von etwas anzusehen. Der Wert liegt in den angezeigten Daten; die Hauptinteraktion ist das Lesen oder Filtern. Reports werden nach einem Zeitplan oder auf Anfrage aus ihren Datenquellen aktualisiert. Sie befinden sich unter /reports/<slug>/.
Frage nach einem Report, wenn die Antwort auf „Warum gibt es das?" lautet: „Damit wir X auf einen Blick sehen können" (den Status unserer Rankings, den Share of Voice dieser Woche, das Brand-Authority-Delta dieses Monats).
Anwendungen
Eine Application ist etwas, das du verwendest, um zu arbeiten. Der Wert liegt im Workflow; die Hauptinteraktion besteht darin, zu erstellen, zu bearbeiten oder zu produzieren. Applications nehmen Eingaben entgegen, führen mehrstufige Pipelines aus, speichern Ergebnisse und ermöglichen es deinem Team, zu früheren Durchläufen zurückzukehren. Sie befinden sich unter /applications/<slug>/.
Frage nach einer Anwendung, wenn die Antwort auf „Warum gibt es das?" lautet: „Damit wir X wiederholt durchführen können, ohne den Workflow jedes Mal neu aufbauen zu müssen" (ein Battlecard erstellen, ein Kampagnen-Briefing durchführen, einen Text produzieren).
Artefakte
Ein Artefakt ist ein einzelnes Ausgabeelement, das du einmal ablegst und später referenzierst. Es ist klein, in sich geschlossen und nicht wert, in eine vollständige App oder einen Bericht verpackt zu werden. Artefakte befinden sich unter /artifacts/<slug>/.
Frage nach einem Artifact, wenn die Antwort auf „Warum gibt es das?" lautet: „Damit das Team einen Ort hat, um es sich anzusehen" (eine Homepage-Block-Vorschau, die E-Mail dieser Woche, eine Feature-Bibliothek, ein One-Pager für den Vertrieb).
Nicht sicher, welches du möchtest?
Beschreibe das Ergebnis und der Agent wählt den richtigen Bereich aus.
- „Zeig mir die wöchentliche Markenautorität nach Konkurrent." → Report.
- „Erstelle mir ein Tool, in das ich eine Konkurrenz-URL einfüge und eine Battlecard zurückbekomme." → Application.
- „Generiere eine Vorschau des Newsletters der nächsten Woche." → Artifact.
2. Die öffentliche Website (extern)
Die öffentliche Website ist der Teil deines Workspace, den das offene Internet erreichen kann, vollständig isoliert von der Konsole, die dein Team verwendet. Sie existiert, um Inhalte für Personen außerhalb deines Workspace bereitzustellen.
- URL-Muster:
/<route>für alles. Konventionelle Muster:/u/<token>für einmalig geteilte Reports,/r2s/<token>für überprüfte Durchläufe,/docs/<slug>für diese Dokumentation. - Die Sichtbarkeit wird durch einen Workspace-weiten Schalter gesteuert (siehe Modi unten).
- Datenbankzugriff: Lese-/Schreibzugriff auf
site_db(gehört ihm). Lese-/Schreibzugriff aufconsole_site_db. Kein Zugriff aufconsole_db.
Erstelle eine öffentliche Website-Seite, wenn: - Ein Kunde, Interessent oder anonymer Besucher etwas sehen muss. - Du eine teilbare URL außerhalb von E-Mail oder Slack möchtest. - Die Daten bereits generiert wurden (in der Console oder durch einen Job) und du sie nur bereitstellst.
Drei Modi für die öffentliche Website
Die öffentliche Website hat drei Zustände, die von einem Inhaber oder Admin über die Workspace-Benutzeroberfläche umgeschaltet werden. Der Agent selbst kann diese nicht ändern.
- off: nginx gibt für alle einen 403-Fehler zurück. Der Flask-Prozess läuft weiterhin; kein Traffic erreicht ihn.
- authorized: Workspace-Mitglieder und explizit eingeladene Gäste können es ansehen. Gut für die Überprüfung vor einem Launch.
- open: jeder mit der URL kann es ansehen. Behandle jeden Besucher als nicht vertrauenswürdig.
Wenn der Modus open ist, wendet der Agent zusätzliche Standardeinstellungen an: Pydantic-Validierung bei jeder Besuchereingabe, keine Connector-Aufrufe pro Besucher (stattdessen Cache in site_db), separate Connector-Genehmigungen für die Website-Oberfläche, und sichtbare Ausgaben werden vor der Speicherung bereinigt.
Cross-Surface-Kommunikation
Die Konsole und die öffentliche Website laufen in unterschiedlichen Prozessen. Sie können trotzdem zusammenarbeiten, aber nur über einen expliziten Kanal: die console_site_db-Datenbank.
- Die Konsole schreibt Daten (einen Bericht, eine Zusammenfassung, ein Artefakt) in eine Tabelle.
- Die öffentliche Website liest diese Tabelle und rendert sie unter einer Token-geschützten URL.
- Die Website kann Interaktionssignale zurückschreiben (z. B. „der Besucher hat durchgeklickt"), die die Konsole liest.
Der Agent versucht NICHT, eine Console-Abfrage über eine öffentliche Route zu leiten. Das REVOKE erfolgt auf Datenbankebene; es würde ohnehin fehlschlagen und wäre auch das falsche Design.