PHPackages                             byte5/ai-entries-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. byte5/ai-entries-assistant

ActiveStatamic-addon[Utility &amp; Helpers](/categories/utility)

byte5/ai-entries-assistant
==========================

Statamic addon for AI-powered assistant using entry embeddings.

v0.1.1(3mo ago)03↓86.4%[1 PRs](https://github.com/byte5digital/ai-entries-assistant/pulls)GPL-3.0-or-laterPHPPHP ^8.3CI failing

Since Apr 2Pushed 2mo agoCompare

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

READMEChangelog (2)Dependencies (8)Versions (4)Used By (0)

AI Entries Assistant
====================

[](#ai-entries-assistant)

AI Entries Assistant is a Statamic addon that provides a conversational AI assistant in the control panel. It uses [Laravel AI](https://laravel.com/docs/master/ai-sdk) and RAG (Retrieval-Augmented Generation) powered by [AI Entry Embeddings](https://github.com/byte5digital/ai-entry-embeddings) to answer questions hidden in your Statamic content.

How It Works
------------

[](#how-it-works)

1. A user starts a conversation from the Statamic control panel.
2. The user's message is stored and the `UserMessageAddedToConversation` event is dispatched.
3. A queued listener invokes the `EntriesAssistantAgent`, which performs a **similarity search** against entry embeddings to find relevant content chunks.
4. The agent produces a Markdown-formatted answer based exclusively on the search results and stores it as an AI assistant message.
5. The response is delivered to the frontend via broadcasting (Laravel Echo) or polling fallback.

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

[](#requirements)

- PHP 8.3+
- Statamic 6.0+
- PostgreSQL with the [pgvector](https://github.com/pgvector/pgvector) extension
- [byte5/ai-entry-embeddings](https://github.com/byte5digital/ai-entry-embeddings) addon (installed automatically as a dependency)
- A configured AI provider via [Laravel AI](https://github.com/laravel/ai) (e.g. Anthropic, OpenAI)

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

[](#installation)

```
composer require byte5/ai-entries-assistant
```

Publish the configuration file:

```
php artisan vendor:publish --tag=ai-entries-assistant-config
```

Run migrations (creates the `ai_entry_assistant_conversations` and `ai_entry_assistant_messages` tables):

```
php artisan migrate
```

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

[](#configuration)

The configuration file is published to `config/ai-entries-assistant.php`.

### AI Provider

[](#ai-provider)

By default the addon uses whatever provider is set in `config('ai.default')`. To use a different provider for the assistant, set it explicitly:

```
'provider' => 'anthropic',
```

Supported providers include Anthropic, OpenAI, Gemini, Ollama, Azure, DeepSeek, Groq, Mistral, OpenRouter, and XAI.

### Queue

[](#queue)

AI response generation runs on a queue. Configure which queue to use:

```
'jobs_queue' => 'default',
```

### Broadcasting

[](#broadcasting)

Real-time message delivery uses Laravel Broadcasting. Disabled by default -- enable it via your `.env`:

```
AI_ENTRIES_ASSISTANT_BROADCASTING=true
```

When disabled, the frontend falls back to polling. You can also configure a separate queue for broadcast events:

```
'broadcasting_queue' => 'default',
```

Events
------

[](#events)

EventWhenBroadcast`ConversationStarted`A new conversation is created--`ConversationDeleted`A conversation is deleted--`UserMessageAddedToConversation`User sends a message`user.message.created` on private channel`AiAssistantMessageAddedToConversation`AI assistant responds`assistant.message.created` on private channelBroadcast events are sent to the `conversation.{conversationId}` private channel. Each user can subscribe only to their own private channel.

Control Panel
-------------

[](#control-panel)

The addon registers a navigation item under **AI Tools** in the Statamic control panel. Access is gated by the `access AI assistant` permission.

License
-------

[](#license)

This addon is open-sourced software licensed under the GNU General Public License v3.0 (GPL-3.0). See [LICENSE](LICENSE)for details.

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance86

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97.1% 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 ~0 days

Total

2

Last Release

91d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/41282cdb98ee1dbc33dd57e79146e6ada49c414f8d0ebc0e94a4dccd571e6585?d=identicon)[byte5](/maintainers/byte5)

![](https://www.gravatar.com/avatar/bfcbb2773515d4b6addd9827f55367d3a1d4d01b4f85906c798a6b33f2733ef6?d=identicon)[jure-knezovic](/maintainers/jure-knezovic)

---

Top Contributors

[![jure-knezovic](https://avatars.githubusercontent.com/u/67332841?v=4)](https://github.com/jure-knezovic "jure-knezovic (34 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

###  Code Quality

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/byte5-ai-entries-assistant/health.svg)

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

###  Alternatives

[statamic/seo-pro

68516.6k](/packages/statamic-seo-pro)[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135224.7k7](/packages/statamic-rad-pack-runway)[rias/statamic-redirect

29335.6k](/packages/rias-statamic-redirect)[jacksleight/statamic-bard-texstyle

18195.4k](/packages/jacksleight-statamic-bard-texstyle)[marcorieser/statamic-livewire

A Laravel Livewire integration for Statamic.

23111.5k13](/packages/marcorieser-statamic-livewire)[withcandour/aardvark-seo

Save time and get your Statamic site to rank better with the SEO addon for Statamic.

15133.0k](/packages/withcandour-aardvark-seo)

PHPackages © 2026

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