Download the PHP package undkonsorten/easychat without Composer

On this page you can find all versions of the php package undkonsorten/easychat. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package easychat

EasyChat Chatbot (TYPO3 Extension)



EasyChat is a lightweight open source chatbot for TYPO3 websites without third party chat tools.

All you need is TYPO3 and an LLM endpoint.

EasyChat is focused on privacy and data protection, since all chat conversations are only stored in your TYPO3 database.

🚀 Features


🛠️ Setup guide (4 Steps)

1. Install the TYPO3 Extension

Install the TYPO3 ChatBot Extension EasyChat via composer:

After installation a database compare is necessary (via Install Tool or TYPO3 Console) to create new tables.

2. Configure the LLM provider

Now you need to connect TYPO3 to your LLM provider via API. Create a new database record "Configuration" in TYPO3.

Then fill out the fields of the Configuration record.

The LLM Settings (URL, API key, model, system prompt) are always required. The Vector DB settings (shown here with Qdrant and EXT:index configurations) are only needed if the chatbot should answer from your own content (RAG); leave Vector db on None otherwise. See How reactions, configurations and index configurations connect.

Sample configurations for your LLM

More samples (OpenAI, mittwald, Groq, Ollama …) → Sample configurations

3. Setup the TYPO3 Reaction

A TYPO3 Reaction needs to be created. The reaction serves as a connector (aka endpoint) between the chat frontend and TYPO3.

After successfully creating the reaction you will see the following interface.

Now also copy the reaction URL (like https://my-domain.com/typo3/reaction/afce5efb-861e-4e0e-8a8b-d159f194670d). You will need it in step 4.

4. Setup the Content Element

Last but not least you need to setup a content element for the chatbot.

Hint: Use /typo3/reaction/XXXXXXXX-XXXXX instead of https://mydomain.dev/XXXXXXXX-XXXXX in order to be domain independent (on Local, Staging, Live)

✨ YOU ARE DONE!!! 👊 CONGRATULATIONS 🎉


Session storage in TYPO3

How are chat sessions stored?

Each browser session (the easychat_session_id cookie) maps to exactly one row in tx_easychat_domain_model_session. The whole conversation — the system prompt plus every question and answer — is stored in that row.

With the EasyChat backend module you can

Cleaner task: Delete old chat sessions

For data protection we recommend setting up the 🗑 cleaner task in order to delete old chat sessions.

Steps:


Extension Configuration

EasyChat has a small set of global options in the Extension Configuration (Admin Tools → Settings → Extension Configuration → easychat, or in config/system/settings.php):

Key Default Meaning
storagePid 1 Page/folder UID where chat sessions (tx_easychat_domain_model_session) are stored and read. This applies both to the chat endpoint that saves conversations and to the backend module that lists them — they always use the same value.
itemsPerPage 50 Number of sessions per page in the backend module list.

We recommend pointing storagePid at a dedicated SysFolder rather than the root page.


Knowledge base (RAG)

EasyChat can answer questions using your own TYPO3 content and files as a knowledge base instead of (or in addition to) the LLM's general knowledge, by embedding your pages/files into a vector store (like Qdrant).

The knowledge indexing itself is delegated to and configured via the TYPO3 Extension Index, a generic TYPO3 content-crawling framework. EasyChat listens to the indexer and pushes the crawled content into the vector store(s) of any matching EasyChat Configuration record.

Index can be configured to read

Quick setup

  1. composer require symfony/ai-qdrant-store
  2. Create an EXT:index configuration on your root page and the two scheduler tasks index:queue and messenger:consume.
  3. On your EasyChat configuration set Vector db to Qdrant, fill in the connection fields and select the index configuration(s).
  4. Make sure the reaction uses exactly this EasyChat configuration.

More indexer setup hints here →

How reactions, configurations and index configurations connect

Everything hangs off the EasyChat configuration record that a reaction points to:

So the Index configurations field on the EasyChat configuration is the one place that decides what a chatbot knows, and the reaction decides which configuration (and thus which knowledge base) a chatbot uses.

Multiple Chatbots

You can run multiple chatbots with different system prompts, LLMs or knowledge bases simultaneously in one TYPO3 installation.

This is especially useful for testing.


Theming & Templates

Chat Frontend: Deep Chat

EasyChat comes along with Deep Chat - an open source chat web component in the frontend.

For simplicity we integrated Deep Chat as a plain Vanilla JS web component, but it can be used with many other frameworks (e.g. React, Vue, Svelte, Angular). EasyChat is able to communicate with popular AI providers, but can also connect to your own servers - in our example with TYPO3.

DeepChat is an example implementation. Feel free to use another chatbot frontend. The default dummy template is located at

Styled version

If you want to use our suggested default styles for ChatBot & Cookie Consent you need to include the TypoScript templates in /Configuration/Styling/.

How to add your own styles 💐

You can either overlay the default template or the styled template, by setting your own template paths.

Be aware,

How to Change the texts

You can edit some of the content directly in the frontend.

You can override texts used in the template via locallang.xml or via TypoScript.


Development & testing

Tests and code checks run in containers via Build/Scripts/runTests.sh (docker or podman), no local PHP needed.

→ See Documentation/Development-and-Testing.md for all commands, Composer scripts and CI details.


Credits

🙏 This TYPO3 Extension was built by the Berlin-based digital agency undkonsorten.


License

GNU General Public License, version 2


Upgrading

From 0.1.x to 0.2.0


Planned Features

To Do

Implemented


Contact

Any more ideas, questions, suggestions? Feel free to 📧 contact us.

Contact us via our website, GitHub or TYPO3 Slack.


All versions of easychat with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
symfony/ai-chat Version ^0.1
symfony/ai-generic-platform Version ^0.1
symfony/ai-store Version ^0.1
typo3/cms-backend Version ^12.4 || ^13.4
typo3/cms-core Version ^12.4 || ^13.4
typo3/cms-extbase Version ^12.4 || ^13.4
typo3/cms-install Version ^12.4 || ^13.4
typo3/cms-reactions Version ^12.4 || ^13.4
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package undkonsorten/easychat contains the following files

Loading the files please wait ...