envoy

module
v0.0.0-...-8c947ec Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 31, 2026 License: MIT

README

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

License

MIT License - see LICENSE for details.

Directories

Path Synopsis
Package agent provides the AI agent runtime for envoy.
Package agent provides the AI agent runtime for envoy.
Package channels provides channel abstraction for messaging platforms.
Package channels provides channel abstraction for messaging platforms.
adapters/discord
Package discord provides a Discord channel adapter for envoy.
Package discord provides a Discord channel adapter for envoy.
adapters/telegram
Package telegram provides a Telegram channel adapter for envoy.
Package telegram provides a Telegram channel adapter for envoy.
cmd
envoy command
Package main is the entry point for the envoy CLI.
Package main is the entry point for the envoy CLI.
envoy/commands
Package commands implements the envoy CLI commands.
Package commands implements the envoy CLI commands.
Package config provides configuration types and loading for envoy.
Package config provides configuration types and loading for envoy.
examples
basic command
Package main demonstrates basic envoy usage.
Package main demonstrates basic envoy usage.
Package gateway provides the WebSocket control plane for envoy.
Package gateway provides the WebSocket control plane for envoy.
internal
version
Package version provides build and version information for envoy.
Package version provides build and version information for envoy.
tools
browser
Package browser provides browser automation tools for envoy.
Package browser provides browser automation tools for envoy.
shell
Package shell provides shell execution tools for envoy.
Package shell provides shell execution tools for envoy.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL