Contao via SSH mit KI-Agenten steuern — contao-ai-cli + contao-ai-core-bundle
Ich habe zwei Pakete veröffentlicht, die Contao 5 für KI-Agenten (z.B. Claude Code) zugänglich machen:
contao-ai-core-bundle — ein Contao-Bundle das CMS-Operationen als Symfony-Console-Commands bereitstellt: CRUD für Seiten, Artikel, Content-Elemente, News, Events, FAQs, Member, User, Files, Templates und Versionsverwaltung.
https://github.com/webwerkwien/contao-ai-core-bundle
contao-ai-cli — ein Python-CLI das sich per SSH mit der Contao-Installation verbindet und diese Commands für KI-Agenten zugänglich macht. Daneben auch direkt im Terminal nutzbar. Es kann alleine genutzt werden, hat aber mit dem obigen Paket weit mehr Funktionen.
https://github.com/webwerkwien/contao-ai-cli
Beide (KI-generierte) Pakete sind noch früh in der Entwicklung — produktiv eingesetzt habe ich sie bisher kaum, Feedback aus der Praxis ist daher sehr willkommen. Bisherige Tests haben sich vorwiegend auf Sicherheit und Code-Qualität beschränkt. Nicht in aktiven Websites nutzen. Die Anwendung ist nicht für Redakteure gedacht, für solche wird es ein Backend-Modul geben.
Ich freue mich über Erfahrungsberichte und natürlich Issues auf GitHub.
Update: contao-ai-backend-bundle ist da + neue Macro-Engine im Core
Kurzes Update zu der Pakete-Familie:
contao-ai-backend-bundle ist jetzt veröffentlicht (v0.1.0, public): https://github.com/webwerkwien/contao-ai-backend-bundle
Das ist das Backend-Modul, das ich oben angekündigt hatte — KI-Agent direkt im Contao-Backend, ohne SSH und ohne CLI. Editoren chatten im Browser mit Claude (oder GPT), der Agent kann lesen und schreiben mit denselben Permission-Checks wie ein normaler Backend-User. Jeder Backend-User trägt seinen eigenen API-Key (Anthropic oder OpenAI) ein, das Bundle bringt keinen mit.
Code:
composer require webwerkwien/contao-ai-backend-bundle
contao-ai-core-bundle ist auf v0.2.0 gewachsen — neue Macro-Commands für Bulk-Operationen:
contao:record:clone — News-Archive, Calendar, FAQ-Kategorie oder ganzen Seitenbaum mit allen Kindern in einer DB-Transaktion klonen
contao:record:list — tabellenagnostisches Listing mit Filtern, Pagination, sauberen Default-Spalten
contao-ai-cli ist auf v0.3.2 — neue bridge- und health-Befehle:
contao-ai-cli bridge rewrite --table tl_news_archive --id 5 --recursive --instructions "..." ruft die Macros direkt im Backend-Bundle über HTTPS auf, der LLM-Loop läuft serverseitig. Praktisch für „alle 50 News auf Englisch" ohne Browser-Wechsel.
contao-ai-cli health zeigt CLI-, Core- und Bridge-Stand auf einen Blick.
Auth für die Bridge läuft über einen separaten Token, den jeder Backend-User in seinem Profil generieren kann (Hash-Storage, einmaliger Klartext-Anzeige). Editoren bleiben damit im Browser-Chat, Admins/Devs bleiben im Terminal.
Status weiterhin Beta — in Produktivumgebungen weiter mit Vorsicht nutzen. Über Praxis-Feedback und GitHub-Issues freue ich mich.