Search by

rmsstuttgart / rms-ai-search

bigahuna

AI Search extension for TYPO3 - connect your TYPO3 to https://chat.rm-solutions.de/

Package info

github.com/rmsstuttgart/rms-ai-search-public

Type:typo3-cms-extension

pkg:composer/rmsstuttgart/rms-ai-search

Statistics

Installs: 1 384

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v2.3.0 2026-11-11 10:46 UTC

This package is auto-updated.

Last update: 2026-11-11 10:46:32 UTC


README

Versions

  • Version 2.x is only compatible with TYPO3 v13
  • Version 1.x is compatible with TYPO3 v12 and TYPO3 v13

After updating TYPO3 v12 to v13 there is an Upgrade Wizard that converts the ai-search plugins to V13 compatible integrations

Introduction

This TYPO3 extension provides AI-powered search functionality. It can connect your search to https://chat.rm-solutions.de/

For an AI-Powered search example see https://rm-solutions.de/suche/

Install

install extension with composer: composer require rmsstuttgart/rms-ai-search

Template

Include the extension template in your template (Include TypoScript sets). Then you can overwrite the extension template and settings similar to any other TYPO3 extension.

Add this to your main templates constants

plugin.tx_rmsaisearch {
    view {
        templateRootPath = EXT:your_template/Resources/Private/ext/AiSearch/Templates/
    }
}

Add the contents of

EXT:rms-ai-search/Resources/Private/Templates/Search/Search.html to EXT:your_template/Resources/Private/ext/AiSearch/Templates/Search/Search.html and modify structure and classes to match your frontend.

Be aware that some classes / ids are needed for the dynamic content creation with javascript to display the search results and links lists.

Links to static assets for custom integrations of the search form.

Replace the folder name (i.e. 2.1.1) with the version you want to use. See CHANGELOG.md for releases and details

v2.1.1

v1.1.0

v1.0.2

FAL document synchronization

The command rms-ai-search:sync-rag-documents synchronizes a configured FAL folder recursively with the RAG file API. It currently synchronizes PDF files only. It uploads new or changed PDFs and deletes remote files that no longer exist in the selected folder. A MySQL table stores the FAL file UID, relative external file ID, content hash, and most recent API result. Apply the new database schema through TYPO3's Database Analyzer before the first execution.

Configure the FAL document synchronization fields in the extension configuration:

  • FAL storage UID and folder identifier; i.e. 1 (fileadmin) and /user_upload/rm-solutions.de/_CHATBOT-AUTOSYNC/
  • RAG API URL (host, /api, or full upload URL);
  • project hash; and
  • OCR, chunking, visibility, origin, and document-language options.

The following upload options can be overridden on individual FAL file metadata records:

  • Enable OCR;
  • OCR engine (tesseract, paddleocr, or mistral_ocr);
  • Public downloadable; and
  • Document language.

Leave a file-level field set to Use global configuration to retain the matching extension setting. A changed effective file-level setting triggers an upload during the next synchronization. After upgrading to this version, previously synchronized files are uploaded once so the effective upload settings can be recorded.

The external file ID is based on the file path relative to the configured FAL folder, so it remains stable across scheduled executions. It is always limited to 255 UTF-8 characters to fit the local MySQL VARCHAR(255) field and the remote API identifier. For longer paths, a deterministic SHA-256 suffix is added to a truncated path. Existing remote files are replaced with overwriteFileByName=1 and forceRecreation=1.

JWT environment variables

Set these environment variables for the PHP process running TYPO3 and cron:

  • RMS_AI_SEARCH_JWT_SECRET — at least 32 characters;
  • RMS_AI_SEARCH_JWT_ISSUED_BY;
  • RMS_AI_SEARCH_JWT_PERMITTED_FOR; and
  • RMS_AI_SEARCH_JWT_EXPIRE_SECONDS — optional; defaults to 3600.

Do not place JWT values in extension configuration, TypoScript, the database, or committed configuration. Use DDEV's ignored local environment setup during development and deployment/hosting secret management in staging and production.

Run and schedule

Test detected changes without API calls or database writes:

ddev exec vendor/bin/typo3 rms-ai-search:sync-rag-documents --dry-run

Run the synchronization:

ddev exec vendor/bin/typo3 rms-ai-search:sync-rag-documents

Schedule it every ten minutes with a system cron job that has the same environment variables as TYPO3:

*/10 * * * * cd /path/to/project && ddev exec vendor/bin/typo3 rms-ai-search:sync-rag-documents