"Draw logic, don't write it"
Axolotl is a visual platform for building and executing AI-agent workflows. Design workflows from nodes on an infinite canvas, connect LLM providers, manage memory via MemPalace, and run execution in real-time with full trajectory visibility.
- π¨ Infinite Canvas β drag-and-drop, zoom, pan via VueFlow
- π§© 11 Node Types: Source, Agent, Output, Condition, Loop, Memory, Guardrail, Human, Fallback, Subagent, Group
- π Typed Edges β data, condition true/false, loop
- β©οΈ Undo/Redo β Cmd+Z / Cmd+Shift+Z
- π Copy/Paste/Duplicate β Cmd+C / Cmd+V / Cmd+D
- π Search β Cmd+F by node name or type
- π¦ JSON Import/Export β full schema exchange
- π Mermaid Export β diagrams from schema
- π Python Export β generate executable
.pyscripts - π· PNG/SVG Export β canvas screenshots
- π Comments β text notes on canvas
- π¦ Node Grouping β group 2+ nodes (Ctrl+G)
- β‘ Parallel Execution β independent branches via CompletableFuture
- π‘ WebSocket Real-time β progress, logs, tokens, metrics, waves
- π Token Streaming β character-by-character LLM response
- π¦ Convergence Monitoring β error counter, threshold 3 β
BLOCKED - π Cancel Execution β stop on demand
- π Execution History β records of past runs
- π Execution Modes: EXECUTE (full), ANALYZE (read-only), DRY_RUN (simulate)
- π§ 8 Built-in Tools:
file_read,file_write,directory_read,bash,memory_read,memory_write,web_search,web_fetch - π§ RLM Predict Tool β call sub-LM with DSPy signatures for structured extraction
- π Trajectory Panel β visualize iterations, tool calls, timing
- π Dangerous Command Blocking β rm -rf, format, mkfs, etc.
- βοΈ Tool Permissions β per-node allowed paths, blocked commands
- π― Agent Types: Assistant, Coder, Researcher, Reviewer, Project Analyzer
- π§ Skill Auto-Generation β extract patterns from trajectories β auto-generate skills
- π Skill Tracking β usage count, success rate, version history
- πΎ Pattern Storage β saved to MemPalace (axolotl/patterns, axolotl/skills)
- π¦ Ollama β local models, NDJSON streaming
- π€ OpenAI β GPT-4o/mini, SSE streaming
- π§ Anthropic β Claude Sonnet/Opus/Haiku
- π DeepSeek β budget-friendly model
- π Custom Endpoints β add OpenAI-compatible providers
- π― Per-Node Model β each AgentNode selects its own model
- π§ Memory Node β search memory, filter by wing/room
- πΎ Auto-save β agent results β MemPalace automatically
- π Graph Visualization β Memory Graph View with wings, rooms, tunnels
- π Graph Context β structured tree + table β injection into systemPrompt
- π Semantic Search β cosine similarity
- ποΈ Memory Result Cards β search results as floating cards on canvas
- π Todo List β tasks with statuses and priorities
- βοΈ Batch Add β mass-add via textarea
- β Acceptance Criteria β validation on DONE transition
- π Node Linking β bind task to canvas node
- π€ MCP Server β 7 tools via JSON-RPC 2.0 at
/mcp - π§© Skills β auto-learning system with usage tracking and success rate
- π Prometheus Metrics β
/actuator/prometheus - π OpenAPI/Swagger β
/swagger.html - π Structured JSON Logging β Logstash encoder for ELK/Loki
- π API Keys β management for external systems
- π‘ Remote API β
/api/remote/*for workflow triggers - β‘ Rate Limiting β 60 req/min per key
- π Webhook Callbacks β completion notifications
- π€ Share Links β read-only links with expiration
- π€ Subagent Node β invoke nested workflows
- π Input/Output Mapping β data passing between workflows
- π‘οΈ Max Depth β recursion protection (5 levels)
- π Nested Logs β indented logs in Execution Panel
- π JWT Authorization β registration/login
- π₯ Multi-tenancy β schema isolation per user
- π Settings API β CRUD provider API keys
- π‘οΈ Guardrail Node β data validation/transformation
- π€ Human Node β wait for human confirmation
- π Dark Theme β #1e1e2e background, #6c63ff accent
- β¨οΈ Command Palette β Cmd+K quick access
- π Onboarding β 2-step wizard on first visit
- π¬ Animations β pulse running, glow completed, shake failed
- π Toast Notifications β feedback on actions
- πΎ Auto-save Indicator β visual save status
- π₯οΈ Native Window β 1400x900, min 1024x700
- π§ System Tray β show/hide, new workflow, quit
- π Application Menu β File, Edit, View, Window, Help
- β¨οΈ Global Shortcut β Cmd/Ctrl+Shift+A toggle visibility
- π Native Notifications β execution complete, errors
- πΎ File Dialogs β native open/save for workflows
- π Auto-update β electron-updater from GitHub releases
- Java 21+
- Node.js 18+
- (optional) Ollama for local LLM
cd backend
mvn spring-boot:run
# http://localhost:8080cd frontend
npm install
npm run dev
# http://localhost:5173docker-compose up -d| Technology | Version |
|---|---|
| Java | 21 |
| Spring Boot | 3.2 |
| SQLite | 3.x |
| PostgreSQL | (Docker) |
| WebSocket | Spring |
| Micrometer | Prometheus |
| springdoc | OpenAPI 3.0 |
| Technology | Version |
|---|---|
| Vue | 3 (Composition API) |
| TypeScript | 5.x |
| VueFlow | 1.x |
| Vite | 5.x |
| Pinia | State management |
| Playwright | E2E testing |
| Electron | 34.x |
Source β Agent β Condition β Loop β Output
β
Memory (MemPalace)
β
Subagent (nested workflow)
- Topological Sort (Kahn's algorithm) β compute levels
- Parallel Execution of nodes at same level
- WebSocket Events: progress, log, error, nodeTime, token, wave, toolCall, iteration
- Context Management: collect upstream results + LLM summarization
- Variable Interpolation:
{{input}},{{prev_result}},{{node:Name}} - Execution Modes: EXECUTE/ANALYZE/DRY_RUN
Axolotl/
βββ backend/ # Spring Boot 3.2, Java 21
β βββ src/main/java/.../
β βββ controller/ # REST endpoints
β βββ service/ # Business logic
β βββ llm/ # LLM providers
β βββ model/ # Domain objects
β βββ config/ # Security, JWT, WebSocket
βββ frontend/ # Vue 3 + TypeScript + Vite
β βββ src/
β βββ components/
β β βββ canvas/ # WorkflowCanvas
β β βββ nodes/ # Node types
β β βββ execution/ # ExecutionPanel
β βββ stores/ # Pinia
βββ electron/ # Electron desktop app
βββ .github/workflows/ # CI/CD
β βββ ci.yml # Compile & build
β βββ release.yml # Docker β GHCR
βββ kubernetes/axolotl/ # Helm chart
βββ e2e/ # Playwright tests
βββ CONTRIBUTING.md
βββ CODE_OF_CONDUCT.md
βββ DEPLOY.md
βββ docker-compose.yml
# Backend tests
cd backend && mvn test
# Frontend unit tests
cd frontend && npm run test:unit
# E2E tests
cd e2e && npx playwright test| Category | Implemented | Total |
|---|---|---|
| Visual Editor | β | 14 |
| Workflow Execution | β | 10 |
| LLM Providers | β | 7 |
| Tool-Enabled Agents | β | 6 |
| MemPalace | β | 6 |
| Plan / MCP | β | 7 |
| Skills System | β | 5 |
| Remote API | β | 6 |
| Security | β | 6 |
| UI/UX | β | 8 |
| Desktop App | β | 8 |
| Infrastructure | β | 5 |
| Total | 100 |
| Feature | Axolotl | n8n | LangFlow |
|---|---|---|---|
| Infinite canvas to chat | β | β | β |
| Tool-enabled agents | β | β | β |
| Trajectory visualization | β | β | β |
| Memory as graph | β | β | β |
| Auto-learning Skills | β | β | β |
| Execution modes | β | β | β |
| Built-in Plan/Todo | β | β | β |
| Human-in-the-loop core | β | basic | basic |
| Local-first privacy | β | β | β |
| Desktop App | β | β | β |
See CONTRIBUTING.md for:
- Development setup
- PR process
- Coding standards
- Commit message format
MIT