Contao mit KI-Agenten steuern.
Quelloffen · Contao 5.3 bis 6.0
Contao bekommt eine Befehlsebene — 140 Befehle für Seiten, Artikel, Dateien, Formulare, Layouts, Benutzer, Einstellungen und mehr, wo es bisher weder CLI noch API gab. Darauf setzen zwei Wege auf, die einen KI-Agenten anschließen: über SSH oder direkt im Backend. Und jeder Schreibvorgang hinterlässt Version, Undo und einen Logeintrag — genau das, was ein Klick im Backend auch hinterlässt.
Andere Systeme haben beides. Contao hatte keins davon.
Die fehlende Ebene
Wer aus WordPress oder Drupal kommt, vermisst in Contao zwei Dinge sofort: eine Befehlszeile für Inhalte und eine Schnittstelle, die von außen erreichbar ist. vendor/bin/contao-console migriert, sichert und legt Benutzer an — an eine Seite oder ein Inhaltselement kommt sie nicht heran.
| System | Befehlszeile für Inhalte | Schnittstelle ab Werk |
|---|---|---|
| WordPress | WP-CLI · wp post create | REST-API, seit 4.7 (2016) |
| Drupal | Drush · entity:create | JSON:API, seit 8.7 (2019) |
| Shopware 6 | keine — bin/console ist Wartung | Admin-API |
| Contao 5 und 6.0 | keine — 19 Befehle, keiner für Inhalte | keine |
| Contao 6.1 (ab 2027) | keine | REST-API und MCP, experimentell |
| Contao mit ConpAI | 140 Befehle, systemweit | JSON rein, JSON raus |
- contao:page:update
- contao:content:create
- contao:news:read
- contao:file:meta
- contao:form-field:create
- contao:version:restore
- und 117 weitere
38 Bereiche — Seiten, Artikel, Inhaltselemente, News, Termine, FAQ, Dateien, Layouts, Themes, Module, Formulare, Newsletter, Mitglieder und Rechte, Bildgrößen, Versionen. Davon hängen 36 Befehle an den optionalen Contao-Bundles; auf einer Installation ohne sie sind 104 aktiv.
Und das ohne jedes Sprachmodell
Der ConpAI-Kern ist eine reine Befehlsebene — bedienbar aus einem Shell-Skript, einem Deployment oder von Hand. Die KI kommt erst mit den beiden anderen Paketen dazu — und auch sie hält sich an Contaos Regeln: dieselben Prüfungen wie im Backend, und im Backend-Bundle die Rechte des angemeldeten Benutzers.
Drei Pakete, eine Ausführungsschicht
Die Familie
Der Kern führt aus, die CLI bringt den Agenten über SSH dazu, das Backend-Bundle holt ihn ins Backend. Nutze Kern oder CLI allein oder beide zusammen — und hol mit dem Backend-Bundle noch mehr heraus.
contao-ai-cli
Weg über SSH
Python-CLI, die Contaos Console-Commands über SSH an einen KI-Agenten reicht — ohne zusätzliche Schnittstelle im Contao.
contao-ai-cli
Installiere contao-ai-cli lokal auf deinem Rechner. Es verbindet deinen Agenten mit einer Contao-Installation. Voraussetzung ist nur SSH auf dem Server. Mit den beiden Bundles erhältst du den vollen Funktionsumfang.
Was es ausmacht
- Eine benannte Sitzung je Installation
- Keine REST-Schnittstelle, kein zusätzlicher Endpunkt
- Installation über pipx auf deinem Rechner
- Benötigt Python ab 3.10
contao-ai-core-bundle
Ausführungsschicht
140 Console-Commands für Lesen und Schreiben — über Contaos Model-Layer, nicht an ihm vorbei. Beide Wege setzen darauf auf.
contao-ai-core-bundle
Die Befehlsebene selbst, ohne jedes Sprachmodell. Die Befehle nutzen Contaos eigene Models, damit Hooks und DCA-Callbacks greifen und serialisierte Felder heil bleiben; Schreibvorgänge entwerten den Seiten-Cache selbst.
Was es ausmacht
- Hooks und DCA-Callbacks bleiben aktiv
- Version, Undo und Systemlog bei jedem Schreibvorgang
- Contao 5.3 bis 6.0, PHP ab 8.2
contao-ai-backend-bundle
Weg über den Browser
Backend-Modul mit KI-Agent direkt in Contao — für Redakteure und Admins ohne SSH-Zugang.
contao-ai-backend-bundle
Der Agent sitzt als Modul im Backend und arbeitet mit denselben Befehlen wie der Weg über SSH. Wer nie eine Kommandozeile geöffnet hat, merkt davon nichts.
Was es ausmacht
- Kein SSH, keine Kommandozeile
- Auf Basis von symfony/ai
- Setzt das core-bundle voraus
- Contao 5.7 bis 6.0, PHP ab 8.2
Ein Agent, der Spuren hinterlässt
Das P in ConpAI
Ein Agent, der still an der Datenbank vorbeiarbeitet, nimmt dir die Nachvollziehbarkeit, für die es ein CMS gibt. Deshalb geht hier jeder Schreibvorgang denselben Weg wie ein Klick im Backend.
Rohes SQL kann das alles nicht. Genau deshalb gibt es diese Pakete.
tl_version
Jede Änderung wird versioniert — im Backend einsehbar und wiederherstellbar, mit dem Benutzer, unter dem sie lief.
tl_undo
Gelöschtes landet im Papierkorb statt im Nichts — genau wie bei einem Klick im Backend.
Systemlog
Eine Zeile je Vorgang. Wer später fragt, was hier passiert ist, findet eine Antwort statt einer Lücke.