A secure-by-default personal AI assistant built on the BEAM. OTP-native, fault-tolerant, and distributed by design.
The AI assistant product category is proven, but existing solutions have catastrophic security postures. MonkeyClaw delivers the same capabilities with security built into the platform, not patched on top.
Default-deny policy, process isolation, no implicit system access. Security comes from the BEAM, not patches.
Every agent is a supervised process. Crashes are isolated, recovered, and audited automatically.
Single user, multiple nodes. Run agents across machines with encrypted BEAM distribution — no SSH required.
Plug-based extension model for application-level capabilities, plus agent-level MCP, skills, and plugins via BeamAgent.
Five AI backend adapters (Claude, Codex, Gemini, OpenCode, Copilot) via BeamAgent, with unified session management.
Token-by-token response delivery through the full stack — BeamAgent to LiveView progressive rendering.
Strategy-driven iteration loops with evaluate-decide cycles, mutation scope enforcement, checkpoint rollback, and optional human gates.
SQLite-backed conversation persistence with FTS5 full-text search, temporal and role filtering, and automatic cross-session context injection via the recall extension plug.
SQLite3 with STRICT mode and WITHOUT ROWID — zero-ops, type-safe storage with clustered UUID lookups, purpose-built for single-user deployments.
Reusable procedures extracted from accepted experiments. FTS5-indexed for natural language discovery, effectiveness scoring tracks what works, and an ETS hot cache keeps injection latency low.
Pure OTP scheduling for timed experiment runs — fire once or on recurring intervals. Poll-based GenServer with status lifecycle, run tracking, and configurable bounds.
Privacy-aware observation of user interactions. Extracts topic frequencies and behavioral patterns, then injects personalized context into agent prompts for improved response quality.
Multi-source webhook receiver with 16 built-in sources (GitHub, GitLab, Slack, Discord, Bitbucket, Forgejo, Stripe, Twilio, Linear, Sentry, PagerDuty, Vercel, Netlify, CircleCI, Mattermost) and source-specific signature verification, replay detection, per-endpoint rate limiting, and async agent dispatch. AES-256-GCM encrypted secrets at rest.
Event-driven notification system connecting telemetry to user-facing alerts. Workspace-scoped rules match event patterns with severity thresholds, delivering via in-app PubSub, email, or both. ETS-cached routing, real-time LiveView updates, and a full REST API for programmatic access.
Bi-directional messaging with Slack, Discord, Telegram, WhatsApp, and the web UI. Stateless adapter behaviour with platform-specific webhook verification (HMAC-SHA256, Ed25519), inbound parsing, outbound delivery via supervised async tasks, and global notifications across all pages.
Encrypted API key and OAuth token storage with @secret:name opaque references — the AI model never sees plaintext. AES-256-GCM encryption at rest, HKDF-derived keys, secret scanning guardrails (14 patterns), and a LiveView management UI.
Periodic provider model list cache with SQLite persistence and ETS write-through for low-latency reads. GenServer-managed refresh cycles for Anthropic, OpenAI, and Google APIs with graceful degradation on failures.
MonkeyClaw is the product layer, BeamAgent is the runtime substrate, and the bridge layers in between translate domain objects into agent operations. Clean separation of concerns, connected through a public Elixir API.
Full API documentation generated with ExDoc.
Browse API Docs