Search by

unixscript / laravel-iran-ai-chatbot

A comprehensive AI Chatbot package for Laravel with GapGPT, AvalAI, OpenAI, Gemini, Local models, RAG, Auth handling and UI settings.

Maintainers

Package info

github.com/ho33ein74/laravel-iran-ai-chatbot

pkg:composer/unixscript/laravel-iran-ai-chatbot

Transparency log

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

V1.0.2 2026-09-02 19:35 UTC

This package is auto-updated.

Last update: 2026-09-02 20:28:32 UTC


README

یک پکیج جامع و حرفه‌ای برای راه‌اندازی دستیار هوشمند و چت‌بات در پروژه‌های لاراول. این پکیج از سرویس‌دهنده‌های مختلف (AvalAI، GapGPT، OpenAI، Gemini و مدل‌های Local)، جستجوی آفلاین در دیتابیس (RAG بومی)، گاردریل‌های امنیتی و اتصال به پیام‌رسان‌ها پشتیبانی می‌کند.

ویژگی‌ها

  • پشتیبانی از چندین درایور هوش مصنوعی: AvalAI, GapGPT, OpenAI, Gemini و مدل‌های لوکال.
  • ظاهر کاربری (UI) پیشرفته: کامپوننت Vue.js آماده با قابلیت شخصی‌سازی نحوه نمایش (پاپ‌آپ، سایدبار، تمام‌صفحه) و چیدمان (حبابی، زیرهم) توسط ادمین سایت.
  • قابلیت Inline (تگ HTML): استفاده از چت‌بات در یک صفحه خاص به عنوان فرم درونی به جای ویجت شناور.
  • جستجوی مستقیم دیتابیس (Direct DB Search): پیدا کردن محصولات و مقالات سایت و پیشنهاد آن‌ها به کاربر بدون نیاز به مصرف توکن API.
  • تشخیص هوشمند کاربر لاگین شده: امکان تنظیم الزامی بودن لاگین برای استفاده از چت‌بات و اتصال خودکار سشن‌ها به user_id.
  • تنظیمات داینامیک: مدیریت تنظیمات از طریق دیتابیس (جدول ai_settings) بدون نیاز به تغییر فایل کد.

۱. نصب و راه‌اندازی

ابتدا پکیج را در پروژه خود کپی کرده و دستور زیر را اجرا کنید:

composer require unixscript/laravel-iran-ai-chatbot

سپس تنظیمات و مایگریشن‌ها را منتشر کنید:

php artisan vendor:publish --tag=iran-ai-chatbot-assets
php artisan migrate

۲. تنظیمات و پیکربندی

شما می‌توانید تنظیمات اولیه را در فایل config/iran-ai-chatbot.php یا فایل .env وارد کنید. برای تغییرات داینامیک در پنل ادمین خودتان، می‌توانید مقادیر را مستقیماً در جدول ai_settings ذخیره کنید (مقادیر دیتابیس همیشه اولویت دارند).

اتصال به دیتابیس (پیشنهاد محصولات)

برای اینکه ربات بتواند در محصولات شما جستجو کند، فایل config/iran-ai-chatbot.php را باز کنید و بخش searchable_models را به شکل زیر مقداردهی کنید:

'models_search' => [
    'max_results' => 4,
    'searchable_models' => [
        \App\Models\Product::class => [
            'columns' => ['title', 'description'], // ستون‌هایی که باید در آن‌ها سرچ شود
            'label' => 'محصول' // نامی که به کاربر نمایش داده می‌شود
        ],
    ]
],

۳. نحوه استفاده در ظاهر سایت (فرانت‌اند)

این پکیج یک کامپوننت Vue.js قدرتمند ارائه می‌دهد. فایل resources/js/vendor/iran-ai-chatbot/ChatWidget.vue را در app.js رجیستر کنید:

import ChatWidget from './vendor/iran-ai-chatbot/ChatWidget.vue';
app.component('chat-widget', ChatWidget);

حالت اول: ویجت شناور (گوشه سایت)

کافیست تگ زیر را در فوتر قالب خود قرار دهید:

<chat-widget></chat-widget>

حالت دوم: باکس اختصاصی (Inline Mode)

اگر می‌خواهید چت‌بات را در یک برگه (مثلاً "پشتیبانی هوشمند") نمایش دهید:

<div class="col-md-8 mx-auto">
    <chat-widget :inline="true"></chat-widget>
</div>

۴. مدیریت استایل و رفتار توسط ادمین

ادمین سایت می‌تواند با درج رکوردهای زیر در جدول ai_settings (مثلاً از طریق پنل ادمین شما)، رفتار بات را برای تمام کاربران تغییر دهد:

  • اجباری کردن لاگین:
    • key: features.auth_required | value: true یا false
  • تغییر حالت نمایش (ویجت):
    • key: ui.default_display_mode | value: popup یا sidebar یا fullscreen
  • تغییر چیدمان پیام‌ها:
    • key: ui.default_layout | value: bubble (حبابی) یا stacked (زیرهم)
  • تغییر نام ربات:
    • key: ui.bot_name | value: پشتیبان آنلاین من
  • تغییر درایور هوش مصنوعی:
    • key: default_driver | value: avalai یا gapgpt یا openai یا gemini یا local_offline

۵. مدیریت کاربران (Auth)

سیستم به صورت خودکار با سیستم Auth لاراول یکپارچه است:

  • اگر لاگین اجباری نباشد و کاربر مهمان باشد: چت‌ها با کوکی session_id مدیریت می‌شوند.
  • اگر کاربر لاگین باشد: چت‌ها با user_id اختصاصی او در دیتابیس ثبت می‌شوند تا بعداً قابل پیگیری باشند.