PHPackages                             autodudes/ai-suite - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. autodudes/ai-suite

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

autodudes/ai-suite
==================

AI Suite - Powerful, GDPR-compliant AI directly in the TYPO3 backend. Generate and manage image and page metadata, translate content (including "Easy Language"), create and refine copy, and much more, both as single actions and in bulk. Built for agencies, freelancers and editorial teams who want to ship faster.

14.3.0(4w ago)715.2k↓24.1%7[4 issues](https://github.com/autodudesde/ai-suite/issues)[2 PRs](https://github.com/autodudesde/ai-suite/pulls)2GPL-2.0-or-laterPHPPHP ^8.2

Since Mar 13Pushed 2mo ago3 watchersCompare

[ Source](https://github.com/autodudesde/ai-suite)[ Packagist](https://packagist.org/packages/autodudes/ai-suite)[ Docs](https://www.autodudes.de)[ RSS](/packages/autodudes-ai-suite/feed)WikiDiscussions main-v14 Synced 2w ago

READMEChangelog (10)Dependencies (149)Versions (94)Used By (2)

TYPO3 AI Suite
==============

[](#typo3-ai-suite)

The AI Suite optimizes the workflow of project managers, agencies and freelancers by using the latest AI technologies. It seamlessly integrates a wide variety of AI providers and the AutoDudes open-source models directly into the TYPO3 backend, so editors generate, translate and optimize content without ever leaving TYPO3.

It covers the everyday editorial chores that scale badly by hand: image and page metadata (single records and in bulk), content translation (including **Easy Language** for accessible copy), content creation and rewriting, AI image generation, and whole page-tree generation. Long-running jobs run asynchronously through the built-in **TaskEngine**, and access is gated per feature and per AI model through TYPO3 backend-group permissions.

> 💬 Join us on Slack: [\#ai-suite on TYPO3 Slack](https://typo3.slack.com/archives/C05QAN1KNVD) to follow development, raise issues or shape the roadmap.

> **Version-agnostic README.** AI Suite is maintained as parallel branches for the actively supported TYPO3 majors. This file intentionally avoids hardcoded version numbers so it down-merges unchanged. For the exact supported TYPO3 and PHP versions of the branch you are on, read `composer.json` (`require`) and `ext_emconf.php` (`constraints.depends`).

What you can do with it
-----------------------

[](#what-you-can-do-with-it)

- 🏷️ **Generate page metadata** (SEO title, description, keywords, Open Graph / Twitter cards) for a single page or in bulk over a whole page subtree.
- 🖼️ **Generate file metadata** (alternative text, title, description) for images, single file or for every file in a folder. Optionally auto-generate on upload.
- ✍️ **Create &amp; optimize content** straight in the page module: full content elements from a prompt, plus rewrite / shorten / simplify on existing copy.
- 🌍 **Translate anything** single records, whole pages, file metadata or list selections, with DeepL glossary sync and FlexForm field translation. Includes **Easy Language** rewrites for accessible content.
- 🧱 **Generate complete page trees** from a single prompt, with page metadata and content inside the new pages.
- 🎨 **Generate AI images** straight into FAL, ready to be referenced as a real `sys_file`.
- 📰 **Generate news records** (when EXT:news is present) via dedicated field controls.
- 🧠 **CKEditor AI plugins** an AI assistant and an Easy Language assistant right inside the RTE.
- 🧩 **Reusable prompt templates &amp; global instructions** capture house style once and apply it to every generation.
- ⏱️ **Background processing via TaskEngine** long-running batches get an async task; results come back as suggestions you review and apply.
- ⚙️ **WorkflowManager** run mass actions (bulk metadata / translation) across many records at once.
- 🖥️ **CLI &amp; Scheduler** kick off and process workflows headless for fully automated pipelines.
- 🔐 **Per-feature and per-model permissions** every capability and every AI model is gated by TYPO3 backend-group flags.

AI capabilities &amp; available models
--------------------------------------

[](#ai-capabilities--available-models)

The set of models offered to a given backend user depends on the AI-model permissions configured on their backend group (see [Backend-group permissions](#backend-group-permissions)) and on what your license / API keys unlock. Model names below use the labels shown in the backend.

CapabilityWhere in the backendModels**Page metadata** (SEO, OG, Twitter)SEO field controls, WorkflowManager, TaskEngineOpenAI (ChatGPT), Anthropic/Claude, Mittwald (Ministral), Meta Llama-3.3 (70B-Instruct)**File / image metadata** (alt, title, description)File list, file metadata field controls, auto-on-uploadOpenAI Vision, Mittwald Vision, plus the configured metadata model**Content generation** (tt\_content)Page module content wizardOpenAI (ChatGPT), Anthropic/Claude, Mittwald (Ministral), Meta Llama-3.3 (70B-Instruct)**Page-tree generation**Backend module page-tree wizardOpenAI (ChatGPT), Anthropic/Claude, Mittwald (Ministral), Meta Llama-3.3 (70B-Instruct)**Translation** (records, pages, file metadata)Localization wizard, list wizard, file metadataDeepL, Google Translate, OpenAI (ChatGPT), Anthropic/Claude, Mittwald (Ministral)**Easy Language** (accessibility rewrites)CKEditor Easy Language plugin, translation flowOpenAI (ChatGPT), Anthropic/Claude, Meta Llama-3.3 (70B-Instruct) configurable via `easyLanguageLibrary`**DeepL glossary sync**Translation settingsDeepL**Image generation**Image generation wizardGPT Image (OpenAI), Midjourney, FluxYou can run these models through the AutoDudes credit system (a single API key, see [Licensing &amp; credits](#licensing--credits)) or bring your own provider keys (BYOK).

Backend module
--------------

[](#backend-module)

AI Suite adds a dedicated backend module whose dashboard gives access to the main areas (each gated by its own permission):

AreaPurpose**WorkflowManager**Run tasks instantly, e.g. metadata generation for pages and/or images as well as translations.**TaskEngine**Monitor and manage background tasks, e.g. the processing of bulk metadata generation or translations.**Global instructions**Project-wide instructions automatically prepended to every prompt.**Prompt templates**Reusable, editable prompt templates for recurring generation tasks.**Page tree**Generate a page tree (optionally including page metadata and content) from a prompt.**Agencies**Special-purpose helpers, e.g. translating an XLF file or importing page content from another system.**Settings**Global extension configuration, e.g. AI Suite API Key, GDPR mode or directory protection.A toolbar item shows the remaining credits at a glance (**Pack** = one-off credits, **Plan** = subscription credits).

Requirements
------------

[](#requirements)

AI Suite is maintained as one branch per TYPO3 major. Pick the AI Suite line that matches your TYPO3 version:

AI SuiteTYPO3PHP**14.x**14.0.0 to 14.9.998.2 to 8.4**13.x**13.4.1 to 13.4.998.2 to 8.4**12.x**12.4.11 to 12.4.998.1 to 8.4AI Suite also needs:

- TYPO3 system extensions: `backend`, `filelist`, `fluid`, `rte-ckeditor`, `seo`.
- An **AI Suite API key** (from [autodudes.de](https://www.autodudes.de/)) for the credit-based providers, **or** your own provider keys (BYOK).

**Suggested**

- `b13/container` content elements inside containers are handled as first-class records.
- `typo3/cms-scheduler` required for headless / scheduled background-task processing (see [CLI &amp; Scheduler](#cli--scheduler)).

**Conflicts**

- `passionweb/ai-seo-helper` superseded by AI Suite's metadata features.

Installation
------------

[](#installation)

```
composer require autodudes/ai-suite
vendor/bin/typo3 extension:setup
```

Or install via the **TYPO3 Extension Repository (TER)**, then run the database analyzer.

**Quickstart**

1. [Install the extension](https://www.autodudes.de/documentation/ai-suite/en/for-administrators/installation) via Composer or TER.
2. Get an API key at [autodudes.de](https://www.autodudes.de/) (or prepare your own provider keys for BYOK).
3. Add the key under **Backend → AI Suite → Settings** (or **Admin Tools → Settings → Extension Configuration → `ai_suite`**).
4. Update the database under **Admin Tools → Maintenance → Analyze Database Structure**.
5. Grant the relevant AI Suite feature and model permissions on the backend groups that should use it.
6. Enjoy the AI Suite.

Licensing &amp; credits
-----------------------

[](#licensing--credits)

AI Suite can drive AI providers two ways:

- **AutoDudes credits (single key).** One AI Suite API key unlocks every integrated provider; usage is billed against credits. Credits come as **Packs** (one-off, no subscription) and **Plans** (credits in a monthly/yearly subscription). The backend toolbar and dashboard show the remaining balance.
- **Bring your own keys (BYOK).** Configure your own provider keys (OpenAI, Anthropic, DeepL, Google Translate, Midjourney, Flux) in the extension configuration and call the providers directly under your own contracts.

See [autodudes.de](https://www.autodudes.de/) for current packages and pricing.

Configuration
-------------

[](#configuration)

All settings live under **Admin Tools → Settings → Extension Configuration → `ai_suite`** and are also reachable from the backend module's **Settings** area (when the `Global Settings` permission is granted). Sensitive values (API keys, passwords) are masked in the module UI.

### AI Suite API

[](#ai-suite-api)

SettingDefaultDescription`aiSuiteApiKey`*(empty)*Your AutoDudes AI Suite license key. Required for the credit-based providers.`aiSuiteServer``https://api.autodudes.de/`AI Suite server endpoint. Change only for self-hosted / proxied setups.### Translation

[](#translation)

SettingDefaultDescription`translateFlexFormFields``1`Also translate FlexForm field values, not just regular columns.`updateDeeplGlossaries``1`Keep DeepL glossaries in sync from the AI Suite glossary table.`easyLanguageLibrary``ChatGPT`Model used for Easy Language rewrites (`ChatGPT`, `Anthropic`, or `AiSuiteTextUltimate` / Meta Llama-3.3).`disableTranslationFunctionality``0`Master switch that unregisters the translation decorators (`LocalizationController`, `DatabaseRecordList`).### Metadata

[](#metadata)

SettingDefaultDescription`metadataSuggestionCount``5`Number of suggestions generated per metadata request (1 to 5).`metadataAutogenerateTitle`*(off)*Auto-generate image titles on upload.`metadataAutogenerateAlternative`*(off)*Auto-generate alternative text on upload.`metadataAutogenerateModel``Vision`Model used for auto-generated file metadata.`metadataAutogenerateApproach``taskEngine``taskEngine` queues suggestions for review; `saveDirectly` writes the first suggestion immediately.`minPlausiblePageContentLength``100`Minimum rendered-content length (chars) below which a page is treated as too thin for a meaningful abstract.### Media

[](#media)

SettingDefaultDescription`mediaStorageFolder`*(empty)*Target FAL folder for AI-generated images. Empty = default storage.### GDPR

[](#gdpr)

SettingDefaultDescription`forceGdpa``0`Enforce GDPR mode for provider routing / data handling.### Background Tasks

[](#background-tasks)

SettingDefaultDescription`maxTasks``50`Maximum number of background tasks processed per run.### HTTP Basic Authentication (directory protection)

[](#http-basic-authentication-directory-protection)

SettingDefaultDescription`basicAuth.enable``0`Send HTTP Basic Auth credentials with outbound requests (for sites behind directory protection).`basicAuth.user`*(empty)*Basic Auth username.`basicAuth.pass`*(empty)*Basic Auth password.### Bring your own keys

[](#bring-your-own-keys)

SettingDefaultDescription`openAiApiKey`*(empty)*Your OpenAI API key.`anthropicApiKey`*(empty)*Your Anthropic API key.`googleTranslateApiKey`*(empty)*Your Google Translate API key.`deeplApiKey`*(empty)*Your DeepL API key.`deeplApiMode`*(off)*Use the free DeepL API endpoint instead of the pro endpoint.`midjourneyApiKey`*(empty)*Your Midjourney API key.`midjourneyId`*(empty)*Your Midjourney account ID.`fluxApiKey`*(empty)*Your Flux API key.`fluxBaseUrl`*(empty)*Custom Flux base URL.Backend-group permissions
-------------------------

[](#backend-group-permissions)

AI Suite gates access on two independent axes that both apply on every action: **per feature** and **per AI model**. Both are TYPO3 custom permission options set on each backend group (`be_groups`) under the **AI Suite Features** (`tx_aisuite_features`) and **AI Suite Models** (`tx_aisuite_models`) sections. A user needs the feature flag for the action **and** the model flag for the model that action uses.

### Features (`tx_aisuite_features:`)

[](#features-tx_aisuite_featuresflag)

FlagUnlocks`enable_metadata_generation`Page and file metadata generation`enable_content_element_generation`Content element generation in the page module`enable_pages_generation`Page-tree generation`enable_news_generation`News record generation (EXT:news)`enable_image_generation`AI image generation into FAL`enable_translation`Translation features (baseline)`enable_translation_whole_page`Translate an entire page at once`enable_translation_sys_file_metadata`Translate file metadata`enable_translation_list_wizard`Translation wizard in record lists`enable_translation_deepl_sync`DeepL glossary synchronization`enable_massaction_generation`WorkflowManager mass actions`enable_background_task_handling`TaskEngine background-task management`enable_cli_workflow_execution`CLI / Scheduler-based workflow execution`enable_rte_aiplugin`CKEditor AI assistant plugin`enable_rte_aieasylanguageplugin`CKEditor Easy Language plugin`enable_global_instructions_button`Manage global instructions`enable_prompt_template_button`Manage prompt templates`enable_toolbar_stats_item`Credits toolbar item`enable_global_settings`Settings area inside the backend module`enable_agency`Agencies area### Models (`tx_aisuite_models:`)

[](#models-tx_aisuite_modelskey)

KeyModel`ChatGPT`OpenAI (ChatGPT)`Anthropic`Anthropic / Claude`MittwaldMinistral14B`Mittwald Ministral-3-14B`MittwaldMinistral14BVision`Mittwald Ministral Vision`AiSuiteTextUltimate`Meta Llama-3.3 (70B-Instruct)`Vision`Vision (image metadata)`GPTImage`GPT Image`Midjourney`Midjourney`Flux`Flux`Deepl`DeepL`GoogleTranslate`Google Translate> Flags and keys are registered in `ext_tables.php` (`customPermOptions`); their labels live in `Resources/Private/Language/locallang_tca.xlf` (`aiSuite.permissions.*`).

Features in depth
-----------------

[](#features-in-depth)

### Metadata generation

[](#metadata-generation)

Add AI-generated SEO metadata (title, description, keywords, Open Graph and Twitter fields) to pages, and alternative text / title / description to files. Available as **field controls** next to the relevant TCA fields for a single record, and as **bulk operations** through the WorkflowManager / TaskEngine for whole folders or page subtrees. File metadata can be **auto-generated on upload** (`metadataAutogenerate*`), either queued for review in the TaskEngine or saved directly.

Page abstracts are generated from the page's rendered frontend content. Custom doktypes that do not render meaningful content yield a thin or generic abstract, that is expected behaviour, not a bug (tune the threshold via `minPlausiblePageContentLength`).

### Content creation &amp; optimization

[](#content-creation--optimization)

Generate full `tt_content` elements from a prompt in the page module, and rewrite, shorten or simplify existing copy. Generation respects your reusable **prompt templates** and **global instructions** for consistent house style.

### Translation &amp; Easy Language

[](#translation--easy-language)

Translate single records, whole pages, file metadata or list selections. Translation runs through the localization wizard and dedicated list wizards. Highlights:

- **Easy Language** rewrites for accessible content, in the translation flow and as a CKEditor plugin.
- **FlexForm field translation** (`translateFlexFormFields`).
- **DeepL glossary sync** from the AI Suite glossary table (`updateDeeplGlossaries`).
- Decorators over the core `LocalizationController` and `DatabaseRecordList` add the AI translation entry points. The whole translation surface can be switched off with `disableTranslationFunctionality`.

### Image generation

[](#image-generation)

Generate AI images (GPT Image, Midjourney, Flux) directly into FAL. The result is stored as a real `sys_file` in the configured `mediaStorageFolder`, ready to reference anywhere.

### Page-tree generation

[](#page-tree-generation)

Generate a complete page tree from a prompt, optionally including page metadata and content inside the new pages. Review the generated structure in the backend module before it is persisted.

### CKEditor plugins

[](#ckeditor-plugins)

Two RTE plugins ship with the extension: an **AI assistant** (`AiPlugin`) for inline generation / rewriting, and an **Easy Language assistant** (`AiEasyLanguagePlugin`). Both are permission-gated (`enable_rte_aiplugin`, `enable_rte_aieasylanguageplugin`).

### Prompt templates &amp; global instructions

[](#prompt-templates--global-instructions)

- **Prompt templates** reusable, editable templates for recurring generation tasks (custom and server-provided).
- **Global instructions** project-wide instructions automatically applied to every prompt, so house style, tone and constraints are enforced everywhere. A preview tooltip shows the effective combined prompt.

Background processing
---------------------

[](#background-processing)

Long-running jobs (bulk metadata, large translations) do not block the backend. They are split into tasks and processed asynchronously by the **TaskEngine**; results come back as suggestions you review and apply. The **WorkflowManager** is the entry point for starting such mass actions.

### CLI &amp; Scheduler

[](#cli--scheduler)

For fully automated pipelines, AI Suite ships console commands (requires `typo3/cms-scheduler` for scheduled runs and the `enable_cli_workflow_execution` permission for the backend trigger):

```
# Start an AI Suite workflow (metadata generation or translation) and store tasks for later processing
vendor/bin/typo3 ai-suite:execute-workflow

# Poll the AI server for finished CLI background tasks and persist results
vendor/bin/typo3 ai-suite:process-tasks

# Retry failed CLI background tasks (status: task-error)
vendor/bin/typo3 ai-suite:retry-tasks
```

Schedule `ai-suite:process-tasks` via the TYPO3 Scheduler or system cron so queued results get persisted automatically.

Database tables
---------------

[](#database-tables)

AI Suite adds the following custom tables (schema in `ext_tables.sql`):

TablePurpose`tx_aisuite_domain_model_custom_prompt_template`User-defined prompt templates`tx_aisuite_domain_model_server_prompt_template`Server-provided prompt templates`tx_aisuite_domain_model_global_instructions`Project-wide global instructions`tx_aisuite_domain_model_deepl`DeepL language / configuration data`tx_aisuite_domain_model_glossar`Glossary entries (used for DeepL glossary sync)It also extends core tables (e.g. `be_groups` for the permission system) via TCA overrides.

MCP server (optional sub-extension)
-----------------------------------

[](#mcp-server-optional-sub-extension)

AI Suite ships with an optional **MCP (Model Context Protocol) server** sub-extension, `ai_suite_mcp`, which exposes the same AI capabilities to MCP-compatible clients (Claude Desktop, Claude.ai, ChatGPT, MCP Inspector, …) so a model can drive your TYPO3 backend directly from a chat. It reuses AI Suite's providers, credit accounting and per-feature / per-model permissions, and adds OAuth 2.1 auth and workspace-aware writes.

See the [`ai_suite_mcp` extension on the TYPO3 Extension Repository](https://extensions.typo3.org/extension/ai_suite_mcp) for installation, connector setup and the full tool catalogue.

Documentation
-------------

[](#documentation)

Official documentation:

Feedback
--------

[](#feedback)

We actively develop AI Suite and would love your feedback, especially from real editorial workflows:

- 🐛 **Bugs / regressions** [open an issue](https://github.com/autodudesde/ai-suite/issues).
- 💡 **Feature ideas** tell us what the AI should have been able to do.
- 🔒 **Security findings** please contact us directly rather than opening a public issue.

The fastest way to reach us is the [\#ai-suite channel on TYPO3 Slack](https://typo3.slack.com/archives/C05QAN1KNVD). You can also reach us at .

License
-------

[](#license)

GPL-2.0-or-later

###  Health Score

55

—

FairBetter than 97% of packages

Maintenance79

Regular maintenance activity

Popularity35

Limited adoption so far

Community24

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 83.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~10 days

Total

88

Last Release

28d ago

Major Versions

13.13.0 → 14.1.02026-05-12

12.19.0 → 14.1.12026-05-26

12.19.1 → 14.1.22026-06-01

12.19.2 → 14.2.02026-06-18

12.20.0 → 14.3.02026-07-22

PHP version history (4 changes)12.0.0PHP ~8.1 | ~8.2

12.1.0PHP ^8.1

11.0.0PHP ^7.4 | ^8.1

13.0.1PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/4cdea06364e3d73791e1bf5e9f6eafda73134f25dd0dbcf01708f847f3b7a207?d=identicon)[autodudes137](/maintainers/autodudes137)

---

Top Contributors

[![krausandre](https://avatars.githubusercontent.com/u/42275455?v=4)](https://github.com/krausandre "krausandre (51 commits)")[![passionweb-manuel-schnabel](https://avatars.githubusercontent.com/u/120183093?v=4)](https://github.com/passionweb-manuel-schnabel "passionweb-manuel-schnabel (4 commits)")[![helsner](https://avatars.githubusercontent.com/u/16156392?v=4)](https://github.com/helsner "helsner (2 commits)")[![EnesHasani](https://avatars.githubusercontent.com/u/66223798?v=4)](https://github.com/EnesHasani "EnesHasani (1 commits)")[![d-s-codappix](https://avatars.githubusercontent.com/u/179449418?v=4)](https://github.com/d-s-codappix "d-s-codappix (1 commits)")[![rogoit](https://avatars.githubusercontent.com/u/3101439?v=4)](https://github.com/rogoit "rogoit (1 commits)")[![SchmidMaxi](https://avatars.githubusercontent.com/u/7556485?v=4)](https://github.com/SchmidMaxi "SchmidMaxi (1 commits)")

---

Tags

TYPO3 CMSartificial intelligenceTYPO3 AIContent GenerationContent CreationContent AutomationAutoDudesAI Suite

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/autodudes-ai-suite/health.svg)

```
[![Health](https://phpackages.com/badges/autodudes-ai-suite/health.svg)](https://phpackages.com/packages/autodudes-ai-suite)
```

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103574.3k70](/packages/friendsoftypo3-content-blocks)[yoast-seo-for-typo3/yoast_seo

Yoast SEO for TYPO3

571.8M9](/packages/yoast-seo-for-typo3-yoast-seo)[friendsoftypo3/visual-editor

TYPO3 CMS Visual Editor - Brings a modern WYSIWYG editing experience to TYPO3 CMS.

6010.0k3](/packages/friendsoftypo3-visual-editor)[fluidtypo3/flux

The flux package from FluidTYPO3

1501.0M25](/packages/fluidtypo3-flux)[web-vision/wv_deepltranslate

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

34311.2k](/packages/web-vision-wv-deepltranslate)[web-vision/deepltranslate-core

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

34162.0k10](/packages/web-vision-deepltranslate-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
