metadata
title: Melo
emoji: π€
colorFrom: blue
colorTo: green
sdk: docker
pinned: false
π€ WhatsApp AI Bot (Baileys + Gemini + RAG + Local Tools)
Bot WhatsApp canggih berbasis Baileys yang terintegrasi dengan berbagai provider AI (Multi-Modal) menggunakan sistem Native Tool Calling dan RAG (Retrieval-Augmented Generation). Bot ini dirancang untuk performa tinggi, efisiensi token, dan kemampuan pengolahan file lokal yang kuat.
π Fitur Utama
1. Multi-Modal AI & Fallback
- Engine Utama: Gemini 2.5 Flash (Mendukung input Teks, Gambar, Video, dan Stiker).
- Engine Cadangan (Auto-Fallback): Jika Gemini mengalami error atau limit, bot otomatis beralih ke Groq (Llama-3.3-70b) untuk memastikan layanan tetap online.
- Konteks Cerdas: AI mengingat riwayat percakapan secara terpisah antara Chat Pribadi dan Chat Grup.
2. Sistem RAG (Retrieval-Augmented Generation)
- Auto-Extraction: Membaca otomatis file PDF, DOCX, TXT, dan PPTX yang dikirim user.
- Intelligent Analysis: Menggunakan Groq (Llama-3) untuk merangkum dan memahami isi dokumen secara instan saat file diterima.
- Context Injection: Hasil analisis dokumen disuntikkan langsung ke percakapan berikutnya agar AI memahami konteks file tanpa perlu memanggil tool manual.
3. Tools Modular (Native Function Calling)
- Web Search: Mencari informasi terbaru secara real-time di Google.
- Sticker Maker: Konversi Gambar & Video (6 detik) menjadi stiker secara lokal menggunakan FFmpeg. (Gunakan perintah
.stickeratau minta AI). - Universal File Converter: Mengubah format file apapun secara lokal (PDF <-> Word, Image <-> PDF, Audio Extraction, dll) menggunakan LibreOffice & Sharp.
- Image Generator: Membuat gambar inovatif melalui OpenRouter (Flux.2 & Seedream).
- Smart Reminder: Penjadwalan pengingat otomatis yang tetap aktif meskipun bot restart.
4. Aktivitas & UX
- Status Indicator: Menampilkan status seperti "Mencari di Google..." atau "Membuat stiker..." untuk feedback yang transparan.
- Sticker Reactive: AI akan bereaksi secara interaktif terhadap visual stiker yang dikirim oleh user.
- Logging Detail: Seluruh aktivitas pesan, penggunaan tool, dan error dicatat secara rinci di terminal menggunakan
pino-pretty.
π οΈ Persyaratan Sistem
Bot ini menggunakan engine lokal untuk konversi file agar tidak bergantung pada API berbayar:
- Node.js v18 atau lebih tinggi.
- FFmpeg: Untuk pembuatan stiker dan konversi media.
- LibreOffice: Untuk konversi dokumen (PDF, Word, Excel).
Install di Ubuntu/Debian:
sudo apt update
sudo apt install ffmpeg libreoffice -y
βοΈ Instalasi & Setup
- Clone / Download Project
- Install Dependency:
npm install - Konfigurasi Environment:
Salin
.env.examplemenjadi.envdan isi API Key Anda:GOOGLE_AI_API_KEY=your_key GROQ_API_KEY=your_key OPENROUTER_API_KEY=your_key PHONE_NUMBER=6285607277006 - Jalankan Bot:
npm start - Pairing: Masukkan kode pairing yang muncul di terminal ke WhatsApp Anda (Linked Devices).
π Struktur Project
βββ index.js # Entry point & Logika Orchestration
βββ config.js # Konfigurasi API & Environment
βββ lib/
β βββ contextManager.js # Pengelola memori percakapan
β βββ toolHandler.js # Registry & Eksekutor Tool
β βββ ragHandler.js # Ekstraksi teks dokumen cerdas (OCR support)
β βββ groqHandler.js # Analisis dokumen cepat via Groq
β βββ reminderService.js # Layanan pengingat latar belakang
β βββ markdownParser.js # Parser format pesan WhatsApp
βββ tools/ # Implementasi fungsi tools lokal
βββ session/ # Penyimpanan sesi & data (reminders, doc_store)
π‘οΈ Keamanan & Privasi
- Offline Processing: Konversi file dilakukan secara lokal di server Anda.
- Channel Blocking: Bot tidak akan merespons pesan dari WhatsApp Channels/Newsletter untuk menjaga kuota AI.
- Auto-Cleanup: File sementara otomatis dihapus setelah diproses untuk menjaga kerahasiaan data.
Dibuat dengan β€οΈ untuk sistem bot WhatsApp yang lebih cerdas dan responsif.