TYPO3 extension · undkonsorten/easychat

The open-source AI chatbot for TYPO3

EasyChat puts an AI assistant on your TYPO3 website without a third-party chat platform. Conversations are stored only in your TYPO3 database. All you need is TYPO3 and an LLM endpoint.

composer require undkonsorten/easychat

TYPO3 12.4, 13.4 & 14 · PHP 8.2 – 8.5 · Symfony AI · Deep Chat · GPL

EasyChat Assistant Online · answers from this website

Conversations are stored only in this website’s TYPO3 database.

Live demo

Try the four variants


Styled or unstyled, with or without the built-in consent modal. Every variant runs on this site.

Why EasyChat

Chatbots are everywhere. At what price?


Typical SaaS chatbot

  • Conversations are processed outside your infrastructure
  • Vendor lock-in to one platform
  • Recurring fees per seat, message or month
  • No control over the model or data storage

EasyChat

  • Chats stored only in your TYPO3 database
  • 100 % open source, installed via Composer
  • No platform fees. You only pay your LLM
  • Choose any model and switch whenever you like
12 · 13 · 14 TYPO3 versions supported
8.2 – 8.5 PHP versions in CI
5 DBs SQLite, MariaDB, MySQL, PostgreSQL + Qdrant as vector DB
100 % open source on GitHub & TER

Features

Native TYPO3 from widget to backend


Content element, records, Reactions, Scheduler and Fluid. Editors and integrators work with what they already know.

Chat widget anywhere

Drop the Chatbot content element on any page and configure it in the FlexForm. Intro message, placeholder and labels are translatable.

Privacy by design

Three consent modes, a random session ID and the messages. Nothing more. A Scheduler task deletes old chats automatically.

Your model, your choice

Any OpenAI-compatible endpoint via Symfony AI. Switch provider by changing one record. The model list loads live from the provider.

Answers from your content

Retrieval-augmented generation with EXT:index and Qdrant. Pages, content records and files become the bot's knowledge. Only public content is embedded.

Backend module

Browse sessions, read full conversations, export them as CSV or delete them. Editors can remove a single session on request.

European hosting

Run it with German AI hosting such as mittwald and gpt-oss-120b, with Mistral, or with a fully self-hosted model.

Setup

Up and running in four steps


Optional: Scheduler task for cleanup · Styled template via static TypoScript · RAG with EXT:index and Qdrant. Full documentation

  1. Install

    composer require undkonsorten/easychat

  2. Configure the LLM

    Create an EasyChat configuration record with URL, API key, model and system prompt.

  3. Add a Reaction

    Create a TYPO3 Reaction of type EasyChat that points to the configuration.

  4. Place the chatbot

    Add the Chatbot content element and paste the reaction URL and secret. Done.

Proven in practice

Not a prototype. Already in production.


Privacy approved

Reviewed and approved by the data protection officers of PricewaterhouseCoopers (PwC).

In live use

EasyChat is running in production and answers real visitors' questions every day.

Support by undkonsorten

Free to use. Help when you want it.


EasyChat is open source and stays that way. If you want a partner for the project, the team that builds the extension helps you plan and run it.

Model and hosting advice

Which LLM fits your content and your privacy requirements, and where it should run: European AI hosting or your own server.

Setup and design integration

Installation, Reaction and configuration, and a chat widget styled to your corporate design.

Knowledge base and system prompt

Indexing your pages and files for RAG, and a system prompt that keeps the bot on topic and in your tone.

Roadmap

What comes next

  • Better RAG indexing for more content types (tt_content, FAQs)
  • More vector stores (PostgreSQL, Redis)
  • Answer ratings to improve the knowledge base
  • Conversation analytics in the backend