PHPackages                             softspring/cms-ai-plugin - 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. softspring/cms-ai-plugin

ActiveSfs-cms-plugin[Utility &amp; Helpers](/categories/utility)

softspring/cms-ai-plugin
========================

Experimental AI-assisted content generation plugin for Armonic CMS

6.0.x-dev(4w ago)031AGPL-3.0-or-laterPHPPHP &gt;=8.4CI failing

Since Jun 25Pushed 4w agoCompare

[ Source](https://github.com/softspring/cms-ai-plugin)[ Packagist](https://packagist.org/packages/softspring/cms-ai-plugin)[ RSS](/packages/softspring-cms-ai-plugin/feed)WikiDiscussions 6.0 Synced 1w ago

READMEChangelogDependencies (25)Versions (1)Used By (0)

CMS AI Plugin
=============

[](#cms-ai-plugin)

[![Latest Stable](https://camo.githubusercontent.com/a03359fb54b67fd91e3abb07fe1298950fe08291ebbd359e03b3842cbc30ada2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f736f6674737072696e672f636d732d61692d706c7567696e3f6c6162656c3d737461626c65267374796c653d666c61742d737175617265)](https://github.com/softspring/cms-ai-plugin/releases)[![Latest Unstable](https://camo.githubusercontent.com/285e9834810b59c407db808ccc7bd0ee6e72150b381fe2b14c8ec617ab702e45/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f736f6674737072696e672f636d732d61692d706c7567696e3f6c6162656c3d756e737461626c65267374796c653d666c61742d73717561726526696e636c7564655f70726572656c6561736573)](https://github.com/softspring/cms-ai-plugin/releases)[![License](https://camo.githubusercontent.com/1d503e8c320028a1df3784e4d2b987efeb6e6894ecac9f012da89e704d574550/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f736f6674737072696e672f636d732d61692d706c7567696e3f7374796c653d666c61742d737175617265)](https://github.com/softspring/cms-ai-plugin/blob/6.0/LICENSE)[![PHP Version](https://camo.githubusercontent.com/328efd958e83dd03ce46873a5d9cb7c701c28c089640f5d2e2d5d5446a8b99ef/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f736f6674737072696e672f636d732d61692d706c7567696e2f7068703f7374796c653d666c61742d737175617265)](https://github.com/softspring/cms-ai-plugin/blob/6.0/composer.json)[![Downloads](https://camo.githubusercontent.com/4d4d6e7bf61304ea86f4415c3f19a6185d63a9f4691bdfc08966bd0c71cac422/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f736f6674737072696e672f636d732d61692d706c7567696e3f7374796c653d666c61742d737175617265)](https://packagist.org/packages/softspring/cms-ai-plugin)[![CI](https://camo.githubusercontent.com/f58ec9b7a66c391d16af45837e662c3d0502cb6837a26e5655c5ce7ca4a2cc6d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f736f6674737072696e672f636d732d61692d706c7567696e2f63692e796d6c3f6272616e63683d362e30267374796c653d666c61742d737175617265266c6162656c3d4349)](https://github.com/softspring/cms-ai-plugin/actions/workflows/ci.yml)[![Coverage](https://camo.githubusercontent.com/dd1883a361b93ff07a2d8008cf7e6230b85d3d0cc1021634ad9d8f2ac9f1817b/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f736f6674737072696e672f636d732d61692d706c7567696e3f6272616e63683d362e30267374796c653d666c61742d737175617265)](https://app.codecov.io/gh/softspring/cms-ai-plugin/tree/6.0)

`softspring/cms-ai-plugin` adds AI-assisted admin workflows to Armonic CMS.

This plugin is still in active development. The UI, prompts, generated payload format, and integration points may change before the first stable release.

What It Provides
----------------

[](#what-it-provides)

- An admin Armonic AI chatbot screen.
- A content editor agent panel inside the CMS version edit screen.
- Media image generation and image description helpers for Media Bundle admin workflows.
- Site-level AI instruction settings stored in CMS site metadata.
- Integration with read-only CMS MCP tools provided by `softspring/cms-mcp-plugin`.
- Schema generation for CMS content version forms through `softspring/form-schema`.
- Payload validation by rendering AI-generated draft changes back into Symfony forms.

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

[](#installation)

```
composer require softspring/cms-ai-plugin:^6.0@dev
```

The plugin requires `softspring/cms-bundle`, `softspring/cms-mcp-plugin`, `softspring/form-schema`, and `symfony/ai-bundle`.

Register the bundle if Symfony Flex does not do it automatically:

```
// config/bundles.php
return [
    Softspring\CmsAiPlugin\SfsCmsAiPlugin::class => ['all' => true],
];
```

Configure at least one Symfony AI platform in the host application. For OpenAI, install `symfony/ai-open-ai-platform`, configure the `openai` platform, and provide the API key through the `OPENAI_API_KEY` environment variable.

```
# config/packages/ai_open_ai_platform.yaml
ai:
    platform:
        openai:
            api_key: '%env(OPENAI_API_KEY)%'
```

```
OPENAI_API_KEY=
```

Do not commit real API keys. Use deployment secrets, Symfony secrets, or a local `.env.local` value.

Content Editor Agent
--------------------

[](#content-editor-agent)

The plugin replaces the CMS content version edit view with a two-column layout. The left panel contains an AI agent and the right side keeps the normal CMS editor.

The agent receives the current unsaved form payload, the content version schema, the selected site and locale, and the conversation history for the current edit session. It can call the registered read-only CMS MCP tools for published site context, menus, internal links, analytics, and media context.

Agent responses are applied to the open browser form only. The plugin does not persist a new content version from the agent endpoint. A new CMS version is still created only when the editor manually uses the normal Save action.

The conversation history is stored in the Symfony session for the current content, base version, and layout, so it is kept during the edit session between Save actions.

The editor panel includes a collapsible JSON debug view with the returned patch payload, merged payload, tool calls, and raw model response.

Armonic AI Chatbot
------------------

[](#armonic-ai-chatbot)

The plugin exposes an admin Armonic AI chatbot route:

```
/admin/{_locale}/cms-ai/mcp-chatbot

```

The chatbot uses the configured Symfony AI platform and the registered read-only CMS MCP tools. It is intended for inspecting existing published CMS content, site context, internal links, menus, analytics, and media context through MCP before producing an answer.

The chatbot shows processing metadata below each assistant answer. Duration is measured server-side around the full model and tool-call loop. Token usage is shown when the configured Symfony AI platform and model provider report it through result metadata.

Site AI Settings
----------------

[](#site-ai-settings)

The plugin adds an `AI` tab to CMS site administration pages. Editors can store site-specific instructions such as site description, target audience, editorial tone, brand voice, content guidelines, SEO guidance, forbidden topics, and extra instructions.

The values are stored in the CMS site metadata field under:

```
site.metadata.sfs_cms_ai

```

The content editor agent includes these instructions in the prompt when a selected site provides them.

Current Scope
-------------

[](#current-scope)

This package is an experimental integration plugin. It is not part of the CMS core and should remain optional because it depends on AI platforms, credentials, model behavior, and generated content review workflows.

Operational Notes
-----------------

[](#operational-notes)

The plugin needs a configured Symfony AI platform and model. Without that configuration, admin screens can be visible but requests cannot be processed.

Generated changes should be reviewed before saving because model output depends on the provider, model, prompt, site context, and current form payload.

AI-assisted admin requests use the `/admin/{_locale}/cms-ai/` path prefix and can take longer than normal CMS requests while waiting for the model provider. Keep PHP-FPM, Cloud Run, CDN, proxy, and web-server timeouts aligned when changing those workflows.

Contributing
------------

[](#contributing)

See [CONTRIBUTING.md](CONTRIBUTING.md).

[Report issues](https://github.com/softspring/cms-ai-plugin/issues) and [send Pull Requests](https://github.com/softspring/cms-ai-plugin/pulls)

Security
--------

[](#security)

See [SECURITY.md](SECURITY.md).

License
-------

[](#license)

This package is free and released under the [AGPL-3.0 license](LICENSE).

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance94

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

29d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/64ac79c0e14e0dd67af72d74bd3531606fb0484230c519a35682d54490f9be5b?d=identicon)[softspring](/maintainers/softspring)

---

Top Contributors

[![javihgil](https://avatars.githubusercontent.com/u/2581053?v=4)](https://github.com/javihgil "javihgil (15 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/softspring-cms-ai-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/softspring-cms-ai-plugin/health.svg)](https://phpackages.com/packages/softspring-cms-ai-plugin)
```

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M400](/packages/easycorp-easyadmin-bundle)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M754](/packages/sylius-sylius)[oro/platform

Business Application Platform (BAP)

645143.5k116](/packages/oro-platform)[contao/core-bundle

Contao Open Source CMS

1231.6M2.8k](/packages/contao-core-bundle)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M215](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.2k18.1k](/packages/prestashop-prestashop)

PHPackages © 2026

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