@agentmemory/agentmemory 0.9.27 → 0.9.28
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/AGENTS.md +5 -5
- package/README.md +97 -37
- package/dist/cli.d.mts.map +1 -1
- package/dist/cli.mjs +206 -154
- package/dist/cli.mjs.map +1 -1
- package/dist/config-ChC9EtgV.mjs +259 -0
- package/dist/config-ChC9EtgV.mjs.map +1 -0
- package/dist/{connect-bmZ5eqYN.mjs → connect-JnsJXc68.mjs} +136 -42
- package/dist/connect-JnsJXc68.mjs.map +1 -0
- package/dist/hooks/notification.mjs +2 -1
- package/dist/hooks/notification.mjs.map +1 -1
- package/dist/hooks/post-commit.mjs +2 -1
- package/dist/hooks/post-commit.mjs.map +1 -1
- package/dist/hooks/post-tool-failure.mjs +2 -1
- package/dist/hooks/post-tool-failure.mjs.map +1 -1
- package/dist/hooks/post-tool-use.mjs +2 -1
- package/dist/hooks/post-tool-use.mjs.map +1 -1
- package/dist/hooks/pre-compact.mjs +2 -1
- package/dist/hooks/pre-compact.mjs.map +1 -1
- package/dist/hooks/pre-tool-use.mjs +2 -1
- package/dist/hooks/pre-tool-use.mjs.map +1 -1
- package/dist/hooks/prompt-submit.mjs +2 -1
- package/dist/hooks/prompt-submit.mjs.map +1 -1
- package/dist/hooks/session-end.mjs +2 -1
- package/dist/hooks/session-end.mjs.map +1 -1
- package/dist/hooks/session-start.mjs +2 -1
- package/dist/hooks/session-start.mjs.map +1 -1
- package/dist/hooks/stop.mjs +2 -1
- package/dist/hooks/stop.mjs.map +1 -1
- package/dist/hooks/subagent-start.mjs +2 -1
- package/dist/hooks/subagent-start.mjs.map +1 -1
- package/dist/hooks/subagent-stop.mjs +2 -1
- package/dist/hooks/subagent-stop.mjs.map +1 -1
- package/dist/hooks/task-completed.mjs +2 -1
- package/dist/hooks/task-completed.mjs.map +1 -1
- package/dist/image-refs-BKLmp_sD.mjs +34 -0
- package/dist/image-refs-BKLmp_sD.mjs.map +1 -0
- package/dist/{image-refs-B5Zf_Djo.mjs → image-refs-C2YU7BIm.mjs} +3 -21
- package/dist/image-refs-C2YU7BIm.mjs.map +1 -0
- package/dist/index.mjs +118 -150
- package/dist/index.mjs.map +1 -1
- package/dist/{image-store-Gpo2mgM9.mjs → keyed-mutex-DTHtcZrt.mjs} +14 -11
- package/dist/keyed-mutex-DTHtcZrt.mjs.map +1 -0
- package/dist/{logger-yHTcEBAI.mjs → logger-BEB7pCI9.mjs} +1 -1
- package/dist/{logger-yHTcEBAI.mjs.map → logger-BEB7pCI9.mjs.map} +1 -1
- package/dist/{src-MOg2zKJs.mjs → src-CzgoepGU.mjs} +49 -30
- package/dist/src-CzgoepGU.mjs.map +1 -0
- package/dist/{standalone-BORXC71-.mjs → standalone-YsZFFQBM.mjs} +7 -4
- package/dist/standalone-YsZFFQBM.mjs.map +1 -0
- package/dist/standalone.d.mts.map +1 -1
- package/dist/standalone.mjs +6 -2
- package/dist/standalone.mjs.map +1 -1
- package/dist/{tools-registry-D8XVVPbJ.mjs → tools-registry-D3NEoe5m.mjs} +4 -256
- package/dist/tools-registry-D3NEoe5m.mjs.map +1 -0
- package/package.json +4 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/plugin.json +2 -2
- package/plugin/scripts/notification.mjs +2 -1
- package/plugin/scripts/notification.mjs.map +1 -1
- package/plugin/scripts/post-commit.mjs +2 -1
- package/plugin/scripts/post-commit.mjs.map +1 -1
- package/plugin/scripts/post-tool-failure.mjs +2 -1
- package/plugin/scripts/post-tool-failure.mjs.map +1 -1
- package/plugin/scripts/post-tool-use.mjs +2 -1
- package/plugin/scripts/post-tool-use.mjs.map +1 -1
- package/plugin/scripts/pre-compact.mjs +2 -1
- package/plugin/scripts/pre-compact.mjs.map +1 -1
- package/plugin/scripts/pre-tool-use.mjs +2 -1
- package/plugin/scripts/pre-tool-use.mjs.map +1 -1
- package/plugin/scripts/prompt-submit.mjs +2 -1
- package/plugin/scripts/prompt-submit.mjs.map +1 -1
- package/plugin/scripts/session-end.mjs +2 -1
- package/plugin/scripts/session-end.mjs.map +1 -1
- package/plugin/scripts/session-start.mjs +2 -1
- package/plugin/scripts/session-start.mjs.map +1 -1
- package/plugin/scripts/stop.mjs +2 -1
- package/plugin/scripts/stop.mjs.map +1 -1
- package/plugin/scripts/subagent-start.mjs +2 -1
- package/plugin/scripts/subagent-start.mjs.map +1 -1
- package/plugin/scripts/subagent-stop.mjs +2 -1
- package/plugin/scripts/subagent-stop.mjs.map +1 -1
- package/plugin/scripts/task-completed.mjs +2 -1
- package/plugin/scripts/task-completed.mjs.map +1 -1
- package/plugin/skills/_shared/TROUBLESHOOTING.md +38 -0
- package/plugin/skills/agentmemory-agents/REFERENCE.md +28 -0
- package/plugin/skills/agentmemory-agents/SKILL.md +34 -0
- package/plugin/skills/agentmemory-architecture/SKILL.md +33 -0
- package/plugin/skills/agentmemory-config/REFERENCE.md +42 -0
- package/plugin/skills/agentmemory-config/SKILL.md +37 -0
- package/plugin/skills/agentmemory-hooks/REFERENCE.md +20 -0
- package/plugin/skills/agentmemory-hooks/SKILL.md +39 -0
- package/plugin/skills/agentmemory-mcp-tools/REFERENCE.md +65 -0
- package/plugin/skills/agentmemory-mcp-tools/SKILL.md +39 -0
- package/plugin/skills/agentmemory-rest-api/REFERENCE.md +129 -0
- package/plugin/skills/agentmemory-rest-api/SKILL.md +43 -0
- package/plugin/skills/commit-context/EXAMPLES.md +71 -0
- package/plugin/skills/commit-context/SKILL.md +53 -8
- package/plugin/skills/commit-history/EXAMPLES.md +71 -0
- package/plugin/skills/commit-history/SKILL.md +51 -9
- package/plugin/skills/forget/EXAMPLES.md +75 -0
- package/plugin/skills/forget/SKILL.md +54 -14
- package/plugin/skills/handoff/EXAMPLES.md +56 -0
- package/plugin/skills/handoff/SKILL.md +56 -9
- package/plugin/skills/recall/EXAMPLES.md +74 -0
- package/plugin/skills/recall/SKILL.md +50 -11
- package/plugin/skills/recap/EXAMPLES.md +60 -0
- package/plugin/skills/recap/SKILL.md +51 -13
- package/plugin/skills/remember/EXAMPLES.md +67 -0
- package/plugin/skills/remember/SKILL.md +53 -17
- package/plugin/skills/session-history/EXAMPLES.md +59 -0
- package/plugin/skills/session-history/SKILL.md +54 -11
- package/plugin/skills/write-agentmemory-skill/SKILL.md +40 -0
- package/dist/connect-bmZ5eqYN.mjs.map +0 -1
- package/dist/image-refs-B5Zf_Djo.mjs.map +0 -1
- package/dist/image-store-Gpo2mgM9.mjs.map +0 -1
- package/dist/rolldown-runtime-twds-ZHy.mjs +0 -14
- package/dist/src-MOg2zKJs.mjs.map +0 -1
- package/dist/standalone-BORXC71-.mjs.map +0 -1
- package/dist/tools-registry-D8XVVPbJ.mjs.map +0 -1
- package/dist/version-9DNrRyph.mjs +0 -6
- package/dist/version-9DNrRyph.mjs.map +0 -1
package/AGENTS.md
CHANGED
|
@@ -109,16 +109,16 @@ Hook scripts in `src/hooks/` are standalone Node.js scripts (no iii-sdk import).
|
|
|
109
109
|
|
|
110
110
|
## Testing
|
|
111
111
|
|
|
112
|
-
- All tests must pass before PR: `npm test` (
|
|
112
|
+
- All tests must pass before PR: `npm test` (1,428+ tests)
|
|
113
113
|
- Mock pattern: `vi.mock("iii-sdk")` with mock `sdk.trigger`, `kv.get/set/list`
|
|
114
114
|
- Test files go in `test/` with `.test.ts` extension
|
|
115
115
|
- Follow existing patterns in `test/crystallize.test.ts` for function tests
|
|
116
116
|
|
|
117
|
-
## Current Stats (v0.9.
|
|
117
|
+
## Current Stats (v0.9.28)
|
|
118
118
|
|
|
119
119
|
- 53 MCP tools (8 visible by default, `AGENTMEMORY_TOOLS=all` for all)
|
|
120
120
|
- 128 REST endpoints
|
|
121
121
|
- 6 MCP resources, 3 MCP prompts
|
|
122
|
-
- 12 hooks,
|
|
123
|
-
-
|
|
124
|
-
-
|
|
122
|
+
- 12 hooks, 15 skills
|
|
123
|
+
- 260+ iii functions
|
|
124
|
+
- 1,428+ tests
|
package/README.md
CHANGED
|
@@ -29,16 +29,6 @@
|
|
|
29
29
|
<a href="https://trendshift.io/repositories/25123" target="_blank"><img src="https://trendshift.io/api/badge/repositories/25123" alt="rohitg00/agentmemory | Trendshift" width="250" height="55"/></a>
|
|
30
30
|
</p>
|
|
31
31
|
|
|
32
|
-
<p align="center">
|
|
33
|
-
<a href="https://www.star-history.com/?repos=rohitg00%2Fagentmemory&type=date&legend=top-left">
|
|
34
|
-
<picture>
|
|
35
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=rohitg00/agentmemory&type=date&theme=dark&legend=top-left" />
|
|
36
|
-
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=rohitg00/agentmemory&type=date&legend=top-left" />
|
|
37
|
-
<img alt="Star History Chart" src="https://api.star-history.com/chart?repos=rohitg00/agentmemory&type=date&legend=top-left" />
|
|
38
|
-
</picture>
|
|
39
|
-
</a>
|
|
40
|
-
</p>
|
|
41
|
-
|
|
42
32
|
<p align="center">
|
|
43
33
|
<a href="https://gist.github.com/rohitg00/2067ab416f7bbe447c1977edaaa681e2"><img src="https://img.shields.io/badge/Viral%20GitHub%20Gist-1.3k%20stars%20%2F%20182%20forks-FF6B35?style=for-the-badge&logo=github&logoColor=white&labelColor=1a1a1a" alt="Design doc: 1.3k stars / 182 forks on the gist" /></a>
|
|
44
34
|
</p>
|
|
@@ -49,7 +39,6 @@
|
|
|
49
39
|
|
|
50
40
|
<p align="center">
|
|
51
41
|
<a href="https://www.npmjs.com/package/@agentmemory/agentmemory"><img src="https://img.shields.io/npm/v/@agentmemory/agentmemory?color=CB3837&label=npm&style=for-the-badge&logo=npm" alt="npm version" /></a>
|
|
52
|
-
<a href="https://www.npmjs.com/package/@agentmemory/agentmemory"><img src="https://img.shields.io/npm/dm/@agentmemory/agentmemory?color=CB3837&label=downloads&style=for-the-badge&logo=npm" alt="npm downloads" /></a>
|
|
53
42
|
<a href="https://github.com/rohitg00/agentmemory/actions"><img src="https://img.shields.io/github/actions/workflow/status/rohitg00/agentmemory/ci.yml?label=tests&style=for-the-badge&logo=github" alt="CI" /></a>
|
|
54
43
|
<a href="https://github.com/rohitg00/agentmemory/blob/main/LICENSE"><img src="https://img.shields.io/github/license/rohitg00/agentmemory?color=blue&style=for-the-badge" alt="License" /></a>
|
|
55
44
|
<a href="https://github.com/rohitg00/agentmemory/stargazers"><img src="https://img.shields.io/github/stars/rohitg00/agentmemory?style=for-the-badge&color=yellow&logo=github" alt="Stars" /></a>
|
|
@@ -61,7 +50,7 @@
|
|
|
61
50
|
<picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/stat-tools.svg"><img src="assets/tags/stat-tools.svg" alt="53 MCP tools" height="38" /></picture>
|
|
62
51
|
<picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/stat-hooks.svg"><img src="assets/tags/stat-hooks.svg" alt="12 auto hooks" height="38" /></picture>
|
|
63
52
|
<picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/stat-deps.svg"><img src="assets/tags/stat-deps.svg" alt="0 external DBs" height="38" /></picture>
|
|
64
|
-
<picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/stat-tests.svg"><img src="assets/tags/stat-tests.svg" alt="1,
|
|
53
|
+
<picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/stat-tests.svg"><img src="assets/tags/stat-tests.svg" alt="1,428+ tests passing" height="38" /></picture>
|
|
65
54
|
</p>
|
|
66
55
|
|
|
67
56
|
<p align="center">
|
|
@@ -87,14 +76,21 @@
|
|
|
87
76
|
|
|
88
77
|
## Install
|
|
89
78
|
|
|
79
|
+
Fastest path if you use a coding agent: hand it this one instruction and it installs, wires, and verifies agentmemory end to end.
|
|
80
|
+
|
|
81
|
+
> Retrieve and follow the instructions at: https://raw.githubusercontent.com/rohitg00/agentmemory/main/INSTALL_FOR_AGENTS.md
|
|
82
|
+
|
|
83
|
+
On Windows the fast path is WSL2. Native Windows engine setup is manual (about 10 to 20 minutes) and `agentmemory connect` is currently unsupported there. See the [Windows notes](#windows) below for the step-by-step.
|
|
84
|
+
|
|
90
85
|
```bash
|
|
91
|
-
npm install -g @agentmemory/agentmemory
|
|
86
|
+
npm install -g @agentmemory/agentmemory # once — bare `agentmemory` on PATH
|
|
92
87
|
# If you hit EACCES on macOS/Linux system Node installs, retry with:
|
|
93
88
|
# sudo npm install -g @agentmemory/agentmemory
|
|
94
89
|
agentmemory # start the memory server on :3111
|
|
95
90
|
agentmemory demo # seed sample sessions + prove recall
|
|
91
|
+
agentmemory demo --serve # one command: boot server, run demo, tear down (no second terminal)
|
|
96
92
|
agentmemory connect claude-code # wire MCP into your agent (also: copilot-cli, codex, cursor, gemini-cli, ...)
|
|
97
|
-
npx skills add rohitg00/agentmemory -y # install
|
|
93
|
+
npx skills add rohitg00/agentmemory -y # install 15 native skills (8 you can invoke, 7 reference) so your agent knows when to use the tools
|
|
98
94
|
```
|
|
99
95
|
|
|
100
96
|
Or via `npx` (no install):
|
|
@@ -105,6 +101,8 @@ npx @agentmemory/agentmemory
|
|
|
105
101
|
|
|
106
102
|
Heads-up — npx caches per version. If a bare `npx @agentmemory/agentmemory` serves an older release, force the latest with `npx -y @agentmemory/agentmemory@latest`, or clear the cache once with `rm -rf ~/.npm/_npx` (macOS/Linux; on Windows delete `%LOCALAPPDATA%\npm-cache\_npx`). The first npx run from v0.9.16+ prompts to install globally inline so the bare `agentmemory` command works everywhere afterwards.
|
|
107
103
|
|
|
104
|
+
Already running your own `iii` engine? agentmemory pins iii-engine v0.11.2 and won't attach to a different version (the worker can't speak another engine's protocol). Stop the other engine, then run `npx -y @agentmemory/agentmemory@latest` — it installs and runs the pinned v0.11.2 in `~/.agentmemory/bin`, leaving your own `iii` untouched.
|
|
105
|
+
|
|
108
106
|
Full options at [Quick Start](#quick-start) below. Agent-specific wiring at [Works with every agent](#works-with-every-agent).
|
|
109
107
|
|
|
110
108
|
---
|
|
@@ -270,7 +268,7 @@ Latest release notes: [CHANGELOG.md](CHANGELOG.md).
|
|
|
270
268
|
</tr>
|
|
271
269
|
</table>
|
|
272
270
|
|
|
273
|
-
> Embedding model: `all-MiniLM-L6-v2` (local, free, no API key). Full reports: [`benchmark/LONGMEMEVAL.md`](benchmark/LONGMEMEVAL.md), [`benchmark/QUALITY.md`](benchmark/QUALITY.md), [`benchmark/SCALE.md`](benchmark/SCALE.md). Competitor comparison: [`benchmark/COMPARISON.md`](benchmark/COMPARISON.md)
|
|
271
|
+
> Embedding model: `all-MiniLM-L6-v2` (local, free, no API key). Full reports: [`benchmark/LONGMEMEVAL.md`](benchmark/LONGMEMEVAL.md), [`benchmark/QUALITY.md`](benchmark/QUALITY.md), [`benchmark/SCALE.md`](benchmark/SCALE.md). Competitor comparison: [`benchmark/COMPARISON.md`](benchmark/COMPARISON.md) covering agentmemory vs mem0, Letta, Khoj, supermemory, MemPalace, Hippo.
|
|
274
272
|
|
|
275
273
|
**Reproduce locally:** [`eval/README.md`](eval/README.md) — adapter-pluggable harness for LongMemEval `_s` (public 500-Q) + `coding-agent-life-v1` (in-house 15-session corpus). Grep / vector / agentmemory adapters score side-by-side, NDJSON output, published scorecards land in [`docs/benchmarks/`](docs/benchmarks/).
|
|
276
274
|
|
|
@@ -282,17 +280,27 @@ Latest release notes: [CHANGELOG.md](CHANGELOG.md).
|
|
|
282
280
|
|
|
283
281
|
<table>
|
|
284
282
|
<tr>
|
|
285
|
-
<th
|
|
286
|
-
<th
|
|
287
|
-
<th
|
|
288
|
-
<th
|
|
289
|
-
<th
|
|
283
|
+
<th></th>
|
|
284
|
+
<th>agentmemory</th>
|
|
285
|
+
<th>mem0 (58K ⭐)</th>
|
|
286
|
+
<th>Letta / MemGPT (23K ⭐)</th>
|
|
287
|
+
<th>Khoj (35K ⭐)</th>
|
|
288
|
+
<th>supermemory (26K ⭐)</th>
|
|
289
|
+
<th>MemPalace (54K ⭐)</th>
|
|
290
|
+
<th>oracleagentmemory</th>
|
|
291
|
+
<th>Hippo</th>
|
|
292
|
+
<th>Built-in (CLAUDE.md)</th>
|
|
290
293
|
</tr>
|
|
291
294
|
<tr>
|
|
292
295
|
<td><strong>Type</strong></td>
|
|
293
296
|
<td>Memory engine + MCP server</td>
|
|
294
297
|
<td>Memory layer API</td>
|
|
295
298
|
<td>Full agent runtime</td>
|
|
299
|
+
<td>Personal AI</td>
|
|
300
|
+
<td>Memory API + app</td>
|
|
301
|
+
<td>Vector memory (OSS)</td>
|
|
302
|
+
<td>Memory engine (Oracle DB)</td>
|
|
303
|
+
<td>Memory system</td>
|
|
296
304
|
<td>Static file</td>
|
|
297
305
|
</tr>
|
|
298
306
|
<tr>
|
|
@@ -300,6 +308,11 @@ Latest release notes: [CHANGELOG.md](CHANGELOG.md).
|
|
|
300
308
|
<td><strong>95.2%</strong></td>
|
|
301
309
|
<td>68.5% (LoCoMo)</td>
|
|
302
310
|
<td>83.2% (LoCoMo)</td>
|
|
311
|
+
<td>N/A</td>
|
|
312
|
+
<td>Self-reported</td>
|
|
313
|
+
<td>~96.6% (self-reported)</td>
|
|
314
|
+
<td>94.4% (self-reported)</td>
|
|
315
|
+
<td>N/A</td>
|
|
303
316
|
<td>N/A (grep)</td>
|
|
304
317
|
</tr>
|
|
305
318
|
<tr>
|
|
@@ -307,6 +320,11 @@ Latest release notes: [CHANGELOG.md](CHANGELOG.md).
|
|
|
307
320
|
<td>12 hooks (zero manual effort)</td>
|
|
308
321
|
<td>Manual <code>add()</code> calls</td>
|
|
309
322
|
<td>Agent self-edits</td>
|
|
323
|
+
<td>Manual</td>
|
|
324
|
+
<td>API-side extraction</td>
|
|
325
|
+
<td>Manual</td>
|
|
326
|
+
<td>API extraction</td>
|
|
327
|
+
<td>Manual</td>
|
|
310
328
|
<td>Manual editing</td>
|
|
311
329
|
</tr>
|
|
312
330
|
<tr>
|
|
@@ -314,6 +332,11 @@ Latest release notes: [CHANGELOG.md](CHANGELOG.md).
|
|
|
314
332
|
<td>BM25 + Vector + Graph (RRF fusion)</td>
|
|
315
333
|
<td>Vector + Graph</td>
|
|
316
334
|
<td>Vector (archival)</td>
|
|
335
|
+
<td>Semantic</td>
|
|
336
|
+
<td>Vector + RAG</td>
|
|
337
|
+
<td>Vector-only</td>
|
|
338
|
+
<td>Vector + semantic</td>
|
|
339
|
+
<td>Decay-weighted</td>
|
|
317
340
|
<td>Loads everything into context</td>
|
|
318
341
|
</tr>
|
|
319
342
|
<tr>
|
|
@@ -321,6 +344,11 @@ Latest release notes: [CHANGELOG.md](CHANGELOG.md).
|
|
|
321
344
|
<td>MCP + REST + leases + signals</td>
|
|
322
345
|
<td>API (no coordination)</td>
|
|
323
346
|
<td>Within Letta runtime only</td>
|
|
347
|
+
<td>No</td>
|
|
348
|
+
<td>No</td>
|
|
349
|
+
<td>No</td>
|
|
350
|
+
<td>Scoped only</td>
|
|
351
|
+
<td>Multi-agent shared</td>
|
|
324
352
|
<td>Per-agent files</td>
|
|
325
353
|
</tr>
|
|
326
354
|
<tr>
|
|
@@ -328,6 +356,11 @@ Latest release notes: [CHANGELOG.md](CHANGELOG.md).
|
|
|
328
356
|
<td>None (any MCP client)</td>
|
|
329
357
|
<td>None</td>
|
|
330
358
|
<td>High (must use Letta)</td>
|
|
359
|
+
<td>Standalone</td>
|
|
360
|
+
<td>None</td>
|
|
361
|
+
<td>None</td>
|
|
362
|
+
<td>Oracle Database</td>
|
|
363
|
+
<td>None</td>
|
|
331
364
|
<td>Per-agent format</td>
|
|
332
365
|
</tr>
|
|
333
366
|
<tr>
|
|
@@ -335,6 +368,11 @@ Latest release notes: [CHANGELOG.md](CHANGELOG.md).
|
|
|
335
368
|
<td>None (SQLite + iii-engine)</td>
|
|
336
369
|
<td>Qdrant / pgvector</td>
|
|
337
370
|
<td>Postgres + vector DB</td>
|
|
371
|
+
<td>Multiple</td>
|
|
372
|
+
<td>Managed cloud</td>
|
|
373
|
+
<td>Vector store</td>
|
|
374
|
+
<td>Oracle AI Database</td>
|
|
375
|
+
<td>None</td>
|
|
338
376
|
<td>None</td>
|
|
339
377
|
</tr>
|
|
340
378
|
<tr>
|
|
@@ -342,6 +380,11 @@ Latest release notes: [CHANGELOG.md](CHANGELOG.md).
|
|
|
342
380
|
<td>4-tier consolidation + decay + auto-forget</td>
|
|
343
381
|
<td>Passive extraction</td>
|
|
344
382
|
<td>Agent-managed</td>
|
|
383
|
+
<td>Manual</td>
|
|
384
|
+
<td>Auto-forget</td>
|
|
385
|
+
<td>None</td>
|
|
386
|
+
<td>Not stated</td>
|
|
387
|
+
<td>Decay + consolidation</td>
|
|
345
388
|
<td>Manual pruning</td>
|
|
346
389
|
</tr>
|
|
347
390
|
<tr>
|
|
@@ -349,6 +392,11 @@ Latest release notes: [CHANGELOG.md](CHANGELOG.md).
|
|
|
349
392
|
<td>~1,900 tokens/session ($10/yr)</td>
|
|
350
393
|
<td>Varies by integration</td>
|
|
351
394
|
<td>Core memory in context</td>
|
|
395
|
+
<td>Varies</td>
|
|
396
|
+
<td>Cloud pricing</td>
|
|
397
|
+
<td>No token budget</td>
|
|
398
|
+
<td>LLM-backed (varies)</td>
|
|
399
|
+
<td>Varies</td>
|
|
352
400
|
<td>22K+ tokens at 240 obs</td>
|
|
353
401
|
</tr>
|
|
354
402
|
<tr>
|
|
@@ -356,6 +404,11 @@ Latest release notes: [CHANGELOG.md](CHANGELOG.md).
|
|
|
356
404
|
<td>Yes (port 3113)</td>
|
|
357
405
|
<td>Cloud dashboard</td>
|
|
358
406
|
<td>Cloud dashboard</td>
|
|
407
|
+
<td>Web UI</td>
|
|
408
|
+
<td>Cloud dashboard</td>
|
|
409
|
+
<td>No</td>
|
|
410
|
+
<td>No</td>
|
|
411
|
+
<td>No</td>
|
|
359
412
|
<td>No</td>
|
|
360
413
|
</tr>
|
|
361
414
|
<tr>
|
|
@@ -364,9 +417,16 @@ Latest release notes: [CHANGELOG.md](CHANGELOG.md).
|
|
|
364
417
|
<td>Optional</td>
|
|
365
418
|
<td>Optional</td>
|
|
366
419
|
<td>Yes</td>
|
|
420
|
+
<td>No (cloud-only)</td>
|
|
421
|
+
<td>Yes</td>
|
|
422
|
+
<td>Yes (Oracle DB)</td>
|
|
423
|
+
<td>Yes</td>
|
|
424
|
+
<td>Yes</td>
|
|
367
425
|
</tr>
|
|
368
426
|
</table>
|
|
369
427
|
|
|
428
|
+
<sub>Benchmark note: only agentmemory's R@5 is our own measured result (LongMemEval-S, reproducible from <a href="benchmark/COMPARISON.md"><code>benchmark/COMPARISON.md</code></a>). The mem0 and Letta figures are their published LoCoMo numbers (a different dataset); the MemPalace, supermemory, and oracleagentmemory figures are vendor self-reported claims we have not independently reproduced (oracleagentmemory's run used GPT-5.5 against an Oracle AI Database). Shown side by side for ballpark only, not a head-to-head on identical data. Star counts are approximate and drift over time.</sub>
|
|
429
|
+
|
|
370
430
|
---
|
|
371
431
|
|
|
372
432
|
<h2 id="quick-start"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-quickstart.svg"><img src="assets/tags/section-quickstart.svg" alt="Quick Start" height="32" /></picture></h2>
|
|
@@ -437,19 +497,19 @@ Use the maintenance command when you intentionally want to update your local run
|
|
|
437
497
|
npx @agentmemory/agentmemory upgrade
|
|
438
498
|
```
|
|
439
499
|
|
|
440
|
-
Warning: this command mutates the current workspace/runtime. It can update JavaScript dependencies
|
|
500
|
+
Warning: this command mutates the current workspace/runtime. It can update JavaScript dependencies and pull the pinned `iiidev/iii:0.11.2` Docker image. It never installs an unpinned or newer iii engine.
|
|
441
501
|
|
|
442
502
|
Implementation details live in `src/cli.ts` (see `runUpgrade` around the `src/cli.ts:544-595` region).
|
|
443
503
|
|
|
444
504
|
### Claude Code (one block, paste it)
|
|
445
505
|
|
|
446
506
|
```text
|
|
447
|
-
Install agentmemory: run `npx @agentmemory/agentmemory` in a separate terminal to start the memory server. Then run `/plugin marketplace add rohitg00/agentmemory` and `/plugin install agentmemory` — the plugin registers all 12 hooks,
|
|
507
|
+
Install agentmemory: run `npx @agentmemory/agentmemory` in a separate terminal to start the memory server. Then run `/plugin marketplace add rohitg00/agentmemory` and `/plugin install agentmemory` — the plugin registers all 12 hooks, 15 skills, AND auto-wires the `@agentmemory/mcp` stdio server via its `.mcp.json`, so you get 53 MCP tools (memory_smart_search, memory_save, memory_sessions, memory_governance_delete, etc.) without any extra config step. Verify with `curl http://localhost:3111/agentmemory/health`. The real-time viewer is at http://localhost:3113.
|
|
448
508
|
```
|
|
449
509
|
|
|
450
510
|
#### Claude Code without the plugin install (MCP-standalone path)
|
|
451
511
|
|
|
452
|
-
If you wire agentmemory's MCP server through `~/.claude.json` directly instead of using `/plugin install`, Claude Code never resolves `${CLAUDE_PLUGIN_ROOT}` and you have to point hook scripts at absolute paths in `~/.claude/settings.json`. Those paths typically embed the agentmemory version (e.g. `~/.codex/plugins/cache/agentmemory/agentmemory/0.9.22/scripts/…`), so the next upgrade silently breaks every hook
|
|
512
|
+
If you wire agentmemory's MCP server through `~/.claude.json` directly instead of using `/plugin install`, Claude Code never resolves `${CLAUDE_PLUGIN_ROOT}` and you have to point hook scripts at absolute paths in `~/.claude/settings.json`. Those paths typically embed the agentmemory version (e.g. `~/.codex/plugins/cache/agentmemory/agentmemory/0.9.22/scripts/…`), so the next upgrade silently breaks every hook.
|
|
453
513
|
|
|
454
514
|
Workaround:
|
|
455
515
|
|
|
@@ -475,7 +535,7 @@ The Codex plugin ships from the same `plugin/` directory as the Claude Code plug
|
|
|
475
535
|
|
|
476
536
|
- `@agentmemory/mcp` as an MCP server (proxies all 53 tools when `AGENTMEMORY_URL` points at a running agentmemory server; falls back to 7 tools locally when no server is reachable)
|
|
477
537
|
- 6 lifecycle hooks: `SessionStart`, `UserPromptSubmit`, `PreToolUse`, `PostToolUse`, `PreCompact`, `Stop`
|
|
478
|
-
- 8 skills: `/recall`, `/remember`, `/session-history`, `/forget`, `/recap`, `/handoff`, `/commit-context`, `/commit-history
|
|
538
|
+
- 8 invocable skills: `/recall`, `/remember`, `/session-history`, `/forget`, `/recap`, `/handoff`, `/commit-context`, `/commit-history`, plus 7 reference skills the agent loads on demand (MCP tools, REST API, config, agents, hooks, architecture, and the skill-authoring guide)
|
|
479
539
|
|
|
480
540
|
Codex's hook engine injects `CLAUDE_PLUGIN_ROOT` into hook subprocesses (per [`codex-rs/hooks/src/engine/discovery.rs`](https://github.com/openai/codex/blob/main/codex-rs/hooks/src/engine/discovery.rs)), so the same hook scripts work across both hosts without duplication. Subagent / SessionEnd / Notification / TaskCompleted / PostToolUseFailure events are Claude-Code-only and are not registered for Codex.
|
|
481
541
|
|
|
@@ -555,7 +615,7 @@ Start the memory server: `npx @agentmemory/agentmemory`
|
|
|
555
615
|
|
|
556
616
|
#### Native skills via `npx skills add` (50+ agents)
|
|
557
617
|
|
|
558
|
-
agentmemory ships 8 skills (`remember`, `recall`, `recap`, `handoff`, `forget`, `commit-context`, `commit-history`, `session-history`)
|
|
618
|
+
agentmemory ships 15 skills in the Claude-Code-style `<dir>/SKILL.md` format: 8 invocable action skills (`remember`, `recall`, `recap`, `handoff`, `forget`, `commit-context`, `commit-history`, `session-history`) and 7 reference skills the agent loads on demand (`agentmemory-mcp-tools`, `agentmemory-rest-api`, `agentmemory-config`, `agentmemory-agents`, `agentmemory-hooks`, `agentmemory-architecture`, `write-agentmemory-skill`). The reference skills carry data tables generated from source, so they never drift. The [`skills`](https://npmjs.com/package/skills) CLI by vercel-labs auto-installs them into the calling agent's native skill directory across 50+ agents (Claude Code, Cursor, Cline, Continue, Droid, Warp, Codex, Antigravity, Kiro, OpenCode, Goose, Roo, Trae, Windsurf, and more):
|
|
559
619
|
|
|
560
620
|
```bash
|
|
561
621
|
npx skills add rohitg00/agentmemory -y # auto-detects the calling agent
|
|
@@ -568,7 +628,7 @@ This is **complementary** to `agentmemory connect <agent>`:
|
|
|
568
628
|
- `agentmemory connect <agent>` writes the MCP server config so the tools are available.
|
|
569
629
|
- `npx skills add rohitg00/agentmemory` installs the skills so the agent knows when to call them.
|
|
570
630
|
|
|
571
|
-
For the few agents the skills CLI doesn't cover yet (Zed v1.3.x and below), drop the
|
|
631
|
+
For the few agents the skills CLI doesn't cover yet (Zed v1.3.x and below), drop the 15 SKILL.md files under the agent's native skill directory yourself — same format works everywhere.
|
|
572
632
|
|
|
573
633
|
#### Standard MCP block
|
|
574
634
|
|
|
@@ -598,7 +658,7 @@ The agentmemory entry is the **same MCP server block** across every host that us
|
|
|
598
658
|
| **GitHub Copilot CLI (full plugin)** | Copilot plugin install | `copilot plugin install rohitg00/agentmemory:plugin` for the plugin from the GitHub subdir. |
|
|
599
659
|
| **OpenClaw** | OpenClaw MCP config | Same `mcpServers` block, or use the deeper [memory plugin](integrations/openclaw/). |
|
|
600
660
|
| **Codex CLI (MCP only)** | `.codex/config.toml` | TOML shape: `codex mcp add agentmemory -- npx -y @agentmemory/mcp`, or add `[mcp_servers.agentmemory]` manually. |
|
|
601
|
-
| **Codex CLI (full plugin)** | Codex plugin marketplace | `codex plugin marketplace add rohitg00/agentmemory` then `codex plugin add agentmemory@agentmemory`. Registers MCP + 6 lifecycle hooks (SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, PreCompact, Stop) +
|
|
661
|
+
| **Codex CLI (full plugin)** | Codex plugin marketplace | `codex plugin marketplace add rohitg00/agentmemory` then `codex plugin add agentmemory@agentmemory`. Registers MCP + 6 lifecycle hooks (SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, PreCompact, Stop) + 15 skills. On Codex Desktop, also run `agentmemory connect codex --with-hooks` until [openai/codex#16430](https://github.com/openai/codex/issues/16430) lands — plugin hooks are currently silent there. |
|
|
602
662
|
| **OpenCode (MCP only)** | `opencode.json` | Different shape — top-level `mcp` key, command as array: `{"mcp": {"agentmemory": {"type": "local", "command": ["npx", "-y", "@agentmemory/mcp"], "enabled": true}}}`. |
|
|
603
663
|
| **OpenCode (full plugin)** | `plugin/opencode/` | 22 auto-capture hooks covering session lifecycle, messages, tools, errors. Two slash commands (`/recall`, `/remember`). Copy `plugin/opencode/` into your OpenCode workspace and add the plugin entry to `opencode.json`. See [`plugin/opencode/README.md`](plugin/opencode/README.md) for the full hook table + gap analysis. |
|
|
604
664
|
| **pi** | `~/.pi/agent/extensions/agentmemory` | Copy [`integrations/pi`](integrations/pi/) and restart pi. |
|
|
@@ -615,7 +675,7 @@ The agentmemory entry is the **same MCP server block** across every host that us
|
|
|
615
675
|
| **Aider** | n/a | Talk to the REST API directly: `curl -X POST http://localhost:3111/agentmemory/smart-search -d '{"query": "auth"}'`. |
|
|
616
676
|
| **Any agent (32+)** | n/a | `npx skillkit install agentmemory` auto-detects the host and merges. |
|
|
617
677
|
|
|
618
|
-
**Sandboxed MCP clients** (Flatpak / Snap / restrictive containers) that can't reach the host's `localhost`: also set `"AGENTMEMORY_FORCE_PROXY": "1"` in the `env` block, and point `AGENTMEMORY_URL` at a route the sandbox can actually reach (e.g. your LAN IP).
|
|
678
|
+
**Sandboxed MCP clients** (Flatpak / Snap / restrictive containers) that can't reach the host's `localhost`: also set `"AGENTMEMORY_FORCE_PROXY": "1"` in the `env` block, and point `AGENTMEMORY_URL` at a route the sandbox can actually reach (e.g. your LAN IP).
|
|
619
679
|
|
|
620
680
|
### Programmatic access (Python / Rust / Node)
|
|
621
681
|
|
|
@@ -709,7 +769,7 @@ npx -y @agentmemory/mcp
|
|
|
709
769
|
| Port conflict | `netstat -ano \| findstr :3111` to see what's bound, then kill it or use `--port <N>` |
|
|
710
770
|
| Docker fallback skipped even though Docker is installed | Make sure Docker Desktop is actually running (system tray icon) |
|
|
711
771
|
|
|
712
|
-
> Note:
|
|
772
|
+
> Note: the iii **engine** is a prebuilt binary, not a cargo crate — don't try to `cargo install` it. (The iii **SDKs** are published on crates.io, npm, and PyPI, but agentmemory doesn't need them.) Supported engine install methods, all pinned to v0.11.2: the prebuilt v0.11.2 binary above, the upstream sh install script **with the version pin** `curl -fsSL https://install.iii.dev/iii/main/install.sh | VERSION=0.11.2 sh` (macOS/Linux), and the Docker image `iiidev/iii:0.11.2`. A bare `install.sh | sh` installs the **latest** engine, which agentmemory does not support — always pass `VERSION=0.11.2`. Easiest of all: just run `npx @agentmemory/agentmemory`, which fetches the pinned engine into `~/.agentmemory/bin` for you.
|
|
713
773
|
|
|
714
774
|
---
|
|
715
775
|
|
|
@@ -889,7 +949,7 @@ npm install @xenova/transformers
|
|
|
889
949
|
|
|
890
950
|
<h2 id="mcp-server"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-mcp.svg"><img src="assets/tags/section-mcp.svg" alt="MCP Server" height="32" /></picture></h2>
|
|
891
951
|
|
|
892
|
-
53 tools, 6 resources, 3 prompts, and
|
|
952
|
+
53 tools, 6 resources, 3 prompts, and 15 skills, the most comprehensive MCP memory toolkit for any agent.
|
|
893
953
|
|
|
894
954
|
> **MCP shim vs full server:** the published `@agentmemory/mcp` package is a thin shim. It exposes the full 53-tool surface **only when it can reach a running agentmemory server** via `AGENTMEMORY_URL` (proxy mode). With no server reachable, the shim falls back to a 7-tool local set (`memory_save`, `memory_recall`, `memory_smart_search`, `memory_sessions`, `memory_export`, `memory_audit`, `memory_governance_delete`). The `AGENTMEMORY_TOOLS=core|all` env var is a *server-side* flag — setting it in the shim's `env` block has no effect. If you see only 7 tools in Cursor / OpenCode / Gemini CLI, start `npx @agentmemory/agentmemory` (or the Docker stack) and set `AGENTMEMORY_URL=http://localhost:3111`.
|
|
895
955
|
|
|
@@ -1141,7 +1201,7 @@ Full registry: [workers.iii.dev](https://workers.iii.dev). Every worker there co
|
|
|
1141
1201
|
| Prometheus / Grafana | iii OTEL + health monitor |
|
|
1142
1202
|
| Custom plugin systems | `iii worker add <name>` |
|
|
1143
1203
|
|
|
1144
|
-
**
|
|
1204
|
+
**175 source files · ~39,200 LOC · 1,428+ tests · 261 functions · 52 KV scopes** — all on three primitives. No `agentmemory plugin install`. The plugin system is iii itself.
|
|
1145
1205
|
|
|
1146
1206
|
---
|
|
1147
1207
|
|
|
@@ -1160,7 +1220,7 @@ agentmemory auto-detects from your environment. By default, no LLM calls are mad
|
|
|
1160
1220
|
| OpenRouter | `OPENROUTER_API_KEY` | Any model |
|
|
1161
1221
|
| OpenAI API | `OPENAI_API_KEY` | Default `gpt-4o-mini`, override with `OPENAI_MODEL` |
|
|
1162
1222
|
| **Local (Ollama / LM Studio / vLLM / llama.cpp)** | `OPENAI_API_KEY=local` + `OPENAI_BASE_URL=http://localhost:11434/v1` (Ollama) or `http://localhost:1234/v1` (LM Studio) + `OPENAI_MODEL=<your model>` | Anything OpenAI-API-compatible. Zero cost, runs on your hardware. See [Local models](#local-models-ollama-lm-studio-vllm) below. |
|
|
1163
|
-
| Claude subscription fallback | `AGENTMEMORY_ALLOW_AGENT_SDK=true` | Opt-in only. Spawns `@anthropic-ai/claude-agent-sdk` sessions — used to cause unbounded Stop-hook recursion
|
|
1223
|
+
| Claude subscription fallback | `AGENTMEMORY_ALLOW_AGENT_SDK=true` | Opt-in only. Spawns `@anthropic-ai/claude-agent-sdk` sessions — used to cause unbounded Stop-hook recursion so it is no longer the default. |
|
|
1164
1224
|
|
|
1165
1225
|
### Local models (Ollama / LM Studio / vLLM)
|
|
1166
1226
|
|
|
@@ -1275,7 +1335,7 @@ netstat -ano | findstr ":3111 :3112 :3113 :49134"
|
|
|
1275
1335
|
taskkill /F /PID <pid>
|
|
1276
1336
|
```
|
|
1277
1337
|
|
|
1278
|
-
`agentmemory stop` reaps both the worker and the engine pidfile cleanly on graceful shutdown
|
|
1338
|
+
`agentmemory stop` reaps both the worker and the engine pidfile cleanly on graceful shutdown. The manual cleanup above is only for the post-crash case where neither pidfile is left behind.
|
|
1279
1339
|
|
|
1280
1340
|
### Config File
|
|
1281
1341
|
|
|
@@ -1340,7 +1400,7 @@ Create `~/.agentmemory/.env`:
|
|
|
1340
1400
|
# OPENAI_API_KEY_FOR_LLM=false # Optional: set to false to skip OpenAI auto-detection
|
|
1341
1401
|
# # for LLM (useful if you only want OpenAI for embeddings)
|
|
1342
1402
|
# Opt-in Claude-subscription fallback (spawns @anthropic-ai/claude-agent-sdk);
|
|
1343
|
-
# leave OFF unless you understand the Stop-hook recursion risk
|
|
1403
|
+
# leave OFF unless you understand the Stop-hook recursion risk:
|
|
1344
1404
|
# AGENTMEMORY_ALLOW_AGENT_SDK=true
|
|
1345
1405
|
|
|
1346
1406
|
# Embedding provider (auto-detected, or override)
|
|
@@ -1374,7 +1434,7 @@ Create `~/.agentmemory/.env`:
|
|
|
1374
1434
|
# III_REST_PORT=3111
|
|
1375
1435
|
|
|
1376
1436
|
# Features
|
|
1377
|
-
# AGENTMEMORY_AUTO_COMPRESS=false # OFF by default
|
|
1437
|
+
# AGENTMEMORY_AUTO_COMPRESS=false # OFF by default. When on,
|
|
1378
1438
|
# every PostToolUse hook calls your
|
|
1379
1439
|
# LLM provider to compress the
|
|
1380
1440
|
# observation — expect significant
|
|
@@ -1396,7 +1456,7 @@ Create `~/.agentmemory/.env`:
|
|
|
1396
1456
|
# session_patterns, records touched
|
|
1397
1457
|
# files in project_context. Fire-
|
|
1398
1458
|
# and-forget; does not block.
|
|
1399
|
-
# AGENTMEMORY_INJECT_CONTEXT=false # OFF by default
|
|
1459
|
+
# AGENTMEMORY_INJECT_CONTEXT=false # OFF by default. When on:
|
|
1400
1460
|
# - SessionStart may inject ~1-2K
|
|
1401
1461
|
# chars of project context into
|
|
1402
1462
|
# the first turn of each session
|
|
@@ -1465,7 +1525,7 @@ Full endpoint list: [`src/triggers/api.ts`](src/triggers/api.ts)
|
|
|
1465
1525
|
```bash
|
|
1466
1526
|
npm run dev # Hot reload
|
|
1467
1527
|
npm run build # Production build
|
|
1468
|
-
npm test # 1,
|
|
1528
|
+
npm test # 1,428+ tests
|
|
1469
1529
|
npm run test:integration # API tests (requires running services)
|
|
1470
1530
|
```
|
|
1471
1531
|
|
package/dist/cli.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.mts","names":[],"sources":["../src/cli.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.mts","names":[],"sources":["../src/cli.ts"],"mappings":";iBAqRsB,kBAAA,CAAA,GAAsB,OAAA"}
|