aiden-runtime 4.1.4 → 4.5.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.
Files changed (169) hide show
  1. package/README.md +250 -847
  2. package/dist/api/server.js +32 -5
  3. package/dist/cli/v4/aidenCLI.js +379 -53
  4. package/dist/cli/v4/callbacks.js +248 -0
  5. package/dist/cli/v4/chatSession.js +292 -4
  6. package/dist/cli/v4/commands/_runtimeToggleHelpers.js +92 -0
  7. package/dist/cli/v4/commands/browserDepth.js +45 -0
  8. package/dist/cli/v4/commands/cron.js +264 -0
  9. package/dist/cli/v4/commands/daemon.js +541 -0
  10. package/dist/cli/v4/commands/daemonStatus.js +253 -0
  11. package/dist/cli/v4/commands/help.js +7 -0
  12. package/dist/cli/v4/commands/index.js +20 -1
  13. package/dist/cli/v4/commands/runs.js +203 -0
  14. package/dist/cli/v4/commands/sandbox.js +48 -0
  15. package/dist/cli/v4/commands/suggestions.js +68 -0
  16. package/dist/cli/v4/commands/tce.js +41 -0
  17. package/dist/cli/v4/commands/trigger.js +378 -0
  18. package/dist/cli/v4/commands/update.js +95 -3
  19. package/dist/cli/v4/daemonAgentBuilder.js +142 -0
  20. package/dist/cli/v4/defaultSoul.js +75 -3
  21. package/dist/cli/v4/display/capabilityCard.js +26 -0
  22. package/dist/cli/v4/display/progressBar.js +41 -8
  23. package/dist/cli/v4/display.js +258 -15
  24. package/dist/cli/v4/replyRenderer.js +31 -23
  25. package/dist/cli/v4/toolPreview.js +10 -0
  26. package/dist/cli/v4/updateBootPrompt.js +170 -0
  27. package/dist/core/playwrightBridge.js +129 -0
  28. package/dist/core/toolRegistry.js +7 -1
  29. package/dist/core/v4/aidenAgent.js +371 -4
  30. package/dist/core/v4/browserState.js +436 -0
  31. package/dist/core/v4/checkpoint.js +79 -0
  32. package/dist/core/v4/daemon/bootstrap.js +604 -0
  33. package/dist/core/v4/daemon/cleanShutdown.js +154 -0
  34. package/dist/core/v4/daemon/cron/cronBridge.js +126 -0
  35. package/dist/core/v4/daemon/cron/cronEmitter.js +173 -0
  36. package/dist/core/v4/daemon/cron/migration.js +199 -0
  37. package/dist/core/v4/daemon/cron/misfirePolicy.js +115 -0
  38. package/dist/core/v4/daemon/daemonConfig.js +90 -0
  39. package/dist/core/v4/daemon/db/connection.js +106 -0
  40. package/dist/core/v4/daemon/db/migrations.js +296 -0
  41. package/dist/core/v4/daemon/db/schema/v1.spec.js +18 -0
  42. package/dist/core/v4/daemon/dispatcher/agentRunner.js +98 -0
  43. package/dist/core/v4/daemon/dispatcher/budgetGate.js +127 -0
  44. package/dist/core/v4/daemon/dispatcher/daemonApproval.js +113 -0
  45. package/dist/core/v4/daemon/dispatcher/dailyBudgetTracker.js +120 -0
  46. package/dist/core/v4/daemon/dispatcher/dispatcher.js +389 -0
  47. package/dist/core/v4/daemon/dispatcher/fireRateLimiter.js +113 -0
  48. package/dist/core/v4/daemon/dispatcher/index.js +53 -0
  49. package/dist/core/v4/daemon/dispatcher/promptTemplate.js +95 -0
  50. package/dist/core/v4/daemon/dispatcher/realAgentRunner.js +356 -0
  51. package/dist/core/v4/daemon/dispatcher/resolveModel.js +93 -0
  52. package/dist/core/v4/daemon/dispatcher/sessionId.js +93 -0
  53. package/dist/core/v4/daemon/drain.js +156 -0
  54. package/dist/core/v4/daemon/eventLoopLag.js +73 -0
  55. package/dist/core/v4/daemon/health.js +159 -0
  56. package/dist/core/v4/daemon/idempotencyStore.js +204 -0
  57. package/dist/core/v4/daemon/index.js +179 -0
  58. package/dist/core/v4/daemon/instanceTracker.js +99 -0
  59. package/dist/core/v4/daemon/resourceRegistry.js +150 -0
  60. package/dist/core/v4/daemon/restartCode.js +32 -0
  61. package/dist/core/v4/daemon/restartFailureCounter.js +77 -0
  62. package/dist/core/v4/daemon/runStore.js +114 -0
  63. package/dist/core/v4/daemon/runtimeLock.js +167 -0
  64. package/dist/core/v4/daemon/signals.js +50 -0
  65. package/dist/core/v4/daemon/supervisor.js +272 -0
  66. package/dist/core/v4/daemon/triggerBus.js +279 -0
  67. package/dist/core/v4/daemon/triggers/email/allowlist.js +70 -0
  68. package/dist/core/v4/daemon/triggers/email/automatedSender.js +78 -0
  69. package/dist/core/v4/daemon/triggers/email/bodyExtractor.js +0 -0
  70. package/dist/core/v4/daemon/triggers/email/emailSeenStore.js +99 -0
  71. package/dist/core/v4/daemon/triggers/email/emailSpec.js +107 -0
  72. package/dist/core/v4/daemon/triggers/email/imapConnection.js +211 -0
  73. package/dist/core/v4/daemon/triggers/email/index.js +332 -0
  74. package/dist/core/v4/daemon/triggers/email/seenUids.js +60 -0
  75. package/dist/core/v4/daemon/triggers/fileObservationsStore.js +93 -0
  76. package/dist/core/v4/daemon/triggers/fileWatcher.js +253 -0
  77. package/dist/core/v4/daemon/triggers/fileWatcherSpec.js +88 -0
  78. package/dist/core/v4/daemon/triggers/fsIdentity.js +42 -0
  79. package/dist/core/v4/daemon/triggers/globMatcher.js +100 -0
  80. package/dist/core/v4/daemon/triggers/reconcile.js +206 -0
  81. package/dist/core/v4/daemon/triggers/settleStat.js +81 -0
  82. package/dist/core/v4/daemon/triggers/webhook.js +376 -0
  83. package/dist/core/v4/daemon/triggers/webhookDeliveriesStore.js +109 -0
  84. package/dist/core/v4/daemon/triggers/webhookIdempotency.js +72 -0
  85. package/dist/core/v4/daemon/triggers/webhookRateLimit.js +56 -0
  86. package/dist/core/v4/daemon/triggers/webhookSpec.js +76 -0
  87. package/dist/core/v4/daemon/triggers/webhookVerifier.js +128 -0
  88. package/dist/core/v4/daemon/types.js +15 -0
  89. package/dist/core/v4/dockerSession.js +461 -0
  90. package/dist/core/v4/dryRun.js +117 -0
  91. package/dist/core/v4/failureClassifier.js +779 -0
  92. package/dist/core/v4/loopTrace.js +257 -0
  93. package/dist/core/v4/recoveryReport.js +449 -0
  94. package/dist/core/v4/runtimeToggles.js +187 -0
  95. package/dist/core/v4/sandboxConfig.js +285 -0
  96. package/dist/core/v4/sandboxFs.js +316 -0
  97. package/dist/core/v4/suggestionCatalog.js +41 -0
  98. package/dist/core/v4/suggestionEngine.js +210 -0
  99. package/dist/core/v4/toolRegistry.js +18 -0
  100. package/dist/core/v4/turnState.js +587 -0
  101. package/dist/core/v4/update/checkUpdate.js +63 -3
  102. package/dist/core/v4/update/installMethodDetect.js +115 -0
  103. package/dist/core/v4/update/registryClient.js +121 -0
  104. package/dist/core/v4/update/skipState.js +75 -0
  105. package/dist/core/v4/verifier.js +448 -0
  106. package/dist/core/version.js +1 -1
  107. package/dist/core/webSearch.js +64 -24
  108. package/dist/tools/v4/browser/_observer.js +224 -0
  109. package/dist/tools/v4/browser/browserBlocker.js +396 -0
  110. package/dist/tools/v4/browser/browserClick.js +18 -1
  111. package/dist/tools/v4/browser/browserClose.js +18 -1
  112. package/dist/tools/v4/browser/browserExtract.js +5 -1
  113. package/dist/tools/v4/browser/browserFill.js +17 -1
  114. package/dist/tools/v4/browser/browserGetUrl.js +5 -1
  115. package/dist/tools/v4/browser/browserNavigate.js +16 -1
  116. package/dist/tools/v4/browser/browserScreenshot.js +5 -1
  117. package/dist/tools/v4/browser/browserScroll.js +18 -1
  118. package/dist/tools/v4/browser/browserType.js +17 -1
  119. package/dist/tools/v4/browser/captchaCheck.js +5 -1
  120. package/dist/tools/v4/executeCode.js +1 -0
  121. package/dist/tools/v4/files/fileCopy.js +56 -2
  122. package/dist/tools/v4/files/fileDelete.js +38 -1
  123. package/dist/tools/v4/files/fileList.js +12 -1
  124. package/dist/tools/v4/files/fileMove.js +59 -2
  125. package/dist/tools/v4/files/filePatch.js +43 -1
  126. package/dist/tools/v4/files/fileRead.js +12 -1
  127. package/dist/tools/v4/files/fileWrite.js +41 -1
  128. package/dist/tools/v4/index.js +71 -58
  129. package/dist/tools/v4/memory/memoryAdd.js +14 -0
  130. package/dist/tools/v4/memory/memoryRemove.js +14 -0
  131. package/dist/tools/v4/memory/memoryReplace.js +15 -0
  132. package/dist/tools/v4/memory/sessionSummary.js +12 -0
  133. package/dist/tools/v4/process/processKill.js +19 -0
  134. package/dist/tools/v4/process/processList.js +1 -0
  135. package/dist/tools/v4/process/processLogRead.js +1 -0
  136. package/dist/tools/v4/process/processSpawn.js +13 -0
  137. package/dist/tools/v4/process/processWait.js +1 -0
  138. package/dist/tools/v4/sessions/recallSession.js +1 -0
  139. package/dist/tools/v4/sessions/sessionList.js +1 -0
  140. package/dist/tools/v4/sessions/sessionSearch.js +1 -0
  141. package/dist/tools/v4/skills/lookupToolSchema.js +2 -0
  142. package/dist/tools/v4/skills/skillManage.js +13 -0
  143. package/dist/tools/v4/skills/skillView.js +1 -0
  144. package/dist/tools/v4/skills/skillsList.js +1 -0
  145. package/dist/tools/v4/subagent/subagentFanout.js +1 -0
  146. package/dist/tools/v4/system/aidenSelfUpdate.js +16 -0
  147. package/dist/tools/v4/system/appClose.js +13 -0
  148. package/dist/tools/v4/system/appInput.js +13 -0
  149. package/dist/tools/v4/system/appLaunch.js +13 -0
  150. package/dist/tools/v4/system/clipboardRead.js +1 -0
  151. package/dist/tools/v4/system/clipboardWrite.js +14 -0
  152. package/dist/tools/v4/system/mediaKey.js +12 -0
  153. package/dist/tools/v4/system/mediaSessions.js +1 -0
  154. package/dist/tools/v4/system/mediaTransport.js +13 -0
  155. package/dist/tools/v4/system/naturalEvents.js +1 -0
  156. package/dist/tools/v4/system/nowPlaying.js +1 -0
  157. package/dist/tools/v4/system/osProcessList.js +1 -0
  158. package/dist/tools/v4/system/screenshot.js +1 -0
  159. package/dist/tools/v4/system/systemInfo.js +1 -0
  160. package/dist/tools/v4/system/volumeSet.js +17 -0
  161. package/dist/tools/v4/terminal/shellExec.js +81 -9
  162. package/dist/tools/v4/web/deepResearch.js +1 -0
  163. package/dist/tools/v4/web/openUrl.js +1 -0
  164. package/dist/tools/v4/web/webFetch.js +1 -0
  165. package/dist/tools/v4/web/webPage.js +1 -0
  166. package/dist/tools/v4/web/webSearch.js +1 -0
  167. package/dist/tools/v4/web/youtubeSearch.js +1 -0
  168. package/package.json +7 -1
  169. package/plugins/aiden-plugin-cdp-browser/.granted-permissions.json +8 -0
