Skip to content

AlexClaw 🦇

A BEAM-native personal autonomous AI agent built on Elixir/OTP.

AlexClaw monitors the world — RSS feeds, GitHub repositories, Google services, arbitrary APIs — accumulates knowledge, executes workflows autonomously on schedule, and communicates with its owner via Telegram or Discord. Every task is routed to the cheapest available LLM that satisfies the required reasoning tier, including fully local models.

Designed as a single-user personal agent. Not a platform. Not a marketplace. One codebase, fully auditable, running on your infrastructure.


Why AlexClaw?

  • BEAM-native — OTP supervision, concurrency, and fault tolerance are the runtime, not bolted on. A failed RSS fetch cannot crash a concurrent research query.
  • Cost-aware — tier-based LLM routing maximises free tiers across providers. Fully local (zero API cost) deployments are supported.
  • Runtime-configurable — all settings live in PostgreSQL, cached in ETS, editable via admin UI without restart.
  • Single-user, fully auditable — no multi-tenant complexity, no marketplace, no platform overhead.

Quick Start

git clone https://github.com/thatsme/AlexClaw.git
cd AlexClaw
cp .env.example .env
# Edit .env — set DATABASE_PASSWORD, SECRET_KEY_BASE, ADMIN_PASSWORD,
# TELEGRAM_BOT_TOKEN, and at least one LLM API key (GEMINI_API_KEY is free)
docker compose up -d

Open http://localhost:5001 and log in with your ADMIN_PASSWORD. Send /ping to your Telegram bot to verify. That's it.

Full setup walkthrough: Installation


Feature Overview

Area What it does
Multi-Model LLM Router Tier-based routing (light/medium/heavy/local) with priority ordering, daily usage tracking, and automatic fallback
Workflow Engine Linear pipelines with conditional branching, per-step circuit breaking, and full run history
Persistent Memory PostgreSQL + pgvector, hybrid semantic + keyword search, async background embedding
Dynamic Skills Hot-load .ex skill modules at runtime — permission-sandboxed, 2FA-gated, integrity-checksummed
Coder Skill Local LLM generates new skills from natural language. Zero cloud cost
Multi-Gateway Telegram + Discord simultaneously. Responses route back to the originating transport
Multi-Node Clustering Multiple BEAM nodes share a database and exchange workflow outputs over Erlang distribution
OTP Circuit Breaker Per-skill breaker with automatic half-open recovery. No external dependencies

Architecture in One Diagram

Telegram ──> TelegramGateway ──┐
Discord  ──> DiscordGateway  ──┴──> Dispatcher ──> Skills
                                         │              │
                               Workflows.Executor    SkillSupervisor
                                         │         (DynamicSupervisor)
                                    LLM Router
                          (Gemini / Anthropic / Ollama / LM Studio)
                           ┌─────────────┴─────────────┐
                        Memory                       Config
                 (pgvector + embeddings)         (DB + ETS + PubSub)

Full architecture documentation


Requirements

  • Docker and Docker Compose v2
  • 2 GB RAM minimum
  • A Telegram bot token (from @BotFather)
  • At least one LLM provider — Gemini API key is free and takes 2 minutes