Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/math-inc/OpenGauss/llms.txt

Use this file to discover all available pages before exploring further.

The OpenGauss messaging gateway is a long-running process that connects the Gauss agent to one or more messaging platforms simultaneously. When a user sends a message, the gateway routes it to a dedicated Gauss session, runs the agent loop, and delivers the response back — all without you needing to keep a terminal open. Session state is stored in a shared SQLite database so conversations persist across gateway restarts.

Starting the gateway

gauss gateway
# or equivalently:
gauss gateway start
Gauss reads platform credentials from ~/.gauss/.env and activates any platform whose token is present. You can configure tokens interactively with gauss setup or by editing ~/.gauss/.env directly.

Supported platforms

Create a bot with @BotFather to get a token, then save it:
# ~/.gauss/.env
TELEGRAM_BOT_TOKEN=7123456789:AAF...
TELEGRAM_ALLOWED_USERS=123456789,987654321
TELEGRAM_ALLOWED_USERS is a comma-separated list of Telegram numeric user IDs. Get your own ID from @userinfobot.Run gauss setup to configure both values interactively.

Allowed users and access control

Every platform supports a per-platform allowlist that restricts which users can interact with the bot:
Environment variablePlatform
TELEGRAM_ALLOWED_USERSComma-separated Telegram user IDs
DISCORD_ALLOWED_USERSComma-separated Discord user IDs
SLACK_ALLOWED_USERSComma-separated Slack user IDs
WHATSAPP_ALLOWED_USERSComma-separated phone numbers (E.164 format)
To allow all users on all platforms (not recommended for public bots), set:
GATEWAY_ALLOW_ALL_USERS=true
Configure allowlists before exposing your bot to public channels or groups. Without an allowlist, any user who discovers your bot can run arbitrary Gauss agent sessions with access to your configured tools and terminal backend.

Session isolation

Each user (and, on platforms like Discord that support threads, each channel or thread) gets a fully isolated Gauss session. Session history, memory, and in-progress tool calls are kept separate. All sessions are stored in a shared SQLite database under ~/.gauss/sessions/, which means:
  • Sessions survive gateway restarts.
  • All platforms share the same session storage, so a single Gauss instance can serve Telegram and Discord users simultaneously.
  • The /resume command lets users switch to a named previous session from within a messaging conversation.
All platforms share the same SQLite session database. This means /sessions, /resume, and memory are consistent regardless of which messaging platform a user connects from — as long as they use the same user ID.

Background process notifications

When the agent spawns background processes (for example, a long-running lake build), the gateway can notify users of progress or completion. Configure the notification level in ~/.gauss/config.yaml:
display:
  background_process_notifications: result   # all | result | error | off
ValueBehavior
allSend a message for every status update
resultSend a message only when the process finishes (success or error)
errorSend a message only if the process fails
offNo notifications

Per-platform tool configuration

Use gauss tools to open the interactive curses UI for enabling and disabling individual tools per platform:
gauss tools
This is useful when you want to restrict what the bot can do on public channels — for example, disabling the terminal tool for all users on a Telegram bot while keeping it available in the CLI.

Installing as a systemd service

To keep the gateway running permanently and restart it automatically on reboot, install it as a systemd service:
gauss gateway install
This generates and installs a systemd unit file. After installation:
# Start the service
systemctl --user start gauss-gateway

# Enable on boot
systemctl --user enable gauss-gateway

# View logs
journalctl --user -u gauss-gateway -f
To update Gauss while the service is running, use:
gauss update
gauss update pulls the latest version and restarts the gateway service automatically.

Build docs developers (and LLMs) love