AI Entries Assistant is a Statamic addon that provides a conversational AI assistant in the control panel. It uses Laravel AI and RAG (Retrieval-Augmented Generation) powered by AI Entry Embeddings to answer questions hidden in your Statamic content.
- A user starts a conversation from the Statamic control panel.
- The user's message is stored and the
UserMessageAddedToConversationevent is dispatched. - A queued listener invokes the
EntriesAssistantAgent, which performs a similarity search against entry embeddings to find relevant content chunks. - The agent produces a Markdown-formatted answer based exclusively on the search results and stores it as an AI assistant message.
- The response is delivered to the frontend via broadcasting (Laravel Echo) or polling fallback.
- PHP 8.3+
- Statamic 6.0+
- PostgreSQL with the pgvector extension
- byte5/ai-entry-embeddings addon (installed automatically as a dependency)
- A configured AI provider via Laravel AI (e.g. Anthropic, OpenAI)
composer require byte5/ai-entries-assistantPublish the configuration file:
php artisan vendor:publish --tag=ai-entries-assistant-configRun migrations (creates the ai_entry_assistant_conversations and ai_entry_assistant_messages tables):
php artisan migrateThe configuration file is published to config/ai-entries-assistant.php.
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.
AI response generation runs on a queue. Configure which queue to use:
'jobs_queue' => 'default',Real-time message delivery uses Laravel Broadcasting. Disabled by default -- enable it via your .env:
AI_ENTRIES_ASSISTANT_BROADCASTING=trueWhen disabled, the frontend falls back to polling. You can also configure a separate queue for broadcast events:
'broadcasting_queue' => 'default',| Event | When | Broadcast |
|---|---|---|
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 channel |
Broadcast events are sent to the conversation.{conversationId} private channel. Each user can subscribe only to their
own private channel.
The addon registers a navigation item under AI Tools in the Statamic control panel. Access is gated by the
access AI assistant permission.
This addon is open-sourced software licensed under the GNU General Public License v3.0 (GPL-3.0). See LICENSE for details.