LAUNCH-SUB
LAUNCH-CLAWS
LAUNCH-SUB
LAUNCH-CLAWS
Wie das Docs-System funktioniert
Hinter den Kulissen
Diese Seite erklärt, wie das OpenClaw-Dokumentationssystem intern funktioniert. Sie richtet sich an Mitwirkende, die Dokumentation hinzufügen oder aktualisieren möchten, und an alle, die an der technischen Umsetzung interessiert sind.
Markdown-Dateien
Alle Dokumentation wird als Markdown-Dateien geschrieben, die im Repository unter folgendem Pfad gespeichert sind:
content/openclaw/docs/
├── en/ # Englische Dokumentation
│ ├── getting-started/
│ ├── channels/
│ ├── billing/
│ ├── advanced/
│ ├── security/
│ ├── troubleshooting/
│ └── meta/
└── de/ # Deutsche Dokumentation
├── getting-started/
├── channels/
├── billing/
├── advanced/
├── security/
├── troubleshooting/
└── meta/
Jede Dokumentationsseite existiert als zwei Dateien: eine in en/ und eine in de/. Beide Versionen müssen denselben Slug und dieselbe Kategorie haben.
YAML-Frontmatter
Jede Markdown-Datei beginnt mit einem YAML-Frontmatter-Block, der Metadaten definiert:
---
title: Seitentitel
slug: seiten-slug
category: getting-started
section: Erste Schritte
position: 3
---
| Feld | Erforderlich | Beschreibung |
|---|---|---|
| title | Ja | Anzeigetitel der Seite (lokalisiert) |
| slug | Ja | URL-Bezeichner, muss zwischen EN- und DE-Version übereinstimmen |
| category | Ja | Verzeichnisname (getting-started, channels, billing, advanced, security, troubleshooting, meta) |
| section | Ja | Anzeigename für die Kategorie (lokalisiert -- "Advanced" auf EN, "Erweitert" auf DE) |
| position | Ja | Sortierreihenfolge innerhalb der Kategorie (niedrigere Zahlen erscheinen zuerst) |
Kategorie- und Sektions-Zuordnung
| Kategorie (Verzeichnis) | Englische Sektion | Deutsche Sektion |
|---|---|---|
| getting-started | Getting Started | Erste Schritte |
| channels | Channels | Kanäle |
| billing | Billing | Abrechnung |
| advanced | Advanced | Erweitert |
| security | Security | Sicherheit |
| troubleshooting | Troubleshooting | Fehlerbehebung |
| meta | Meta | Meta |
Dokument-Sync-Prozess
Dokumentationsdateien werden über den DocumentSyncService mit der Datenbank synchronisiert. Dieser Service:
- Durchsucht das Verzeichnis
content/openclaw/docs/nach Markdown-Dateien - Parst YAML-Frontmatter aus jeder Datei
- Konvertiert den Markdown-Inhalt zu HTML
- Berechnet eine geschätzte Lesezeit
- Generiert ein Vektor-Embedding für die semantische Suche
- Speichert alles in der Tabelle
oc_document_embeddings
Der Sync-Ablauf
Markdown-Datei auf der Festplatte
→ DocumentSyncService liest die Datei
→ YAML-Frontmatter wird für Metadaten geparst
→ Markdown-Body wird zu HTML konvertiert
→ Lesezeit wird aus der Wortanzahl berechnet
→ Text wird an die Embedding-API gesendet (4096 Dimensionen)
→ Datensatz wird in oc_document_embeddings upserted
Datenbank-Felder
Jedes synchronisierte Dokument erzeugt einen Datensatz mit:
| Feld | Quelle |
|---|---|
| file_path | Relativer Pfad vom Rails-Root |
| document_type | Immer "docs" für Dokumentation |
| locale | "en" oder "de" aus dem Verzeichnispfad |
| slug | Aus dem Frontmatter |
| category | Aus dem Frontmatter |
| title | Aus dem Frontmatter |
| content_html | Markdown zu HTML konvertiert |
| readingtimeminutes | Geschätzt aus der Wortanzahl |
| embedding | 4096-dimensionaler Vektor vom EmbeddingClient |
Semantische Suche mit pgvector
Das Dokumentationssystem nutzt die pgvector-Erweiterung von PostgreSQL für semantische Suche. Wenn ein Nutzer eine Frage stellt, macht das System Folgendes:
- Konvertiert die Frage in ein Vektor-Embedding mit demselben Embedding-Modell
- Fragt die Tabelle
oc_document_embeddingsmittels Vektor-Ähnlichkeitssuche ab - Gibt die relevantesten Dokumentationsseiten zurück, sortiert nach Ähnlichkeit
Das bedeutet, dass Nutzer Dokumentation finden können, indem sie in natürlicher Sprache beschreiben, wonach sie suchen -- anstatt exakte Schlüsselwörter oder Seitentitel kennen zu müssen.
Wie sich Vektorsuche von Textsuche unterscheidet
Textsuche findet exakte oder unscharfe Wortübereinstimmungen. Eine Suche nach "Server startet nicht" würde nur Seiten finden, die genau diese Wörter enthalten.
Vektorsuche versteht Bedeutung. Eine Suche nach "Server startet nicht" würde auch Seiten über "Instanz läuft nicht" oder "Deployment fehlgeschlagen" finden, weil die Konzepte semantisch ähnlich sind.
Verlinkung zwischen Seiten
Dokumentationsseiten verlinken aufeinander im /docs/slug-Format:
Siehe die [Architekturübersicht](/docs/architecture) für weitere Details.
Der Slug in der URL muss mit dem slug-Feld im Frontmatter der Zielseite übereinstimmen. Links funktionieren sprachübergreifend -- das System löst die korrekte lokalisierte Version basierend auf der Spracheinstellung des Lesers auf.
Neue Dokumentation hinzufügen
Um eine neue Dokumentationsseite hinzuzufügen:
- Erstelle die englische Datei im entsprechenden Kategorie-Verzeichnis
- Erstelle die deutsche Datei im passenden DE-Kategorie-Verzeichnis
- Setze übereinstimmende Slugs -- Beide Dateien müssen denselben
slug-Wert haben - Wähle eine Position -- Wähle eine Nummer, die die Seite in der richtigen Sortierreihenfolge innerhalb ihrer Kategorie platziert
- Schreibe den Inhalt -- Verwende Standard-Markdown mit Überschriften, Tabellen, Codeblöcken und Listen
- Füge einen Abschnitt "Verwandte Dokumentation" hinzu -- Verlinke am Ende auf andere relevante Seiten
Dateibenennungs-Konvention
Verwende den Slug als Dateinamen mit der Endung .md:
content/openclaw/docs/en/advanced/meine-neue-seite.md
content/openclaw/docs/de/advanced/meine-neue-seite.md
Beide Dateien hätten slug: meine-neue-seite in ihrem Frontmatter.
Inhaltsrichtlinien
- Schreibe in klarer, direkter Sprache
- Verwende Überschriften zur Gliederung des Inhalts (beginne mit
##, nicht mit#) - Füge Codebeispiele ein, wo sie hilfreich sind
- Nutze Tabellen zum Vergleichen von Optionen oder Auflisten von Konfigurationen
- Beende jede Seite mit einem Abschnitt "Verwandte Dokumentation", der auf verwandte Seiten verlinkt
- Verwende keine unüberprüfbaren Behauptungen oder erfundenen Statistiken
Hinweise zur deutschen Übersetzung
Die deutsche Version sollte eine natürliche deutsche Übersetzung sein, keine wörtliche Übertragung:
- Verwende korrekte deutsche Umlaute (ä, ö, ü, ß), niemals ae, oe, ue, ss als Ersatz
- Lokalisiere die Felder
titleundsection - Behalte technische Begriffe (Docker, API, SSH) unverändert
- Übersetze Code-Kommentare, wenn sie nutzersichtbaren Text enthalten
- Verwende "du" (informell) für die Ansprache des Lesers
Dokumentation testen
Jede Dokumentationsseite hat einen zugehörigen RSpec-Test, der überprüft:
- Die Markdown-Datei existiert am erwarteten Pfad
- Das Frontmatter enthält alle erforderlichen Felder mit korrekten Werten
- Die Datei synchronisiert erfolgreich über den DocumentSyncService
- Der Datenbank-Datensatz hat das korrekte Locale, den Slug, die Kategorie und den Inhalt
Tests befinden sich in spec/services/openclaw/docs_content/ und folgen einem einheitlichen Muster für alle Dokumentationsseiten.
Verwandte Dokumentation
- Architekturübersicht -- Technische Architektur der Plattform
- Best Practices -- Empfehlungen für die effektive Nutzung von OpenClaw
Verwandte Dokumentation
Embedding/RAG-Add-on
Was das Embedding-Add-on macht Das Embedding-Add-on aktiviert Retrieval-Augmented Generation (RA...
Was ist OpenClaw?
Ein Open-Source KI-Assistent zum Selbsthosten OpenClaw ist ein Open-Source-Framework, mit dem du...
Die Web-Oberfläche nutzen
Die integrierte Web-Oberfläche Jede OpenClaw-Instanz beinhaltet eine browserbasierte Chat-Oberfl...