evolution-cms / eai
Laravel AI SDK integration for Evolution CMS
Installs: 12
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:evolutioncms-plugin
pkg:composer/evolution-cms/eai
Requires
- php: ^8.4
- evolution-cms/evolution: ^3.5.2
- laravel/ai: ^0.1
- seiger/stask: dev-main
This package is auto-updated.
Last update: 2026-02-10 11:01:10 UTC
README
eAi for Evolution CMS
eAi is the Evolution CMS integration layer for the Laravel AI SDK. It provides Evo‑native config publishing, minimal shims for missing Illuminate\Foundation classes, and an sTask‑first queue bridge.
If you only need a quick start and examples, use this README. For full details see DOCS.md (EN) or DOCS.uk.md (UA).
Requirements
- Evolution CMS 3.5.2+
- PHP 8.4+
- Composer 2.2+
Optional:
- sTask for async tasks (currently
dev-mainfrom the main repo)
Quick Start
From your Evo core directory:
cd core php artisan package:installrequire evolution-cms/eai "*" php artisan migrate
Publish configs and stubs (optional, auto‑publish is enabled):
php artisan vendor:publish --provider="EvolutionCMS\\eAi\\eAiServiceProvider" --tag=eai-config php artisan vendor:publish --provider="EvolutionCMS\\eAi\\eAiServiceProvider" --tag=eai-ai-config php artisan vendor:publish --provider="EvolutionCMS\\eAi\\eAiServiceProvider" --tag=eai-stubs
Set provider key in .env or core/custom/config/ai.php:
OPENAI_API_KEY=...
Run the built‑in smoke test:
php artisan ai:test
For local Ollama:
php artisan ai:test --provider=ollama
Minimal Usage
use App\Ai\Agents\SupportAgent; $agent = new SupportAgent(); $response = $agent->prompt('Hello from Evo'); echo $response->text;
Queues (sTask‑first)
- sTask is the primary backend;
syncis a fallback. - eAi does not implement Laravel Queue; it only provides SDK‑compatible dispatching.
Process queued tasks:
php artisan stask:worker
sTask UI workers (for testing):
eai_smoke— fixed prompteai_prompt— custom prompt from widget
AI Service Account (Role‑based)
AI runs as a normal manager user with role AI (auto‑created). The role is read‑only by default; to allow saving/publishing, elevate permissions manually (e.g. Publisher).
Example settings in core/custom/config/cms/settings/eAi.php:
ai_actor_mode: service
ai_actor_email: ai@your-host
ai_actor_autocreate: true
ai_actor_block_login: true
ai_actor_role: AI
ai_actor_role_autocreate: true
If you need access to package interfaces, grant permissions stask and/or sapi to the AI role (grouped under sPackages).
Artisan Generators
php artisan make:agent SalesCoach php artisan make:agent SalesCoach --structured php artisan make:tool RandomNumberGenerator
Generated classes are placed in core/custom/app/Ai/.... If autoloading is not updated, run composer dumpautoload.
More Details
See DOCS.md for full configuration reference, identity rules, queue contract, and advanced SDK usage.