aiden-runtime 3.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/README.md +465 -0
- package/config/devos.config.json +186 -0
- package/config/hardware.json +9 -0
- package/config/model-selection.json +7 -0
- package/config/setup-complete.json +20 -0
- package/dist/api/routes/computerUse.js +112 -0
- package/dist/api/server.js +6870 -0
- package/dist/bin/npx-init.js +71 -0
- package/dist/coordination/commandGate.js +115 -0
- package/dist/coordination/livePulse.js +127 -0
- package/dist/core/agentLoop.js +2718 -0
- package/dist/core/agentShield.js +231 -0
- package/dist/core/aidenIdentity.js +215 -0
- package/dist/core/aidenPersonality.js +166 -0
- package/dist/core/aidenSdk.js +374 -0
- package/dist/core/asyncTasks.js +82 -0
- package/dist/core/auditTrail.js +61 -0
- package/dist/core/auxiliaryClient.js +114 -0
- package/dist/core/bgLLM.js +108 -0
- package/dist/core/bm25.js +68 -0
- package/dist/core/callbackSystem.js +64 -0
- package/dist/core/channels/adapter.js +6 -0
- package/dist/core/channels/discord.js +173 -0
- package/dist/core/channels/email.js +253 -0
- package/dist/core/channels/imessage.js +164 -0
- package/dist/core/channels/manager.js +96 -0
- package/dist/core/channels/signal.js +140 -0
- package/dist/core/channels/slack.js +139 -0
- package/dist/core/channels/twilio.js +144 -0
- package/dist/core/channels/webhook.js +186 -0
- package/dist/core/channels/whatsapp.js +185 -0
- package/dist/core/clarifyBus.js +75 -0
- package/dist/core/codeInterpreter.js +82 -0
- package/dist/core/computerControl.js +439 -0
- package/dist/core/conversationMemory.js +334 -0
- package/dist/core/costTracker.js +221 -0
- package/dist/core/cronManager.js +217 -0
- package/dist/core/deepKB.js +77 -0
- package/dist/core/doctor.js +279 -0
- package/dist/core/dreamEngine.js +334 -0
- package/dist/core/entityGraph.js +169 -0
- package/dist/core/eventBus.js +16 -0
- package/dist/core/evolutionAnalyzer.js +153 -0
- package/dist/core/executionLoop.js +309 -0
- package/dist/core/executor.js +224 -0
- package/dist/core/failureAnalyzer.js +166 -0
- package/dist/core/fastPathExpansion.js +82 -0
- package/dist/core/faultEngine.js +106 -0
- package/dist/core/featureGates.js +70 -0
- package/dist/core/fileIngestion.js +113 -0
- package/dist/core/gateway.js +97 -0
- package/dist/core/goalTracker.js +75 -0
- package/dist/core/growthEngine.js +168 -0
- package/dist/core/hardwareDetector.js +98 -0
- package/dist/core/hooks.js +45 -0
- package/dist/core/httpKeepalive.js +46 -0
- package/dist/core/hybridSearch.js +101 -0
- package/dist/core/importers.js +164 -0
- package/dist/core/instinctSystem.js +223 -0
- package/dist/core/knowledgeBase.js +351 -0
- package/dist/core/learningMemory.js +121 -0
- package/dist/core/lessonsBrowser.js +125 -0
- package/dist/core/licenseManager.js +399 -0
- package/dist/core/logBuffer.js +85 -0
- package/dist/core/machineId.js +87 -0
- package/dist/core/mcpClient.js +442 -0
- package/dist/core/memoryDistiller.js +165 -0
- package/dist/core/memoryExtractor.js +212 -0
- package/dist/core/memoryIds.js +213 -0
- package/dist/core/memoryPreamble.js +113 -0
- package/dist/core/memoryQuery.js +136 -0
- package/dist/core/memoryRecall.js +140 -0
- package/dist/core/memoryStrategy.js +201 -0
- package/dist/core/messageValidator.js +85 -0
- package/dist/core/modelDiscovery.js +108 -0
- package/dist/core/modelRouter.js +118 -0
- package/dist/core/morningBriefing.js +203 -0
- package/dist/core/multiGoalValidator.js +51 -0
- package/dist/core/parallelExecutor.js +43 -0
- package/dist/core/passiveSkillObserver.js +204 -0
- package/dist/core/paths.js +57 -0
- package/dist/core/patternDetector.js +83 -0
- package/dist/core/planResponseRepair.js +64 -0
- package/dist/core/planTool.js +111 -0
- package/dist/core/playwrightBridge.js +356 -0
- package/dist/core/pluginSystem.js +121 -0
- package/dist/core/privateMode.js +85 -0
- package/dist/core/reactLoop.js +156 -0
- package/dist/core/recipeEngine.js +166 -0
- package/dist/core/responseCache.js +128 -0
- package/dist/core/runSandbox.js +132 -0
- package/dist/core/sandboxRunner.js +200 -0
- package/dist/core/scheduler.js +543 -0
- package/dist/core/secretScanner.js +49 -0
- package/dist/core/semanticMemory.js +223 -0
- package/dist/core/sessionMemory.js +259 -0
- package/dist/core/sessionRouter.js +91 -0
- package/dist/core/sessionSearch.js +163 -0
- package/dist/core/setupWizard.js +225 -0
- package/dist/core/skillImporter.js +303 -0
- package/dist/core/skillLibrary.js +144 -0
- package/dist/core/skillLoader.js +471 -0
- package/dist/core/skillTeacher.js +352 -0
- package/dist/core/skillValidator.js +210 -0
- package/dist/core/skillWriter.js +384 -0
- package/dist/core/slashAsTool.js +226 -0
- package/dist/core/spawnManager.js +197 -0
- package/dist/core/statusVerbs.js +43 -0
- package/dist/core/swarmManager.js +109 -0
- package/dist/core/taskQueue.js +119 -0
- package/dist/core/taskRecovery.js +128 -0
- package/dist/core/taskState.js +168 -0
- package/dist/core/telegramBot.js +152 -0
- package/dist/core/todoManager.js +70 -0
- package/dist/core/toolNameRepair.js +71 -0
- package/dist/core/toolRegistry.js +2730 -0
- package/dist/core/tools/calendarTool.js +98 -0
- package/dist/core/tools/companyFilingsTool.js +98 -0
- package/dist/core/tools/gmailTool.js +87 -0
- package/dist/core/tools/marketDataTool.js +135 -0
- package/dist/core/tools/socialResearchTool.js +121 -0
- package/dist/core/truthCheck.js +57 -0
- package/dist/core/updateChecker.js +74 -0
- package/dist/core/userCognitionProfile.js +238 -0
- package/dist/core/userProfile.js +341 -0
- package/dist/core/version.js +5 -0
- package/dist/core/visionAnalyze.js +161 -0
- package/dist/core/voice/audio.js +187 -0
- package/dist/core/voice/stt.js +226 -0
- package/dist/core/voice/tts.js +310 -0
- package/dist/core/voiceInput.js +118 -0
- package/dist/core/voiceOutput.js +130 -0
- package/dist/core/webSearch.js +326 -0
- package/dist/core/workflowTracker.js +72 -0
- package/dist/core/workspaceMemory.js +54 -0
- package/dist/core/youtubeTranscript.js +224 -0
- package/dist/integrations/computerUse/apiRegistry.js +113 -0
- package/dist/integrations/computerUse/screenAgent.js +203 -0
- package/dist/integrations/computerUse/visionLoop.js +296 -0
- package/dist/memory/memoryLayers.js +143 -0
- package/dist/providers/boa.js +93 -0
- package/dist/providers/cerebras.js +70 -0
- package/dist/providers/custom.js +89 -0
- package/dist/providers/gemini.js +82 -0
- package/dist/providers/groq.js +92 -0
- package/dist/providers/index.js +149 -0
- package/dist/providers/nvidia.js +70 -0
- package/dist/providers/ollama.js +99 -0
- package/dist/providers/openrouter.js +74 -0
- package/dist/providers/router.js +497 -0
- package/dist/providers/types.js +6 -0
- package/dist/security/browserVault.js +129 -0
- package/dist/security/dataGuard.js +89 -0
- package/dist/tools/eonetTool.js +72 -0
- package/dist/types/computerUse.js +2 -0
- package/dist/types/executor.js +2 -0
- package/dist-bundle/cli.js +357859 -0
- package/package.json +256 -0
package/README.md
ADDED
|
@@ -0,0 +1,465 @@
|
|
|
1
|
+
```
|
|
2
|
+
█████╗ ██╗██████╗ ███████╗███╗ ██╗
|
|
3
|
+
██╔══██╗██║██╔══██╗██╔════╝████╗ ██║
|
|
4
|
+
███████║██║██║ ██║█████╗ ██╔██╗ ██║
|
|
5
|
+
██╔══██║██║██║ ██║██╔══╝ ██║╚██╗██║
|
|
6
|
+
██║ ██║██║██████╔╝███████╗██║ ╚████║
|
|
7
|
+
╚═╝ ╚═╝╚═╝╚═════╝ ╚══════╝╚═╝ ╚═══╝
|
|
8
|
+
|
|
9
|
+
local-first AI operating system
|
|
10
|
+
1,400+ skills · 80+ tools · 15+ providers · AGPL-3.0
|
|
11
|
+
Windows · Linux · WSL · macOS (API mode)
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
<p align="center">
|
|
15
|
+
<a href="https://github.com/taracodlabs/aiden-releases/releases/latest"><img src="https://img.shields.io/github/v/release/taracodlabs/aiden-releases?color=f97316&label=version" alt="Latest version" /></a>
|
|
16
|
+
<a href="https://github.com/taracodlabs/aiden-releases/releases"><img src="https://img.shields.io/github/downloads/taracodlabs/aiden-releases/total?color=f97316&label=downloads" alt="Downloads" /></a>
|
|
17
|
+
<a href="https://discord.gg/gMZ3hUnQTm"><img src="https://img.shields.io/badge/chat-discord-7289da?logo=discord&logoColor=white" alt="Discord" /></a>
|
|
18
|
+
<a href="./LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-orange" alt="License: AGPL-3.0" /></a>
|
|
19
|
+
<a href="https://github.com/taracodlabs/aiden/stargazers"><img src="https://img.shields.io/github/stars/taracodlabs/aiden?style=flat&color=f9d71c" alt="Stars" /></a>
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
<p align="center">
|
|
23
|
+
<a href="https://aiden.taracod.com"><b>Website</b></a> ·
|
|
24
|
+
<a href="https://aiden.taracod.com/contact"><b>Contact</b></a> ·
|
|
25
|
+
<a href="https://discord.gg/gMZ3hUnQTm"><b>Discord</b></a> ·
|
|
26
|
+
<a href="https://github.com/taracodlabs/aiden-releases/releases/latest"><b>Download</b></a>
|
|
27
|
+
</p>
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
> **v3.15 — Reliable browser automation · LocalSend · Security scanner · OSS contributor infrastructure**
|
|
32
|
+
> Browser tools are now built on a centralised Playwright session (`playwrightBridge.ts`) — persistent context, idle-close, and a new `browser_get_url` tool. Send files to any device on your LAN with the LocalSend skill. Opt-in Decepticon security scanner. Full CONTRIBUTING guide, issue templates, public roadmap, and good-first-issues for contributors. See [changelog](#changelog) below.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
Aiden is a local-first AI operating system. It runs entirely on
|
|
37
|
+
your machine — no cloud account required, no telemetry, no data leaving your
|
|
38
|
+
hardware unless you configure a cloud provider. It ships with a signed Windows
|
|
39
|
+
installer, and runs in headless API mode on Linux, WSL, and macOS. Features:
|
|
40
|
+
1,400+ composable skills, 80+ built-in tools, a 6-layer memory architecture,
|
|
41
|
+
self-healing provider routing, and the ability to control your screen, browse
|
|
42
|
+
the web, run code, send emails, manage files, and hold a full conversation —
|
|
43
|
+
offline via Ollama.
|
|
44
|
+
|
|
45
|
+
## Platform support
|
|
46
|
+
|
|
47
|
+
| Platform | GUI app | API + CLI | Skills available |
|
|
48
|
+
|---|---|---|---|
|
|
49
|
+
| **Windows 10/11** | ✅ signed installer | ✅ | All 1,400+ (including Windows-only skills) |
|
|
50
|
+
| **Linux** | — | ✅ headless | ~1380 (Windows-only skills auto-skipped) |
|
|
51
|
+
| **WSL 2** | — | ✅ headless | ~1380 (Windows-only skills auto-skipped) |
|
|
52
|
+
| **macOS** | — | ✅ headless | ~1380 (Windows-only skills auto-skipped) |
|
|
53
|
+
|
|
54
|
+
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.
|
|
55
|
+
|
|
56
|
+
## Quick Start
|
|
57
|
+
|
|
58
|
+
### Prerequisites
|
|
59
|
+
- Node.js 18+
|
|
60
|
+
- Git
|
|
61
|
+
- Ollama (optional, for offline mode): [ollama.ai](https://ollama.ai)
|
|
62
|
+
|
|
63
|
+
### Windows — one-line install
|
|
64
|
+
|
|
65
|
+
```powershell
|
|
66
|
+
irm aiden.taracod.com/install.ps1 | iex
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Or [download the signed installer](https://github.com/taracodlabs/aiden-releases/releases/latest) manually. Windows 10/11, 64-bit, ~500 MB disk space.
|
|
70
|
+
|
|
71
|
+
### Linux / WSL / macOS — one-line install
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
curl -fsSL aiden.taracod.com/install.sh | bash
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Manual install (all platforms)
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
git clone https://github.com/taracodlabs/aiden.git
|
|
81
|
+
cd aiden
|
|
82
|
+
npm install
|
|
83
|
+
cp .env.example .env
|
|
84
|
+
# Edit .env — add at minimum one API key (Groq is free: console.groq.com)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Run
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Terminal 1 — build and start server
|
|
91
|
+
npm run build
|
|
92
|
+
npm start
|
|
93
|
+
|
|
94
|
+
# Terminal 2 — start CLI
|
|
95
|
+
npm run cli
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### After pulling updates
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
git pull
|
|
102
|
+
npm run build
|
|
103
|
+
npm start
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Uninstall
|
|
107
|
+
|
|
108
|
+
**Windows**
|
|
109
|
+
Open *Settings → Apps* (or *Control Panel → Programs*) and uninstall **Aiden**.
|
|
110
|
+
To also remove user data:
|
|
111
|
+
```powershell
|
|
112
|
+
Remove-Item -Recurse -Force "$env:APPDATA\aiden"
|
|
113
|
+
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\aiden"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Linux / macOS / WSL**
|
|
117
|
+
```bash
|
|
118
|
+
curl -fsSL aiden.taracod.com/uninstall.sh | bash
|
|
119
|
+
```
|
|
120
|
+
Or manually:
|
|
121
|
+
```bash
|
|
122
|
+
rm -rf ~/.local/share/aiden ~/.config/aiden
|
|
123
|
+
npm uninstall -g devos-ai # if installed via npm
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Minimum .env to get started
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
GROQ_API_KEY=your_key_here # free at console.groq.com/keys
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Set `AIDEN_HEADLESS=true` to suppress the Electron GUI when running the packaged app.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Troubleshooting
|
|
137
|
+
|
|
138
|
+
**"Cannot find module" or TypeScript errors**
|
|
139
|
+
```bash
|
|
140
|
+
npm run build # always rebuild after git pull
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**"npm run serve" not found**
|
|
144
|
+
There is no `serve` script. Use `npm start` instead.
|
|
145
|
+
|
|
146
|
+
**Server not responding**
|
|
147
|
+
```bash
|
|
148
|
+
# Check if server is running on port 4200
|
|
149
|
+
netstat -ano | findstr :4200 # Windows
|
|
150
|
+
lsof -i :4200 # Linux/macOS
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**Ollama not connecting**
|
|
154
|
+
```bash
|
|
155
|
+
ollama serve # make sure Ollama is running
|
|
156
|
+
ollama pull qwen2.5:7b # pull your chosen model
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**Changing Ollama model or inference settings** (no recompile needed — edit `.env`):
|
|
160
|
+
```
|
|
161
|
+
OLLAMA_MODEL=qwen2.5:7b
|
|
162
|
+
OLLAMA_TEMPERATURE=0.3
|
|
163
|
+
OLLAMA_CONTEXT_LENGTH=4096
|
|
164
|
+
OLLAMA_NUM_GPU=99
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Use with any OpenAI client (Open WebUI, Chatbox, Cursor, etc.)**
|
|
168
|
+
```
|
|
169
|
+
Base URL: http://localhost:4200
|
|
170
|
+
API Key: none required
|
|
171
|
+
Model: aiden-3.13
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Screenshots
|
|
175
|
+
|
|
176
|
+
### Terminal (TUI)
|
|
177
|
+
|
|
178
|
+

|
|
179
|
+
|
|
180
|
+
Full command palette, 1,400+ skills, 80+ tools, automatic provider routing (Groq → BOA → Ollama). Runs in any terminal.
|
|
181
|
+
|
|
182
|
+
### Desktop app
|
|
183
|
+
|
|
184
|
+

|
|
185
|
+
|
|
186
|
+
Full chat interface with live activity panel. Local-first, connects to Ollama or any of 15+ cloud providers via your own API key.
|
|
187
|
+
|
|
188
|
+
### Memory graph
|
|
189
|
+
|
|
190
|
+

|
|
191
|
+
|
|
192
|
+
6-layer memory visualized — every conversation, task, and learned pattern becomes a node in the knowledge graph. Fully local, persisted to disk, searchable.
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Features
|
|
197
|
+
|
|
198
|
+
| Category | What Aiden does |
|
|
199
|
+
|---|---|
|
|
200
|
+
| **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 |
|
|
201
|
+
| **80+ tools** | Web search, file read/write, shell execution, Playwright browser automation (`open_browser`, `browser_click`, `browser_type`, `browser_extract`, `browser_get_url`), screen capture & OCR, calendar, email (IMAP/SMTP), code execution sandbox, clipboard, LocalSend LAN transfer, system info |
|
|
202
|
+
| **1,400+ skills** | Composable plugins each with a `SKILL.md` prompt, tool implementations, and optional sandbox runner — install per-session or globally. Includes: LocalSend (AirDrop-style LAN transfer), Decepticon security scanner (opt-in), and more |
|
|
203
|
+
| **Subagent swarm** | Spawn N parallel agents on any task; vote, merge, or pick the best result automatically |
|
|
204
|
+
| **6-layer memory** | Episodic (in-context), BM25 keyword, vector semantic, procedural (skill), goal tracking, and `LESSONS.md` permanent-failure moat that grows every session |
|
|
205
|
+
| **Voice** | Speech-to-text (Groq → OpenAI → local Whisper.cpp) + text-to-speech (Edge TTS → ElevenLabs → Windows SAPI); full offline voice loop |
|
|
206
|
+
| **Channel adapters** | Discord, Slack, Telegram, WhatsApp, Email, Webhook, Twilio — any channel triggers the same agent loop |
|
|
207
|
+
| **Computer use** | Screenshots, screen state reader, GUI automation via keyboard/mouse when asked — full OS control mode |
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Architecture
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
User input (any channel)
|
|
215
|
+
│
|
|
216
|
+
▼
|
|
217
|
+
┌─────────────┐
|
|
218
|
+
│ Planner │ ← breaks task into steps
|
|
219
|
+
└──────┬──────┘
|
|
220
|
+
│
|
|
221
|
+
▼
|
|
222
|
+
┌─────────────┐ ┌──────────────────┐
|
|
223
|
+
│ Agent loop │────▶│ Tool dispatcher │──▶ 80+ tools
|
|
224
|
+
│ agentLoop │ └──────────────────┘
|
|
225
|
+
└──────┬──────┘
|
|
226
|
+
│
|
|
227
|
+
▼
|
|
228
|
+
┌─────────────────────────────────┐
|
|
229
|
+
│ Memory (6 layers) │
|
|
230
|
+
│ episodic · BM25 · vector · │
|
|
231
|
+
│ procedural · goal · LESSONS.md │
|
|
232
|
+
└─────────────────────────────────┘
|
|
233
|
+
│
|
|
234
|
+
▼
|
|
235
|
+
┌─────────────┐
|
|
236
|
+
│ Provider │ ← self-healing chain, 15+ providers
|
|
237
|
+
│ router │
|
|
238
|
+
└─────────────┘
|
|
239
|
+
│
|
|
240
|
+
▼
|
|
241
|
+
Response (streamed to originating channel)
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
See [ARCHITECTURE.md](ARCHITECTURE.md) for a full layer-by-layer breakdown, data flow diagrams, and the skill system design.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Configuration
|
|
249
|
+
|
|
250
|
+
Copy `.env.example` to `.env` in the Aiden data directory.
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
cp .env.example .env
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Key environment variables:
|
|
257
|
+
|
|
258
|
+
| Variable | Default | Notes |
|
|
259
|
+
|---|---|---|
|
|
260
|
+
| `OLLAMA_HOST` | `http://127.0.0.1:11434` | Override if Ollama runs on a different host/port |
|
|
261
|
+
| `OLLAMA_MODEL` | `mistral-nemo:12b` | Default chat model |
|
|
262
|
+
| `ANTHROPIC_API_KEY` | — | Optional cloud fallback |
|
|
263
|
+
| `OPENAI_API_KEY` | — | Optional cloud fallback |
|
|
264
|
+
| `GROQ_API_KEY` | — | Free tier: fast Llama 3 inference |
|
|
265
|
+
| `DAILY_BUDGET_USD` | `5.00` | Hard cap on daily cloud API spend |
|
|
266
|
+
|
|
267
|
+
See `.env.example` for the full list of ~90 variables covering voice, messaging integrations, search, computer use, and more.
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Use with any OpenAI client
|
|
272
|
+
|
|
273
|
+
Aiden exposes an OpenAI-compatible API at `localhost:4200`. Point any OpenAI client at Aiden to get the full 89-tool agent instead of raw GPT:
|
|
274
|
+
|
|
275
|
+
| Setting | Value |
|
|
276
|
+
|---|---|
|
|
277
|
+
| **Base URL** | `http://localhost:4200` |
|
|
278
|
+
| **API Key** | *(none required locally)* |
|
|
279
|
+
| **Model** | `aiden-3.13` |
|
|
280
|
+
|
|
281
|
+
Works with: **Open WebUI** · **LibreChat** · **Chatbox** · **Continue.dev** · **Cursor** · **TypingMind** · any app using the OpenAI SDK.
|
|
282
|
+
|
|
283
|
+
```python
|
|
284
|
+
# Python example — zero config
|
|
285
|
+
from openai import OpenAI
|
|
286
|
+
client = OpenAI(base_url="http://localhost:4200", api_key="none")
|
|
287
|
+
response = client.chat.completions.create(
|
|
288
|
+
model="aiden-3.13",
|
|
289
|
+
messages=[{"role": "user", "content": "search news about AI agents"}]
|
|
290
|
+
)
|
|
291
|
+
print(response.choices[0].message.content)
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
Optional: set `AIDEN_API_KEY=your-secret` in `.env` to require Bearer token authentication.
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Security & Sandbox
|
|
299
|
+
|
|
300
|
+
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.
|
|
301
|
+
|
|
302
|
+
### Requirements
|
|
303
|
+
|
|
304
|
+
- [Docker Desktop](https://www.docker.com/products/docker-desktop/) (Windows/macOS) or Docker Engine (Linux)
|
|
305
|
+
|
|
306
|
+
### Modes
|
|
307
|
+
|
|
308
|
+
| `AIDEN_SANDBOX_MODE` | Behaviour |
|
|
309
|
+
|---|---|
|
|
310
|
+
| `off` *(default)* | Tools run on the host — no Docker required |
|
|
311
|
+
| `auto` | Try Docker first; silently fall back to host if Docker is unavailable |
|
|
312
|
+
| `strict` | Require Docker — error if Docker is not available |
|
|
313
|
+
|
|
314
|
+
### Enable
|
|
315
|
+
|
|
316
|
+
```bash
|
|
317
|
+
# In .env
|
|
318
|
+
AIDEN_SANDBOX_MODE=auto
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
Or toggle live from the Aiden CLI without restarting:
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
/sandbox auto # switch to auto mode
|
|
325
|
+
/sandbox strict # require Docker
|
|
326
|
+
/sandbox off # disable
|
|
327
|
+
/sandbox status # show current mode + Docker availability
|
|
328
|
+
/sandbox build # pre-build the container image
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
### What the container provides
|
|
332
|
+
|
|
333
|
+
- `--network=none` — no outbound network access (configurable per-call)
|
|
334
|
+
- `--memory=512m --cpus=1` — hard resource caps
|
|
335
|
+
- `--read-only --tmpfs /tmp` — immutable FS, only `/tmp` is writable
|
|
336
|
+
- `--rm` — container removed immediately after each tool call
|
|
337
|
+
- Host `workspace/` bind-mounted at `/workspace` so results are accessible
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
## Contributing
|
|
342
|
+
|
|
343
|
+
Contributions are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide.
|
|
344
|
+
|
|
345
|
+
- Bug fixes and new skills are the easiest entry points
|
|
346
|
+
- All contributors sign the [CLA](.github/CLA.md) once via PR comment
|
|
347
|
+
- Follow [Conventional Commits](https://www.conventionalcommits.org/)
|
|
348
|
+
- Run `npx tsc --noEmit` before opening a PR
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## Resources
|
|
353
|
+
|
|
354
|
+
| | |
|
|
355
|
+
|---|---|
|
|
356
|
+
| **Download installer** | [Latest release](https://github.com/taracodlabs/aiden-releases/releases/latest) |
|
|
357
|
+
| **Releases & changelog** | [github.com/taracodlabs/aiden-releases](https://github.com/taracodlabs/aiden-releases) |
|
|
358
|
+
| **License** | AGPL-3.0 core · Apache-2.0 skills |
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
## Changelog
|
|
363
|
+
|
|
364
|
+
### v3.15.0 — 2026-04-28
|
|
365
|
+
|
|
366
|
+
**Browser & Automation**
|
|
367
|
+
- Centralised Playwright session (`core/playwrightBridge.ts`) — single persistent Chromium context shared across all browser tools, idle auto-close after 5 min, clean shutdown on SIGINT/SIGTERM
|
|
368
|
+
- `browser_get_url` — new tool to read the URL currently loaded in the browser
|
|
369
|
+
- All browser tools now in `ALLOWED_TOOLS` and `NO_RETRY_TOOLS`; `send_file_local` / `receive_file_local` added to planner allow-list
|
|
370
|
+
|
|
371
|
+
**Community & OSS**
|
|
372
|
+
- `CONTRIBUTING.md`, issue templates (bug, feature, skill submission), CLA workflow
|
|
373
|
+
- Public roadmap (`docs/ROADMAP.md`), architecture docs (`docs/ARCHITECTURE.md`), skill development guide
|
|
374
|
+
- GitHub labels automated + 5 good-first-issues pinned
|
|
375
|
+
|
|
376
|
+
**New skills**
|
|
377
|
+
- **LocalSend** — AirDrop-style LAN file transfer (`send_file_local` / `receive_file_local`); works over WiFi with no cloud
|
|
378
|
+
- **Security scanner** — opt-in Decepticon integration with safety guards for scanning your own servers
|
|
379
|
+
|
|
380
|
+
**Security**
|
|
381
|
+
- 9 npm audit vulnerabilities resolved (safe + vitest chain)
|
|
382
|
+
- Security headers + rate limiting on `aiden.taracod.com` landing worker (CSP, HSTS, X-Frame-Options)
|
|
383
|
+
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
### v3.14.0 — 2026-04-27
|
|
387
|
+
|
|
388
|
+
**Ecosystem & Interoperability**
|
|
389
|
+
- OpenAI-compatible API — `/v1/chat/completions` + `/v1/models`. Point Open WebUI, LibreChat, Cursor, or any OpenAI SDK at `localhost:4200` and get Aiden's full 89-tool agent (not just raw LLM inference)
|
|
390
|
+
- agentskills.io compatibility — skills now ship with `skill.json` manifest. Compatible with Hermes, OpenClaw, and any agentskills.io agent. 1,515 existing skills backfilled automatically
|
|
391
|
+
- Streaming tool output — shell commands, Python scripts, and browser extraction stream live progress lines as they execute. Set `AIDEN_SHOW_TOOL_OUTPUT=false` to suppress
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
### v3.13.0 — 2026-04-27
|
|
396
|
+
|
|
397
|
+
**Community & Intelligence**
|
|
398
|
+
- Public skill registry — `/install <skill>` pulls from [skills.taracod.com](https://skills.taracod.com); browse with `/skills registry <query>`; publish with `/publish <skill>`
|
|
399
|
+
- Deep GEPA — learns from failures, not just successes; `/failed` analyzes the exchange trace, writes a permanent lesson to `LESSONS.md`, degrades responsible skill confidence; skills failing 3× are auto-deprecated
|
|
400
|
+
- Honcho user modeling — structured cross-session profile (identity, projects, goals, preferences); only the relevant slice injected per query; view and edit with `/profile`
|
|
401
|
+
- Docker sandbox — opt-in sandboxed `shell_exec` and `run_python` execution; `AIDEN_SANDBOX_MODE=auto|strict|off`; containers run `--network=none --memory=512m --cpus=1 --read-only`
|
|
402
|
+
- GitHub CI/CD — TypeScript type-check + full build + secret scan on every PR to main
|
|
403
|
+
- CODEOWNERS — sensitive files auto-request maintainer review on every PR
|
|
404
|
+
- Sponsor button — Razorpay + GitHub Sponsors
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
|
|
408
|
+
### v3.12.0 — 2026-04-26
|
|
409
|
+
|
|
410
|
+
**Memory & Agents**
|
|
411
|
+
- Post-task skill writer (GEPA-lite) — writes a new skill after every multi-step success
|
|
412
|
+
- Session-end memory distillation — 5–15 durable facts extracted per session
|
|
413
|
+
- Progressive token budget — tool names only; schema loaded on demand
|
|
414
|
+
- Real parallel subagents — isolated context, LLM synthesis pass
|
|
415
|
+
- Streaming verbs — "Pondering…", "Hunting…" in real time
|
|
416
|
+
- Real scheduler — `remind me in N minutes` actually waits
|
|
417
|
+
- Path C-lite — YouTube/Google/DDG/Bing search + click first result
|
|
418
|
+
- Electron auto-updater
|
|
419
|
+
- Identity honesty — transparent about inference provider
|
|
420
|
+
- Capacity fallback — auto-switches provider on 503/rate-limit
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
### v3.11.0 — 2026-04-25
|
|
425
|
+
|
|
426
|
+
**Custom provider routing**
|
|
427
|
+
- Full support for custom OpenAI-compatible endpoints via `customProviders` in `devos.config.json` — add any endpoint with a `baseUrl`, `apiKey`, and `model`; no code changes required
|
|
428
|
+
- Fixed silent Groq fallback bug in `callLLM`: custom providers now correctly route to their configured `baseUrl` instead of falling back to the Groq URL
|
|
429
|
+
- Fixed `raceProviders` pin-first logic: `primaryProvider` is now resolved from `customProviders` list when not found in `providers.apis`
|
|
430
|
+
- Fixed health/status endpoint (`/api/providers`) to include custom providers in the returned list, tier-sorted
|
|
431
|
+
|
|
432
|
+
**BayOfAssets Claude Haiku 4.5 as default primary**
|
|
433
|
+
- Swapped default primary provider to BayOfAssets Claude Haiku 4.5 (`claude-haiku-4-5`) at tier 1
|
|
434
|
+
- Groq and Gemini remain as tier-2 fallback chain
|
|
435
|
+
|
|
436
|
+
**Memory & greeting**
|
|
437
|
+
- Fixed `buildGreetingPreamble` double-label bug: `"Active goals: Active goals:\n..."` → compact single-line goal titles
|
|
438
|
+
- Added empty-string guard on greeting reply: blank preamble no longer produces `"Currently tracking: . What do you need?"`
|
|
439
|
+
|
|
440
|
+
---
|
|
441
|
+
|
|
442
|
+
### v3.10.0 — 2026-04-09
|
|
443
|
+
|
|
444
|
+
See [releases page](https://github.com/taracodlabs/aiden-releases/releases) for older changelogs.
|
|
445
|
+
|
|
446
|
+
---
|
|
447
|
+
|
|
448
|
+
## License
|
|
449
|
+
|
|
450
|
+
| Component | License |
|
|
451
|
+
|---|---|
|
|
452
|
+
| Core (`src/`, `cli/`, `api/`, `core/`, `providers/`, `dashboard-next/`) | [AGPL-3.0-only](LICENSE) |
|
|
453
|
+
| Skills (`skills/`) | [Apache-2.0](LICENSE-SKILLS.md) |
|
|
454
|
+
|
|
455
|
+
## Commercial use
|
|
456
|
+
|
|
457
|
+
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.
|
|
458
|
+
|
|
459
|
+
Skills in `skills/` are **Apache-2.0** and can be used in commercial products without copyleft obligations.
|
|
460
|
+
|
|
461
|
+
For commercial licensing and enterprise deployments: **[aiden.taracod.com/contact?type=enterprise](https://aiden.taracod.com/contact?type=enterprise)**
|
|
462
|
+
|
|
463
|
+
---
|
|
464
|
+
|
|
465
|
+
Built by [Taracod](https://taracod.com) · Built by Shiva Deore · AGPL-3.0
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
{
|
|
2
|
+
"user": {
|
|
3
|
+
"name": "shiva"
|
|
4
|
+
},
|
|
5
|
+
"model": {
|
|
6
|
+
"active": "groq-1",
|
|
7
|
+
"activeModel": "llama-3.3-70b-versatile"
|
|
8
|
+
},
|
|
9
|
+
"providers": {
|
|
10
|
+
"ollama": {
|
|
11
|
+
"enabled": true,
|
|
12
|
+
"models": []
|
|
13
|
+
},
|
|
14
|
+
"apis": [
|
|
15
|
+
{
|
|
16
|
+
"model": "gemini-3-flash",
|
|
17
|
+
"enabled": true,
|
|
18
|
+
"rateLimited": false,
|
|
19
|
+
"usageCount": 59,
|
|
20
|
+
"name": "boa-1",
|
|
21
|
+
"provider": "boa",
|
|
22
|
+
"key": "boa-5a949b90-094c-4f35-a6ae-3fab8acc42aa"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"model": "llama-3.3-70b-versatile",
|
|
26
|
+
"enabled": true,
|
|
27
|
+
"rateLimited": false,
|
|
28
|
+
"usageCount": 30,
|
|
29
|
+
"name": "groq-1",
|
|
30
|
+
"provider": "groq",
|
|
31
|
+
"key": "env:GROQ_API_KEY"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"model": "llama-3.3-70b-versatile",
|
|
35
|
+
"enabled": true,
|
|
36
|
+
"rateLimited": false,
|
|
37
|
+
"usageCount": 61,
|
|
38
|
+
"name": "groq-2",
|
|
39
|
+
"provider": "groq",
|
|
40
|
+
"key": "env:GROQ_API_KEY_2"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"model": "llama-3.3-70b-versatile",
|
|
44
|
+
"enabled": true,
|
|
45
|
+
"rateLimited": false,
|
|
46
|
+
"usageCount": 35,
|
|
47
|
+
"name": "groq-3",
|
|
48
|
+
"provider": "groq",
|
|
49
|
+
"key": "env:GROQ_API_KEY_3"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"model": "llama-3.3-70b-versatile",
|
|
53
|
+
"enabled": true,
|
|
54
|
+
"rateLimited": false,
|
|
55
|
+
"usageCount": 10,
|
|
56
|
+
"name": "groq-4",
|
|
57
|
+
"provider": "groq",
|
|
58
|
+
"key": "env:GROQ_API_KEY_4"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"model": "gemini-2.5-flash",
|
|
62
|
+
"enabled": true,
|
|
63
|
+
"rateLimited": false,
|
|
64
|
+
"usageCount": 16,
|
|
65
|
+
"name": "gemini-1",
|
|
66
|
+
"provider": "gemini",
|
|
67
|
+
"key": "env:GEMINI_API_KEY"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"model": "gemini-2.5-flash",
|
|
71
|
+
"enabled": true,
|
|
72
|
+
"rateLimited": false,
|
|
73
|
+
"usageCount": 9,
|
|
74
|
+
"name": "gemini-2",
|
|
75
|
+
"provider": "gemini",
|
|
76
|
+
"key": "env:GEMINI_API_KEY_2"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"model": "gemini-2.5-flash",
|
|
80
|
+
"enabled": true,
|
|
81
|
+
"rateLimited": false,
|
|
82
|
+
"usageCount": 9,
|
|
83
|
+
"name": "gemini-3",
|
|
84
|
+
"provider": "gemini",
|
|
85
|
+
"key": "env:GEMINI_API_KEY_3"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"model": "gemini-2.5-flash",
|
|
89
|
+
"enabled": true,
|
|
90
|
+
"rateLimited": false,
|
|
91
|
+
"usageCount": 9,
|
|
92
|
+
"name": "gemini-4",
|
|
93
|
+
"provider": "gemini",
|
|
94
|
+
"key": "env:GEMINI_API_KEY_4"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"model": "anthropic/claude-3.5-haiku",
|
|
98
|
+
"enabled": true,
|
|
99
|
+
"rateLimited": false,
|
|
100
|
+
"usageCount": 15,
|
|
101
|
+
"name": "openrouter-1",
|
|
102
|
+
"provider": "openrouter",
|
|
103
|
+
"key": "env:OPENROUTER_API_KEY"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"model": "anthropic/claude-3.5-haiku",
|
|
107
|
+
"enabled": true,
|
|
108
|
+
"rateLimited": false,
|
|
109
|
+
"usageCount": 9,
|
|
110
|
+
"name": "openrouter-2",
|
|
111
|
+
"provider": "openrouter",
|
|
112
|
+
"key": "env:OPENROUTER_API_KEY_2"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"model": "anthropic/claude-3.5-haiku",
|
|
116
|
+
"enabled": true,
|
|
117
|
+
"rateLimited": false,
|
|
118
|
+
"usageCount": 9,
|
|
119
|
+
"name": "openrouter-3",
|
|
120
|
+
"provider": "openrouter",
|
|
121
|
+
"key": "env:OPENROUTER_API_KEY_3"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"model": "anthropic/claude-3.5-haiku",
|
|
125
|
+
"enabled": true,
|
|
126
|
+
"rateLimited": false,
|
|
127
|
+
"usageCount": 8,
|
|
128
|
+
"name": "openrouter-4",
|
|
129
|
+
"provider": "openrouter",
|
|
130
|
+
"key": "env:OPENROUTER_API_KEY_4"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"model": "gpt-4o-mini",
|
|
134
|
+
"enabled": false,
|
|
135
|
+
"rateLimited": false,
|
|
136
|
+
"usageCount": 1,
|
|
137
|
+
"name": "boa-2",
|
|
138
|
+
"provider": "boa",
|
|
139
|
+
"key": "boa-5a949b90-094c-4f35-a6ae-3fab8acc42aa"
|
|
140
|
+
}
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"onboardingComplete": true,
|
|
144
|
+
"telegram": {
|
|
145
|
+
"enabled": false,
|
|
146
|
+
"botToken": "",
|
|
147
|
+
"allowedChatIds": [],
|
|
148
|
+
"pollingInterval": 1000
|
|
149
|
+
},
|
|
150
|
+
"routing": {
|
|
151
|
+
"mode": "auto",
|
|
152
|
+
"fallbackToOllama": true
|
|
153
|
+
},
|
|
154
|
+
"ollama": {
|
|
155
|
+
"fallbackModels": [],
|
|
156
|
+
"baseUrl": "http://localhost:11434",
|
|
157
|
+
"model": "gemma4:e4b",
|
|
158
|
+
"plannerModel": "gemma4:e4b",
|
|
159
|
+
"coderModel": "qwen2.5-coder:7b",
|
|
160
|
+
"fastModel": "llama3.2:latest"
|
|
161
|
+
},
|
|
162
|
+
"customProviders": [
|
|
163
|
+
{
|
|
164
|
+
"id": "bayofassets-haiku",
|
|
165
|
+
"displayName": "BayOfAssets Haiku 4.5",
|
|
166
|
+
"baseUrl": "https://api.bayofassets.com/v1/chat/completions",
|
|
167
|
+
"apiKey": "boa-dd14fba0-cdee-4247-ba03-90de01674c06",
|
|
168
|
+
"model": "claude-haiku-4-5",
|
|
169
|
+
"enabled": false,
|
|
170
|
+
"tier": 1
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"id": "bayofassets",
|
|
174
|
+
"displayName": "Bay of Assets",
|
|
175
|
+
"baseUrl": "https://api.bayofassets.com/v1",
|
|
176
|
+
"apiKey": "boa-5a949b90-094c-4f35-a6ae-3fab8acc42aa",
|
|
177
|
+
"model": "gemini-3-flash",
|
|
178
|
+
"enabled": false,
|
|
179
|
+
"tier": 2
|
|
180
|
+
}
|
|
181
|
+
],
|
|
182
|
+
"cli": {
|
|
183
|
+
"theme": "ember"
|
|
184
|
+
},
|
|
185
|
+
"primaryProvider": "groq-1"
|
|
186
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"complete": true,
|
|
3
|
+
"setupAt": "2026-04-21T13:12:59.928Z",
|
|
4
|
+
"hardware": {
|
|
5
|
+
"gpu": "NVIDIA GeForce GTX 1060 6GB",
|
|
6
|
+
"vramGB": 6,
|
|
7
|
+
"ramGB": 32,
|
|
8
|
+
"platform": "windows",
|
|
9
|
+
"cudaAvailable": true,
|
|
10
|
+
"appleSilicon": false,
|
|
11
|
+
"detectedAt": "2026-04-21T12:58:38.175Z"
|
|
12
|
+
},
|
|
13
|
+
"models": {
|
|
14
|
+
"chat": "phi3:mini",
|
|
15
|
+
"code": "phi3:mini",
|
|
16
|
+
"vision": "phi3:mini",
|
|
17
|
+
"reasoning": "phi3:mini",
|
|
18
|
+
"embedding": "phi3:mini"
|
|
19
|
+
}
|
|
20
|
+
}
|