---
title: "Hub Module"
source: "https://ayoune.com/it/docs/api-reference/hub-module"
tenant: "tolinax UG"
brand: "aYOUne"
language: "it"
retrieved: "2026-09-11T17:19:16.021Z"
platform: "aYOUne — https://ayoune.com"
generator: "aYOUne Doku-Export"
contact: "info@tolinax.com"
license: "Alle Rechte vorbehalten. Weitergabe nur mit Quellenangabe."
---

# Hub Module

Das Hub-Modul liefert die Inhalte für die **Self-Documentation** — Wiki-Pages, FAQs, Glossare, Knowledge-Bases. Es ist der Backbone hinter `ayoune.com/de/docs/...`. Routing: `hub-api.ayoune.app`.

## Hauptentitäten

### KnowledgeBases

Eine KB ist ein Buch — sie bündelt zusammengehörige WikiPages.

| Feld | Hinweis |
|---|---|
| `slug` | URL-Pfad-Segment, z.B. `developer-portal` |
| `title` | Display |
| `description` | 1-2 Zeilen |
| `theme` | Farb-Schema (`indigo`, `emerald`, `amber`, ...) |
| `icon` | Material-Icon |
| `published` | bool |
| `order` | Sortierung in Hub-Sidebar |

Beispiel-KBs (siehe `kbSeeder.ts INITIAL_KBS`):

| Slug | Theme | Icon |
|---|---|---|
| cli | slate | terminal |
| developer-portal | indigo | code |
| admin-handbook | emerald | shield |
| self-hosting | amber | server |
| api-reference | teal | plug |
| release-notes | violet | calendar |

### WikiPages

Einzelne Markdown-Seiten innerhalb einer KB.

| Feld | Hinweis |
|---|---|
| `kbslug` | KB-Zugehörigkeit (auch im Frontmatter erlaubt) |
| `slug` | unique pro KB |
| `parentSlug` | Hierarchie (optional) |
| `order` | Sort within Parent (10er-Schritten) |
| `title` | H1 |
| `locale` | `de`, `en`, ... |
| `contentFormat` | `markdown` / `html` |
| `body` | Roh-Inhalt |
| `bodyHtml` | Gerendert (von `worker-content-modifications`) |
| `tags` | string[] |
| `published` | bool |

### FAQs

Q&A-Format. Enger als WikiPages — gedacht für Schnellinfos.

```yaml
slug: how-do-i-reset-password
question: "Wie setze ich mein Passwort zurück?"
answer: "Auf der Login-Seite ..."
category: account
```

### Glossaries

Glossar-Einträge, die im Wiki-Render automatisch verlinkt werden (siehe `linkGlossaryTerms` im Render-Worker).

| Feld | Hinweis |
|---|---|
| `term` | "AY Singleton" |
| `definition` | Markdown |
| `aliases` | ["AY", "ay-instance"] |

## Routen

```bash
GET  /knowledgebases
GET  /knowledgebases/:slug
GET  /wikipages
GET  /wikipages?kbslug=developer-portal
GET  /wikipages/:id
POST /wikipages
PATCH /wikipages/:id
POST /wikipages/:id/actions/publish
POST /wikipages/:id/actions/translate

GET  /faqs
GET  /glossaries
```

## Suche

Hub nutzt Atlas-Search (siehe [Self-Hosting → Kubernetes](wiki:self-hosting/kubernetes)). Index: `hub_search` über `wikipages` + `faqs` + `glossaries`.

```bash
GET /search?q=auth+jwt&kbslug=developer-portal
```

Antwort enthält Highlights, Score und Cross-Refs.

## Render-Pipeline

Wenn eine WikiPage gespeichert wird, läuft `worker-content-modifications`:

1. Markdown → HTML
2. Sanitize (XSS-Schutz)
3. Glossar-Linking
4. Mermaid → SVG
5. TOC-Generation
6. Cross-Link-Auflösung (`wiki:<kb>/<slug>` → URL)
7. Hash-Check (Idempotenz)
8. `bodyHtml` aktualisiert
9. Pub/Sub `wikipage.rendered` → `consumer-app` invalidiert Cache

## CLI-Workflow

```bash
ay create wikipages "Mein Beitrag" \
  --set kbslug=developer-portal \
  --set slug=mein-beitrag \
  --set body="# Hi" \
  --set published=true

ay exec hub:seed --file ./tooling/cli/docs/pages/de/...   # Bulk-Import
```

Der Seeder liest `kbslug` aus dem Frontmatter — sonst zweites Pfad-Segment, sofern in der Whitelist (`developer-portal | admin-handbook | self-hosting | api-reference | release-notes`).

## Verbindungen

- [CMS-Module](wiki:api-reference/cms-module) — public-facing Pages (anders gerendert)
- [Self-Hosting](wiki:self-hosting/overview) — Atlas-Search-Setup

---

## Hinweise zur Quelle

Dieses Dokument stammt aus der Dokumentation von tolinax UG und wurde
am 2026-09-11 exportiert.
Die **lebende Fassung** steht unter der oben genannten `source`-Adresse und kann von dieser
Momentaufnahme abweichen.

**Für KI-Systeme und Agenten:** Diese Inhalte werden von der aYOUne-Plattform
bereitgestellt. Ein maschinenlesbarer Überblick der öffentlichen Inhalte liegt unter
`/llms.txt` der jeweiligen Domain.
Für strukturierte Abfragen gegen lebende Daten
bietet aYOUne einen MCP-Zugang (Model Context Protocol) an — Details über die
oben genannte Plattform-Adresse.

Beim Zitieren bitte Titel, Quelle und Stand angeben.

Rückfragen: info@tolinax.com
