@aman_asmuei/aman-agent 0.5.1 → 0.6.1
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 +123 -18
- package/dist/index.js +611 -136
- package/dist/index.js.map +1 -1
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue?style=for-the-badge" alt="MIT License" /></a>
|
|
20
20
|
|
|
21
|
-
<img src="https://img.shields.io/badge/node-%E2%89%
|
|
21
|
+
<img src="https://img.shields.io/badge/node-%E2%89%A520-brightgreen?style=for-the-badge&logo=node.js&logoColor=white" alt="Node.js 20+" />
|
|
22
22
|
|
|
23
23
|
<a href="https://github.com/amanasmuei/aman"><img src="https://img.shields.io/badge/part_of-aman_ecosystem-ff6b35?style=for-the-badge" alt="aman ecosystem" /></a>
|
|
24
24
|
</p>
|
|
@@ -28,6 +28,10 @@
|
|
|
28
28
|
extracts knowledge silently, and adapts to your time of day — all running locally.
|
|
29
29
|
</p>
|
|
30
30
|
|
|
31
|
+
<p align="center">
|
|
32
|
+
<img src="https://raw.githubusercontent.com/amanasmuei/aman-agent/main/docs/demo/demo.gif" alt="aman-agent demo" width="720" />
|
|
33
|
+
</p>
|
|
34
|
+
|
|
31
35
|
<p align="center">
|
|
32
36
|
<a href="#-quick-start">Quick Start</a> •
|
|
33
37
|
<a href="#-intelligent-companion-features">Features</a> •
|
|
@@ -39,6 +43,26 @@
|
|
|
39
43
|
|
|
40
44
|
---
|
|
41
45
|
|
|
46
|
+
## What's New in v0.6.0
|
|
47
|
+
|
|
48
|
+
> **Zero to Wow** — the first 60 seconds are now magical.
|
|
49
|
+
|
|
50
|
+
| Feature | Before | After |
|
|
51
|
+
|:---|:---|:---|
|
|
52
|
+
| **Onboarding** | 3-4 prompts for API key/model | Auto-detects from env vars |
|
|
53
|
+
| **Ecosystem setup** | Manual, separate CLI | `aman-agent init` wizard with persona presets |
|
|
54
|
+
| **First session** | Empty prompt | Agent introduces itself, asks your name |
|
|
55
|
+
| **Returning session** | Raw context dump | "Welcome back. Last time we talked about..." |
|
|
56
|
+
| **Memory storage** | "Remember X? (y/N)" interruptions | Silent auto-store, undo with `/memory clear` |
|
|
57
|
+
| **Output** | Raw text | Markdown rendering with response framing |
|
|
58
|
+
| **Errors** | "401 Unauthorized" | "API key invalid. Run /reconfig to fix." |
|
|
59
|
+
| **Feature discovery** | Read the README | Progressive hints at the right moment |
|
|
60
|
+
| **New commands** | — | `/memory timeline`, upgraded `/doctor` |
|
|
61
|
+
|
|
62
|
+
<a href="https://github.com/amanasmuei/aman-agent/releases/tag/v0.6.0">Full release notes</a>
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
42
66
|
## The Problem
|
|
43
67
|
|
|
44
68
|
AI coding assistants forget everything between sessions. You re-explain your stack, preferences, and boundaries every time. There's no single place where your AI loads its full context and just *works*.
|
|
@@ -69,9 +93,28 @@ npx @aman_asmuei/aman-agent
|
|
|
69
93
|
npm install -g @aman_asmuei/aman-agent
|
|
70
94
|
```
|
|
71
95
|
|
|
72
|
-
|
|
96
|
+
**Zero config if you already have an API key in your environment:**
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# aman-agent auto-detects these (in priority order):
|
|
100
|
+
export ANTHROPIC_API_KEY="sk-ant-..." # → uses Claude Sonnet 4.6
|
|
101
|
+
export OPENAI_API_KEY="sk-..." # → uses GPT-4o
|
|
102
|
+
# Or if Ollama is running locally # → uses llama3.2
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
No env var? First run prompts for your LLM provider, API key, and model.
|
|
73
106
|
|
|
74
|
-
|
|
107
|
+
### 2. (Optional) Set up your companion
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# Guided wizard — pick a persona preset
|
|
111
|
+
aman-agent init
|
|
112
|
+
|
|
113
|
+
# Choose from: Coding Partner, Creative Collaborator,
|
|
114
|
+
# Personal Assistant, Learning Buddy, or Minimal
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Or just skip this — aman-agent auto-creates a default profile on first run.
|
|
75
118
|
|
|
76
119
|
### 3. Talk
|
|
77
120
|
|
|
@@ -87,35 +130,83 @@ aman-agent --budget 12000
|
|
|
87
130
|
|
|
88
131
|
## Intelligent Companion Features
|
|
89
132
|
|
|
90
|
-
### Per-Message Memory Recall
|
|
133
|
+
### Per-Message Memory Recall with Progressive Disclosure
|
|
91
134
|
|
|
92
|
-
Every message you send triggers a semantic search against your memory database.
|
|
135
|
+
Every message you send triggers a semantic search against your memory database. Results use **progressive disclosure** — a compact index (~50-100 tokens) is injected instead of full content (~500-1000 tokens), giving **~10x token savings**. The agent shows the cost:
|
|
93
136
|
|
|
94
137
|
```
|
|
95
138
|
You > Let's set up the auth service
|
|
96
139
|
|
|
140
|
+
[memories: ~47 tokens]
|
|
141
|
+
|
|
97
142
|
Agent recalls:
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
143
|
+
a1b2c3d4 [decision] Auth service uses JWT tokens... (92%)
|
|
144
|
+
e5f6g7h8 [preference] User prefers PostgreSQL... (88%)
|
|
145
|
+
i9j0k1l2 [fact] Auth middleware rewrite driven by compliance... (75%)
|
|
101
146
|
|
|
102
147
|
Aman > Based on our previous decisions, I'll set up JWT-based auth
|
|
103
148
|
with PostgreSQL, keeping the compliance requirements in mind...
|
|
104
149
|
```
|
|
105
150
|
|
|
106
|
-
###
|
|
151
|
+
### Silent Memory Extraction
|
|
107
152
|
|
|
108
|
-
After every response, the agent analyzes the conversation and extracts memories worth keeping
|
|
153
|
+
After every response, the agent analyzes the conversation and extracts memories worth keeping — preferences, facts, patterns, decisions, corrections, and topology are all stored automatically. No confirmation prompts interrupting your flow.
|
|
109
154
|
|
|
110
155
|
```
|
|
111
156
|
You > I think we should go with microservices for the payment system
|
|
112
157
|
|
|
113
158
|
Aman > That makes sense given the compliance isolation requirements...
|
|
114
159
|
|
|
115
|
-
Remember: "Payment system will use microservices architecture"? (y/N) y
|
|
116
160
|
[1 memory stored]
|
|
117
161
|
```
|
|
118
162
|
|
|
163
|
+
Don't want something remembered? Use `/memory search` to find it and `/memory clear` to remove it.
|
|
164
|
+
|
|
165
|
+
### Rich Terminal Output
|
|
166
|
+
|
|
167
|
+
Responses are rendered with full markdown formatting — **bold**, *italic*, `code`, code blocks, tables, lists, and headings all display beautifully in your terminal. Responses are framed with visual dividers:
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
Aman ──────────────────────────────────────────────
|
|
171
|
+
|
|
172
|
+
Here's how to set up Docker for this project...
|
|
173
|
+
|
|
174
|
+
──────────────────────────────── memories: ~45 tokens
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### First-Run & Returning Greeting
|
|
178
|
+
|
|
179
|
+
**First session:** Your companion introduces itself and asks your name — the relationship starts naturally.
|
|
180
|
+
|
|
181
|
+
**Returning sessions:** A warm one-liner greets you with context from your last conversation:
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
Welcome back. Last time we talked about your Duit Raya tracker.
|
|
185
|
+
Reminder: Submit PR for auth refactor (due today)
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Progressive Feature Discovery
|
|
189
|
+
|
|
190
|
+
aman-agent surfaces tips about features you haven't tried yet, at the right moment:
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
Tip: Teach me multi-step processes with /workflows add
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
One hint per session, never repeated. Disable with `hooks.featureHints: false`.
|
|
197
|
+
|
|
198
|
+
### Human-Readable Errors
|
|
199
|
+
|
|
200
|
+
No more cryptic API errors. Every known error maps to an actionable message:
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
API key invalid. Run /reconfig to fix.
|
|
204
|
+
Rate limited. I'll retry automatically.
|
|
205
|
+
Network error. Check your internet connection.
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Failed messages are preserved — just press Enter to retry naturally.
|
|
209
|
+
|
|
119
210
|
### LLM-Powered Context Summarization
|
|
120
211
|
|
|
121
212
|
When the conversation gets long, the agent uses your LLM to generate real summaries — preserving decisions, preferences, and action items. No more losing critical context to 150-character truncation.
|
|
@@ -128,6 +219,18 @@ When the AI needs multiple tools, they run in parallel via `Promise.all` instead
|
|
|
128
219
|
|
|
129
220
|
LLM calls and MCP tool calls automatically retry on transient errors (rate limits, timeouts) with exponential backoff and jitter. Auth errors fail immediately.
|
|
130
221
|
|
|
222
|
+
### Passive Tool Observation Capture
|
|
223
|
+
|
|
224
|
+
Every tool the AI executes is automatically logged to amem's conversation log — tool name, input, and result. This happens passively (fire-and-forget) without slowing down the agent. Your AI builds a complete history of what it *did*, not just what it *said*.
|
|
225
|
+
|
|
226
|
+
### Token Cost Visibility
|
|
227
|
+
|
|
228
|
+
Every memory recall shows how many tokens it costs, so you always know the overhead:
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
[memories: ~47 tokens]
|
|
232
|
+
```
|
|
233
|
+
|
|
131
234
|
### Time-Aware Greetings
|
|
132
235
|
|
|
133
236
|
The agent knows the time of day and day of week. It adapts its tone naturally — you'll notice the difference between a morning and a late-night session.
|
|
@@ -199,7 +302,7 @@ Every operation that can fail logs to `~/.aman-agent/debug.log` with structured
|
|
|
199
302
|
│ │ 4. Execute tools in parallel (with guardrails) │ │
|
|
200
303
|
│ │ 5. Extract memories from response │ │
|
|
201
304
|
│ │ - Auto-store: preferences, facts, patterns │ │
|
|
202
|
-
│ │ -
|
|
305
|
+
│ │ - All types auto-stored silently │ │
|
|
203
306
|
│ └────────────────────────────────────────────────┘ │
|
|
204
307
|
│ │
|
|
205
308
|
│ Context Management │
|
|
@@ -239,7 +342,7 @@ Every operation that can fail logs to `~/.aman-agent/debug.log` with structured
|
|
|
239
342
|
| `/tools` | View tools `[add\|remove ...]` |
|
|
240
343
|
| `/skills` | View skills `[install\|uninstall ...]` |
|
|
241
344
|
| `/eval` | View evaluation `[milestone ...]` |
|
|
242
|
-
| `/memory` | View memories `[search\|clear
|
|
345
|
+
| `/memory` | View memories `[search\|clear\|timeline]` |
|
|
243
346
|
| `/decisions` | View decision log `[<project>]` |
|
|
244
347
|
| `/export` | Export conversation to markdown |
|
|
245
348
|
| `/debug` | Show debug log (last 20 entries) |
|
|
@@ -287,7 +390,7 @@ Default budget: 8,000 tokens. Override with `--budget`.
|
|
|
287
390
|
|
|
288
391
|
| Provider | Models | Tool Use | Streaming |
|
|
289
392
|
|:---|:---|:---|:---|
|
|
290
|
-
| **Anthropic** | Claude Sonnet 4.
|
|
393
|
+
| **Anthropic** | Claude Sonnet 4.6, Opus 4.6, Haiku 4.5 | Full | Full (with tools) |
|
|
291
394
|
| **OpenAI** | GPT-4o, GPT-4o Mini, o3 | Full | Full (with tools) |
|
|
292
395
|
| **Ollama** | Llama, Mistral, Gemma, any local model | Text only | Full |
|
|
293
396
|
|
|
@@ -301,7 +404,7 @@ Config is stored in `~/.aman-agent/config.json`:
|
|
|
301
404
|
{
|
|
302
405
|
"provider": "anthropic",
|
|
303
406
|
"apiKey": "sk-ant-...",
|
|
304
|
-
"model": "claude-sonnet-4-
|
|
407
|
+
"model": "claude-sonnet-4-6",
|
|
305
408
|
"hooks": {
|
|
306
409
|
"memoryRecall": true,
|
|
307
410
|
"sessionResume": true,
|
|
@@ -309,7 +412,8 @@ Config is stored in `~/.aman-agent/config.json`:
|
|
|
309
412
|
"workflowSuggest": true,
|
|
310
413
|
"evalPrompt": true,
|
|
311
414
|
"autoSessionSave": true,
|
|
312
|
-
"extractMemories": true
|
|
415
|
+
"extractMemories": true,
|
|
416
|
+
"featureHints": true
|
|
313
417
|
}
|
|
314
418
|
}
|
|
315
419
|
```
|
|
@@ -332,6 +436,7 @@ All hooks are on by default. Disable any in `config.json`:
|
|
|
332
436
|
| `evalPrompt` | Session rating on exit |
|
|
333
437
|
| `autoSessionSave` | Save conversation to amem on exit |
|
|
334
438
|
| `extractMemories` | Auto-extract memories from conversation |
|
|
439
|
+
| `featureHints` | Show progressive feature discovery tips |
|
|
335
440
|
|
|
336
441
|
> Treat the config file like a credential — it contains your API key.
|
|
337
442
|
|
|
@@ -380,7 +485,7 @@ aman
|
|
|
380
485
|
| Identity system | 7 portable layers | None | None |
|
|
381
486
|
| Memory | amem (SQLite + embeddings + graph) | Postgres + embeddings | None |
|
|
382
487
|
| Per-message recall | Progressive disclosure (~10x token savings) | Yes | No |
|
|
383
|
-
| Learns from conversation | Auto-extract (
|
|
488
|
+
| Learns from conversation | Auto-extract (silent) | Requires configuration | No |
|
|
384
489
|
| Guardrail enforcement | Runtime tool blocking | None | None |
|
|
385
490
|
| Reminders | Persistent, deadline-aware | None | None |
|
|
386
491
|
| Context compression | LLM-powered summarization | Archival system | Truncation |
|
|
@@ -415,7 +520,7 @@ aman
|
|
|
415
520
|
git clone https://github.com/amanasmuei/aman-agent.git
|
|
416
521
|
cd aman-agent && npm install
|
|
417
522
|
npm run build # zero errors
|
|
418
|
-
npm test #
|
|
523
|
+
npm test # 111 tests pass
|
|
419
524
|
```
|
|
420
525
|
|
|
421
526
|
PRs welcome. See [Issues](https://github.com/amanasmuei/aman-agent/issues).
|