aiden-runtime 3.16.2 → 3.18.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/README.md +185 -7
- package/config/devos.config.json +29 -19
- package/config/hardware.json +2 -2
- package/dist/api/dashboard.js +480 -0
- package/dist/api/server.js +150 -142
- package/dist/core/agentLoop.js +94 -13
- package/dist/core/channels/email.js +1 -1
- package/dist/core/modelRegistry.js +261 -0
- package/dist/core/permissionSystem.js +239 -0
- package/dist/core/pluginLoader.js +161 -0
- package/dist/core/skillLoader.js +6 -24
- package/dist/core/toolRegistry.js +316 -31
- package/dist/core/version.js +1 -1
- package/dist/providers/router.js +2 -1
- package/dist-bundle/cli.js +50946 -29225
- package/dist-bundle/index.js +6462 -5274
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
```
|
|
2
|
-
|
|
2
|
+
█████╗ ██╗██████╗ ███████╗███╗ ██╗
|
|
3
3
|
██╔══██╗██║██╔══██╗██╔════╝████╗ ██║
|
|
4
4
|
███████║██║██║ ██║█████╗ ██╔██╗ ██║
|
|
5
5
|
██╔══██║██║██║ ██║██╔══╝ ██║╚██╗██║
|
|
6
6
|
██║ ██║██║██████╔╝███████╗██║ ╚████║
|
|
7
7
|
╚═╝ ╚═╝╚═╝╚═════╝ ╚══════╝╚═╝ ╚═══╝
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
Autonomous AI Operating System
|
|
10
|
+
|
|
11
|
+
1,500+ Skills • 89+ Tools • 14+ Providers • AGPL-3.0
|
|
12
|
+
|
|
13
|
+
Windows • Linux • WSL • macOS (API Mode)
|
|
14
|
+
|
|
15
|
+
Self-Healing • Browser Automation • Terminal Control • Persistent Memory
|
|
12
16
|
```
|
|
13
17
|
|
|
14
18
|
<p align="center">
|
|
@@ -17,6 +21,7 @@ Windows · Linux · WSL · macOS (API mode)
|
|
|
17
21
|
<a href="https://discord.gg/gMZ3hUnQTm"><img src="https://img.shields.io/badge/chat-discord-7289da?logo=discord&logoColor=white" alt="Discord" /></a>
|
|
18
22
|
<a href="./LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-orange" alt="License: AGPL-3.0" /></a>
|
|
19
23
|
<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>
|
|
24
|
+
<a href="https://www.npmjs.com/package/aiden-os"><img src="https://img.shields.io/npm/v/aiden-os?color=f97316&label=npm" alt="npm" /></a>
|
|
20
25
|
</p>
|
|
21
26
|
|
|
22
27
|
<p align="center">
|
|
@@ -28,8 +33,21 @@ Windows · Linux · WSL · macOS (API mode)
|
|
|
28
33
|
|
|
29
34
|
---
|
|
30
35
|
|
|
31
|
-
> **v3.
|
|
32
|
-
>
|
|
36
|
+
> **v3.18 — live dropdown UX · real PC control · smart model failover · anti-confabulation**
|
|
37
|
+
> Type `/` for 63 commands or `@` for 61 tools with instant dropdown. Open/close apps, change volume, and control your PC for real — no more fake responses. Smart per-model failover with free-tier defaults. See [changelog](#changelog) below.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Why Aiden
|
|
42
|
+
|
|
43
|
+
Most AI agents answer questions. Aiden executes work.
|
|
44
|
+
|
|
45
|
+
- **Runs on your machine** — local-first, no telemetry, no cloud required
|
|
46
|
+
- **Controls your desktop** — vision loop, mouse, keyboard, window management
|
|
47
|
+
- **Automates any browser** — navigate, click, extract via playwright-cli
|
|
48
|
+
- **Learns from every session** — writes skills from successes, lessons from failures
|
|
49
|
+
- **Works fully offline** — Ollama support, zero cloud dependency
|
|
50
|
+
- **One command to start** — `npx aiden-os` installs, configures, runs everything
|
|
33
51
|
|
|
34
52
|
---
|
|
35
53
|
|
|
@@ -192,7 +210,7 @@ Model: aiden-3.13
|
|
|
192
210
|
|
|
193
211
|

|
|
194
212
|
|
|
195
|
-
Full command palette, 1,400+ skills,
|
|
213
|
+
Full command palette, 1,400+ skills, 89+ tools, automatic provider routing (Groq → OpenRouter → Ollama). Runs in any terminal.
|
|
196
214
|
|
|
197
215
|
### Desktop app
|
|
198
216
|
|
|
@@ -223,6 +241,23 @@ Full chat interface with live activity panel. Local-first, connects to Ollama or
|
|
|
223
241
|
|
|
224
242
|
---
|
|
225
243
|
|
|
244
|
+
## Aiden vs alternatives
|
|
245
|
+
|
|
246
|
+
| Feature | Aiden | Hermes | OpenClaw |
|
|
247
|
+
|---|---|---|---|
|
|
248
|
+
| **Windows native installer** | ✅ | ❌ | ❌ |
|
|
249
|
+
| **Desktop OS control** | ✅ vision + mouse + keyboard | ❌ | ❌ |
|
|
250
|
+
| **One-command install** | ✅ `npx aiden-os` | ❌ | ❌ |
|
|
251
|
+
| **OpenAI-compatible API** | ✅ `/v1/chat/completions` | ❌ | ❌ |
|
|
252
|
+
| **agentskills.io skills** | ✅ 1500+ | ✅ | ✅ 13K+ |
|
|
253
|
+
| **Offline (Ollama)** | ✅ | ✅ | ✅ |
|
|
254
|
+
| **Local web dashboard** | ✅ | ✅ | ✅ |
|
|
255
|
+
| **Pro license system** | ✅ | ❌ | ❌ |
|
|
256
|
+
| **Zero CVEs** | ✅ | ❌ | ❌ |
|
|
257
|
+
| **License** | AGPL-3.0 | MIT | MIT |
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
226
261
|
## Architecture
|
|
227
262
|
|
|
228
263
|
```
|
|
@@ -353,6 +388,42 @@ Or toggle live from the Aiden CLI without restarting:
|
|
|
353
388
|
|
|
354
389
|
---
|
|
355
390
|
|
|
391
|
+
## Commands
|
|
392
|
+
|
|
393
|
+
### Start Aiden
|
|
394
|
+
| Command | Description |
|
|
395
|
+
|---------|-------------|
|
|
396
|
+
| `npx aiden-os` | Install, configure, and start (recommended) |
|
|
397
|
+
| `npm start` | Start API server (port 4200) |
|
|
398
|
+
| `npm run cli` | Start TUI (connect to running server) |
|
|
399
|
+
| `npm run build` | Rebuild after source changes |
|
|
400
|
+
| `aiden --reconfigure` | Re-run setup wizard, change providers |
|
|
401
|
+
|
|
402
|
+
### In-chat commands
|
|
403
|
+
| Command | Description |
|
|
404
|
+
|---------|-------------|
|
|
405
|
+
| `/help` | Show all commands |
|
|
406
|
+
| `/switch <provider>` | Change primary provider live |
|
|
407
|
+
| `/budget` | Show daily token spend + remaining |
|
|
408
|
+
| `/budget set <n>` | Set daily limit in USD |
|
|
409
|
+
| `/memory` | View distilled facts and memory stats |
|
|
410
|
+
| `/memory search <q>` | Search remembered facts |
|
|
411
|
+
| `/profile` | View structured user profile |
|
|
412
|
+
| `/failed [reason]` | Teach Aiden from a wrong answer |
|
|
413
|
+
| `/skills` | List loaded skills |
|
|
414
|
+
| `/install <skill>` | Install from community registry |
|
|
415
|
+
| `/publish <skill>` | Publish skill to registry |
|
|
416
|
+
| `/skills validate <n>` | Validate agentskills.io compliance |
|
|
417
|
+
| `/sandbox status` | Docker sandbox mode |
|
|
418
|
+
| `/sandbox auto` | Enable sandboxed shell/python |
|
|
419
|
+
| `/permissions` | View permission mode |
|
|
420
|
+
| `/permissions ask` | Require approval for destructive ops |
|
|
421
|
+
| `/permissions allow` | Allow all operations silently |
|
|
422
|
+
| `/retry` | Retry last query |
|
|
423
|
+
| `/exit` | Save memory and exit |
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
356
427
|
## Contributing
|
|
357
428
|
|
|
358
429
|
Contributions are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide.
|
|
@@ -376,6 +447,103 @@ Contributions are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md) for the ful
|
|
|
376
447
|
|
|
377
448
|
## Changelog
|
|
378
449
|
|
|
450
|
+
### v3.18.0 — 2026-04-30
|
|
451
|
+
|
|
452
|
+
**Live dropdown UX (Hermes-style)**
|
|
453
|
+
- Type `/` for instant command dropdown (63 commands)
|
|
454
|
+
- Type `@` for tool dropdown (61 tools)
|
|
455
|
+
- Prefix-match filter, arrow nav, Tab to select, Esc to close
|
|
456
|
+
|
|
457
|
+
**Real PC control**
|
|
458
|
+
- `close chrome` / `spotify` / `notepad` → actually closes via taskkill
|
|
459
|
+
- `increase/decrease volume by N` → actually changes
|
|
460
|
+
- `mute/unmute` → actually toggles
|
|
461
|
+
- 30+ app name → exe map
|
|
462
|
+
- `system_volume` detects intent from any natural input
|
|
463
|
+
|
|
464
|
+
**YouTube auto-plays**
|
|
465
|
+
- `play X on youtube` → opens browser, auto-clicks first result
|
|
466
|
+
- Bypasses fast-path that was blocking it
|
|
467
|
+
|
|
468
|
+
**Anti-confabulation rules**
|
|
469
|
+
- SOUL.md updated: never claim actions completed without tool calls
|
|
470
|
+
- InstantAction shortcuts that faked actions removed
|
|
471
|
+
- Honest fallback messages when providers fail
|
|
472
|
+
|
|
473
|
+
**Smart provider failover**
|
|
474
|
+
- 3-strike rule: provider disabled for 15 min after 3 rate limits
|
|
475
|
+
- Permanent disable on 401/403 (invalid key)
|
|
476
|
+
- All cloud failed → automatic Ollama fallback
|
|
477
|
+
|
|
478
|
+
**Smart model selection**
|
|
479
|
+
- Free tier defaults per provider (Llama 70B free, Gemini 2.5 Flash, etc.)
|
|
480
|
+
- Per-model failover within provider before marking provider rate-limited
|
|
481
|
+
- Override with `PROVIDER_MODEL` env var
|
|
482
|
+
- `/models` command shows per-provider table with FREE/PAID badges
|
|
483
|
+
|
|
484
|
+
**Server logs no longer leak into chat**
|
|
485
|
+
- `console.log` redirected to stderr
|
|
486
|
+
- CLI output is clean even with both in same terminal
|
|
487
|
+
|
|
488
|
+
**Skill loader fix**
|
|
489
|
+
- 1,484 skills now load (was blocking 1,445 due to overly broad patterns)
|
|
490
|
+
|
|
491
|
+
**Known issues — fixing in v3.19**
|
|
492
|
+
- Cross-provider failover not always reliable (Groq may not try other providers)
|
|
493
|
+
- Real-time state queries (now playing, open tabs) need dedicated tools
|
|
494
|
+
- YouTube auto-click occasionally fails on slow-loading pages
|
|
495
|
+
|
|
496
|
+
---
|
|
497
|
+
|
|
498
|
+
### v3.17.0 — 2026-04-28
|
|
499
|
+
|
|
500
|
+
**Local web dashboard**
|
|
501
|
+
- Browser UI at localhost:4200/ui — no terminal needed
|
|
502
|
+
- Chat, Providers, Memory, Skills panels
|
|
503
|
+
- Live SSE streaming, markdown rendering
|
|
504
|
+
|
|
505
|
+
**Plugin system**
|
|
506
|
+
- Drop workspace/plugins/<name>.js → auto-loads
|
|
507
|
+
- preTool/postTool hooks, custom tool registration
|
|
508
|
+
- Session lifecycle hooks (onSessionStart/onSessionEnd)
|
|
509
|
+
- Hot-reload with /plugins reload
|
|
510
|
+
- Examples: audit-log.js, hello-tool.js
|
|
511
|
+
|
|
512
|
+
**MCP server mode**
|
|
513
|
+
- Expose Aiden's tools to Claude Code, Cursor, VS Code
|
|
514
|
+
- Run: node dist-bundle/cli.js mcp
|
|
515
|
+
- 28 safe tools exposed by default
|
|
516
|
+
- MCP_ALLOW_DESTRUCTIVE=true for full tool access
|
|
517
|
+
- Config examples in docs/mcp/
|
|
518
|
+
|
|
519
|
+
**Bug fixes**
|
|
520
|
+
- Dashboard chat showed "(no response)" for every message — SSE event field names in the browser client (`ev.type`) didn't match the server's wire format (`ev.token`, `ev.done`, `ev.tool`). All event handlers rewritten to match actual shapes.
|
|
521
|
+
- SOUL.md provider honesty: removed stale BayOfAssets reference, added explicit rule against claiming Ollama when running on Groq/OpenRouter.
|
|
522
|
+
|
|
523
|
+
---
|
|
524
|
+
|
|
525
|
+
### v3.16.0 — 2026-04-28
|
|
526
|
+
|
|
527
|
+
**One-command install**
|
|
528
|
+
- `npx aiden-os` — zero-install launcher; works on Windows, macOS, Linux (Node.js 18+)
|
|
529
|
+
- `aiden-os` npm package bootstraps `aiden-runtime` automatically, no git clone needed
|
|
530
|
+
- Setup wizard on first run with `--reconfigure` flag to re-run anytime
|
|
531
|
+
|
|
532
|
+
**Security**
|
|
533
|
+
- Shell blocklist — dangerous commands flagged before execution
|
|
534
|
+
- Permission mode — explicit user approval gate for destructive actions
|
|
535
|
+
- Token budget enforcement — per-request ceiling to prevent runaway loops
|
|
536
|
+
|
|
537
|
+
**Memory**
|
|
538
|
+
- Conflict resolution — contradictory memories detected and reconciled automatically
|
|
539
|
+
- `/memory` command — inspect, edit, and prune the memory store from the CLI
|
|
540
|
+
|
|
541
|
+
**UX**
|
|
542
|
+
- Aiden branded banner replaces DevOS; orange `#FF6B35` identity throughout CLI
|
|
543
|
+
- `--reconfigure` flag to re-run first-time setup without reinstalling
|
|
544
|
+
|
|
545
|
+
---
|
|
546
|
+
|
|
379
547
|
### v3.15.0 — 2026-04-28
|
|
380
548
|
|
|
381
549
|
**Browser & Automation**
|
|
@@ -460,6 +628,16 @@ See [releases page](https://github.com/taracodlabs/aiden-releases/releases) for
|
|
|
460
628
|
|
|
461
629
|
---
|
|
462
630
|
|
|
631
|
+
## Sponsors
|
|
632
|
+
|
|
633
|
+
Aiden is built and maintained by one person.
|
|
634
|
+
If it saves you time, consider sponsoring:
|
|
635
|
+
|
|
636
|
+
[](https://github.com/sponsors/shivadeore111-design)
|
|
637
|
+
[](https://razorpay.me/@shivadeore)
|
|
638
|
+
|
|
639
|
+
---
|
|
640
|
+
|
|
463
641
|
## License
|
|
464
642
|
|
|
465
643
|
| Component | License |
|
package/config/devos.config.json
CHANGED
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
"apis": [
|
|
15
15
|
{
|
|
16
16
|
"model": "gemini-3-flash",
|
|
17
|
-
"enabled":
|
|
17
|
+
"enabled": false,
|
|
18
18
|
"rateLimited": false,
|
|
19
|
-
"usageCount":
|
|
19
|
+
"usageCount": 0,
|
|
20
20
|
"name": "boa-1",
|
|
21
21
|
"provider": "boa",
|
|
22
22
|
"key": "boa-5a949b90-094c-4f35-a6ae-3fab8acc42aa"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"model": "llama-3.3-70b-versatile",
|
|
26
26
|
"enabled": true,
|
|
27
27
|
"rateLimited": false,
|
|
28
|
-
"usageCount":
|
|
28
|
+
"usageCount": 63,
|
|
29
29
|
"name": "groq-1",
|
|
30
30
|
"provider": "groq",
|
|
31
31
|
"key": "env:GROQ_API_KEY"
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"model": "llama-3.3-70b-versatile",
|
|
35
35
|
"enabled": true,
|
|
36
36
|
"rateLimited": false,
|
|
37
|
-
"usageCount":
|
|
37
|
+
"usageCount": 79,
|
|
38
38
|
"name": "groq-2",
|
|
39
39
|
"provider": "groq",
|
|
40
40
|
"key": "env:GROQ_API_KEY_2"
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"model": "llama-3.3-70b-versatile",
|
|
44
44
|
"enabled": true,
|
|
45
45
|
"rateLimited": false,
|
|
46
|
-
"usageCount":
|
|
46
|
+
"usageCount": 37,
|
|
47
47
|
"name": "groq-3",
|
|
48
48
|
"provider": "groq",
|
|
49
49
|
"key": "env:GROQ_API_KEY_3"
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"model": "llama-3.3-70b-versatile",
|
|
53
53
|
"enabled": true,
|
|
54
54
|
"rateLimited": false,
|
|
55
|
-
"usageCount":
|
|
55
|
+
"usageCount": 11,
|
|
56
56
|
"name": "groq-4",
|
|
57
57
|
"provider": "groq",
|
|
58
58
|
"key": "env:GROQ_API_KEY_4"
|
|
@@ -94,46 +94,56 @@
|
|
|
94
94
|
"key": "env:GEMINI_API_KEY_4"
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
|
-
"model": "
|
|
97
|
+
"model": "meta-llama/llama-3.3-70b-instruct:free",
|
|
98
98
|
"enabled": true,
|
|
99
99
|
"rateLimited": false,
|
|
100
|
-
"usageCount":
|
|
100
|
+
"usageCount": 0,
|
|
101
101
|
"name": "openrouter-1",
|
|
102
102
|
"provider": "openrouter",
|
|
103
103
|
"key": "env:OPENROUTER_API_KEY"
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
|
-
"model": "
|
|
106
|
+
"model": "meta-llama/llama-3.3-70b-instruct:free",
|
|
107
107
|
"enabled": true,
|
|
108
108
|
"rateLimited": false,
|
|
109
|
-
"usageCount":
|
|
109
|
+
"usageCount": 0,
|
|
110
110
|
"name": "openrouter-2",
|
|
111
111
|
"provider": "openrouter",
|
|
112
112
|
"key": "env:OPENROUTER_API_KEY_2"
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
|
-
"model": "
|
|
115
|
+
"model": "meta-llama/llama-3.3-70b-instruct:free",
|
|
116
116
|
"enabled": true,
|
|
117
117
|
"rateLimited": false,
|
|
118
|
-
"usageCount":
|
|
118
|
+
"usageCount": 0,
|
|
119
119
|
"name": "openrouter-3",
|
|
120
120
|
"provider": "openrouter",
|
|
121
121
|
"key": "env:OPENROUTER_API_KEY_3"
|
|
122
122
|
},
|
|
123
123
|
{
|
|
124
|
-
"model": "
|
|
124
|
+
"model": "meta-llama/llama-3.1-405b-instruct",
|
|
125
125
|
"enabled": true,
|
|
126
126
|
"rateLimited": false,
|
|
127
|
-
"usageCount":
|
|
128
|
-
"name": "
|
|
129
|
-
"provider": "
|
|
130
|
-
"
|
|
127
|
+
"usageCount": 0,
|
|
128
|
+
"name": "together-1",
|
|
129
|
+
"provider": "custom",
|
|
130
|
+
"baseUrl": "https://api.together.xyz/v1/chat/completions",
|
|
131
|
+
"key": "env:TOGETHER_API_KEY"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"model": "nvidia/llama-3.3-nemotron-super-49b-v1",
|
|
135
|
+
"enabled": true,
|
|
136
|
+
"rateLimited": false,
|
|
137
|
+
"usageCount": 0,
|
|
138
|
+
"name": "nvidia-1",
|
|
139
|
+
"provider": "nvidia",
|
|
140
|
+
"key": "env:NVIDIA_API_KEY"
|
|
131
141
|
},
|
|
132
142
|
{
|
|
133
143
|
"model": "gpt-4o-mini",
|
|
134
144
|
"enabled": false,
|
|
135
145
|
"rateLimited": false,
|
|
136
|
-
"usageCount":
|
|
146
|
+
"usageCount": 0,
|
|
137
147
|
"name": "boa-2",
|
|
138
148
|
"provider": "boa",
|
|
139
149
|
"key": "boa-5a949b90-094c-4f35-a6ae-3fab8acc42aa"
|
|
@@ -182,5 +192,5 @@
|
|
|
182
192
|
"cli": {
|
|
183
193
|
"theme": "ember"
|
|
184
194
|
},
|
|
185
|
-
"primaryProvider": "groq-
|
|
195
|
+
"primaryProvider": "groq-2"
|
|
186
196
|
}
|
package/config/hardware.json
CHANGED