GOWS

Overview

What is Engine?

WAHA is a Node.js application that acts as a unified “glue layer” on top of multiple community-driven WhatsApp engines.

Under the hood, each engine is an independent open-source library that handles the actual WhatsApp communication:

  • WEBJS and WPP use a real browser (Chromium or Chrome) via Puppeteer
  • NOWEB communicates directly over WebSocket using a Node.js/TypeScript
  • GOWS communicates directly over WebSocket using a Golang library

WAHA wraps all of them behind one consistent REST API and webhook interface, so you can switch engines with a single environment variable change and minimal code adjustments on your side.

If something doesn’t work in one engine — just try another one!

API responses and webhook payloads may differ significantly, test your system before changing the engine!

GOWS engine does not require a browser to work with WhatsApp Web, it does so directly using a WebSocket. Not running Chromium saves you CPU and Memory, so you can run more instances on a single server!

Run GOWS

# Plus
docker run -v `pwd`/.sessions:/app/.sessions -e "WHATSAPP_DEFAULT_ENGINE=GOWS" devlikeapro/waha-plus

# Core
docker run -it -e "WHATSAPP_DEFAULT_ENGINE=GOWS" devlikeapro/waha

Session Config

You can use the following environment variables to configure the global behavior of the WEBJS engine:

  • WAHA_WEBJS_PUPPETER_ARGS=--single-process - Add custom puppeter arguments so you can test it affects without waiting a new release (use it with cation)

Configuration

You can use the following environment variables to configure the global behavior of the WEBJS engine:

  • WAHA_WEBJS_PUPPETER_ARGS=--single-process - Add custom puppeter arguments so you can test it affects without waiting a new release (use it with cation)