Skip to content

MHgh0st/ai-chatbot

Repository files navigation

AI Chatbot Platform (WIP) 🤖

پلتفرم چت‌بات هوشمند برای مدیریت گفتگوها با معماری ماژولار — وضعیت: در حال توسعه و هنوز وارد فاز پروداکشن نشده است.

این پروژه یک وب‌اپلیکیشن پایه برای ساخت و مدیریت چت‌بات‌های هوشمند است که با Next.js و TypeScript توسعه داده شده است. هدف، ایجاد زیرساخت ماژولار برای مدیریت کاربران، گفتگوها، لاگ‌ها و اتصال به LLMها است. «این مخزن هنوز کامل نیست و آماده استفاده در محیط تولیدی نمی‌باشد.»

image

✨ ویژگی‌ها (در حال توسعه)

  • معماری Next.js App Router با TypeScript
  • پایگاه داده با Prisma (PostgreSQL/SQLite) و مدل‌سازی اولیه
  • رابط کاربری با Tailwind CSS و HeroUI
  • لایه سرویس برای اتصال به LLMها (طراحی شده، پیاده‌سازی نهایی نشده)
  • احراز هویت (در برنامه: NextAuth — هنوز فعال/تکمیل نشده)
  • مدیریت گفتگو، پیام‌ها، و وضعیت‌ها (اسکلت اولیه)

نکته مهم: بسیاری از قابلیت‌ها هنوز در مرحله پیاده‌سازی هستند و APIها ناپایدارند. از این پروژه برای پروداکشن استفاده نکنید.

🏗️ ساختار پوشه‌ها

.
├── prisma/                # شِما و مهاجرت‌های پایگاه داده (WIP)
├── public/                # فایل‌های استاتیک
├── src/
│   ├── app/               # Next.js App Router (routes, API)
│   ├── components/        # اجزای UI قابل استفاده مجدد
│   ├── utils/             # توابع کمکی و سرویس‌ها
│   ├── data/              # داده‌های نمونه/ثابت
│   └── types/             # تایپ‌ها و اینترفیس‌ها
├── next.config.ts
├── tailwind.config.ts
├── package.json
└── README.md

🚧 وضعیت پروژه

  • این پروژه در حال توسعه است و هنوز به مرحله انتشار پایدار نرسیده است.
  • APIها و اسکیمای دیتابیس ممکن است تغییر کند.
  • بخش‌های احراز هویت، مدیریت نقش‌ها، و اتصال به LLMها نیاز به تکمیل دارند.
image image

🧩 نقشه راه (Roadmap)

  • تکمیل احراز هویت با NextAuth (OAuth/Email/Phone)
  • طراحی نهایی اسکیمای Prisma (Users, Conversations, Messages, Providers)
  • اتصال به ارائه‌دهندگان LLM (OpenAI/Anthropic/Azure OpenAI) با لایه abstraction
  • افزودن استریم پاسخ‌ها (Server-Sent Events)
  • سیستم فایل برای آپلود/ضمائم مکالمه
  • logging و ردیابی توکن‌ها
  • تست‌های E2E و واحد
  • Dockerfile و Compose برای استقرار آسان

⚙️ نصب و راه‌اندازی (Dev)

پیش‌نیازها

  • Node.js 18+
  • pnpm
  • (اختیاری) پایگاه داده PostgreSQL؛ در توسعه می‌توانید از SQLite استفاده کنید

نصب

pnpm install

تنظیم محیط

یک فایل .env بسازید و مقادیر لازم را اضافه کنید (نمونه):

DATABASE_URL="file:./dev.db"         # برای SQLite در محیط توسعه
# DATABASE_URL=postgresql://user:pass@localhost:5432/aichatbot

# NEXTAUTH_SECRET=your_secret          # در صورت فعال‌سازی احراز هویت
# PROVIDER_API_KEY=...                 # کلیدهای LLM در آینده

راه‌اندازی پایگاه داده

pnpm dlx prisma migrate dev --name init
pnpm dlx prisma generate

اجرای توسعه

pnpm dev

🧠 معماری منطقی (High-level)

  • لایه Presentation: صفحات و API Routes در Next.js
  • لایه Domain/Service: مدیریت گفتگوها، قالب پیام‌ها، و سیاست‌ها
  • لایه Provider: انتزاع اتصال به مدل‌های مختلف زبانی (WIP)
  • لایه Data: Prisma ORM برای دیتابیس

🧪 داده نمونه

  • داده‌های نمونه برای تست UI و لاجیک در پوشه src/data قرار می‌گیرد (در صورت اضافه شدن).

🔒 ملاحظات امنیتی

  • این پروژه Production-ready نیست؛ هیچ تضمین امنیتی برای محیط واقعی ندارد.
  • احراز هویت، مدیریت نقش، rate limiting و محافظت API باید قبل از استقرار پیاده‌سازی و تست شوند.

🤝 مشارکت

Pull Request‌ها پذیرفته می‌شوند؛ لطفاً ابتدا Issue ایجاد کنید و پیشنهاد خود را مطرح کنید.

وضعیت: این پروژه هنوز کامل نشده و آماده استفاده در محیط تولیدی نیست؛ تغییرات شکستن‌دار محتمل است.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors