توسعه دستیار هوش مصنوعی (AI Assistant) اختصاصی برای سایت Digivilla24 با Laravel 8
معرفی پروژه
ما یک وبسایت با نام Digivilla24 داریم که در زمینه رزرو آنلاین ویلا، اقامتگاه، سفارش غذا و تفریحات فعالیت میکند.
تکنولوژی پروژه:
- Laravel 8
- PHP
- MySQL
- ساختار ماژولار (nwidart/laravel-modules)
- هاست لینوکس (cPanel)
ما یک گروه داخلی برای تیم توسعه داریم که تمام موارد زیر در آن مطرح میشود:
- مشکلات سایت
- ایدههای توسعه
- برنامهنویسی
- سئو
- تولید محتوا
- باگها
- درخواستهای کاربران
- تصمیمات مدیریتی
هدف ما ساخت یک دستیار هوش مصنوعی اختصاصی است که در این گروه حضور داشته باشد و مانند یک عضو تیم عمل کند.
هدف پروژه
طراحی یک ماژول مستقل برای Laravel که به گروه و OpenAI API متصل شود و بتواند:
- پیامهای گروه را دریافت کند.
- آنها را ذخیره کند.
- تحلیل هوشمند انجام دهد.
- هنگام منشن شدن پاسخ دهد.
- ایدهها را بررسی کند.
- مشکلات را تحلیل کند.
- وظایف (Task) را استخراج کند.
- حافظه بلندمدت داشته باشد.
- خلاصه روزانه و هفتگی گفتگوها را تولید کند.
معماری مورد انتظار
Group
│
Bot
│
Webhook
│
Laravel 8
│
Modules/AIAssistant
│
├── Service
├── OpenAI Service
├── Memory Service
├── Task Manager
├── Prompt Manager
├── Dashboard
└── MySQL
ساختار پروژه
ماژول جدید:
Modules/
AIAssistant/
قابلیتهای نسخه اول (MVP)
1- اتصال به Bot
- Webhook
- دریافت تمام پیامهای گروه
- تشخیص پیامهای گروه
- تشخیص Reply
- تشخیص Mention
2- اتصال به OpenAI API
- GPT API
- مدیریت Prompt
- مدیریت Token
- مدیریت Retry
- مدیریت هزینه API
3- ذخیره اطلاعات در دیتابیس
حداقل جداول:
ai_messages
ai_tasks
ai_logs
ai_memories
ai_conversations
4- ذخیره پیامها
برای هر پیام اطلاعات زیر ذخیره شود:
- Chat ID
- Message ID
- User ID
- Username
- First Name
- متن پیام
- تاریخ
- Reply To
- Mention
- نوع پیام
5- پاسخ هوشمند
ربات فقط زمانی پاسخ دهد که:
- منشن شود.
- یا دستور مشخصی دریافت کند.
6- دستهبندی پیامها
ربات باید بتواند موضوع هر پیام را تشخیص دهد.
مثلاً:
- SEO
- Backend
- Frontend
- Content
- Marketing
- Idea
- Bug
- Task
- Support
7- استخراج وظایف
اگر داخل گروه نوشته شود:
> صفحه اجاره ویلا رامسر را اصلاح کنید.
بات باید Task ایجاد کند.
مثلاً:
عنوان
توضیح
اولویت
وضعیت
مسئول
تاریخ
8- حافظه
بات باید بتواند اطلاعات مهم را ذخیره کند.
مثلاً:
تمام صفحات ویلا باید ایندکس شوند.
در آینده هنگام پاسخ از این اطلاعات استفاده کند.
9- خلاصه روزانه
مثلاً هر شب ساعت ۲۳:
امروز
۸ ایده
۴ باگ
۳ تصمیم
۵ وظیفه
خلاصه گفتگو
...
10- پنل مدیریت
داخل پنل مدیریت Laravel
یک منوی جدید:
هوش مصنوعی
├── پیامها
├── وظایف
├── حافظه
├── خلاصهها
├── لاگها
├── تنظیمات
└── مصرف API
امکانات نسخه دوم
اتصال به سایت Digivilla24
مثلاً بات بتواند:
- اطلاعات اقامتگاهها را بخواند.
- اطلاعات کاربران را بخواند.
- اطلاعات رزروها را بخواند.
- اطلاعات صفحات سایت را بخواند.
امکانات نسخه سوم
تحلیل تخصصی سایت
مثلاً اگر داخل گروه نوشته شود:
> چرا صفحه اجاره ویلا رامسر افت کرده؟
ربات بتواند پیشنهادهایی مانند:
- بررسی ایندکس
- بررسی Canonical
- بررسی لینک داخلی
- بررسی CTR
- پیشنهاد تولید محتوا
را ارائه دهد.
استانداردهای کدنویسی
- Laravel 8
- PSR Standards
- Service Layer
- Repository Pattern (در صورت نیاز)
- Queue
- Jobs
- Events
- Middleware
- Config اختصاصی
- Migration
- Eloquent Models
- قابل توسعه و ماژولار
خروجی مورد انتظار
- کد کامل
- Migrationها
- Modelها
- Controllerها
- Serviceها
- Routeها
- Configها
- مستندات نصب
- مستندات تنظیم Bot
- مستندات اتصال OpenAI API
هدف بلندمدت
هدف، ساخت یک دستیار هوش مصنوعی اختصاصی Digivilla24 است که در آینده بتواند علاوه بر گروه ، به پنل مدیریت، پشتیبانی سایت، سئو، تولید محتوا و سایر بخشهای سیستم متصل شود.
آیا می توان این کار را با n8n انجام داد؟