An operating system for AI agents. You define the agents: what they do, how often they run, and which AI model each one uses. The system runs them in parallel as supervised processes, learns from their work, and flags things for your review when a human call is needed.
ALA is not a wrapper around a single AI call. Every agent gets its own schedule, pause control, memory, and conversation history, on top of multi-pass coding and research pipelines, an ML learning layer, persistent memory with unlimited conversation context, and a full web UI to run it all.
Task Agents (yours to define) - Add any number of recurring agents in the UI, each with its own schedule, model, and instructions file. An agent can be anything you can describe: point it at your own instructions and it runs on whatever schedule you give it. A fresh install starts with zero agents. Preset types come ready made for common roles (outreach, support intake, social engagement with an approval queue), you add the ones you want from the Config tab, and you can run as many agents of as many kinds as you want side by side. Each preset's settings page appears in Config once that agent exists.
Agents are configured in config/agents.json (or the Config tab) and reconcile live: add, edit, pause, or remove agents without restarting anything. Removals let the current task finish; a Kill Now button stops one immediately.
Web UI - The whole system runs from the browser: a dashboard with live agent activity and timelines, multi-model chat with the master agent, an agents manager for adding and editing agents while everything runs, a full file browser with a code editor, config editing, memory file editing, and approval queues for anything an agent wants a human to sign off on.
Coding Pipeline - Multi-pass autonomous coding: plan and build, multiple review-and-fix passes, final cleanup. Queue a task, walk away, come back to reviewed code. Each task runs in one continuous AI session so every step has full context.
Research Pipeline - Web search, fact-check review, improve, synthesize. Produces verified knowledge documents with sources and confidence levels, optionally stored into a knowledge base.
Chatbot - Multi-platform bot for Discord, Slack, WhatsApp, and Telegram. Voice message support with transcription and TTS.
Browser Automation - Full headless Chromium with Playwright, stealth fingerprinting, persistent profiles, human-like interaction.
Memory System - Local SQLite with sentence-transformers embeddings and sqlite-vec vector search (default, zero config). Upgrade to Adaptive Recall for intelligent memory with knowledge graphs, multi-strategy retrieval, and automatic consolidation.
Image Generation - Provided by Levity, a free companion project with its own studio UI, running on Cloudflare Workers AI (free tier) or OpenRouter.
Multi-Model Support - Claude (Sonnet, Opus with effort levels), OpenAI Codex (GPT-5.5, GPT-5.4 Mini), and Ollama local models. Every agent and pipeline picks its own model from config.
git clone https://github.com/AIAppsAPI/auto-learning-agents.git
cd auto-learning-agents
cp .env.example .env
docker-compose up -dAfter the container starts, log in to Claude:
docker compose exec -u ala ala claude loginAccess the UI at http://localhost:80
See docker/README.md for detailed setup, memory backend options, and configuration.
ALA is an Elixir/OTP supervision tree. Each node is a GenServer with its own tick rate, pause state, and conversation history.
| Node | Purpose | Default Tick |
|---|---|---|
| Master Agent | Your conversation interface | Event-driven |
| Task Agents | User-defined recurring agents (marketing, support, social, custom) | Per agent, live-reloaded |
| Impulse | Autonomous brain, checks on everything, backs off when you are active | 60 min, off by default |
| Adaptive Coding | Multi-pass coding pipeline with queue | 15 min |
| Adaptive Research | Multi-pass research pipeline with queue | 15 min |
| Chatbot | Multi-platform message handler | 5 sec |
| Learning | ML maintenance, training accuracy, data curation | 10 min |
| Schedule | Cron replacement for reports, training, cleanup | 60 min |
| Interactive Session | Full PTY sessions via erlexec | Event-driven |
| Memory Bank | Python embedding service supervisor | Always-on |
| Analysis | ML analysis service supervisor | Always-on |
All tick rates are configurable. Config files hot-reload, and the agent manager watches config/agents.json so agent changes apply while the system runs.
ALA includes ~70 tools the agents can call. Highlights:
- webbrowserbot - Playwright browser with stealth mode, fingerprint profiles, proxy rotation, screenshots, JS execution
- brightdata - BrightData API wrapper for LinkedIn, Instagram, X, Facebook, TikTok, YouTube, Reddit, Google SERP, and AI visibility tracking
- interactive sessions - Full PTY terminal sessions with ANSI stripping and special key support
- SSH management - Remote server execution, file transfer, rsync, interactive remote sessions
- marketing - Complete email/SMS system with sequences, sending windows, engagement tracking, A/B template data
- socialmedia - Multi-platform posting, monitoring, analytics across 7 platforms
- customerservice - IMAP intake, web forms, knowledge base, automated response
- webpages - Website builder with S3 and API backends
- mixture query - Send the same question to multiple AI models, synthesize the results
- delegate task - Spawn focused child agents with isolated context
Agents are allowed to extend this layer: they can add new tools to tools/ as they learn what they need.
settings.txt - Runtime config: memory backend, ports, installed models, API tokens. Read on every tick, so changes take effect without restart.
config/agents.json - Your task agents: id, type, enabled, tick timing, model, and (for custom agents) the instructions file. Managed from the Config tab.
config/ - Platform-specific JSON configs for the chatbot, marketing, customer service, social media, and webpages.
memory/agent_systems/ - Role instructions per agent type. Each preset type has its files here, and custom agents point at their own.
memory/system/ - The files you edit from the UI: brand voice, product descriptions, support policies, coding standards, compliance rules.
The memory system stores knowledge across six types:
| Type | Purpose |
|---|---|
| general_knowledge | Facts, observations, lessons learned |
| user_knowledge | People the system knows, their preferences and rules |
| callable_scripts | How to invoke tools and scripts |
| work_project | Ongoing work tracking |
| cross_reference | Pointers to external information |
| learned_procedure | Multi-step workflows learned from experience |
Choose your backend in settings.txt:
- local (default) - Sentence-transformers embeddings with sqlite-vec vector search. Zero external dependencies, works out of the box.
- adaptive_recall - Adaptive Recall for intelligent memory with knowledge graphs, multi-strategy retrieval, automatic consolidation, and ML-powered ranking. Free tier available.
- Pause everything: create
work/.global_pause(or the sidebar button). Delete to resume. - Pause one agent:
work/.pause_<agent id>, or the per-agent button in the Config tab. - Kill a running task immediately: the Kill Now button next to each agent. The agent itself keeps running and ticks again normally.
- The master agent understands natural language: "pause marketing" or "stop sending emails" works in conversation.
Copyright (c) 2026 Paul Crinigan (https://www.aiappsapi.com/)
AGPL-3.0. Free to self-host and modify for your own use. Companies that want to embed ALA in a product, offer it as a hosted service, or need a non-AGPL license can purchase a commercial license at https://www.aiappsapi.com/
- Auto Learning Agents: https://www.autolearningagents.com/
- Adaptive Recall (MCP memory tool): https://www.adaptiverecall.com/
- Logo Design Xperts (image generation, free software name Levity): https://www.logodesignxperts.com/
- AFCommerce (ecommerce): https://www.afcommerce.com/