Skip to content

Your AI representative across communication channels. Envoy is a personal AI assistant that routes messages across multiple communication platforms, processes them via an AI agent, and responds on your behalf.

License

Notifications You must be signed in to change notification settings

agentplexus/envoy

Repository files navigation

Envoy

Build Status Lint Status Go Report Card Docs License

Your AI representative across communication channels.

Envoy is a personal AI assistant that routes messages across multiple communication platforms, processes them via an AI agent, and responds on your behalf.

Features

  • 📡 Multi-Channel Support - Telegram, Discord, Slack, WhatsApp, and more
  • 🤖 AI-Powered Responses - Powered by omnillm (Claude, GPT, Gemini, etc.)
  • 🌐 Browser Automation - Built-in browser control via Rod
  • WebSocket Gateway - Real-time control plane for device connections
  • 📊 Observability - Integrated tracing via omniobserve

Installation

go install github.com/agentplexus/envoy/cmd/envoy@latest

Quick Start

  1. Create a configuration file:
# envoy.yaml
gateway:
  address: "127.0.0.1:18789"

agent:
  provider: anthropic
  model: claude-sonnet-4-20250514
  api_key: ${ANTHROPIC_API_KEY}

channels:
  telegram:
    enabled: true
    token: ${TELEGRAM_BOT_TOKEN}
  1. Start the gateway:
envoy gateway run --config envoy.yaml

CLI Commands

envoy gateway run      # Start the gateway server
envoy channels list    # List registered channels
envoy channels status  # Show channel connection status
envoy config show      # Display current configuration
envoy version          # Show version information

Architecture

┌─────────────────────────────────────────────────────────────┐
│                     Messaging Channels                      │
│     Telegram  │  Discord  │  Slack  │  WhatsApp  │  ...     │
└───────────────────────────┬─────────────────────────────────┘
                            │
┌───────────────────────────▼─────────────────────────────────┐
│              Gateway (WebSocket Control Plane)              │
│              ws://127.0.0.1:18789                           │
└───────────────────────────┬─────────────────────────────────┘
                            │
┌───────────────────────────▼─────────────────────────────────┐
│                      Agent Runtime                          │
│  • omnillm (LLM providers)                                  │
│  • omniobserve (tracing)                                    │
│  • Tools (browser, shell, http)                             │
└─────────────────────────────────────────────────────────────┘

Configuration

Envoy can be configured via:

  • YAML/JSON configuration file
  • Environment variables
  • CLI flags

See Configuration Reference for details.

Dependencies

Package Purpose
omnillm Multi-provider LLM abstraction
omniobserve LLM observability
Rod Browser automation
gorilla/websocket WebSocket server

Related Projects

License

MIT License - see LICENSE for details.

About

Your AI representative across communication channels. Envoy is a personal AI assistant that routes messages across multiple communication platforms, processes them via an AI agent, and responds on your behalf.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages