PHPackages                             xddesigners/silverstripe-ai-assistant - 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. xddesigners/silverstripe-ai-assistant

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

xddesigners/silverstripe-ai-assistant
=====================================

CMS AI assistant UI for Silverstripe, powered by xddesigners/silverstripe-ai

1.0.0(2mo ago)06BSD-3-ClauseJavaScript

Since Mar 13Pushed 2mo agoCompare

[ Source](https://github.com/xddesigners/silverstripe-ai-assistant)[ Packagist](https://packagist.org/packages/xddesigners/silverstripe-ai-assistant)[ RSS](/packages/xddesigners-silverstripe-ai-assistant/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (2)Used By (0)

silverstripe-ai-assistant
=========================

[](#silverstripe-ai-assistant)

CMS AI assistant UI for SilverStripe, powered by [xddesigners/silverstripe-ai](https://github.com/xddesigners/silverstripe-ai).

Adds an **Assistant** tab to CMS edit forms, letting editors generate and preview AI-written content for any configured fields — without overwriting the real content until they explicitly accept it.

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

[](#requirements)

- SilverStripe Framework `^6`
- SilverStripe Admin `^3`
- [xddesigners/silverstripe-ai](https://github.com/xddesigners/silverstripe-ai) `^1.0`
- PHP `^8.1`

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

[](#installation)

```
composer require xddesigners/silverstripe-ai-assistant
```

Run a `dev/build` after installation:

```
sake dev/build flush=1
```

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

[](#configuration)

The module requires the [silverstripe-ai environment variables](../silverstripe-ai/README.md#configuration) to be set. Copy `.env.example` as a starting point:

```
AI_PLATFORM_TYPE="openai"
AI_MODEL="gpt-4o-mini"
AI_API_KEY="sk-xxx"
```

### Default setup

[](#default-setup)

Out of the box, the assistant is applied to:

- `SiteTree` — fields: `Title`, `Content`, `MetaDescription`
- `DNADesign\Elemental\Models\ElementContent` — fields: `Title`, `HTML`

### Applying the assistant to your own DataObjects

[](#applying-the-assistant-to-your-own-dataobjects)

Add `AIAssistantExtension` to any DataObject and list the database fields you want included:

```
App\Models\MyDataObject:
  extensions:
    - XD\SilverstripeAIAssistant\Extensions\AIAssistantExtension
  ai_assisted_fields:
    - Title
    - Summary
    - MetaDescription
```

Run `dev/build flush=1` after updating the config.

How it works
------------

[](#how-it-works)

Once installed, each configured DataObject gets an **Assistant** tab in its CMS edit form, inserted after the Main tab.

The tab contains:

1. **AI prompt** — a textarea where the editor provides instructions (e.g. *"Improve for SEO while keeping the same tone of voice"*).
2. **Generate content** button — sends the current field values as context to the `/ai/generate` endpoint and populates preview copies of the configured fields with the AI response.
3. **AI-assisted fields** — read-only previews of the AI-generated content. TinyMCE (HTML) fields are fully supported.
4. **Accept AI Content** button — copies the previewed AI content into the real CMS fields. A confirmation dialog is shown before any values are overwritten.

Saving the record is always a separate, explicit action — accepting the AI content only updates the live form fields.

Customising the default AI instructions
---------------------------------------

[](#customising-the-default-ai-instructions)

The default system instruction (`"You are a helpful assistant and SEO expert."`) can be changed in YAML:

```
XD\SilverstripeAI\Services\AIClient:
  default_instructions: 'You are an expert copywriter for a sustainable fashion brand.'
```

Editors can also override instructions per-generation using the AI prompt textarea in the CMS.

License
-------

[](#license)

BSD-3-Clause © [XD Designers](https://xd.nl)

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance88

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity33

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

60d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e35b3b006174e7015e9711c27bdee08fb707a816a434276c22dcb6327185c35b?d=identicon)[RVXD](/maintainers/RVXD)

---

Top Contributors

[![RVXD](https://avatars.githubusercontent.com/u/1586761?v=4)](https://github.com/RVXD "RVXD (3 commits)")

---

Tags

aisilverstripecmsartificial intelligenceassistant

### Embed Badge

![Health badge](/badges/xddesigners-silverstripe-ai-assistant/health.svg)

```
[![Health](https://phpackages.com/badges/xddesigners-silverstripe-ai-assistant/health.svg)](https://phpackages.com/packages/xddesigners-silverstripe-ai-assistant)
```

###  Alternatives

[adrhumphreys/silverstripe-textdropdownfield

A text field combined with a dropdown field.

106.1k](/packages/adrhumphreys-silverstripe-textdropdownfield)

PHPackages © 2026

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