█████╗ ██╗██████╗ ███████╗███╗ ██╗
██╔══██╗██║██╔══██╗██╔════╝████╗ ██║
███████║██║██║ ██║█████╗ ██╔██╗ ██║
██╔══██║██║██║ ██║██╔══╝ ██║╚██╗██║
██║ ██║██║██████╔╝███████╗██║ ╚████║
╚═╝ ╚═╝╚═╝╚═════╝ ╚══════╝╚═╝ ╚═══╝
local-first AI operating system
1,400+ skills · 80+ tools · 15+ providers · AGPL-3.0
Windows · Linux · WSL · macOS (API mode)
Website · Contact · Discord · Download
v3.13 — Skill registry · Deep GEPA · User modeling · Docker sandbox · CI/CD Public skill registry (
/install <skill>), failure-learning GEPA with permanent lessons, cross-session user profile (/profile), opt-in Docker sandbox for safe code execution, and GitHub Actions CI/CD with CODEOWNERS security on every PR. See changelog below.
Aiden is a local-first AI operating system. It runs entirely on your machine — no cloud account required, no telemetry, no data leaving your hardware unless you configure a cloud provider. It ships with a signed Windows installer, and runs in headless API mode on Linux, WSL, and macOS. Features: 1,400+ composable skills, 80+ built-in tools, a 6-layer memory architecture, self-healing provider routing, and the ability to control your screen, browse the web, run code, send emails, manage files, and hold a full conversation — offline via Ollama.
| Platform | GUI app | API + CLI | Skills available |
|---|---|---|---|
| Windows 10/11 | ✅ signed installer | ✅ | All 1,400+ (including Windows-only skills) |
| Linux | — | ✅ headless | ~1380 (Windows-only skills auto-skipped) |
| WSL 2 | — | ✅ headless | ~1380 (Windows-only skills auto-skipped) |
| macOS | — | ✅ headless | ~1380 (Windows-only skills auto-skipped) |
Windows-only skills (clipboard history, Defender, OneNote, Outlook COM, registry, etc.) are tagged platform: windows and are silently skipped on other platforms at load time.
irm aiden.taracod.com/install.ps1 | iexOr download the installer manually. Windows 10/11, 64-bit, ~500 MB disk space.
curl -fsSL aiden.taracod.com/install.sh | bashOr install manually:
# Prerequisites: Node.js 20+, git, Ollama (recommended)
git clone https://github.com/taracodlabs/aiden.git
cd aiden
cp .env.example .env # configure OLLAMA_HOST, API keys, etc.
npm install
npm run build
npm start # starts the API server (headless)
# In a second terminal:
npm run cli # interactive TUISet AIDEN_HEADLESS=true to suppress the Electron GUI when running the packaged app.
Full command palette, 1,400+ skills, 80+ tools, automatic provider routing (Groq → BOA → Ollama). Runs in any terminal.
Full chat interface with live activity panel. Local-first, connects to Ollama or any of 15+ cloud providers via your own API key.
6-layer memory visualized — every conversation, task, and learned pattern becomes a node in the knowledge graph. Fully local, persisted to disk, searchable.
| Category | What Aiden does |
|---|---|
| Inference & providers | Local Ollama (Llama 3, Mistral, Qwen, Gemma, Phi…) with optional cloud fallback to OpenAI, Anthropic, Groq, Cerebras, NVIDIA NIM, OpenRouter, and more — 15+ providers including custom OpenAI-compatible endpoints |
| 80+ tools | Web search, file read/write, shell execution, Playwright browser automation, screen capture & OCR, calendar, email (IMAP/SMTP), code execution sandbox, clipboard, system info |
| 1,400+ skills | Composable plugins each with a SKILL.md prompt, tool implementations, and optional sandbox runner — install per-session or globally |
| Subagent swarm | Spawn N parallel agents on any task; vote, merge, or pick the best result automatically |
| 6-layer memory | Episodic (in-context), BM25 keyword, vector semantic, procedural (skill), goal tracking, and LESSONS.md permanent-failure moat that grows every session |
| Voice | Speech-to-text (Groq → OpenAI → local Whisper.cpp) + text-to-speech (Edge TTS → ElevenLabs → Windows SAPI); full offline voice loop |
| Channel adapters | Discord, Slack, Telegram, WhatsApp, Email, Webhook, Twilio — any channel triggers the same agent loop |
| Computer use | Screenshots, screen state reader, GUI automation via keyboard/mouse when asked — full OS control mode |
User input (any channel)
│
▼
┌─────────────┐
│ Planner │ ← breaks task into steps
└──────┬──────┘
│
▼
┌─────────────┐ ┌──────────────────┐
│ Agent loop │────▶│ Tool dispatcher │──▶ 80+ tools
│ agentLoop │ └──────────────────┘
└──────┬──────┘
│
▼
┌─────────────────────────────────┐
│ Memory (6 layers) │
│ episodic · BM25 · vector · │
│ procedural · goal · LESSONS.md │
└─────────────────────────────────┘
│
▼
┌─────────────┐
│ Provider │ ← self-healing chain, 15+ providers
│ router │
└─────────────┘
│
▼
Response (streamed to originating channel)
See ARCHITECTURE.md for a full layer-by-layer breakdown, data flow diagrams, and the skill system design.
Copy .env.example to .env in the Aiden data directory.
cp .env.example .envKey environment variables:
| Variable | Default | Notes |
|---|---|---|
OLLAMA_HOST |
http://127.0.0.1:11434 |
Override if Ollama runs on a different host/port |
OLLAMA_MODEL |
mistral-nemo:12b |
Default chat model |
ANTHROPIC_API_KEY |
— | Optional cloud fallback |
OPENAI_API_KEY |
— | Optional cloud fallback |
GROQ_API_KEY |
— | Free tier: fast Llama 3 inference |
DAILY_BUDGET_USD |
5.00 |
Hard cap on daily cloud API spend |
See .env.example for the full list of ~90 variables covering voice, messaging integrations, search, computer use, and more.
Aiden includes an opt-in Docker sandbox backend that runs shell_exec and run_python tool calls inside isolated containers instead of directly on the host.
- Docker Desktop (Windows/macOS) or Docker Engine (Linux)
AIDEN_SANDBOX_MODE |
Behaviour |
|---|---|
off (default) |
Tools run on the host — no Docker required |
auto |
Try Docker first; silently fall back to host if Docker is unavailable |
strict |
Require Docker — error if Docker is not available |
# In .env
AIDEN_SANDBOX_MODE=autoOr toggle live from the Aiden CLI without restarting:
/sandbox auto # switch to auto mode
/sandbox strict # require Docker
/sandbox off # disable
/sandbox status # show current mode + Docker availability
/sandbox build # pre-build the container image
--network=none— no outbound network access (configurable per-call)--memory=512m --cpus=1— hard resource caps--read-only --tmpfs /tmp— immutable FS, only/tmpis writable--rm— container removed immediately after each tool call- Host
workspace/bind-mounted at/workspaceso results are accessible
Contributions are welcome — see CONTRIBUTING.md for the full guide.
- Bug fixes and new skills are the easiest entry points
- All contributors sign the CLA once via PR comment
- Follow Conventional Commits
- Run
npx tsc --noEmitbefore opening a PR
| Download installer | Latest release |
| Releases & changelog | github.com/taracodlabs/aiden-releases |
| License | AGPL-3.0 core · Apache-2.0 skills |
Community & Intelligence
- Public skill registry —
/install <skill>pulls from skills.taracod.com; browse with/skills registry <query>; publish with/publish <skill> - Deep GEPA — learns from failures, not just successes;
/failedanalyzes the exchange trace, writes a permanent lesson toLESSONS.md, degrades responsible skill confidence; skills failing 3× are auto-deprecated - Honcho user modeling — structured cross-session profile (identity, projects, goals, preferences); only the relevant slice injected per query; view and edit with
/profile - Docker sandbox — opt-in sandboxed
shell_execandrun_pythonexecution;AIDEN_SANDBOX_MODE=auto|strict|off; containers run--network=none --memory=512m --cpus=1 --read-only - GitHub CI/CD — TypeScript type-check + full build + secret scan on every PR to main
- CODEOWNERS — sensitive files auto-request maintainer review on every PR
- Sponsor button — Razorpay + GitHub Sponsors
Memory & Agents
- Post-task skill writer (GEPA-lite) — writes a new skill after every multi-step success
- Session-end memory distillation — 5–15 durable facts extracted per session
- Progressive token budget — tool names only; schema loaded on demand
- Real parallel subagents — isolated context, LLM synthesis pass
- Streaming verbs — "Pondering…", "Hunting…" in real time
- Real scheduler —
remind me in N minutesactually waits - Path C-lite — YouTube/Google/DDG/Bing search + click first result
- Electron auto-updater
- Identity honesty — transparent about inference provider
- Capacity fallback — auto-switches provider on 503/rate-limit
Custom provider routing
- Full support for custom OpenAI-compatible endpoints via
customProvidersindevos.config.json— add any endpoint with abaseUrl,apiKey, andmodel; no code changes required - Fixed silent Groq fallback bug in
callLLM: custom providers now correctly route to their configuredbaseUrlinstead of falling back to the Groq URL - Fixed
raceProviderspin-first logic:primaryProvideris now resolved fromcustomProviderslist when not found inproviders.apis - Fixed health/status endpoint (
/api/providers) to include custom providers in the returned list, tier-sorted
BayOfAssets Claude Haiku 4.5 as default primary
- Swapped default primary provider to BayOfAssets Claude Haiku 4.5 (
claude-haiku-4-5) at tier 1 - Groq and Gemini remain as tier-2 fallback chain
Memory & greeting
- Fixed
buildGreetingPreambledouble-label bug:"Active goals: Active goals:\n..."→ compact single-line goal titles - Added empty-string guard on greeting reply: blank preamble no longer produces
"Currently tracking: . What do you need?"
See releases page for older changelogs.
| Component | License |
|---|---|
Core (src/, cli/, api/, core/, providers/, dashboard-next/) |
AGPL-3.0-only |
Skills (skills/) |
Apache-2.0 |
Aiden's core is AGPL-3.0. You can self-host, modify, and study it freely. Embedding it in a commercial product or offering it as a hosted service requires either releasing your modifications under AGPL-3.0 or purchasing a commercial license.
Skills in skills/ are Apache-2.0 and can be used in commercial products without copyleft obligations.
For commercial licensing and enterprise deployments: aiden.taracod.com/contact?type=enterprise
Built by Taracod · Built by Shiva Deore · AGPL-3.0


