
Open Source — die Bausteine, auf denen meine Plattform läuft.
Open-Source-Bausteine, die ich täglich produktiv einsetze — der AI- und Content-Intelligence-Stack für TYPO3, Infrastruktur-Extensions darunter, achtzehn Sylius-Bundles für Agentic Commerce, plus Integrationen für Dolibarr und Nextcloud. Composer-/Modul-installierbar, DDD-strukturiert, mit Tests.
Warum ich Open Source baue
Ich arbeite seit über einem Jahrzehnt mit TYPO3 — und habe in der Zeit immer wieder dieselben fehlenden Bausteine gebaut. Statt sie privat zu halten, veröffentliche ich sie. Das hat drei Effekte: meine eigenen Projekte werden gegen öffentliche Standards getestet, ich bekomme Verbesserungs-Feedback aus der Community, und meine Kunden haben ein klares Vendor-Lock-out: jede Extension läuft auch ohne mich.
collab-rte
TYPO3 14.x · PHP 8.3+ · GPL-2.0-or-later
CKEditor-5-Plugin für TYPO3-Backend, das den RTE per Yjs-CRDT live mit anderen Editoren synchronisiert. Verbindet sich mit dem Hocuspocus-Server. Early-Development.
collab-presence
TYPO3 14.x · PHP 8.3+ · GPL-2.0-or-later
Presence- und Awareness-Layer auf collab-core — Live-Cursor und Avatar-Pillen im TYPO3-Backend per SSE-Stream, deterministische Farbcodierung pro Editor. Early-Development.
collab-core
TYPO3 14.x · PHP 8.3+ · GPL-2.0-or-later
Basis-Schicht der Moselwal-Collab-Suite — JWT-Auth, Yjs-Document-Persistenz, Presence-Tracking und REST-API für Real-Time-Co-Editing im TYPO3-Backend. Early-Development (v0.1.x).
content-distribution-receiver
TYPO3 14.x · PHP 8.3+ · Coming soon
Target-Seite der Distribution-Strecke — empfängt signierte Snapshots, validiert die Signatur, mapped UUIDv7 auf den lokalen ID-Space. Coming soon.
content-distribution-source
TYPO3 14.x · PHP 8.3+ · GPL-2.0-or-later
TYPO3-zu-TYPO3-Content-Distribution — Source-Seite. Pusht signierte DAG-Snapshots aus Workspace-Publish an n downstream-Targets, mit Ed25519-Signatur und UUIDv7-Referenzen.
business-agent
TYPO3 13.4–14.0 · PHP 8.3+ · Open Source
Context-aware Conversational Agent mit RAG-Pipeline für TYPO3-Content. Access-Class-Routing (Public / Partner / Internal / Admin), MCP-Tool-Integration, einbettbares Chat-Widget.
content-intelligence
TYPO3 14.0+ · PHP 8.2+
Quality-Gates und Compliance-Tracking für KI-generierte Inhalte: AI-Readiness-Score, Brand-Voice-Konsistenz, Frische-Analyse, Audit-Trail — mit Backend-Dashboard.
ai-workflows
TYPO3 14.0+ · PHP 8.2+
Mehrstufige KI-Workflows als deklaratives YAML — mit Blocking/Resume, Expression-Resolution, austauschbaren Steps und pluggable Notifiers. Engine für alles, was nicht in eine einzelne Prompt passt.
content-provenance
TYPO3 14.0+ · PHP 8.3+
Ed25519-Signaturen für Inhalte, kryptografisch verifizierbar via /.well-known/provenance-keys. Audit-Trail-Logging und EU-AI-Act-Vorbereitung.
semantic-delivery
TYPO3 14.0+ · PHP 8.2+
Multichannel-Distribution mit Schema.org-Anreicherung. Inhalte automatisch für Web, AI Agents, Voice und Social-Media-Postings transformieren — inklusive direkter Anbindung an LinkedIn, X, Bluesky.
structured-content
TYPO3 14.0+ · PHP 8.3+
AI-Context-Annotations (Audience, Tone, Channels) cascaden durch die Page-Hierarchie und werden als JSON-LD ausgespielt — das Fundament für semantisch saubere Plattformen.
webmcp
TYPO3 13.4–14.0 · PHP 8.2+
Web Model Context Protocol Server für TYPO3 — macht Suche, Navigation und Page-Content via navigator.modelContext für KI-Agenten direkt im Browser zugänglich.
Infrastruktur — die Grundlage darunter
Drei Extensions, die nicht direkt mit AI zu tun haben, aber die Grundlage für alles bilden, was ich betreibe — vom Caching über Konfiguration bis zur Secret-Resolution.
frankenphp
TYPO3 13.4–14.x · PHP 8.3+ · GPL-2.0-or-later
TYPO3-Extension für FrankenPHP-Worker-Mode-Integration. 103 Early Hints aus dem AssetCollector, REST-basierte Cache-Invalidierung gegen Caddy/Souin, PSR-14-Auto-Invalidierung plus Backend-Modul.
cluster-file-backend
TYPO3 14.3+ · PHP 8.5+ · MIT
Clusterfähiges TYPO3-Cache-Backend ohne Shared Filesystem — Drop-in-Ersatz für FileBackend/SimpleFileBackend in Kubernetes. Metadaten zentral (DB/Redis), Payloads pod-lokal.
hocuspocus
Node 20 · TypeScript · GPL-2.0-or-later
Standalone-Node-WebSocket-Server der Moselwal-Collab-Suite — @hocuspocus/server plus Yjs plus Redis Pub/Sub für Multi-Instance-Sync. Authentifiziert sich gegen collab-core. Early-Development.
crowdsec-bridge
TYPO3 14.3+ · PHP 8.5+ · CrowdSec 1.6+ · MIT
TYPO3 14 backend module for the CrowdSec Local API. List decisions, ban and unban IPs, inspect alerts, check the LAPI heartbeat — all without container shell, with foreign-origin protection and a complete sys_log audit trail.
fa4t3
TYPO3 14.x · PHP 8.5+ · GPL-2.0-or-later
Privacy-first analytics directly in the TYPO3 backend — dashboard module, per-page analytics widget, and optional frontend script injection. No cookie banner required.
secret-resolver
TYPO3 14.0+ · PHP 8.3+
Runtime-Secret-Resolution für containerisierte TYPO3-Deployments. %secret(KEY)%-Syntax in Site-Configs, mit cascading Lookup (KEY_FILE-Env → /run/secrets/ → Env-Fallback).
typo3-config
TYPO3 11–14.0 · PHP 8.2+ · MIT-Lizenz
Fluent Configuration API mit Context-basierten Presets (Production, Development, CLI, Testing) und cascading Secret-Resolution. TLS/mTLS-Discovery, Mailer- und Logging-Helpers.
keyvalue-store
TYPO3 11.5–14.0 · PHP 8.2+ · PHPRedis 6.3+
Production-grade Redis/Valkey-Backend für TYPO3 — mit Sentinel-Support, TLS/mTLS-Verschlüsselung und distributed Locking. Caching-Framework, Sessions, KV-Storage aus einer Hand.
crowdsec-bridge
TYPO3 14.3+ · PHP 8.5+ · CrowdSec 1.6+ · MIT
TYPO3-14-Backend-Modul für die CrowdSec Local API. Decisions anzeigen, IPs sperren und entsperren, Alerts inspizieren, LAPI-Heartbeat — alles ohne Container-Shell, mit Foreign-Origin-Schutz und vollständigem sys_log-Audit-Trail.
fa4t3
TYPO3 14.x · PHP 8.5+ · GPL-2.0-or-later
Privacy-first Analytics direkt im TYPO3-Backend — Dashboard-Modul, Page-Analytics-Widget pro Seite und optionale Frontend-Script-Injection. Kein Cookie-Banner nötig.
Erweiterungen für andere Plattformen
Zwei kleinere Pakete außerhalb des TYPO3-Stacks: ein Dolibarr-Modul, das ERP/CRM mit GitLab verzahnt, und eine Nextcloud-Talk-App, die GitLab-Slash-Commands in den Chat bringt. Beide MIT-lizenziert, beide stehen ohne Service-Pitch zum Selbst-Bedienen bereit.
GitLab Commands for Nextcloud Talk
Nextcloud 30–32 · PHP 8.5+ · MIT
Nextcloud-App, die GitLab-Slash-Commands in Talk bringt: Issues, MRs, Pipelines per Chat. Per-User-Auth, AES-256-CTR-verschlüsselte Tokens, App-basierter Bot ohne externen Webhook-Server.
DoliGitlab
Dolibarr 20+ · PHP 8+ · MIT
Dolibarr-ERP/CRM-Modul mit tiefer GitLab-Integration: bidirektionale Issue/Ticket-Sync, Time Tracking, Release-Browser, Wiki-Viewer — alles benutzerbasiert zugewiesen, automatisiert per Trigger und Cron.
spec-kit-gitlab
spec-kit · MIT
GitLab-Extension für spec-kit: User Stories aus spec.md automatisch als GitLab Issues mit Labels, Milestones und Task-Verlinkungen anlegen — via glab CLI.
Agentic Commerce — die Sylius-Seite
Siebzehn Bundles, die einen Sylius-Shop für KI-Agenten benutzbar machen: Discovery, Agent-Authentifizierung und die agentischen Commerce-Protokolle. Ein Paket pro Protokoll, jedes einzeln einsetzbar — wer nur llms.txt braucht, bekommt keine Krypto-Abhängigkeiten mit. Alle MIT.
sylius-agent-ready
Sylius 2.0+ · PHP 8.2+ · MIT
Metapaket über die ganze Familie — Discovery, Agent-Authentifizierung und die Commerce-Protokolle in einem require. Registrierung der Bundles, Routen und Firewall bleiben Handarbeit.
sylius-agent-contracts
Sylius 2.0+ · PHP 8.2+ · MIT
Das Fundament: Provider-Interfaces, Registries und der kanal-bewusste Kontext. Liefert selbst keinen einzigen Endpunkt — eine Klasse, die eines der Interfaces implementiert, wird containerweit automatisch registriert.
sylius-robots-txt
Sylius 2.0+ · PHP 8.2+ · MIT
Kanal-bewusste robots.txt mit namentlich genannten AI-Crawlern und Content Signals. Eine Wildcard-Gruppe liest GPTBot nicht als Aussage über sich — also bekommt jeder Token seine eigene.
sylius-llms-txt
Sylius 2.0+ · PHP 8.2+ · MIT
llms.txt als Landkarte, nicht als Katalog. llms-full.txt ist doppelt begrenzt, hört zwischen Einträgen auf statt mitten drin und sagt, dass es aufgehört hat.
sylius-markdown
Sylius 2.0+ · PHP 8.2+ · MIT
Accept: text/markdown für die Storefront. Markdown entsteht aus Entity-Daten über ein Template, nicht aus gerendertem HTML — sonst landen Navigation, Footer und Cookie-Banner im Dokument.
sylius-api-catalog
Sylius 2.0+ · PHP 8.2+ · MIT
RFC 9727: der Katalog unter /.well-known/api-catalog und die Link-Header, die ihn bewerben. Gelistet wird, was die installierten Bundles anmelden — ohne dass das Paket sie kennt.
sylius-agent-skills
Sylius 2.0+ · PHP 8.2+ · MIT
Der Discovery-Index unter /.well-known/agent-skills/index.json. Der SHA-256-Digest wird über das tatsächlich ausgelieferte Dokument berechnet, nicht konfiguriert — sonst veraltet er bei der ersten Textänderung.
sylius-a2a
Sylius 2.0+ · PHP 8.2+ · MIT
Die Agent Card unter /.well-known/agent-card.json. Die Skills kommen aus der gemeinsamen Registry — drei Kopien von Hand zu pflegen ist der Weg, auf dem sie anfangen, sich zu widersprechen.
sylius-mcp
Sylius 2.0+ · PHP 8.2+ · MIT
Shop-Tools für den MCP-Server plus die Server Card nach SEP-1649. Ein Agent lernt Transport und Tool-Fläche, bevor er sich verbindet, statt es durch Ausprobieren herauszufinden.
sylius-webmcp
Sylius 2.0+ · PHP 8.2+ · MIT
Registriert Shop-Aktionen als WebMCP-Tools im Browser des Kunden, damit ein seitengebundener Agent auf der Seite suchen kann, die der Kunde gerade ansieht. Bewusst nur lesend.
sylius-mcp-oauth
Sylius 2.0+ · PHP 8.2+ · MIT
OAuth 2.1 mit dynamischer Client-Registrierung und verpflichtendem PKCE, dazu die RFC-8414- und RFC-9728-Metadaten. Zugriff ist delegiert, nie autonom: ein Token vertritt immer einen Administrator.
sylius-auth-md
Sylius 2.0+ · PHP 8.2+ · MIT
/auth.md, zusammengesetzt aus den installierten Authentifizierungsmethoden. Dieselben Deskriptoren speisen den agent_auth-Block der OAuth-Metadaten, damit beide nicht auseinanderdriften.
sylius-web-bot-auth
Sylius 2.0+ · PHP 8.2+ · MIT
Das Schlüssel-Verzeichnis unter /.well-known/http-message-signatures-directory. Nur die ausgehende Hälfte des Protokolls: es erlaubt anderen, Requests dieses Shops zu prüfen.
sylius-acp
Sylius 2.0+ · PHP 8.2+ · MIT
Agentic Commerce Protocol: Discovery-Dokument und ein SKU-genauer Produktfeed. Der Checkout wird standardmäßig verschwiegen — bei altersbeschränktem Sortiment muss der Abschluss dort passieren, wo das Alter geprüft werden kann.
sylius-ucp
Sylius 2.0+ · PHP 8.2+ · MIT
Das Discovery-Profil unter /.well-known/ucp. Liefert bewusst ein Superset, weil Spezifikation und Discovery-Scanner unterschiedliche Formen erwarten und beide in echten Clients vorkommen.
sylius-mpp
Sylius 2.0+ · PHP 8.2+ · MIT
Ein OpenAPI-3.1-Dokument unter /openapi.json mit x-payment-info auf bezahlbaren Operationen. Die Preise kommen aus derselben Tabelle, die x402 durchsetzt.
sylius-x402
Sylius 2.0+ · PHP 8.2+ · MIT
Beantwortet eine Datenroute mit HTTP 402 und den Zahlungsanforderungen, die ein Agent erfüllen kann. Standardmäßig aus — nie die Storefront, nie der Checkout, nie die Discovery-Dokumente.
Open Source vs. kommerzielle Erweiterung
Bis auf eine sind alle Extensions Open Source und unter freier Lizenz nutzbar. Nur business-agent-pro ist kommerziell und proprietary. Begründung: die kommerzielle Variante enthält Channel-Adapter (WhatsApp Business, Twilio-basierte Telefonie, Social-Media-APIs) mit laufenden Drittanbieter-Kosten und Verantwortung. Das war schwer als kostenfreies OSS-Produkt zu liefern, ohne die Open-Source-Variante zu verkrüppeln.
Mein Ansatz: business-agent bleibt komplett funktionsfähig, frei und produktiv einsetzbar. Wer mehr Kanäle braucht, kann die Pro-Variante dazu lizenzieren — oder sich mit meiner Hilfe selbst einen Channel-Adapter bauen.
Eine Extension trifft deinen Use Case?
Wenn du eine der Extensions selbst einsetzen willst — kostenfrei, im eigenen TYPO3, ohne Vertrag mit mir — findest du alles in der jeweiligen Doku-Seite. Wenn du Begleitung willst (Integration, Custom-Erweiterung, Betrieb), sprich mich an.
Oder direkt schreiben: mail@ole-hartwig.eu