eAi — це інтеграційний шар Evolution CMS для Laravel AI SDK. Пакет додає Evo‑native publish конфігів, мінімальні shims для відсутніх Illuminate\Foundation класів і sTask‑first черги.
Якщо потрібен швидкий старт і приклади — використовуйте цей README. Повні деталі дивись у DOCS.uk.md (UA) або DOCS.md (EN).
- Evolution CMS 3.5.2+
- PHP 8.3+
- Composer 2.2+
Опційно:
- sTask для асинхронних задач (constraint пакета:
^1.0)
З директорії core:
cd core
php artisan package:installrequire evolution-cms/eai "*"
php artisan migratePublish конфігів і stubs (опційно, авто‑publish увімкнений):
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Додай ключ провайдера у .env або core/custom/config/ai.php:
OPENAI_API_KEY=...
Запусти smoke‑тест:
php artisan ai:testДля локального Ollama:
php artisan ai:test --provider=ollamause App\Ai\Agents\SupportAgent;
$agent = new SupportAgent();
$response = $agent->prompt('Hello from Evo');
echo $response->text;- sTask — основний бекенд;
sync— fallback. - eAi не реалізує Laravel Queue, лише сумісне dispatching для SDK.
Запуск воркера:
php artisan stask:workersTask UI‑воркери (для тесту):
eai_smoke— фіксований prompteai_prompt— кастомний prompt з віджета
AI працює як звичайний manager user з роллю AI (створюється автоматично). Роль read‑only за замовчуванням; щоб AI могла зберігати/публікувати — підніміть права вручну (наприклад, до Publisher).
Приклад налаштувань у 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
Якщо потрібен доступ до інтерфейсів пакетів, видай ролі AI permissions stask та/або sapi (у sApi це група sPackages).
php artisan make:agent SalesCoach
php artisan make:agent SalesCoach --structured
php artisan make:tool RandomNumberGeneratorКласи створюються в core/custom/app/Ai/.... Якщо автолоад не підхопився — composer dumpautoload.
Дивись DOCS.uk.md для повного опису конфігів, правил ідентичності, черг і розширених можливостей SDK.