Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

🚀 WA-AKG: The Ultimate WhatsApp Gateway & Dashboard

WhatsApp Bot Next.js TypeScript Prisma Version Main Branch

Active Apps

A professional, multi-session WhatsApp Gateway, Dashboard, and Automation System.
Built with Next.js 16, React, and Baileys for high-performance messaging automation and real-time WhatsApp Bot Gateway services.

[!TIP] Looking for the latest features? Check out the beta branch or our pre-releases for experimental sources.

Features • User Guide • API Documentation • Database Setup • Installation


📖 Complete Documentation

WA-AKG comes with extensive documentation designed for both developers and users.


🌟 Why WA-AKG WhatsApp API Gateway?

WA-AKG transforms your WhatsApp into a fully programmable RESTful API. It's designed for scale, reliability, and ease of use, making it the perfect bridge between your business logic and WhatsApp's global reach. Excellent for developing a WhatsApp Bot, Automation, or Customer Service Gateway.

🏗️ How it Works

graph LR
    User([User / App]) -->|REST API| API[WA-AKG Gateway]
    API -->|Baileys| WhatsApp[[WhatsApp Server]]
    API -->|Real-time| DB[(Prisma / DB)]
    WhatsApp -.->|Webhook| API
    API -.->|Event| Webhook([External CRM / API])

🔥 Key Features

  • 📱 Multi-Session Management: Connect and manage unlimited WhatsApp accounts simultaneously via simple QR code scans.
  • ⚡ Pro WhatsApp Engine: Powered by @whiskeysockets/baileys for high-speed, stable, and secure WebSocket connections.
  • 📅 Advanced Scheduler: Precise message planning with Media Support (Images, Video, Docs).
  • 📢 Safe Broadcast: Built-in anti-ban mechanisms with randomized delays (10-30s) and batch processing.
  • 🤖 Smart Auto-Reply: Keywords matching with Context Support (Group/Private/All) and Media Attachments.
  • 🛡️ Granular Access Control: Full Whitelist & Blacklist support for both Bot Commands and Auto Replies.
  • 🔗 Enterprise Webhooks: Robust real-time event forwarding for messages, connections, status changes, and group updates.
  • 📇 Advanced Contacts: Rich contact management with LID, verified names, and profile pictures.
  • 🎨 Creative Tools: Built-in Sticker Maker with background removal (remove.bg integration).
  • 📘 Open API Spec: Fully documented via swagger-ui-react at /docs.
  • 🌐 Multi-Language UI: Dashboard available in English, Bahasa Indonesia and Português (Brasil) with a built-in language switcher (guide).
📂 View Webhook Payload Example
{
  "event": "message.received",
  "sessionId": "xgj7d9",
  "timestamp": "2026-01-17T05:33:08.545Z",
  "data": {
    "key": { "remoteJid": "6287748687946@s.whatsapp.net", "fromMe": false, "id": "3EB0B78..." },
    "from": "6287748687946@s.whatsapp.net",
    "sender": "100429287395370@lid",
    "remoteJidAlt": "100429287395370@lid",
    "type": "TEXT",
    "content": "saya sedang reply",
    "isGroup": false,
    "quoted": {
      "type": "IMAGE",
      "caption": "Ini caption dari reply",
      "fileUrl": "/media/xgj7d9-A54FD0B6F..."
    }
  }
}

🧩 Integrations: Native n8n Support

WA-AKG natively supports n8n! You can build complex, no-code/low-code WhatsApp automation workflows using our official community nodes.

n8n nodes

  • Action Node: Full control over messaging, groups, sessions, contacts, and labels directly from your n8n workflows.
  • Trigger Node: Instantly catch real-time webhooks (Message Received, Group Joined, etc.) and trigger your workflows automatically.

👉 View on npm (n8n-nodes-wa-akg)


🚀 Quick Installation

1. Prerequisites

  • Node.js 20+ (Node.js 22 recommended)
  • MySQL or PostgreSQL
  • Git
  • PM2 (Installed globally: npm install -g pm2)

2. Setup

# Clone and install
git clone https://github.com/mrifqidaffaaditya/WA-AKG.git
cd WA-AKG
npm install

