Skip to content

Latest commit

 

History

History
105 lines (77 loc) · 3.73 KB

File metadata and controls

105 lines (77 loc) · 3.73 KB

Total Downloads Latest Stable Version License

eAi для Evolution CMS

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 migrate

Publish конфігів і 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=ollama

Мінімальний приклад

use App\Ai\Agents\SupportAgent;

$agent = new SupportAgent();
$response = $agent->prompt('Hello from Evo');

echo $response->text;

Черги (sTask‑first)

  • sTask — основний бекенд; sync — fallback.
  • eAi не реалізує Laravel Queue, лише сумісне dispatching для SDK.

Запуск воркера:

php artisan stask:worker

sTask UI‑воркери (для тесту):

  • eai_smoke — фіксований prompt
  • eai_prompt — кастомний prompt з віджета

AI Service Account (рольова модель)

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).

Генератори Artisan

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.