package/README.md CHANGED
@@ -1,847 +1,250 @@
1
- <img width="1672" height="941" alt="AIDEN BOOTUP LOGO" src="https://github.com/user-attachments/assets/c0809009-73e2-4d58-9292-12fbd0324952" />
2
-
3
-
4
-
5
-
6
- ```
7
- █████╗ ██╗██████╗ ███████╗███╗ ██╗
8
- ██╔══██╗██║██╔══██╗██╔════╝████╗ ██║
9
- ███████║██║██║ ██║█████╗ ██╔██╗ ██║
10
- ██╔══██║██║██║ ██║██╔══╝ ██║╚██╗██║
11
- ██║ ██║██║██████╔╝███████╗██║ ╚████║
12
- ╚═╝ ╚═╝╚═╝╚═════╝ ╚══════╝╚═╝ ╚═══╝
13
-
14
- Autonomous AI Engine
15
-
16
- 74 skills · 53 tools · 19 providers · 9 channels · AGPL-3.0
17
-
18
- Windows · Linux · WSL · macOS (API Mode)
19
-
20
- Local-first · Self-healing routing · Browser & terminal control · Persistent memory
21
- ```
22
-
23
- <p align="center">
24
- <a href="https://github.com/taracodlabs/aiden/releases/latest"><img src="https://img.shields.io/github/v/release/taracodlabs/aiden?color=f97316&label=version&style=for-the-badge" alt="Latest version" /></a>
25
- <a href="https://github.com/taracodlabs/aiden/releases"><img src="https://img.shields.io/github/downloads/taracodlabs/aiden/total?color=f97316&label=downloads&style=for-the-badge" alt="Downloads" /></a>
26
- <a href="https://discord.gg/gMZ3hUnQTm"><img src="https://img.shields.io/badge/chat-discord-7289da?logo=discord&logoColor=white&style=for-the-badge" alt="Discord" /></a>
27
- <a href="./LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-orange?style=for-the-badge" alt="License: AGPL-3.0" /></a>
28
- <a href="https://github.com/taracodlabs/aiden/stargazers"><img src="https://img.shields.io/github/stars/taracodlabs/aiden?style=for-the-badge&color=f9d71c" alt="Stars" /></a>
29
- <a href="https://www.npmjs.com/package/aiden-runtime"><img src="https://img.shields.io/npm/v/aiden-runtime?color=f97316&label=npm&style=for-the-badge" alt="npm" /></a>
30
- <a href="https://amzn.to/4tpiXwM"><img src="https://img.shields.io/badge/book-Omega-ff9900?logo=amazon&logoColor=white&style=for-the-badge" alt="Book: Omega" /></a>
31
- </p>
32
-
33
- <p align="center">
34
- <img src="https://img.shields.io/badge/TypeScript-5.9-3178c6?logo=typescript&logoColor=white&style=for-the-badge" alt="TypeScript 5.9" />
35
- <img src="https://img.shields.io/badge/Node.js-18+-43853d?logo=node.js&logoColor=white&style=for-the-badge" alt="Node.js 18+" />
36
- <img src="https://img.shields.io/badge/JavaScript-ES2022-f7df1e?logo=javascript&logoColor=black&style=for-the-badge" alt="JavaScript ES2022" />
37
- </p>
38
-
39
- <p align="center">
40
- <img src="https://img.shields.io/badge/Electron-41-47848f?logo=electron&logoColor=white&style=for-the-badge" alt="Electron 41" />
41
- <img src="https://img.shields.io/badge/Next.js-app%20router-000000?logo=next.js&logoColor=white&style=for-the-badge" alt="Next.js" />
42
- <img src="https://img.shields.io/badge/React-18-61dafb?logo=react&logoColor=black&style=for-the-badge" alt="React 18" />
43
- <img src="https://img.shields.io/badge/Tailwind%20CSS-06b6d4?logo=tailwind-css&logoColor=white&style=for-the-badge" alt="Tailwind CSS" />
44
- </p>
45
-
46
- <p align="center">
47
- <img src="https://img.shields.io/badge/Anthropic-API-e8a061?logo=anthropic&logoColor=white&style=for-the-badge" alt="Anthropic" />
48
- <img src="https://img.shields.io/badge/OpenAI-SDK-412991?logo=openai&logoColor=white&style=for-the-badge" alt="OpenAI" />
49
- <img src="https://img.shields.io/badge/Ollama-local-000000?logo=ollama&logoColor=white&style=for-the-badge" alt="Ollama" />
50
- <img src="https://img.shields.io/badge/MCP-1.27-7c3aed?style=for-the-badge" alt="Model Context Protocol" />
51
- </p>
52
-
53
- <p align="center">
54
- <img src="https://img.shields.io/badge/Playwright-1.58-2ea44f?logo=playwright&logoColor=white&style=for-the-badge" alt="Playwright" />
55
- <img src="https://img.shields.io/badge/CDP-Chrome-4285f4?logo=googlechrome&logoColor=white&style=for-the-badge" alt="Chrome DevTools Protocol" />
56
- <img src="https://img.shields.io/badge/Puppeteer-40b5a4?logo=puppeteer&logoColor=white&style=for-the-badge" alt="Puppeteer" />
57
- </p>
58
-
59
- <p align="center">
60
- <img src="https://img.shields.io/badge/SQLite-003b57?logo=sqlite&logoColor=white&style=for-the-badge" alt="SQLite" />
61
- <img src="https://img.shields.io/badge/better--sqlite3-12-003b57?style=for-the-badge" alt="better-sqlite3" />
62
- <img src="https://img.shields.io/badge/sql.js-WASM-003b57?style=for-the-badge" alt="sql.js" />
63
- </p>
64
-
65
- <p align="center">
66
- <img src="https://img.shields.io/badge/Vitest-4-6e9f18?logo=vitest&logoColor=white&style=for-the-badge" alt="Vitest 4" />
67
- <img src="https://img.shields.io/badge/esbuild-bundler-ffcf00?logo=esbuild&logoColor=black&style=for-the-badge" alt="esbuild" />
68
- <img src="https://img.shields.io/badge/install-npm%20global-cb3837?logo=npm&logoColor=white&style=for-the-badge" alt="npm install -g aiden-runtime" />
69
- </p>
70
-
71
- <p align="center">
72
- <img src="https://img.shields.io/badge/Discord.js-bot-5865f2?logo=discord&logoColor=white&style=for-the-badge" alt="Discord.js" />
73
- <img src="https://img.shields.io/badge/Slack-SDK-4a154b?logo=slack&logoColor=white&style=for-the-badge" alt="Slack SDK" />
74
- <img src="https://img.shields.io/badge/Twilio-SMS-f22f46?logo=twilio&logoColor=white&style=for-the-badge" alt="Twilio" />
75
- <img src="https://img.shields.io/badge/IMAP%20%2F%20SMTP-email-0078d4?logo=maildotru&logoColor=white&style=for-the-badge" alt="IMAP / SMTP" />
76
- </p>
77
-
78
- <p align="center">
79
- <img src="https://img.shields.io/badge/Croner-cron-f97316?style=for-the-badge" alt="Croner" />
80
- <img src="https://img.shields.io/badge/figlet-ASCII-808080?style=for-the-badge" alt="figlet" />
81
- <img src="https://img.shields.io/badge/chalk-color-ff8c00?style=for-the-badge" alt="chalk" />
82
- <img src="https://img.shields.io/badge/ora-spinner-00bcd4?style=for-the-badge" alt="ora" />
83
- </p>
84
-
85
- <p align="center">
86
- <img src="https://img.shields.io/badge/Cloudflare-Workers-f38020?logo=cloudflare&logoColor=white&style=for-the-badge" alt="Cloudflare Workers" />
87
- <img src="https://img.shields.io/badge/GitHub-Actions-2088ff?logo=githubactions&logoColor=white&style=for-the-badge" alt="GitHub Actions" />
88
- <img src="https://img.shields.io/badge/npm-registry-cb3837?logo=npm&logoColor=white&style=for-the-badge" alt="npm" />
89
- </p>
90
-
91
- <p align="center">
92
- <img src="https://img.shields.io/badge/Windows-10%2F11-0078d4?logo=windows&logoColor=white&style=for-the-badge" alt="Windows 10/11" />
93
- <img src="https://img.shields.io/badge/Linux-AppImage%20%2F%20deb-fcc624?logo=linux&logoColor=black&style=for-the-badge" alt="Linux" />
94
- <img src="https://img.shields.io/badge/macOS-API%20mode-000000?logo=apple&logoColor=white&style=for-the-badge" alt="macOS" />
95
- <img src="https://img.shields.io/badge/WSL-2-4a90d9?logo=ubuntu&logoColor=white&style=for-the-badge" alt="WSL 2" />
96
- </p>
97
-
98
- <p align="center">
99
- <img src="https://img.shields.io/badge/providers-19-f97316?style=for-the-badge" alt="19 providers" />
100
- <img src="https://img.shields.io/badge/skills-74-43853d?style=for-the-badge" alt="74 skills" />
101
- <img src="https://img.shields.io/badge/tools-53-blueviolet?style=for-the-badge" alt="53 tools" />
102
- <img src="https://img.shields.io/badge/channels-9-5865f2?style=for-the-badge" alt="9 channels" />
103
- <img src="https://img.shields.io/badge/offline-Ollama-22c55e?style=for-the-badge" alt="offline" />
104
- <img src="https://img.shields.io/badge/OAuth-Claude%20Pro%20%2B%20ChatGPT%20Plus-9333ea?style=for-the-badge" alt="OAuth subscriptions" />
105
- <img src="https://img.shields.io/badge/local--first-yes-00aaaa?style=for-the-badge" alt="local-first" />
106
- </p>
107
-
108
- <p align="center">
109
- <a href="https://aiden.taracod.com"><b>Website</b></a> &nbsp;·&nbsp;
110
- <a href="https://aiden.taracod.com/contact"><b>Contact</b></a> &nbsp;·&nbsp;
111
- <a href="https://discord.gg/gMZ3hUnQTm"><b>Discord</b></a> &nbsp;·&nbsp;
112
- <a href="https://github.com/taracodlabs/aiden/releases/latest"><b>Download</b></a> &nbsp;·&nbsp;
113
- <a href="https://amzn.to/4tpiXwM"><b>Book</b></a>
114
- </p>
115
-
116
- ---
117
-
118
- > **v4.1 — Multi-channel autonomous AI engine**
119
- > Telegram + MCP server + subagent fanout + voice CLI + skill mining. Hardened cron, structured markdown, cross-platform CI. See [changelog](#changelog) below.
120
-
121
- ---
122
-
123
- ## Support Aiden
124
-
125
- Solo-built, AGPL-3.0. If Aiden saves you time, consider sponsoring development.
126
-
127
- [Sponsor →](https://razorpay.me/@whitelotus9625)
128
-
129
- Funds go to ongoing development, infrastructure costs, and contributor bounties.
130
-
131
- ---
132
-
133
- ## Why Aiden
134
-
135
- Most AI agents answer questions. Aiden runs work end-to-end on your machine.
136
-
137
- - **Runs on your machine** local-first, no telemetry, no cloud account required
138
- - **Controls your desktop** — vision loop, browser, terminal, files. Not a chatbot wrapped in a sandbox.
139
- - **Automates any browser** — 10 Playwright-driven tools (navigate, click, type, fill, scroll, extract, screenshot, get-url, close, captcha-check)
140
- - **Self-healing provider routing** — 6-slot fallback chain (`together → groq × 4`) advances slots in under a second on rate-limit
141
- - **OAuth subscription routing** — sign in with Claude Pro or ChatGPT Plus; queries route to your subscription quota, not pay-as-you-go
142
- - **Persistent memory** — `USER.md`, `SOUL.md`, `MEMORY.md` (durable facts + recent-session distillations), plus semantic recall over past sessions via the `recall_session` tool. Memory promotes itself: each session ends with a structured distillation, and durable facts graduate to a protected section that survives compression.
143
- - **Lives where you do** — identity files re-read every turn; edit `USER.md` mid-conversation and the change lands within one reply
144
- - **One command to start** — `npx aiden-runtime` installs, configures, and runs everything
145
- - **Honest failures** every tool error names the tool, provider, retry count, fallback chain, error, and next step. No silent swallowing.
146
- - **Plugin extension** — drop a plugin into `<aiden-home>/plugins/` and call `ctx.commandRegistry.register()` to add slash commands without touching core
147
- - **Open source** — AGPL-3.0 core, Apache-2.0 skills. Read every line, modify anything, contribute back.
148
-
149
- 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 installs as a global npm package (`aiden-runtime`, ~16 MB) on Windows, Linux, WSL, and macOS — Node.js 18+ is the only prerequisite. Features: 74 bundled skills, 53 built-in tools across 11 categories, multi-layer memory architecture, self-healing provider routing across 19 providers, the ability to control your screen, browse the web, run code, send emails and messages, manage files, and hold a full conversation — offline via Ollama.
150
-
151
- ---
152
-
153
- ## Disclaimer
154
-
155
- **Aiden is a hobby project** built solo by one person. It is provided **"as-is" without warranty of any kind**, express or implied.
156
-
157
- ⚠️ **Important risks to understand before installing:**
158
-
159
- - **Aiden controls your computer.** It can run shell commands, edit or delete files, automate your browser, capture screenshots, and send messages on your behalf. Always review what it's doing, especially when running in `/yolo` (no-approval) mode.
160
- - **Use API keys responsibly.** You provide your own provider keys. You pay for any usage on those keys. Aiden has built-in budget caps but you should set spending limits with your provider too.
161
- - **Back up important data.** Aiden can patch and delete files. Always work in version-controlled directories or with backups.
162
- - **Skills and plugins may send data externally.** Built-in capabilities are local-first, but third-party skills you install may make external API calls. Review skill source before use.
163
- - **OAuth providers may change behavior.** Claude Pro and ChatGPT Plus subscription routing depends on provider-side gates. If your subscription is restricted by Anthropic/OpenAI, fall back to direct API keys.
164
- - **Not for production-critical work without review.** Aiden is designed for personal use and exploration. For business-critical workflows, use approval mode (default) and review every action.
165
-
166
- By installing Aiden you accept these risks. The author and contributors accept no liability for data loss, financial loss, account suspensions, or any other damages arising from use of this software.
167
-
168
- For commercial deployments with support and indemnification, see [aiden.taracod.com/contact?type=enterprise](https://aiden.taracod.com/contact?type=enterprise).
169
-
170
- ---
171
-
172
- ## Platform support
173
-
174
- All platforms use the same npm-based install path. Node.js 18+ is the only prerequisite.
175
-
176
- | Platform | Install | Skills available |
177
- |---|---|---|
178
- | **Windows 10/11** | ✅ `npm install -g aiden-runtime` | All 74 (including Windows-only skills) |
179
- | **Linux** | ✅ `npm install -g aiden-runtime` | ~68 (Windows-only skills auto-skipped) |
180
- | **WSL 2** | ✅ `npm install -g aiden-runtime` | ~68 (Windows-only skills auto-skipped) |
181
- | **macOS** | ✅ `npm install -g aiden-runtime` | ~68 (Windows-only skills auto-skipped) |
182
-
183
- Windows-only skills (clipboard history, Defender, OneNote, Outlook COM, registry, Task Scheduler, etc.) are tagged `platform: windows` and silently skipped on other platforms at load time.
184
-
185
- ---
186
-
187
- ## Get an API key
188
-
189
- Aiden needs at least one AI provider configured. You can use the setup wizard (`aiden setup`) to walk through this, or manually set keys in `.env`.
190
-
191
- **Free providers (recommended for getting started):**
192
-
193
- | Provider | Where to get a key | Free tier |
194
- |---|---|---|
195
- | **Groq** | [console.groq.com/keys](https://console.groq.com/keys) | Yes — fast Llama 3 / Qwen |
196
- | **Gemini** | [aistudio.google.com/apikey](https://aistudio.google.com/apikey) | Yes generous free tier |
197
- | **OpenRouter** | [openrouter.ai/keys](https://openrouter.ai/keys) | Free credits + paid tier |
198
- | **NVIDIA NIM** | [build.nvidia.com](https://build.nvidia.com) | Free playground tier |
199
-
200
- **Paid providers:**
201
-
202
- | Provider | Where to get a key | Notes |
203
- |---|---|---|
204
- | **Anthropic** | [console.anthropic.com](https://console.anthropic.com) | Best Claude models |
205
- | **OpenAI** | [platform.openai.com/api-keys](https://platform.openai.com/api-keys) | GPT-4, GPT-5 |
206
- | **Together AI** | [api.together.xyz/settings/api-keys](https://api.together.xyz/settings/api-keys) | Default in Aiden |
207
-
208
- **Subscription routing (use your existing subscription):**
209
-
210
- - **Claude Pro / Max** — sign in with `/auth login claude-pro` inside Aiden. Routes to your subscription quota instead of pay-as-you-go.
211
- - **ChatGPT Plus** sign in with `/auth login chatgpt-plus`. Routes to Codex backend.
212
-
213
- **Fully offline (no API key needed):**
214
-
215
- - **Ollama** — install from [ollama.ai](https://ollama.ai), then `ollama pull qwen2.5:7b`. Aiden auto-detects and uses it as fallback.
216
-
217
- ---
218
-
219
- ## Quick Start
220
-
221
- ### Fastest `npx` (no install needed)
222
-
223
- ```bash
224
- npx aiden-runtime
225
- ```
226
-
227
- That's it. Node.js 18+ is the only prerequisite. On first run it asks which AI provider you want (Groq is free), validates your key, saves config to `~/.aiden/`, and starts the chat REPL. Subsequent runs skip the wizard and go straight to the assistant.
228
-
229
- Or install globally for the `aiden` command:
230
-
231
- ```bash
232
- npm install -g aiden-runtime
233
- aiden
234
- ```
235
-
236
- ### Prerequisites (all platforms)
237
- - Node.js 18+
238
- - Git (only for the manual install path below)
239
- - Ollama (optional, for offline mode): [ollama.ai](https://ollama.ai)
240
-
241
- ### Windows — one-line install
242
-
243
- ```powershell
244
- irm aiden.taracod.com/install.ps1 | iex
245
- ```
246
-
247
- The installer verifies Node.js 18+ then runs `npm install -g aiden-runtime`. Same package as `npx aiden-runtime` above; just adds the `aiden` command to your PATH so you can launch from any terminal.
248
-
249
- ### Linux / WSL / macOS — one-line install
250
-
251
- ```bash
252
- curl -fsSL aiden.taracod.com/install.sh | bash
253
- ```
254
-
255
- ### Manual install (all platforms)
256
-
257
- ```bash
258
- git clone https://github.com/taracodlabs/aiden.git
259
- cd aiden
260
- npm install
261
- cp .env.example .env
262
- # Edit .env — add at minimum one API key (Groq is free: console.groq.com)
263
- ```
264
-
265
- ### Run (manual install)
266
-
267
- ```bash
268
- # Build, then start
269
- npm run build
270
- aiden # CLI
271
-
272
- # Or run the API server explicitly:
273
- npm start # API server on port 4200
274
- ```
275
-
276
- ### After pulling updates (manual install)
277
-
278
- ```bash
279
- git pull
280
- npm run build
281
- aiden
282
- ```
283
-
284
- ### Uninstall
285
-
286
- **Windows**
287
- Open *Settings → Apps* (or *Control Panel → Programs*) and uninstall **Aiden**.
288
- To also remove user data:
289
- ```powershell
290
- Remove-Item -Recurse -Force "$env:APPDATA\aiden"
291
- Remove-Item -Recurse -Force "$env:LOCALAPPDATA\aiden"
292
- ```
293
-
294
- **Linux / macOS / WSL**
295
- ```bash
296
- curl -fsSL aiden.taracod.com/uninstall.sh | bash
297
- ```
298
- Or manually:
299
- ```bash
300
- rm -rf ~/.local/share/aiden ~/.config/aiden
301
- npm uninstall -g aiden-runtime
302
- ```
303
-
304
- ### Minimum .env to get started
305
-
306
- ```
307
- GROQ_API_KEY=your_key_here # free at console.groq.com/keys
308
- ```
309
-
310
- Set `AIDEN_HEADLESS=true` to suppress the Electron GUI when running the packaged app.
311
-
312
- ---
313
-
314
- ## Known limitations
315
-
316
- We're shipping honest. Things that work, things that don't:
317
-
318
- **Tested and working:**
319
-
320
- - Windows 10/11 native (primary platform, full QA)
321
- - Linux via WSL2 (cross-platform paths verified)
322
- - Together AI (default provider, fast)
323
- - Groq 4-slot fallback chain
324
- - ChatGPT Plus OAuth (verified end-to-end with Codex backend)
325
- - Claude Pro OAuth (verified — subscription routing, sanitised identity)
326
-
327
- **Untested at launch:**
328
-
329
- - macOS native — best-effort, may need user reports
330
- - Linux distributions beyond Ubuntu/Debian (Snap/Flatpak Chrome detection)
331
- - Hugging Face / Vercel AI Gateway providers — registered but unverified
332
-
333
- **Not in v4.0:**
334
-
335
- - OCR — not bundled (vision-loop screen capture works, but no Tesseract)
336
- - Full agentskills.io ecosystem install — held pending license review
337
- - Docker sandbox backend — dropped in v4 rewrite
338
-
339
- **Landed in v4.1:**
340
-
341
- - Telegram channel adapter (DM polling + per-chat memory) — see [docs/channels/telegram.md](docs/channels/telegram.md)
342
- - DeepSeek V4 Pro provider with reasoning-token streaming and per-model defaults
343
- - `/update` slash command + `aiden_self_update` tool — registry probe, in-process installer, platform-specific permission-denied remediations
344
- - Structured session distillation — each session ends with a JSON summary that promotes durable facts into a protected `MEMORY.md` section
345
- - `recall_session` tool — semantic search over past distilled sessions
346
- - Eval harness — 18 honesty scenarios (10 easy + 8 hard) with `npm run eval -- --suite honesty`
347
- - Subsystem health registry surfacing component status in `/doctor`
348
-
349
- **Beta features:**
350
-
351
- - OAuth providers — provider-side gates may apply, use API keys as fallback
352
- - Auto-update — notifies on outdated version, doesn't auto-install
353
-
354
- Found a bug? Report at https://github.com/taracodlabs/Aiden-v4/issues with output of `aiden doctor` for fast triage.
355
-
356
- ---
357
-
358
- ## Getting Started
359
-
360
- Once Aiden is running, type these in the chat prompt:
361
-
362
- | First thing to do | What to type |
363
- |---|---|
364
- | See all available commands | `/help` |
365
- | Switch providers / models | `/model` |
366
- | List configured providers | `/providers` |
367
- | Browse available skills | `/skills` |
368
- | Run health checks | `/doctor` (or `aiden doctor` from shell) |
369
- | Schedule a recurring task | `/cron add "0 9 * * 1-5" 'morning briefing'` |
370
- | Sign in with Claude Pro | `/auth login claude-pro` |
371
- | Sign in with ChatGPT Plus | `/auth login chatgpt-plus` |
372
-
373
- **Ask anything in plain English** — no special syntax needed for regular tasks:
374
-
375
- ```
376
- summarize the PDF on my desktop
377
- open chrome and search for latest AI news
378
- take a screenshot and describe what you see
379
- remind me to deploy at 5pm
380
- play me a popular hindi song
381
- what files did I download today
382
- ```
383
-
384
- Type `/` to browse all 33 commands with instant search. Skills register their own dynamic slash commands at load time.
385
-
386
- ---
387
-
388
- ## Troubleshooting
389
-
390
- **"Cannot find module" or TypeScript errors**
391
- ```bash
392
- npm run build # always rebuild after git pull
393
- ```
394
-
395
- **"npm run serve" not found**
396
- There is no `serve` script. Use `npm start` instead.
397
-
398
- **Server not responding**
399
- ```bash
400
- # Check if API server is running on port 4200
401
- netstat -ano | findstr :4200 # Windows
402
- lsof -i :4200 # Linux/macOS
403
- ```
404
-
405
- **Ollama not connecting**
406
- ```bash
407
- ollama serve # make sure Ollama is running
408
- ollama pull qwen2.5:7b # pull your chosen model
409
- ```
410
-
411
- **Changing Ollama model or inference settings** (no recompile needed — edit `.env`):
412
- ```
413
- OLLAMA_MODEL=qwen2.5:7b
414
- OLLAMA_TEMPERATURE=0.3
415
- OLLAMA_CONTEXT_LENGTH=4096
416
- OLLAMA_NUM_GPU=99
417
- ```
418
-
419
- **Use with any OpenAI client (Open WebUI, Chatbox, Cursor, …)**
420
- ```
421
- Base URL: http://localhost:4200
422
- API Key: none required (or set AIDEN_API_KEY=… for Bearer auth)
423
- Model: aiden-3.13 (alias preserved for client compatibility)
424
- ```
425
-
426
- ---
427
-
428
- ## Screenshots
429
-
430
- ### Terminal (TUI)
431
-
432
- ![TUI](docs/images/tui.png)
433
-
434
- Boot card with environment + capabilities. Status pills (core / mode / model / memory). Per-turn rule separator. Random spinner phrases. Provider/context/elapsed footer. Runs in any terminal.
435
-
436
- ### Desktop app
437
-
438
- ![Desktop](docs/images/dashboard.png)
439
-
440
- Full chat interface with live activity panel. Local-first, connects to Ollama or any of 19 cloud providers via your own API key.
441
-
442
- ### Memory graph
443
-
444
- ![Memory graph](docs/images/memory-graph.png)
445
-
446
- Multi-layer memory visualised — every conversation, task, and learned pattern becomes a node in the local knowledge graph. Persisted to disk, searchable.
447
-
448
- ---
449
-
450
- ## Features
451
-
452
- | Category | What Aiden does |
453
- |---|---|
454
- | **Inference & providers** | 19 providers including Anthropic, OpenAI, Groq (4-slot fallback), Together, Gemini, NVIDIA NIM, OpenRouter, **DeepSeek V4 Pro** (reasoning-token streaming), Mistral, Z.ai, Kimi, MiniMax, Hugging Face, custom OpenAI-compatible endpoints, and **Ollama** for fully offline. OAuth subscription routing for Claude Pro and ChatGPT Plus. |
455
- | **53 built-in tools** | Web search & fetch, deep research, YouTube search, Playwright browser automation (10 tools), file ops (read, list, write, patch, delete, move, copy), process control (spawn, kill, list, log-read, wait), shell exec, code execution, system info, screenshot, clipboard, app launch/close, media keys, MCP bridge, memory add/replace/remove, session list/search/summary/recall, skill view/list/manage, and `aiden_self_update`. |
456
- | **74 bundled skills** | Composable workflows each with a `SKILL.md` prompt, optional helper scripts, and tool requirements. Includes: GitHub PR/issue workflows, NSE / Upstox / Zerodha trading, Censys / Shodan / VirusTotal lookups, Windows Defender / Task Scheduler, Docker management, YouTube content tools, ASCII art, and more. |
457
- | **Self-promoting memory** | `USER.md` + `SOUL.md` identity, plus a `MEMORY.md` split between durable facts (compression-protected) and recent-session distillations. Each session ends with a structured JSON summary that graduates durable facts into the protected section. Semantic recall over past sessions via the `recall_session` tool. Dirty-bit invalidation rebuilds the prompt when files change mid-session. |
458
- | **Voice** | Edge TTS / Windows SAPI text-to-speech, speech-to-text helpers. |
459
- | **Channel adapters** | Discord, Slack, Telegram, WhatsApp, Email (IMAP+SMTP), Webhook, Twilio SMS, iMessage (macOS), Signal — any channel triggers the same agent loop. |
460
- | **Computer use** | Screenshot capture, screen-state vision loop, browser automation. Mouse/keyboard automation partial. |
461
- | **Cron scheduler** | Persistent recurring tasks via the `croner` engine. Atomic state writes, output capture, 5/6-field cron + `@daily`/`@hourly` shortcodes. |
462
- | **Plugins** | Three bundled plugins: Chrome DevTools Protocol bridge, Claude Pro OAuth, ChatGPT Plus OAuth. Plugin system with permission-state machine (pending-grant / loaded / suspended). |
463
- | **MCP** | Model Context Protocol bridge — stdio + HTTP transports, schema discovery, tool dispatch. |
464
- | **Security moat** | 10-module safety layer: tiered approval engine (safe / caution / dangerous), dangerous-command pattern classifier, honesty enforcement (post-loop scan rewrites false claims), memory guard, planner-guard tool narrowing, SSRF-safe URL fetcher, secret/PII pre-write scanner, skill-teacher (auto-create skills from successful flows), pro-license gate, provider-chain glue. |
465
-
466
- ---
467
-
468
- ## What Aiden is
469
-
470
- Aiden runs locally on your machine. It controls your desktop, browser, and terminal through natural conversation. It learns from your work and remembers what matters across sessions.
471
-
472
- - **Local-first** — your conversations and data stay on your machine. No cloud account required.
473
- - **Real desktop control** — vision, browser, terminal, files. Not a chatbot wrapped in a sandbox.
474
- - **Persistent memory** — Aiden remembers facts, preferences, and lessons from prior sessions. The longer you use it, the better it knows your work.
475
- - **Honest by design** — when a tool fails, Aiden surfaces the failure rather than fabricating success.
476
- - **Open source** — AGPL-3.0. Read every line, modify anything, contribute back.
477
-
478
- ---
479
-
480
- ## Architecture
481
-
482
- ```
483
- User input (any channel)
484
-
485
-
486
- ┌───────────────────────────┐
487
- │ AidenAgent — single loop │ ← per turn: build prompt → ask provider →
488
- │ core/v4/aidenAgent.ts │ dispatch tools → loop until stop
489
- └────┬───────────┬──────────┘
490
- │ │
491
- │ ▼
492
- │ ┌──────────────────┐
493
- │ │ Tool dispatcher │──▶ 53 built-in tools
494
- │ └──────────────────┘ + skill-driven dynamic tools
495
-
496
-
497
- ┌─────────────────────────────────────┐
498
- │ Memory │
499
- │ USER.md · SOUL.md · MEMORY.md │
500
- │ (durable facts · recent sessions) │
501
- │ semantic recall (recall_session) │
502
- │ end-of-session distillation │
503
- └─────────────────────────────────────┘
504
-
505
-
506
- ┌──────────────────────────────────┐
507
- │ Provider router + fallback │ ← 19 providers, 6-slot self-healing
508
- │ providers/v4/runtimeResolver.ts │ chain (together → groq × 4)
509
- └──────────────────────────────────┘
510
-
511
-
512
- Response (streamed back to originating channel)
513
- ```
514
-
515
- See [ARCHITECTURE.md](ARCHITECTURE.md) for a full layer-by-layer breakdown, prompt-slot composition, and the skill system design.
516
-
517
- ---
518
-
519
- ## Configuration
520
-
521
- Copy `.env.example` to `.env` in the Aiden data directory.
522
-
523
- ```bash
524
- cp .env.example .env
525
- ```
526
-
527
- Key environment variables:
528
-
529
- | Variable | Default | Notes |
530
- |---|---|---|
531
- | `OLLAMA_HOST` | `http://127.0.0.1:11434` | Override if Ollama runs on a different host/port |
532
- | `OLLAMA_MODEL` | `qwen2.5:7b` | Default chat model for offline mode |
533
- | `ANTHROPIC_API_KEY` | — | Optional cloud provider |
534
- | `OPENAI_API_KEY` | — | Optional cloud provider |
535
- | `GROQ_API_KEY` | — | Free tier: fast Llama 3 / Qwen inference |
536
- | `TOGETHER_API_KEY` | — | Default cloud provider |
537
- | `AIDEN_HEADLESS` | `false` | `true` suppresses the Electron GUI |
538
- | `AIDEN_BROWSER_HEADLESS` | `false` | `true` runs Playwright headless |
539
- | `AIDEN_UI_ICONS` | `0` | `1` enables emoji tool-row icons |
540
- | `AIDEN_UI_TIMESTAMPS` | `0` | `1` prepends HH:MM:SS to chat lines |
541
- | `AIDEN_API_KEY` | — | Set to require Bearer auth on the OpenAI-compatible API |
542
-
543
- See `.env.example` for the full list covering voice, messaging integrations, search, computer use, and more.
544
-
545
- ---
546
-
547
- ## Use with any OpenAI client
548
-
549
- Aiden exposes an OpenAI-compatible API at `localhost:4200`. Point any OpenAI client at Aiden to get the full agent loop instead of raw LLM inference:
550
-
551
- | Setting | Value |
552
- |---|---|
553
- | **Base URL** | `http://localhost:4200` |
554
- | **API Key** | *(none required locally)* |
555
- | **Model** | `aiden-3.13` *(alias preserved for client compatibility)* |
556
-
557
- Works with: **Open WebUI** · **LibreChat** · **Chatbox** · **Continue.dev** · **Cursor** · **TypingMind** · any app using the OpenAI SDK.
558
-
559
- ```python
560
- # Python example — zero config
561
- from openai import OpenAI
562
- client = OpenAI(base_url="http://localhost:4200", api_key="none")
563
- response = client.chat.completions.create(
564
- model="aiden-3.13",
565
- messages=[{"role": "user", "content": "search news about AI agents"}]
566
- )
567
- print(response.choices[0].message.content)
568
- ```
569
-
570
- Optional: set `AIDEN_API_KEY=your-secret` in `.env` to require Bearer-token authentication.
571
-
572
- ---
573
-
574
- ## Commands
575
-
576
- ### Start Aiden
577
- | Command | Description |
578
- |---|---|
579
- | `npx aiden-runtime` | Install, configure, and start (recommended) |
580
- | `aiden` | Start the chat REPL |
581
- | `aiden doctor` | Run diagnostic health checks |
582
- | `aiden setup` | Re-run the setup wizard |
583
- | `npm start` | Start the API server (port 4200) |
584
- | `npm run build` | Rebuild after source changes |
585
-
586
- ### In-chat slash commands (33 total)
587
-
588
- **Session**
589
- | Command | Description |
590
- |---|---|
591
- | `/clear` | Clear the current conversation |
592
- | `/compress` | Compress the conversation to free context |
593
- | `/save` | Save the current session |
594
- | `/title` | Set a title for the session |
595
- | `/history` | Browse past sessions |
596
- | `/show` | Show session metadata |
597
- | `/status` | Show current session status |
598
-
599
- **Configuration**
600
- | Command | Description |
601
- |---|---|
602
- | `/model` | Two-step provider/model picker |
603
- | `/providers` | List configured providers + status |
604
- | `/personality` | Switch personality overlay |
605
- | `/skin` | Switch terminal colour skin |
606
- | `/streaming on\|off` | Toggle streamed responses |
607
- | `/reasoning` | Show reasoning toggle for capable models |
608
- | `/verbose compact\|normal\|verbose` | Verbosity level |
609
- | `/debug-prompt` | Print the system prompt for inspection |
610
-
611
- **Identity**
612
- | Command | Description |
613
- |---|---|
614
- | `/identity` | Print SOUL.md / USER.md identity blocks |
615
-
616
- **System**
617
- | Command | Description |
618
- |---|---|
619
- | `/doctor` | Run health checks |
620
- | `/license` | Show / set Pro license |
621
- | `/plugins` | List, grant, suspend plugins |
622
- | `/reload-mcp` | Reconnect MCP servers |
623
- | `/reload-soul` | Reload SOUL.md / USER.md mid-session |
624
- | `/tools` | List registered tools |
625
- | `/skills` | List, view, install skills |
626
- | `/usage` | Token usage + cost summary |
627
- | `/yolo` | No-approval mode (use carefully) |
628
- | `/cron` | Schedule recurring tasks |
629
- | `/update` | Check for / install the latest `aiden-runtime` (`install` subcommand applies) |
630
- | `/setup` | Re-run the setup wizard from the REPL |
631
- | `/channel` | List / manage channel adapters (Discord, Slack, Telegram, …) |
632
- | `/voice` | Toggle voice output (Edge TTS / Windows SAPI) |
633
- | `/quit` | Exit the REPL |
634
-
635
- **Authentication**
636
- | Command | Description |
637
- |---|---|
638
- | `/auth login claude-pro` | Sign in with Claude Pro / Max subscription |
639
- | `/auth login chatgpt-plus` | Sign in with ChatGPT Plus subscription |
640
- | `/auth status` | Show current auth state |
641
- | `/auth logout` | Sign out of OAuth providers |
642
-
643
- **Help**
644
- | Command | Description |
645
- |---|---|
646
- | `/help` | List all commands grouped by section |
647
-
648
- Skills can register their own dynamic slash commands at load time.
649
-
650
- ---
651
-
652
- ## CLI vs Dashboard quick reference
653
-
654
- Both the terminal CLI and the browser dashboard (`localhost:4200/ui`) expose the full feature set. Use whichever fits your workflow.
655
-
656
- | Feature | Terminal CLI | Browser (`localhost:4200/ui`) |
657
- |---|---|---|
658
- | Chat | ✅ inline prompt | ✅ chat panel |
659
- | Streaming responses | ✅ token-by-token | ✅ live SSE |
660
- | Markdown rendering | ✅ | ✅ |
661
- | Slash commands | ✅ all 33 | ✅ same commands |
662
- | `/` command dropdown | ✅ instant, 33 commands | ✅ |
663
- | Provider panel | `/providers` | ✅ Providers tab |
664
- | Memory panel | `/identity` + tool calls | ✅ Memory tab |
665
- | Skills panel | `/skills` | ✅ Skills tab |
666
- | Plugin hooks | ✅ | ✅ |
667
- | MCP server mode | `aiden mcp` | — |
668
- | OpenAI-compatible API | — | ✅ `localhost:4200/v1` |
669
-
670
- ---
671
-
672
- ## Tech stack
673
-
674
- - **TypeScript 5.9** — strict mode, full typing across core, providers, CLI, API.
675
- - **Node.js 18+** — runtime; `node-fetch` not needed (built-in `fetch`).
676
- - **Electron 41** — optional desktop wrapper; primary install is npm-based.
677
- - **Next.js (app router)** — `dashboard-next/` for the browser UI.
678
- - **React 18** — dashboard component model.
679
- - **Playwright 1.58** — browser automation backbone.
680
- - **Ollama** — fully offline LLM via local Ollama daemon.
681
- - **Model Context Protocol 1.27** — `@modelcontextprotocol/sdk` for tool / server dispatch.
682
- - **better-sqlite3** + **sql.js** — local persistence.
683
- - **croner** — cron scheduler.
684
- - **discord.js**, **@slack/web-api**, **whatsapp-web.js**, **twilio**, **nodemailer**, **imap-simple** — channel adapters.
685
- - **Vitest 4** — test runner; ~1,983 unit + integration tests.
686
- - **esbuild** — bundler for the npm package; **electron-builder** — optional desktop wrapper.
687
- - **Cloudflare Workers** — landing page + license server + install-script proxy.
688
-
689
- ---
690
-
691
- ## Contributing
692
-
693
- Contributions are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide.
694
-
695
- **Quickstart:**
696
-
697
- ```bash
698
- git clone https://github.com/taracodlabs/aiden.git
699
- cd aiden
700
- npm install
701
- cp .env.example .env # add at minimum one API key (Groq is free: console.groq.com/keys)
702
- npm run build
703
- aiden # CLI
704
- ```
705
-
706
- - Bug fixes and new skills are the easiest entry points.
707
- - All contributors sign the [CLA](.github/CLA.md) once via PR comment.
708
- - Follow [Conventional Commits](https://www.conventionalcommits.org/).
709
- - Run `npm run typecheck` and `npm test` before opening a PR.
710
-
711
- ### Evals — measuring behavior at scale
712
-
713
- Aiden ships an opt-in eval harness that runs scenario-based behavior checks
714
- against a real provider. Distinct from `npm test` (unit / integration) — evals
715
- are scenario-driven, make live LLM calls, and are *measurement* rather than
716
- release gates.
717
-
718
- ```bash
719
- npm run eval # default suite (honesty), default provider
720
- npm run eval:honesty # explicit suite
721
- npm run eval -- --scenario honesty/no-fabricated-file-contents
722
- npm run eval -- --provider groq --model llama-3.3-70b-versatile
723
- npm run eval -- --strict # exit 1 on any failure (for CI)
724
- ```
725
-
726
- Results land in `evals/results/<timestamp>.json` (gitignored — local history).
727
- Eval failures are signal, not gates: the runner exits 0 unless `--strict`.
728
-
729
- Default provider: `chatgpt-plus / gpt-5.5`. Falls back to the test-provider
730
- chain (Groq / Together via env-var keys) when ChatGPT Plus isn't authed.
731
-
732
- Available suites: `honesty` (18 scenarios — 10 easy + 8 hard — covering
733
- fabricated content, fake "I found" claims, claimed actions without tool calls,
734
- unverified completions, write/read mismatches, and post-cutoff version claims).
735
-
736
- ---
737
-
738
- ## Community
739
-
740
- | | |
741
- |---|---|
742
- | **Discord** | [discord.gg/gMZ3hUnQTm](https://discord.gg/gMZ3hUnQTm) — chat, support, share what you build |
743
- | **Skills registry** | [agentskills.io](https://agentskills.io) — agentskills.io-compatible format |
744
- | **Bug reports & features** | [github.com/taracodlabs/aiden/issues](https://github.com/taracodlabs/aiden/issues) |
745
- | **Star the repo** | [github.com/taracodlabs/aiden](https://github.com/taracodlabs/aiden) ⭐ |
746
- | **npm** | [`npm install -g aiden-runtime`](https://www.npmjs.com/package/aiden-runtime) |
747
- | **Sponsor** | [github.com/sponsors/taracodlabs](https://github.com/sponsors/taracodlabs) |
748
-
749
- ---
750
-
751
- ## Documentation
752
-
753
- | Document | Description |
754
- |---|---|
755
- | [ARCHITECTURE.md](ARCHITECTURE.md) | Layer-by-layer breakdown, data flow diagrams, skill system design |
756
- | [AGENTS.md](AGENTS.md) | Agent-loop contract — public API, honesty moat, memory layers |
757
- | [CONTRIBUTING.md](CONTRIBUTING.md) | How to contribute — skills, tools, providers, docs |
758
- | [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) | Community standards |
759
- | [CHANGELOG.md](CHANGELOG.md) | Full release history |
760
- | [.env.example](.env.example) | All ~90 environment variables with descriptions |
761
- | [workspace-templates/](workspace-templates/) | Starter workspace configs and example plugins |
762
- | **Download installer** | [github.com/taracodlabs/aiden-releases/releases/latest](https://github.com/taracodlabs/aiden-releases/releases/latest) |
763
- | **Releases & changelog** | [github.com/taracodlabs/aiden-releases](https://github.com/taracodlabs/aiden-releases) |
764
- | **License** | AGPL-3.0 core · Apache-2.0 skills |
765
-
766
- ---
767
-
768
- ## Migration from v3.x
769
-
770
- > v4.0.0 is a clean rewrite. Existing v3 installs need a migration step:
771
-
772
- - **npm package renamed** — `aiden-os` → `aiden-runtime`. Run `npm uninstall -g aiden-os && npm install -g aiden-runtime`.
773
- - **Slash commands consolidated** — v3's `/switch`, `/budget`, `/memory`, `/profile`, `/permissions`, `/sandbox`, `/retry`, `/failed`, `/publish` are gone. Use `/model`, `/usage`, `/identity`, `/yolo` for equivalent functionality. See `/help` for the v4 list.
774
- - **Docker sandbox dropped** — `AIDEN_SANDBOX_MODE` no longer applies. Tools run on the host. The `tirithScanner` secret/PII guard, `ssrfProtection`, and tiered approval engine remain as the safety layer.
775
- - **Skill registry install changed** — auto-fetch from external repos held pending license review. Skills install via `/skills install <local-path-or-url>` only at v4.0.
776
- - **Config compatible** — most environment variables (`OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GROQ_API_KEY`, etc.) are recognised as-is. Copy your existing `.env` and Aiden picks them up.
777
-
778
- ---
779
-
780
- ## More from the author
781
-
782
- If you want a deeper read on the philosophy behind Aiden — autonomy, local-first AI, why solo developers should build their own tools — Shiva's book is on Amazon:
783
-
784
- [**Build your own thing — solo-dev playbook**](https://amzn.to/4tkLnrE)
785
-
786
- Buying the book directly funds Aiden's development.
787
-
788
- ---
789
-
790
- ## Sponsors
791
-
792
- Aiden is built and maintained by one person. If it saves you time, consider sponsoring:
793
-
794
- [![Sponsor on GitHub](https://img.shields.io/badge/sponsor-❤-pink?style=for-the-badge)](https://github.com/sponsors/shivadeore111-design)
795
- [![Donate via Razorpay](https://img.shields.io/badge/donate-Razorpay-blue?style=for-the-badge)](https://razorpay.me/@whitelotus9625)
796
-
797
- ---
798
-
799
- ## Changelog
800
-
801
- See [CHANGELOG.md](CHANGELOG.md) for the full history.
802
-
803
- **v4.1.2 highlights:**
804
-
805
- - 🧠 **Self-promoting memory** — sessions end with a structured JSON distillation; durable facts graduate into a compression-protected `MEMORY.md` section that survives `/compress`. Recent-session distillations are kept separately for `recall_session` semantic search.
806
- - 🔍 **`recall_session` tool** — query past sessions in natural language; returns ranked distillations with date + summary + relevant facts.
807
- - 🛰 **DeepSeek V4 Pro provider** — reasoning-token streaming, per-model defaults (`MODEL_DEFAULTS`), probe filtering for codex-only slugs.
808
- - ⬆ **`/update` slash command + `aiden_self_update` tool** — npm-registry probe with 6h boot cache, in-process `executeInstall` shared between both surfaces, platform-specific permission-denied remediations (Windows admin / sudo / user-local prefix). No silent self-escalation, no false claims of in-place upgrade.
809
- - 🧪 **Eval harness** — 18 honesty scenarios (10 easy + 8 hard); `npm run eval -- --suite honesty`, results land in `evals/results/<timestamp>.json`.
810
- - 🩺 **Subsystem health registry** — `/doctor` surfaces component status with a uniform OK / WARN / FAIL contract.
811
- - 🔒 **Memory-guard hardening** — section-aware `## Durable facts` protection, word-boundary regex anchors, entry-delimited storage, case-insensitive dedup with separator tolerance.
812
- - ✅ **~1,983 tests passing** — regression guards for every smoke-test bug found in earlier slices.
813
-
814
- **v4.0.0 highlights:**
815
-
816
- - 🧠 **Clean-room core rewrite** — every adapter, every prompt slot, every loop. 7 dual-attribution files rewritten under full Aiden copyright.
817
- - 🔌 **19 providers** including OAuth subscription routing for Claude Pro and ChatGPT Plus (subscription quota, not pay-as-you-go).
818
- - ⚡ **Single-loop agent** — sequential tool dispatch, 90-turn cap with budget warnings at 70 % / 90 %.
819
- - 🛡 **6-slot self-healing fallback** — together → groq × 4 → cooldown + least-used selection.
820
- - 🎨 **Neofetch-style boot card** — banner + status pills + Environment / Capabilities + parchment credits + bottom hint.
821
- - 🕒 **Cron scheduler** — `/cron add|list|pause|resume|delete|run` with atomic state writes and output capture.
822
- - 🧰 **42 built-in tools across 11 categories** — web, files, browser (10), sessions, skills, memory, process, system, terminal, code, MCP.
823
- - 🤖 **Inline JSON tool-call recovery** — Llama / Qwen / NVIDIA-Llama emit raw JSON in answer text? It's detected, validated against the request's tool list, and dispatched as a proper tool call. Code-fenced examples are left alone.
824
- - 🎙 **Spinner has personality** — 20-phrase pool (Thinking · Brewing · Cogitating · Brain yakka · …) sampled per turn.
825
- - 🪶 **Env-gated polish** — `AIDEN_UI_ICONS=1` for tool-row emoji, `AIDEN_UI_TIMESTAMPS=1` for HH:MM:SS line prefix.
826
- - 🧹 **Honest failure surface** — every tool failure names the tool, provider, retry count, fallback chain, error, and next step.
827
-
828
- ---
829
-
830
- ## License
831
-
832
- | Component | License |
833
- |---|---|
834
- | Core (`cli/`, `api/`, `core/`, `providers/`, `dashboard-next/`) | [AGPL-3.0-only](LICENSE) |
835
- | Skills (`skills/`) | [Apache-2.0](LICENSE-SKILLS.md) |
836
-
837
- ### Commercial use
838
-
839
- Aiden's core is **AGPL-3.0**. You can self-host, modify, and study it freely. Embedding it in a closed-source commercial product or offering it as a hosted service requires either releasing your modifications under AGPL-3.0 or purchasing a commercial license.
840
-
841
- Skills in `skills/` are **Apache-2.0** and can be used in commercial products without copyleft obligations.
842
-
843
- For commercial licensing and enterprise deployments: **[aiden.taracod.com/contact?type=enterprise](https://aiden.taracod.com/contact?type=enterprise)**
844
-
845
- ---
846
-
847
- Built by [Taracod](https://taracod.com) · Built by Shiva Deore · AGPL-3.0
1
+ <img width="1672" height="941" alt="AIDEN BOOTUP LOGO" src="https://github.com/user-attachments/assets/c0809009-73e2-4d58-9292-12fbd0324952" />
2
+
3
+ ```
4
+ █████╗ ██╗██████╗ ███████╗███╗ ██╗
5
+ ██╔══██╗██║██╔══██╗██╔════╝████╗ ██║
6
+ ███████║██║██║ ██║█████╗ ██╔██╗ ██║
7
+ ██╔══██║██║██║ ██║██╔══╝ ██║╚██╗██║
8
+ ██║ ██║██║██████╔╝███████╗██║ ╚████║
9
+ ╚═╝ ╚═╝╚═╝╚═════╝ ╚══════╝╚═╝ ╚═══╝
10
+
11
+ Autonomous AI Engine — local-first, Windows-native, yours to own
12
+
13
+ 74 skills · 59 tools · 19 providers · 9 channels · AGPL-3.0
14
+
15
+ Windows · Linux · WSL · macOS (API Mode)
16
+ ```
17
+
18
+ <p align="center">
19
+ <a href="https://github.com/taracodlabs/aiden/releases/latest"><img src="https://img.shields.io/badge/version-v4.5.0-f97316?style=for-the-badge" alt="v4.5.0" /></a>
20
+ <a href="https://www.npmjs.com/package/aiden-runtime"><img src="https://img.shields.io/npm/v/aiden-runtime?color=f97316&label=npm&style=for-the-badge" alt="npm" /></a>
21
+ <a href="./LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-orange?style=for-the-badge" alt="License: AGPL-3.0" /></a>
22
+ <a href="https://discord.gg/gMZ3hUnQTm"><img src="https://img.shields.io/badge/chat-discord-7289da?logo=discord&logoColor=white&style=for-the-badge" alt="Discord" /></a>
23
+ <a href="https://github.com/taracodlabs/aiden/stargazers"><img src="https://img.shields.io/github/stars/taracodlabs/aiden?style=for-the-badge&color=f9d71c" alt="Stars" /></a>
24
+ </p>
25
+
26
+ <p align="center">
27
+ <img src="https://img.shields.io/badge/TypeScript-5.9-3178c6?logo=typescript&logoColor=white&style=for-the-badge" alt="TypeScript" />
28
+ <img src="https://img.shields.io/badge/Node.js-18+-43853d?logo=node.js&logoColor=white&style=for-the-badge" alt="Node.js 18+" />
29
+ <img src="https://img.shields.io/badge/SQLite-003b57?logo=sqlite&logoColor=white&style=for-the-badge" alt="SQLite" />
30
+ <img src="https://img.shields.io/badge/Playwright-1.58-2ea44f?logo=playwright&logoColor=white&style=for-the-badge" alt="Playwright" />
31
+ <img src="https://img.shields.io/badge/MCP-1.27-7c3aed?style=for-the-badge" alt="Model Context Protocol" />
32
+ </p>
33
+
34
+ ---
35
+
36
+ ## What's new in v4.5
37
+
38
+ Aiden now wakes up by itself.
39
+
40
+ - **Persistent daemon mode (opt-in).** `AIDEN_DAEMON=1` boots a background service with a SQLite-backed trigger bus. File watchers, webhook endpoints, IMAP polling, and cron schedules all feed the same durable queue.
41
+ - **Autonomous trigger dispatch.** When a trigger fires, a real AidenAgent turn runs end-to-end — same tools, same sandbox, same recovery pipeline as your interactive REPL. Surface the chain with `aiden runs show <id>`.
42
+ - **Execution sandbox with risk tiers.** Filesystem allowlist + Docker session backend + dry-run preflight. Default on; flip live with `/sandbox on|off`.
43
+ - **State-aware browser depth.** URL + DOM + iframe-tree capture before/after every browser tool call. Stale-ref auto-retry. Surfaces login / 2FA / captcha / consent blockers as structured cards.
44
+ - **Continuous error recovery (TCE).** 16 failure categories classified per tool call. Smart retry with cooldown. Dead-letter for permanent failures. Recovery report enriches the REPL's capability card.
45
+ - **Live-flip slash commands.** `/sandbox`, `/tce`, `/browser-depth`, `/daemon status`, `/suggestions`, `/update` — toggle every subsystem without restart. Choices persist to `config.yaml`.
46
+ - **Update notification + `/update` CLI.** Boot prompt when a newer version is on npm. Skip-this-version persistence. Install-method detection (npm-global / npx / standalone). Q-U6: spawn directly when supported, print command when not.
47
+
48
+ Full v4.5 internals: `docs/v4.5/` (overview, triggers, architecture, daemon on Linux/macOS/Windows, troubleshooting).
49
+
50
+ ---
51
+
52
+ ## Try it in 60 seconds
53
+
54
+ ```bash
55
+ npm install -g aiden-runtime
56
+ aiden
57
+ ```
58
+
59
+ That's it. Pick a provider (Groq is free + fastest), paste your key, and start chatting.
60
+
61
+ Want autonomous triggers?
62
+
63
+ ```bash
64
+ export AIDEN_DAEMON=1 # PowerShell: $env:AIDEN_DAEMON = "1"
65
+ aiden trigger add file --path ~/Documents/inbox --label "watch-inbox" --include "*.txt"
66
+ aiden # boots the REPL + dispatcher
67
+ ```
68
+
69
+ Drop a file in `~/Documents/inbox/anything.txt` and Aiden acts on it. The agent turn is visible via `aiden runs list`.
70
+
71
+ ---
72
+
73
+ ## Core capabilities
74
+
75
+ | Category | What Aiden does |
76
+ |---|---|
77
+ | **Inference & providers** | 19 providers: Anthropic, OpenAI, Groq, Gemini, OpenRouter, Together, NVIDIA NIM, DeepSeek, Mistral, Z.ai, Kimi, MiniMax, Hugging Face, Ollama (fully offline), custom OpenAI-compatible endpoints. OAuth subscription routing for Claude Pro and ChatGPT Plus. |
78
+ | **59 built-in tools** | Web search & fetch, deep research, YouTube search, Playwright browser automation (10 tools), file ops, process control, shell exec, code execution, system info, screenshot, clipboard, app launch, media keys, MCP bridge, memory ops, session list/search/summary/recall, skill view/list/manage, `aiden_self_update`. |
79
+ | **74 bundled skills** | Composable workflows each with a `SKILL.md` prompt, optional helper scripts, and tool requirements. GitHub PR/issue workflows, NSE / Upstox / Zerodha trading, Censys / Shodan / VirusTotal lookups, Windows Defender / Task Scheduler, Docker management, YouTube content tools, and more. |
80
+ | **Self-promoting memory** | `USER.md` + `SOUL.md` identity, plus `MEMORY.md` split between durable facts (compression-protected) and recent-session distillations. Each session ends with a structured summary that graduates durable facts into the protected section. Semantic recall over past sessions via `recall_session`. |
81
+ | **Voice** | Edge TTS / Windows SAPI text-to-speech, speech-to-text helpers. |
82
+ | **Channel adapters** | Discord, Slack, Telegram, WhatsApp, Email (IMAP+SMTP), Webhook, Twilio SMS, iMessage (macOS), Signal — any channel triggers the same agent loop. |
83
+ | **Computer use** | Screenshot capture, screen-state vision loop, browser automation. Mouse/keyboard automation partial. |
84
+ | **v4.5 daemon mode (opt-in)** | File watcher / webhook / email IMAP / scheduled triggers route through a durable trigger bus consumed by the Phase 5a dispatcher. Triggers fire → real agent runs → tool calls execute → `run_events` captures the chain. Off by default. |
85
+ | **Plugins** | Three bundled plugins: Chrome DevTools Protocol bridge, Claude Pro OAuth, ChatGPT Plus OAuth. Permission-state machine (pending-grant / loaded / suspended). |
86
+ | **MCP** | Model Context Protocol bridge — stdio + HTTP transports, schema discovery, tool dispatch. |
87
+ | **Security moat** | Tiered approval engine (safe / caution / dangerous), dangerous-command pattern classifier, honesty enforcement (post-loop scan rewrites false claims), memory guard, planner-guard tool narrowing, SSRF-safe URL fetcher, secret/PII pre-write scanner, skill-teacher (auto-create skills from successful flows). |
88
+
89
+ ---
90
+
91
+ ## Architecture (one paragraph)
92
+
93
+ Aiden is a local-first agent loop: provider adapters feed a 90-turn ceiling, every tool call passes through verification + failure classification + recovery, and tool results stream back as structured envelopes the model can reason over. v4.5 added a SQLite daemon foundation alongside the REPL — file watchers and webhook endpoints write to a durable trigger bus, a single-worker dispatcher claims events, and each trigger fires a fresh agent turn keyed by a stable session id. Sandboxed execution (filesystem allow/deny + Docker session backend), state-aware browser observation, and continuous error recovery apply to daemon-fired turns identically to REPL turns. Detailed diagrams + module map in [`docs/v4.5/architecture.md`](./docs/v4.5/architecture.md).
94
+
95
+ ---
96
+
97
+ ## Install + first run
98
+
99
+ ### Linux / WSL / macOS (one-line)
100
+
101
+ ```bash
102
+ npm install -g aiden-runtime
103
+ aiden # interactive setup wizard fires on first run
104
+ ```
105
+
106
+ ### Windows (one-line)
107
+
108
+ ```powershell
109
+ npm install -g aiden-runtime
110
+ aiden
111
+ ```
112
+
113
+ If you hit native-build errors on Windows, install the [windows-build-tools](https://github.com/felixrieseberg/windows-build-tools) prerequisite first.
114
+
115
+ ### Try without installing
116
+
117
+ ```bash
118
+ npx aiden-runtime
119
+ ```
120
+
121
+ ### After pulling updates
122
+
123
+ ```bash
124
+ npm install -g aiden-runtime@latest
125
+ ```
126
+
127
+ Or, from inside a running session, the slash command:
128
+
129
+ ```
130
+ /update install
131
+ ```
132
+
133
+ (Aiden also prompts you on boot when a newer version is on npm — see `/update auto off` to silence.)
134
+
135
+ ### Daemon mode (opt-in)
136
+
137
+ **Linux:** install a systemd `--user` unit.
138
+
139
+ ```bash
140
+ export AIDEN_DAEMON=1
141
+ aiden daemon install
142
+ loginctl enable-linger $USER # keep running between sessions
143
+ ```
144
+
145
+ **macOS:** install a launchd plist.
146
+
147
+ ```bash
148
+ export AIDEN_DAEMON=1
149
+ aiden daemon install
150
+ ```
151
+
152
+ **Windows:** see [`docs/v4.5/daemon-windows.md`](./docs/v4.5/daemon-windows.md). Recommended: foreground (`aiden daemon start`) or `pm2` for background.
153
+
154
+ ---
155
+
156
+ ## Configuration
157
+
158
+ Aiden reads `~/.aiden/config.yaml` (Linux/macOS) or `%LOCALAPPDATA%\aiden\config.yaml` (Windows). The setup wizard writes a starter config on first boot; subsequent edits are diff-merged.
159
+
160
+ ### Common env vars
161
+
162
+ | Variable | Default | Effect |
163
+ |---|---|---|
164
+ | `AIDEN_DAEMON` | `0` | Set to `1` to boot the daemon foundation alongside the REPL |
165
+ | `AIDEN_DAEMON_PORT` | `4200` | Daemon HTTP listener port |
166
+ | `AIDEN_DAEMON_BIND` | `127.0.0.1` | Loopback-only by default; non-loopback requires `AIDEN_API_KEY` |
167
+ | `AIDEN_DAEMON_DAILY_BUDGET` | unset | Hard daily token cap across daemon turns; resets midnight UTC |
168
+ | `AIDEN_DAEMON_MODEL` | unset | Override model for daemon turns (`<provider>/<model>`) |
169
+ | `AIDEN_SANDBOX` | `1` | `0` to disable filesystem allowlist + Docker session backend |
170
+ | `AIDEN_TCE` | `1` | `0` to disable continuous error recovery |
171
+ | `AIDEN_BROWSER_DEPTH` | `1` | `0` to disable state-aware browser observation |
172
+ | `AIDEN_API_KEY` | unset | Required for non-loopback daemon bind |
173
+ | `AIDEN_NO_UPDATE_CHECK` | `0` | Set to `1` to silence the boot-time update probe |
174
+
175
+ Most flags are also flippable live via slash commands:
176
+
177
+ | Slash command | Effect |
178
+ |---|---|
179
+ | `/sandbox on\|off\|status` | Filesystem + execution sandbox |
180
+ | `/tce on\|off\|status` | Continuous error recovery |
181
+ | `/browser-depth on\|off\|status` | State-aware browser observer |
182
+ | `/suggestions on\|off\|status` | Contextual capability hints |
183
+ | `/daemon status` | Read-only daemon snapshot (port, triggers, recent runs, daily budget) |
184
+ | `/update check\|install\|skip <v>\|auto on\|off` | Update probe + install |
185
+ | `/cron add\|list\|show\|run\|remove` | Scheduled jobs |
186
+ | `/runs list\|show <id>\|interrupt\|stats` | Daemon run history |
187
+
188
+ Full reference: [`docs/v4.5/`](./docs/v4.5/).
189
+
190
+ ---
191
+
192
+ ## In-chat slash commands (38 total)
193
+
194
+ Type `/help` inside Aiden for the full list grouped by category. Highlights:
195
+
196
+ - **Configuration** `/model`, `/personality`, `/skin`, `/streaming`, `/reasoning`, `/verbose`, `/debug-prompt`, `/identity`
197
+ - **Session** `/clear`, `/compress`, `/save`, `/title`, `/usage`
198
+ - **System** `/sandbox`, `/tce`, `/browser-depth`, `/daemon`, `/suggestions`, `/update`, `/skills`, `/tools`, `/plugins`, `/cron`, `/runs`, `/trigger`, `/doctor`, `/status`, `/show`, `/history`
199
+ - **Auth** — `/auth login`, `/auth status`, `/auth refresh`
200
+ - **MCP** — `/reload-mcp`, `/setup`
201
+
202
+ ---
203
+
204
+ ## Troubleshooting
205
+
206
+ Common issues live in [`docs/v4.5/troubleshooting.md`](./docs/v4.5/troubleshooting.md). Quick reference:
207
+
208
+ - **"daemon already running"** stale `~/.aiden/daemon/runtime.lock`; remove it
209
+ - **Webhook 401 despite valid HMAC** — check format (`github` / `gitlab` / `generic`)
210
+ - **IMAP auth failure** — Gmail / Outlook require app passwords, not account passwords
211
+ - **High RSS / slow drain** run the 72-hour soak (`tests/v4/daemon/soak/README.md`)
212
+ - **Boot stuck on wizard** — non-TTY stdin (CI / piped); set provider env var or use `--no-ui`
213
+ - **`/help` doesn't list a command** that command likely needs an active session field; run from a real REPL
214
+
215
+ ---
216
+
217
+ ## Acknowledgements
218
+
219
+ Built solo by **Shiva Deore** at [Taracod](https://taracod.com).
220
+
221
+ Aiden builds on the open-source giants: TypeScript, Node, SQLite, better-sqlite3, Playwright, Chromium, chokidar, croner, inquirer, marked, kleur, the Model Context Protocol, and every provider SDK. Thank you.
222
+
223
+ If you use Aiden in production, on a side project, or just to learn — a star on the repo is appreciated. Bug reports and feature ideas go on the [GitHub issue tracker](https://github.com/taracodlabs/aiden/issues).
224
+
225
+ ---
226
+
227
+ ## License
228
+
229
+ - **Core runtime**: [AGPL-3.0](./LICENSE).
230
+ - **Bundled skills**: [Apache-2.0](./skills/LICENSE). The future `skills.taracod.com` marketplace will ship community skills under the same permissive terms.
231
+
232
+ AGPL-3.0 means: you can self-host, modify, and distribute Aiden as long as your modifications stay under AGPL. Commercial licensing for closed-source derivatives: contact <hello@taracod.com>.
233
+
234
+ ---
235
+
236
+ ## Links
237
+
238
+ - Website: [aiden.taracod.com](https://aiden.taracod.com)
239
+ - Docs: [`docs/v4.5/`](./docs/v4.5/) (in this repo)
240
+ - Discord: [discord.gg/gMZ3hUnQTm](https://discord.gg/gMZ3hUnQTm)
241
+ - Source: [github.com/taracodlabs/aiden](https://github.com/taracodlabs/aiden)
242
+ - Standalone releases: [github.com/taracodlabs/aiden-releases](https://github.com/taracodlabs/aiden-releases)
243
+ - npm: [aiden-runtime](https://www.npmjs.com/package/aiden-runtime)
244
+ - Author's book: [_Omega_](https://amzn.to/4tpiXwM)
245
+
246
+ ---
247
+
248
+ <p align="center">
249
+ <em>Local-first. Windows-native. Yours to own.</em>
250
+ </p>