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.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.
Starting the gateway
~/.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
- Telegram
- Discord
- Slack
- WhatsApp
- Signal
- Email (IMAP/SMTP)
- Home Assistant
Create a bot with @BotFather to get a token, then save it:
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 variable | Platform |
|---|---|
TELEGRAM_ALLOWED_USERS | Comma-separated Telegram user IDs |
DISCORD_ALLOWED_USERS | Comma-separated Discord user IDs |
SLACK_ALLOWED_USERS | Comma-separated Slack user IDs |
WHATSAPP_ALLOWED_USERS | Comma-separated phone numbers (E.164 format) |
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
/resumecommand 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-runninglake build), the gateway can notify users of progress or completion. Configure the notification level in ~/.gauss/config.yaml:
| Value | Behavior |
|---|---|
all | Send a message for every status update |
result | Send a message only when the process finishes (success or error) |
error | Send a message only if the process fails |
off | No notifications |
Per-platform tool configuration
Usegauss tools to open the interactive curses UI for enabling and disabling individual tools per platform:
Installing as a systemd service
To keep the gateway running permanently and restart it automatically on reboot, install it as a systemd service:gauss update pulls the latest version and restarts the gateway service automatically.