# Configure environment
cp .env.example .env
# Edit .env with your DATABASE_URL, AUTH_SECRET, PORT, etc.

# Push schema and generate Prisma Client
npm run db:push

# Create SuperAdmin account
npm run make-admin admin@example.com password123

3. Run (Development)

npm run dev

4. Run (Production with PM2 - Recommended)

We recommend deploying with PM2 to run the app in the background and ensure it restarts automatically if the server rebooted or crashed.

Option A: Automatic Setup Script (Easiest)

We provide a built-in start.sh script that automates everything: checking the configuration, installing dependencies, syncing the database schema, compiling production assets, and starting or reloading PM2:

./start.sh

Option B: Manual Setup

  1. Build the application:

    npm run build
  2. Start with PM2: Using the built-in ecosystem.config.js configuration file:

    pm2 start ecosystem.config.js
  3. Manage the process:

    • View status: pm2 status
    • View logs: pm2 logs wa-akg
    • Stop process: pm2 stop wa-akg
    • Restart process: pm2 restart wa-akg
  4. Enable auto-start on server boot:

    pm2 startup
    # Copy-paste the command outputted by the command above
    pm2 save

🐋 Alternative: Docker Deployment

Although PM2 is highly recommended, you can also deploy using Docker Compose:

  1. Prepare Environment:

    cp .env.example .env

    Edit .env — set DATABASE_URL (points to the MySQL container), AUTH_SECRET, and other branding settings.

  2. Start Services:

    docker compose up -d

    This spins up the MySQL database container alongside the Next.js gateway application.


📚 API Reference Overview

WA-AKG provides a comprehensive REST API to integrate WhatsApp Messaging directly into your applications. Full details in API_DOCUMENTATION.md.

[!TIP] Use the built-in Swagger UI for interactive exploration at /docs.

MethodEndpointDescription
POST/api/messages/{sessionId}/{jid}/sendSend text, media, or stickers
POST/api/messages/{sessionId}/broadcastScalable bulk messaging
PATCH/api/sessions/{id}/settingsUpdate session configuration
GET/api/groups/{sessionId}List all available groups
POST/api/webhooks/{sessionId}Register real-time event listeners
POST/api/autoreplies/{sessionId}Create context-aware auto-replies
POST/api/auth/registerRegister new users via the web securely

Example: Send Text Message

curl -X POST http://localhost:3000/api/messages/session_01/62812345678@s.whatsapp.net/send \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "message": { "text": "Hello from WA-AKG!" }
  }'

⚠️ Known Issues / Caveats

[!WARNING] Status Update Feature (POST /api/status/update)

The WhatsApp status/story update feature is currently experiencing known issues and should be avoided in production:

  • Text statuses with custom background colors may not display correctly
  • Media statuses (images/videos) may fail to upload to WhatsApp servers
  • The feature is under active development

We recommend waiting for the next release before using this endpoint in critical workflows.


🛡️ Security

  • API Key Auth: Secured endpoints using X-API-Key header.
  • RBAC: Multi-role support (SUPERADMIN, STAFF, USER).
  • Encrypted Passwords: All passwords hashed with bcrypt.
  • JWT Encryption: Session tokens signed with AUTH_SECRET (wajib diisi — tidak ada fallback).
  • Input Validation: Zod schemas on critical endpoints.
  • Media Protection: Path traversal prevention, session-scoped media access.

Built with ❤️ by Aditya Licensed under MIT

关于 About

A self-hosted WhatsApp Gateway & Dashboard built with Next.js 16, Baileys, and Prisma. Manage multi-session accounts, schedule messages, create auto-replies, and integrate via Webhooks.
automationbaileyschatbotdashboardgatewaymulti-clientmulti-connectionmulti-sessionnext-authnextjsprismarest-apiself-hostedwebhookwhatsappwhatsapp-apiwhatsapp-botwhatsapp-web

语言 Languages

TypeScript96.8%
JavaScript2.0%
Shell0.7%
CSS0.4%
Dockerfile0.1%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
416
Total Commits
峰值: 107次/周
Less
More

核心贡献者 Contributors