<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Coding Tools on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/coding-tools/</link>
        <description>Recent content in Coding Tools on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Sun, 10 May 2026 17:00:21 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/coding-tools/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>agentmemory</title>
        <link>https://producthunt.programnotes.cn/en/p/agentmemory/</link>
        <pubDate>Sun, 10 May 2026 17:00:21 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/agentmemory/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1640108930193-76941e385e5e?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3Nzg0MDM1OTN8&amp;ixlib=rb-4.1.0" alt="Featured image of post agentmemory" /&gt;&lt;h1 id=&#34;rohitg00agentmemory&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/rohitg00/agentmemory&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;rohitg00/agentmemory&lt;/a&gt;
&lt;/h1&gt;&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;assets/banner.png&#34; alt=&#34;agentmemory — Persistent memory for AI coding agents&#34; width=&#34;720&#34; /&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;strong&gt;
    Your coding agent remembers everything. No more re-explaining.
    Built on &lt;a href=&#34;https://github.com/iii-hq/iii&#34;&gt;iii engine&lt;/a&gt;
  &lt;/strong&gt;&lt;/br&gt;
  Persistent memory for Claude Code, Cursor, Gemini CLI, Codex CLI, pi, OpenCode, and any MCP client.
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://gist.github.com/rohitg00/2067ab416f7bbe447c1977edaaa681e2&#34;&gt;&lt;img src=&#34;https://img.shields.io/badge/Viral%20GitHub%20Gist-1050%20stars%20%2F%20150%20forks-FF6B35?style=for-the-badge&amp;logo=github&amp;logoColor=white&amp;labelColor=1a1a1a&#34; alt=&#34;Design doc: 1050 stars / 150 forks on the gist&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;strong&gt;The gist extends Karpathy&#39;s LLM Wiki pattern with confidence scoring, lifecycle, knowledge graphs, and hybrid search.&lt;br/&gt; agentmemory is the implementation.&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://www.npmjs.com/package/@agentmemory/agentmemory&#34;&gt;&lt;img src=&#34;https://img.shields.io/npm/v/@agentmemory/agentmemory?color=CB3837&amp;label=npm&amp;style=for-the-badge&amp;logo=npm&#34; alt=&#34;npm version&#34; /&gt;&lt;/a&gt;
  &lt;a href=&#34;https://github.com/rohitg00/agentmemory/actions&#34;&gt;&lt;img src=&#34;https://img.shields.io/github/actions/workflow/status/rohitg00/agentmemory/ci.yml?label=tests&amp;style=for-the-badge&amp;logo=github&#34; alt=&#34;CI&#34; /&gt;&lt;/a&gt;
  &lt;a href=&#34;https://github.com/rohitg00/agentmemory/blob/main/LICENSE&#34;&gt;&lt;img src=&#34;https://img.shields.io/github/license/rohitg00/agentmemory?color=blue&amp;style=for-the-badge&#34; alt=&#34;License&#34; /&gt;&lt;/a&gt;
  &lt;a href=&#34;https://github.com/rohitg00/agentmemory/stargazers&#34;&gt;&lt;img src=&#34;https://img.shields.io/github/stars/rohitg00/agentmemory?style=for-the-badge&amp;color=yellow&amp;logo=github&#34; alt=&#34;Stars&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/stat-recall.svg&#34;&gt;&lt;img src=&#34;assets/tags/stat-recall.svg&#34; alt=&#34;95.2% retrieval R@5&#34; height=&#34;38&#34; /&gt;&lt;/picture&gt;
  &lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/stat-tokens.svg&#34;&gt;&lt;img src=&#34;assets/tags/stat-tokens.svg&#34; alt=&#34;92% fewer tokens&#34; height=&#34;38&#34; /&gt;&lt;/picture&gt;
  &lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/stat-tools.svg&#34;&gt;&lt;img src=&#34;assets/tags/stat-tools.svg&#34; alt=&#34;51 MCP tools&#34; height=&#34;38&#34; /&gt;&lt;/picture&gt;
  &lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/stat-hooks.svg&#34;&gt;&lt;img src=&#34;assets/tags/stat-hooks.svg&#34; alt=&#34;12 auto hooks&#34; height=&#34;38&#34; /&gt;&lt;/picture&gt;
  &lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/stat-deps.svg&#34;&gt;&lt;img src=&#34;assets/tags/stat-deps.svg&#34; alt=&#34;0 external DBs&#34; height=&#34;38&#34; /&gt;&lt;/picture&gt;
  &lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/stat-tests.svg&#34;&gt;&lt;img src=&#34;assets/tags/stat-tests.svg&#34; alt=&#34;827 tests passing&#34; height=&#34;38&#34; /&gt;&lt;/picture&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;assets/demo.gif&#34; alt=&#34;agentmemory demo&#34; width=&#34;720&#34; /&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;#quick-start&#34;&gt;Quick Start&lt;/a&gt; &amp;bull;
  &lt;a href=&#34;#benchmarks&#34;&gt;Benchmarks&lt;/a&gt; &amp;bull;
  &lt;a href=&#34;#vs-competitors&#34;&gt;vs Competitors&lt;/a&gt; &amp;bull;
  &lt;a href=&#34;#works-with-every-agent&#34;&gt;Agents&lt;/a&gt; &amp;bull;
  &lt;a href=&#34;#how-it-works&#34;&gt;How It Works&lt;/a&gt; &amp;bull;
  &lt;a href=&#34;#mcp-server&#34;&gt;MCP&lt;/a&gt; &amp;bull;
  &lt;a href=&#34;#real-time-viewer&#34;&gt;Viewer&lt;/a&gt; &amp;bull;
  &lt;a href=&#34;#iii-console&#34;&gt;iii Console&lt;/a&gt; &amp;bull;
  &lt;a href=&#34;#powered-by-iii&#34;&gt;Powered by iii&lt;/a&gt; &amp;bull;
  &lt;a href=&#34;#configuration&#34;&gt;Config&lt;/a&gt; &amp;bull;
  &lt;a href=&#34;#api&#34;&gt;API&lt;/a&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;works-with-every-agent&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-agents.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-agents.svg&#34; alt=&#34;Works with every agent&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;p&gt;agentmemory works with any agent that supports hooks, MCP, or REST API. All agents share the same memory server.&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;https://claude.com/product/claude-code&#34;&gt;&lt;img src=&#34;https://matthiasroder.com/content/images/2026/01/Claude.png?size=120&#34; alt=&#34;Claude Code&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;Claude Code&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;12 hooks + MCP + skills&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;integrations/openclaw/&#34;&gt;&lt;img src=&#34;https://github.com/openclaw.png?size=120&#34; alt=&#34;OpenClaw&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;OpenClaw&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;MCP + &lt;a href=&#34;integrations/openclaw/&#34;&gt;plugin&lt;/a&gt;&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;integrations/hermes/&#34;&gt;&lt;img src=&#34;https://github.com/NousResearch.png?size=120&#34; alt=&#34;Hermes&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;Hermes&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;MCP + &lt;a href=&#34;integrations/hermes/&#34;&gt;plugin&lt;/a&gt;&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;https://cursor.com&#34;&gt;&lt;img src=&#34;https://www.freelogovectors.net/wp-content/uploads/2025/06/cursor-logo-freelogovectors.net_.png&#34; alt=&#34;Cursor&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;Cursor&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;MCP server&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;https://github.com/google-gemini/gemini-cli&#34;&gt;&lt;img src=&#34;https://github.com/google-gemini.png?size=120&#34; alt=&#34;Gemini CLI&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;Gemini CLI&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;MCP server&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;https://github.com/opencode-ai/opencode&#34;&gt;&lt;img src=&#34;https://github.com/opencode-ai.png?size=120&#34; alt=&#34;OpenCode&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;OpenCode&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;MCP server&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;https://github.com/openai/codex&#34;&gt;&lt;img src=&#34;https://github.com/openai.png?size=120&#34; alt=&#34;Codex CLI&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;Codex CLI&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;MCP server&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;https://github.com/cline/cline&#34;&gt;&lt;img src=&#34;https://github.com/cline.png?size=120&#34; alt=&#34;Cline&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;Cline&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;MCP server&lt;/sub&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;https://github.com/block/goose&#34;&gt;&lt;img src=&#34;https://github.com/block.png?size=120&#34; alt=&#34;Goose&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;Goose&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;MCP server&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;https://github.com/Kilo-Org/kilocode&#34;&gt;&lt;img src=&#34;https://github.com/Kilo-Org.png?size=120&#34; alt=&#34;Kilo Code&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;Kilo Code&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;MCP server&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;https://github.com/Aider-AI/aider&#34;&gt;&lt;img src=&#34;https://github.com/Aider-AI.png?size=120&#34; alt=&#34;Aider&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;Aider&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;REST API&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;https://claude.ai/download&#34;&gt;&lt;img src=&#34;https://github.com/anthropics.png?size=120&#34; alt=&#34;Claude Desktop&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;Claude Desktop&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;MCP server&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;https://windsurf.com&#34;&gt;&lt;img src=&#34;https://exafunction.github.io/public/brand/windsurf-black-symbol.svg?size=120&#34; alt=&#34;Windsurf&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;Windsurf&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;MCP server&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;https://github.com/RooCodeInc/Roo-Code&#34;&gt;&lt;img src=&#34;https://github.com/RooCodeInc.png?size=120&#34; alt=&#34;Roo Code&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;Roo Code&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;MCP server&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;a href=&#34;https://github.com/anthropics/claude-agent-sdk-typescript&#34;&gt;&lt;img src=&#34;https://github.com/anthropics.png?size=120&#34; alt=&#34;Claude SDK&#34; width=&#34;48&#34; height=&#34;48&#34; /&gt;&lt;/a&gt;&lt;br/&gt;
&lt;strong&gt;Claude SDK&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;AgentSDKProvider&lt;/sub&gt;
&lt;/td&gt;
&lt;td align=&#34;center&#34; width=&#34;12.5%&#34;&gt;
&lt;img src=&#34;https://img.shields.io/badge/104-endpoints-1f6feb?style=flat-square&#34; alt=&#34;REST API&#34; width=&#34;48&#34; /&gt;&lt;br/&gt;
&lt;strong&gt;Any agent&lt;/strong&gt;&lt;br/&gt;
&lt;sub&gt;REST API&lt;/sub&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;sub&gt;Works with &lt;strong&gt;any&lt;/strong&gt; agent that speaks MCP or HTTP. One server, memories shared across all of them.&lt;/sub&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;You explain the same architecture every session. You re-discover the same bugs. You re-teach the same preferences. Built-in memory (CLAUDE.md, .cursorrules) caps out at 200 lines and goes stale. agentmemory fixes this. It silently captures what your agent does, compresses it into searchable memory, and injects the right context when the next session starts. One command. Works across agents.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What changes:&lt;/strong&gt; Session 1 you set up JWT auth. Session 2 you ask for rate limiting. The agent already knows your auth uses jose middleware in &lt;code&gt;src/middleware/auth.ts&lt;/code&gt;, your tests cover token validation, and you chose jose over jsonwebtoken for Edge compatibility. No re-explaining. No copy-pasting. The agent just &lt;em&gt;knows&lt;/em&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx @agentmemory/agentmemory
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;New in v0.9.0&lt;/strong&gt; — Landing site at &lt;a class=&#34;link&#34; href=&#34;https://agent-memory.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;agent-memory.dev&lt;/a&gt;, filesystem connector (&lt;code&gt;@agentmemory/fs-watcher&lt;/code&gt;), standalone MCP now proxies to the running server so hooks and the viewer agree, audit policy codified across every delete path, health stops flagging &lt;code&gt;memory_critical&lt;/code&gt; on tiny Node processes. Full notes in &lt;a class=&#34;link&#34; href=&#34;CHANGELOG.md#090--2026-04-18&#34; &gt;CHANGELOG.md&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;benchmarks&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-benchmarks.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-benchmarks.svg&#34; alt=&#34;Benchmarks&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td width=&#34;50%&#34;&gt;
&lt;h3 id=&#34;retrieval-accuracy&#34;&gt;Retrieval Accuracy
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;LongMemEval-S&lt;/strong&gt; (ICLR 2025, 500 questions)&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;System&lt;/th&gt;
          &lt;th&gt;R@5&lt;/th&gt;
          &lt;th&gt;R@10&lt;/th&gt;
          &lt;th&gt;MRR&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;agentmemory&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;95.2%&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;98.6%&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;88.2%&lt;/strong&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;BM25-only fallback&lt;/td&gt;
          &lt;td&gt;86.2%&lt;/td&gt;
          &lt;td&gt;94.6%&lt;/td&gt;
          &lt;td&gt;71.5%&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;td width=&#34;50%&#34;&gt;
&lt;h3 id=&#34;token-savings&#34;&gt;Token Savings
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Approach&lt;/th&gt;
          &lt;th&gt;Tokens/yr&lt;/th&gt;
          &lt;th&gt;Cost/yr&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Paste full context&lt;/td&gt;
          &lt;td&gt;19.5M+&lt;/td&gt;
          &lt;td&gt;Impossible (exceeds window)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;LLM-summarized&lt;/td&gt;
          &lt;td&gt;~650K&lt;/td&gt;
          &lt;td&gt;~$500&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;agentmemory&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;~170K&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;~$10&lt;/strong&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;agentmemory + local embeddings&lt;/td&gt;
          &lt;td&gt;~170K&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;$0&lt;/strong&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;Embedding model: &lt;code&gt;all-MiniLM-L6-v2&lt;/code&gt; (local, free, no API key). Full reports: &lt;a class=&#34;link&#34; href=&#34;benchmark/LONGMEMEVAL.md&#34; &gt;&lt;code&gt;benchmark/LONGMEMEVAL.md&lt;/code&gt;&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;benchmark/QUALITY.md&#34; &gt;&lt;code&gt;benchmark/QUALITY.md&lt;/code&gt;&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;benchmark/SCALE.md&#34; &gt;&lt;code&gt;benchmark/SCALE.md&lt;/code&gt;&lt;/a&gt;. Competitor comparison: &lt;a class=&#34;link&#34; href=&#34;benchmark/COMPARISON.md&#34; &gt;&lt;code&gt;benchmark/COMPARISON.md&lt;/code&gt;&lt;/a&gt; — agentmemory vs mem0, Letta, Khoj, claude-mem, Hippo.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;vs-competitors&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-competitors.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-competitors.svg&#34; alt=&#34;vs Competitors&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th width=&#34;20%&#34;&gt;&lt;/th&gt;
&lt;th width=&#34;20%&#34;&gt;agentmemory&lt;/th&gt;
&lt;th width=&#34;20%&#34;&gt;mem0 (53K ⭐)&lt;/th&gt;
&lt;th width=&#34;20%&#34;&gt;Letta / MemGPT (22K ⭐)&lt;/th&gt;
&lt;th width=&#34;20%&#34;&gt;Built-in (CLAUDE.md)&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Memory engine + MCP server&lt;/td&gt;
&lt;td&gt;Memory layer API&lt;/td&gt;
&lt;td&gt;Full agent runtime&lt;/td&gt;
&lt;td&gt;Static file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Retrieval R@5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;95.2%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;68.5% (LoCoMo)&lt;/td&gt;
&lt;td&gt;83.2% (LoCoMo)&lt;/td&gt;
&lt;td&gt;N/A (grep)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Auto-capture&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;12 hooks (zero manual effort)&lt;/td&gt;
&lt;td&gt;Manual &lt;code&gt;add()&lt;/code&gt; calls&lt;/td&gt;
&lt;td&gt;Agent self-edits&lt;/td&gt;
&lt;td&gt;Manual editing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Search&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;BM25 + Vector + Graph (RRF fusion)&lt;/td&gt;
&lt;td&gt;Vector + Graph&lt;/td&gt;
&lt;td&gt;Vector (archival)&lt;/td&gt;
&lt;td&gt;Loads everything into context&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Multi-agent&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;MCP + REST + leases + signals&lt;/td&gt;
&lt;td&gt;API (no coordination)&lt;/td&gt;
&lt;td&gt;Within Letta runtime only&lt;/td&gt;
&lt;td&gt;Per-agent files&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Framework lock-in&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;None (any MCP client)&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;High (must use Letta)&lt;/td&gt;
&lt;td&gt;Per-agent format&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;External deps&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;None (SQLite + iii-engine)&lt;/td&gt;
&lt;td&gt;Qdrant / pgvector&lt;/td&gt;
&lt;td&gt;Postgres + vector DB&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Memory lifecycle&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;4-tier consolidation + decay + auto-forget&lt;/td&gt;
&lt;td&gt;Passive extraction&lt;/td&gt;
&lt;td&gt;Agent-managed&lt;/td&gt;
&lt;td&gt;Manual pruning&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Token efficiency&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~1,900 tokens/session ($10/yr)&lt;/td&gt;
&lt;td&gt;Varies by integration&lt;/td&gt;
&lt;td&gt;Core memory in context&lt;/td&gt;
&lt;td&gt;22K+ tokens at 240 obs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Real-time viewer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Yes (port 3113)&lt;/td&gt;
&lt;td&gt;Cloud dashboard&lt;/td&gt;
&lt;td&gt;Cloud dashboard&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Self-hosted&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Yes (default)&lt;/td&gt;
&lt;td&gt;Optional&lt;/td&gt;
&lt;td&gt;Optional&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;quick-start&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-quickstart.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-quickstart.svg&#34; alt=&#34;Quick Start&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;p&gt;Compatibility: this release targets stable &lt;code&gt;iii-sdk&lt;/code&gt; &lt;code&gt;^0.11.0&lt;/code&gt; and iii-engine v0.11.x.&lt;/p&gt;
&lt;h3 id=&#34;try-it-in-30-seconds&#34;&gt;Try it in 30 seconds
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Terminal 1: start the server&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx @agentmemory/agentmemory
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Terminal 2: seed sample data and see recall in action&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx @agentmemory/agentmemory demo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;demo&lt;/code&gt; seeds 3 realistic sessions (JWT auth, N+1 query fix, rate limiting) and runs semantic searches against them. You&amp;rsquo;ll see it find &amp;ldquo;N+1 query fix&amp;rdquo; when you search &amp;ldquo;database performance optimization&amp;rdquo; — keyword matching can&amp;rsquo;t do that.&lt;/p&gt;
&lt;p&gt;Open &lt;code&gt;http://localhost:3113&lt;/code&gt; to watch the memory build live.&lt;/p&gt;
&lt;h3 id=&#34;session-replay&#34;&gt;Session Replay
&lt;/h3&gt;&lt;p&gt;Every session agentmemory records is replayable. Open the viewer, pick the &lt;strong&gt;Replay&lt;/strong&gt; tab, and scrub through the timeline: prompts, tool calls, tool results, and responses render as discrete events with play/pause, speed control (0.5×–4×), and keyboard shortcuts (space to toggle, arrows to step).&lt;/p&gt;
&lt;p&gt;Already have older Claude Code JSONL transcripts you want to bring in?&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Import everything under the default ~/.claude/projects&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx @agentmemory/agentmemory import-jsonl
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Or import a single file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx @agentmemory/agentmemory import-jsonl ~/.claude/projects/-my-project/abc123.jsonl
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Imported sessions show up in the Replay picker alongside native ones. Under the hood each entry routes through the &lt;code&gt;mem::replay::load&lt;/code&gt;, &lt;code&gt;mem::replay::sessions&lt;/code&gt;, and &lt;code&gt;mem::replay::import-jsonl&lt;/code&gt; iii functions — no side-channel servers.&lt;/p&gt;
&lt;h3 id=&#34;upgrade--maintenance&#34;&gt;Upgrade / Maintenance
&lt;/h3&gt;&lt;p&gt;Use the maintenance command when you intentionally want to update your local runtime:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx @agentmemory/agentmemory upgrade
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Warning: this command mutates the current workspace/runtime. It can update JavaScript dependencies, may run &lt;code&gt;cargo install iii-engine --force&lt;/code&gt;, and may pull Docker images.&lt;/p&gt;
&lt;p&gt;Implementation details live in &lt;code&gt;src/cli.ts&lt;/code&gt; (see &lt;code&gt;runUpgrade&lt;/code&gt; around the &lt;code&gt;src/cli.ts:544-595&lt;/code&gt; region).&lt;/p&gt;
&lt;h3 id=&#34;claude-code-one-block-paste-it&#34;&gt;Claude Code (one block, paste it)
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;run&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;npx&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;separate&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;terminal&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;start&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;server&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Then&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;run&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plugin&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;marketplace&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;add&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;rohitg00&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plugin&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;—&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;plugin&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;registers&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;all&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;12&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hooks&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;skills&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AND&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;auto&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;wires&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`@&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mcp&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stdio&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;server&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;via&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;its&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mcp&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;so&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;you&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;get&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;51&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MCP&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tools&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;memory_smart_search&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory_save&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory_sessions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory_governance_delete&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;without&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;any&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;extra&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;config&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;step&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Verify&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;curl&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;http&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;localhost&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3111&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;health&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;The&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;real&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;time&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;viewer&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;is&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;at&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;http&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;localhost&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;3113.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;details&gt;
&lt;summary&gt;&lt;b&gt;OpenClaw (paste this prompt)&lt;/b&gt;&lt;/summary&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OpenClaw&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Run&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;npx&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;separate&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;terminal&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;start&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;server&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;localhost&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;3111.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Then&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;add&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;this&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;my&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OpenClaw&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MCP&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;config&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;so&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;is&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;available&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;all&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;43&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tools&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s2&#34;&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;agentmemory&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;s2&#34;&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;npx&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;s2&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;-y&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;@agentmemory/mcp&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Restart&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OpenClaw&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Verify&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;curl&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;http&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;localhost&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3111&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;health&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Open&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;http&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;localhost&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3113&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;real&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;time&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;viewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;For&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;deeper&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;slot&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;integration&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;copy&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;integrations&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;openclaw&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;~/.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;openclaw&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;extensions&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;enable&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plugins&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;slots&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;agentmemory&amp;#34;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;~/.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;openclaw&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;openclaw&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Full guide: &lt;a class=&#34;link&#34; href=&#34;integrations/openclaw/&#34; &gt;&lt;code&gt;integrations/openclaw/&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;b&gt;Hermes Agent (paste this prompt)&lt;/b&gt;&lt;/summary&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Hermes&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Run&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;npx&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;separate&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;terminal&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;start&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;server&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;localhost&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;3111.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Then&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;add&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;this&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;~/.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hermes&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;config&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;yaml&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;so&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Hermes&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;an&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MCP&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;server&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;all&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;43&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tools&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;mcp_servers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;command&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;npx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;-y&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;@agentmemory/mcp&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;provider&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Verify&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;curl&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;http&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;localhost&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3111&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;health&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Open&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;http&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;localhost&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3113&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;real&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;time&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;viewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;For&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;deeper&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hook&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;provider&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;integration&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pre&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;LLM&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;context&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;injection&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;turn&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;capture&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MEMORY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mirroring&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;system&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;prompt&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;block&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;copy&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;integrations&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hermes&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;repo&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;~/.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hermes&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plugins&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Full guide: &lt;a class=&#34;link&#34; href=&#34;integrations/hermes/&#34; &gt;&lt;code&gt;integrations/hermes/&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;h3 id=&#34;other-agents&#34;&gt;Other agents
&lt;/h3&gt;&lt;p&gt;Start the memory server: &lt;code&gt;npx @agentmemory/agentmemory&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Then add the MCP config for your agent:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Agent&lt;/th&gt;
          &lt;th&gt;Setup&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Cursor&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Add to &lt;code&gt;~/.cursor/mcp.json&lt;/code&gt;: &lt;code&gt;{&amp;quot;mcpServers&amp;quot;: {&amp;quot;agentmemory&amp;quot;: {&amp;quot;command&amp;quot;: &amp;quot;npx&amp;quot;, &amp;quot;args&amp;quot;: [&amp;quot;-y&amp;quot;, &amp;quot;@agentmemory/mcp&amp;quot;]}}}&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;OpenClaw&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Add to MCP config: &lt;code&gt;{&amp;quot;mcpServers&amp;quot;: {&amp;quot;agentmemory&amp;quot;: {&amp;quot;command&amp;quot;: &amp;quot;npx&amp;quot;, &amp;quot;args&amp;quot;: [&amp;quot;-y&amp;quot;, &amp;quot;@agentmemory/mcp&amp;quot;]}}}&lt;/code&gt; or use the &lt;a class=&#34;link&#34; href=&#34;integrations/openclaw/&#34; &gt;memory plugin&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Gemini CLI&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;gemini mcp add agentmemory npx -y @agentmemory/mcp --scope user&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Codex CLI&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;codex mcp add agentmemory -- npx -y @agentmemory/mcp&lt;/code&gt; or add &lt;code&gt;[mcp_servers.agentmemory]&lt;/code&gt; to &lt;code&gt;.codex/config.toml&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;pi&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Copy &lt;a class=&#34;link&#34; href=&#34;integrations/pi/&#34; &gt;&lt;code&gt;integrations/pi&lt;/code&gt;&lt;/a&gt; to &lt;code&gt;~/.pi/agent/extensions/agentmemory&lt;/code&gt; and restart pi&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;OpenCode&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Add to &lt;code&gt;opencode.json&lt;/code&gt;: &lt;code&gt;{&amp;quot;mcp&amp;quot;: {&amp;quot;agentmemory&amp;quot;: {&amp;quot;type&amp;quot;: &amp;quot;local&amp;quot;, &amp;quot;command&amp;quot;: [&amp;quot;npx&amp;quot;, &amp;quot;-y&amp;quot;, &amp;quot;@agentmemory/mcp&amp;quot;], &amp;quot;enabled&amp;quot;: true}}}&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Hermes Agent&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Add to &lt;code&gt;~/.hermes/config.yaml&lt;/code&gt; with &lt;code&gt;memory.provider: agentmemory&lt;/code&gt; or use the &lt;a class=&#34;link&#34; href=&#34;integrations/hermes/&#34; &gt;memory provider plugin&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Cline / Goose / Kilo Code&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Add MCP server in settings&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Claude Desktop&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Add to &lt;code&gt;claude_desktop_config.json&lt;/code&gt;: &lt;code&gt;{&amp;quot;mcpServers&amp;quot;: {&amp;quot;agentmemory&amp;quot;: {&amp;quot;command&amp;quot;: &amp;quot;npx&amp;quot;, &amp;quot;args&amp;quot;: [&amp;quot;-y&amp;quot;, &amp;quot;@agentmemory/mcp&amp;quot;]}}}&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Aider&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;REST API: &lt;code&gt;curl -X POST http://localhost:3111/agentmemory/smart-search -d &#39;{&amp;quot;query&amp;quot;: &amp;quot;auth&amp;quot;}&#39;&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Any agent (32+)&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;npx skillkit install agentmemory&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;from-source&#34;&gt;From source
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/rohitg00/agentmemory.git &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; agentmemory
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; npm run build &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; npm start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This starts agentmemory with a local &lt;code&gt;iii-engine&lt;/code&gt; if &lt;code&gt;iii&lt;/code&gt; is already installed, or falls back to Docker Compose if Docker is available. REST, streams, and the viewer bind to &lt;code&gt;127.0.0.1&lt;/code&gt; by default.&lt;/p&gt;
&lt;p&gt;Install &lt;code&gt;iii-engine&lt;/code&gt; manually. &lt;strong&gt;agentmemory currently pins &lt;code&gt;iii-engine&lt;/code&gt; to &lt;code&gt;v0.11.2&lt;/code&gt;&lt;/strong&gt; — &lt;code&gt;v0.11.6&lt;/code&gt; introduces a new sandbox-everything-via-&lt;code&gt;iii worker add&lt;/code&gt; model that agentmemory hasn&amp;rsquo;t been refactored for yet. Pin lifts once the refactor lands. Override with &lt;code&gt;AGENTMEMORY_III_VERSION=&amp;lt;version&amp;gt;&lt;/code&gt; if you&amp;rsquo;ve migrated to the sandbox model manually.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;macOS arm64:&lt;/strong&gt; &lt;code&gt;mkdir -p ~/.local/bin &amp;amp;&amp;amp; curl -fsSL https://github.com/iii-hq/iii/releases/download/iii/v0.11.2/iii-aarch64-apple-darwin.tar.gz | tar -xz -C ~/.local/bin &amp;amp;&amp;amp; chmod +x ~/.local/bin/iii&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;macOS x64:&lt;/strong&gt; swap &lt;code&gt;aarch64-apple-darwin&lt;/code&gt; for &lt;code&gt;x86_64-apple-darwin&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Linux x64:&lt;/strong&gt; swap for &lt;code&gt;x86_64-unknown-linux-gnu&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Linux arm64:&lt;/strong&gt; swap for &lt;code&gt;aarch64-unknown-linux-gnu&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Windows:&lt;/strong&gt; download &lt;code&gt;iii-x86_64-pc-windows-msvc.zip&lt;/code&gt; from &lt;a class=&#34;link&#34; href=&#34;https://github.com/iii-hq/iii/releases/tag/iii%2Fv0.11.2&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;iii-hq/iii releases v0.11.2&lt;/a&gt;, extract &lt;code&gt;iii.exe&lt;/code&gt;, add to PATH&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Or use Docker (the bundled &lt;code&gt;docker-compose.yml&lt;/code&gt; pulls &lt;code&gt;iiidev/iii:0.11.2&lt;/code&gt;). Full docs: &lt;a class=&#34;link&#34; href=&#34;https://iii.dev/docs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;iii.dev/docs&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;windows&#34;&gt;Windows
&lt;/h3&gt;&lt;p&gt;agentmemory runs on Windows 10/11, but the Node.js package alone isn&amp;rsquo;t enough — you also need the &lt;code&gt;iii-engine&lt;/code&gt; runtime (a separate native binary) as a background process. The official upstream installer is a &lt;code&gt;sh&lt;/code&gt; script and there is no PowerShell installer or scoop/winget package today, so Windows users have two paths:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Option A — Prebuilt Windows binary (recommended):&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 1. Open https://github.com/iii-hq/iii/releases/tag/iii%2Fv0.11.2 in your browser&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;#    (we pin to v0.11.2 until agentmemory refactors for the new sandbox&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;#     model that engine v0.11.6+ requires)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 2. Download iii-x86_64-pc-windows-msvc.zip&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;#    (or iii-aarch64-pc-windows-msvc.zip if you&amp;#39;re on an ARM machine)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 3. Extract iii.exe somewhere on PATH, or place it at:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;#    %USERPROFILE%\.local\bin\iii.exe&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;#    (agentmemory checks that location automatically)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 4. Verify:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;iii&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-version&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# Should print: 0.11.2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 5. Then run agentmemory as usual:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;npx&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-y&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;@agentmemory&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Option B — Docker Desktop:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 1. Install Docker Desktop for Windows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 2. Start Docker Desktop and make sure the engine is running&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 3. Run agentmemory — it will auto-start the bundled compose file:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;npx&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-y&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;@agentmemory&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Option C — standalone MCP only (no engine):&lt;/strong&gt; if you only need the MCP tools for your agent and don&amp;rsquo;t need the REST API, viewer, or cron jobs, skip the engine entirely:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;npx&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-y&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;@agentmemory&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mcp&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# or via the shim package:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;npx&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-y&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;@agentmemory&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mcp&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Diagnostics for Windows:&lt;/strong&gt; if &lt;code&gt;npx @agentmemory/agentmemory&lt;/code&gt; fails, re-run with &lt;code&gt;--verbose&lt;/code&gt; to see the actual engine stderr. Common failure modes:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Symptom&lt;/th&gt;
          &lt;th&gt;Fix&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;iii-engine process started&lt;/code&gt; then &lt;code&gt;did not become ready within 15s&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Engine crashed on startup — re-run with &lt;code&gt;--verbose&lt;/code&gt;, check stderr&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;Could not start iii-engine&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Neither &lt;code&gt;iii.exe&lt;/code&gt; nor Docker is installed. See Option A or B above&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Port conflict&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;netstat -ano | findstr :3111&lt;/code&gt; to see what&amp;rsquo;s bound, then kill it or use &lt;code&gt;--port &amp;lt;N&amp;gt;&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Docker fallback skipped even though Docker is installed&lt;/td&gt;
          &lt;td&gt;Make sure Docker Desktop is actually running (system tray icon)&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: there is no &lt;code&gt;cargo install iii-engine&lt;/code&gt; — &lt;code&gt;iii&lt;/code&gt; is not published to crates.io. The only supported install methods are the prebuilt binary above, the upstream &lt;code&gt;sh&lt;/code&gt; install script (macOS/Linux only), and the Docker image.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;why-agentmemory&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-why.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-why.svg&#34; alt=&#34;Why agentmemory&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;p&gt;Every coding agent forgets everything when the session ends. You waste the first 5 minutes of every session re-explaining your stack. agentmemory runs in the background and eliminates that entirely.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Session&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Add auth to the API&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;Agent&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;writes&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;code&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;runs&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tests&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;fixes&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;bugs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;agentmemory&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;silently&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;captures&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;every&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;tool&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;use&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;Session&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ends&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;observations&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;compressed&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;into&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;structured&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Session&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Now add rate limiting&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;Agent&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;already&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;knows&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Auth&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;uses&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;JWT&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;middleware&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;src&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;middleware&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;auth&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Tests&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;test&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;auth&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;test&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cover&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;token&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;validation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;You&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;chose&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;jose&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;over&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;jsonwebtoken&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Edge&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;compatibility&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;Zero&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;re&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;explaining&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Starts&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;working&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;immediately&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;vs-built-in-agent-memory&#34;&gt;vs built-in agent memory
&lt;/h3&gt;&lt;p&gt;Every AI coding agent ships with built-in memory — Claude Code has &lt;code&gt;MEMORY.md&lt;/code&gt;, Cursor has notepads, Cline has memory bank. These work like sticky notes. agentmemory is the searchable database behind the sticky notes.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;Built-in (CLAUDE.md)&lt;/th&gt;
          &lt;th&gt;agentmemory&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Scale&lt;/td&gt;
          &lt;td&gt;200-line cap&lt;/td&gt;
          &lt;td&gt;Unlimited&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Search&lt;/td&gt;
          &lt;td&gt;Loads everything into context&lt;/td&gt;
          &lt;td&gt;BM25 + vector + graph (top-K only)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Token cost&lt;/td&gt;
          &lt;td&gt;22K+ at 240 observations&lt;/td&gt;
          &lt;td&gt;~1,900 tokens (92% less)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Cross-agent&lt;/td&gt;
          &lt;td&gt;Per-agent files&lt;/td&gt;
          &lt;td&gt;MCP + REST (any agent)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Coordination&lt;/td&gt;
          &lt;td&gt;None&lt;/td&gt;
          &lt;td&gt;Leases, signals, actions, routines&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Observability&lt;/td&gt;
          &lt;td&gt;Read files manually&lt;/td&gt;
          &lt;td&gt;Real-time viewer on :3113&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;how-it-works&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-how.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-how.svg&#34; alt=&#34;How It Works&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;h3 id=&#34;memory-pipeline&#34;&gt;Memory Pipeline
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;PostToolUse hook fires
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; SHA-256 dedup (5min window)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; Privacy filter (strip secrets, API keys)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; Store raw observation
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; LLM compress -&amp;gt; structured facts + concepts + narrative
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; Vector embedding (6 providers + local)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; Index in BM25 + vector
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Stop / SessionEnd hook fires
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; Summarize session
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; Knowledge graph extraction (if GRAPH_EXTRACTION_ENABLED=true)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; Slot reflection (if SLOT_REFLECT_ENABLED=true)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;SessionStart hook fires
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; Load project profile (top concepts, files, patterns)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; Hybrid search (BM25 + vector + graph)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; Token budget (default: 2000 tokens)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; Inject into conversation
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;4-tier-memory-consolidation&#34;&gt;4-Tier Memory Consolidation
&lt;/h3&gt;&lt;p&gt;Inspired by how human brains process memory — not unlike sleep consolidation.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Tier&lt;/th&gt;
          &lt;th&gt;What&lt;/th&gt;
          &lt;th&gt;Analogy&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Working&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Raw observations from tool use&lt;/td&gt;
          &lt;td&gt;Short-term memory&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Episodic&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Compressed session summaries&lt;/td&gt;
          &lt;td&gt;&amp;ldquo;What happened&amp;rdquo;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Semantic&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Extracted facts and patterns&lt;/td&gt;
          &lt;td&gt;&amp;ldquo;What I know&amp;rdquo;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Procedural&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Workflows and decision patterns&lt;/td&gt;
          &lt;td&gt;&amp;ldquo;How to do it&amp;rdquo;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Memories decay over time (Ebbinghaus curve). Frequently accessed memories strengthen. Stale memories auto-evict. Contradictions are detected and resolved.&lt;/p&gt;
&lt;h3 id=&#34;what-gets-captured&#34;&gt;What Gets Captured
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Hook&lt;/th&gt;
          &lt;th&gt;Captures&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;SessionStart&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Project path, session ID&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;UserPromptSubmit&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;User prompts (privacy-filtered)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;PreToolUse&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;File access patterns + enriched context&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;PostToolUse&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Tool name, input, output&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;PostToolUseFailure&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Error context&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;PreCompact&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Re-injects memory before compaction&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;SubagentStart/Stop&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Sub-agent lifecycle&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;Stop&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;End-of-session summary&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;SessionEnd&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Session complete marker&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;key-capabilities&#34;&gt;Key Capabilities
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Capability&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Automatic capture&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Every tool use recorded via hooks — zero manual effort&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Semantic search&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;BM25 + vector + knowledge graph with RRF fusion&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Memory evolution&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Versioning, supersession, relationship graphs&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Auto-forgetting&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;TTL expiry, contradiction detection, importance eviction&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Privacy first&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;API keys, secrets, &lt;code&gt;&amp;lt;private&amp;gt;&lt;/code&gt; tags stripped before storage&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Self-healing&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Circuit breaker, provider fallback chain, health monitoring&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Claude bridge&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Bi-directional sync with MEMORY.md&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Knowledge graph&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Entity extraction + BFS traversal&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Team memory&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Namespaced shared + private across team members&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Citation provenance&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Trace any memory back to source observations&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Git snapshots&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Version, rollback, and diff memory state&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;search&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-search.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-search.svg&#34; alt=&#34;Search&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;p&gt;Triple-stream retrieval combining three signals:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Stream&lt;/th&gt;
          &lt;th&gt;What it does&lt;/th&gt;
          &lt;th&gt;When&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;BM25&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Stemmed keyword matching with synonym expansion&lt;/td&gt;
          &lt;td&gt;Always on&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Vector&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Cosine similarity over dense embeddings&lt;/td&gt;
          &lt;td&gt;Embedding provider configured&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Graph&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Knowledge graph traversal via entity matching&lt;/td&gt;
          &lt;td&gt;Entities detected in query&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Fused with Reciprocal Rank Fusion (RRF, k=60) and session-diversified (max 3 results per session).&lt;/p&gt;
&lt;h3 id=&#34;embedding-providers&#34;&gt;Embedding providers
&lt;/h3&gt;&lt;p&gt;agentmemory auto-detects your provider. For best results, install local embeddings (free):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install @xenova/transformers
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Provider&lt;/th&gt;
          &lt;th&gt;Model&lt;/th&gt;
          &lt;th&gt;Cost&lt;/th&gt;
          &lt;th&gt;Notes&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Local (recommended)&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;all-MiniLM-L6-v2&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Free&lt;/td&gt;
          &lt;td&gt;Offline, +8pp recall over BM25-only&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Gemini&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;text-embedding-004&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Free tier&lt;/td&gt;
          &lt;td&gt;1500 RPM&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;OpenAI&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;text-embedding-3-small&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;$0.02/1M&lt;/td&gt;
          &lt;td&gt;Highest quality&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Voyage AI&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;voyage-code-3&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Paid&lt;/td&gt;
          &lt;td&gt;Optimized for code&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Cohere&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;embed-english-v3.0&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Free trial&lt;/td&gt;
          &lt;td&gt;General purpose&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;OpenRouter&lt;/td&gt;
          &lt;td&gt;Any model&lt;/td&gt;
          &lt;td&gt;Varies&lt;/td&gt;
          &lt;td&gt;Multi-model proxy&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;mcp-server&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-mcp.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-mcp.svg&#34; alt=&#34;MCP Server&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;p&gt;51 tools, 6 resources, 3 prompts, and 4 skills — the most comprehensive MCP memory toolkit for any agent.&lt;/p&gt;
&lt;h3 id=&#34;50-tools&#34;&gt;50 Tools
&lt;/h3&gt;&lt;details&gt;
&lt;summary&gt;Core tools (always available)&lt;/summary&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Tool&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_recall&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Search past observations&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_compress_file&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Compress markdown files while preserving structure&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_save&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Save an insight, decision, or pattern&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_patterns&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Detect recurring patterns&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_smart_search&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Hybrid semantic + keyword search&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_file_history&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Past observations about specific files&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_sessions&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;List recent sessions&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_timeline&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Chronological observations&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_profile&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Project profile (concepts, files, patterns)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_export&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Export all memory data&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_relations&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Query relationship graph&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;Extended tools (50 total — set AGENTMEMORY_TOOLS=all)&lt;/summary&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Tool&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_patterns&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Detect recurring patterns&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_timeline&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Chronological observations&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_relations&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Query relationship graph&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_graph_query&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Knowledge graph traversal&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_consolidate&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Run 4-tier consolidation&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_claude_bridge_sync&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Sync with MEMORY.md&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_team_share&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Share with team members&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_team_feed&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Recent shared items&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_audit&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Audit trail of operations&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_governance_delete&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Delete with audit trail&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_snapshot_create&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Git-versioned snapshot&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_action_create&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Create work items with dependencies&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_action_update&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Update action status&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_frontier&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Unblocked actions ranked by priority&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_next&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Single most important next action&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_lease&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Exclusive action leases (multi-agent)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_routine_run&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Instantiate workflow routines&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_signal_send&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Inter-agent messaging&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_signal_read&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Read messages with receipts&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_checkpoint&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;External condition gates&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_mesh_sync&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;P2P sync between instances&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_sentinel_create&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Event-driven watchers&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_sentinel_trigger&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Fire sentinels externally&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_sketch_create&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Ephemeral action graphs&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_sketch_promote&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Promote to permanent&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_crystallize&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Compact action chains&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_diagnose&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Health checks&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_heal&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Auto-fix stuck state&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_facet_tag&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Dimension:value tags&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_facet_query&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Query by facet tags&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;memory_verify&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Trace provenance&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/details&gt;
&lt;h3 id=&#34;6-resources--3-prompts--4-skills&#34;&gt;6 Resources · 3 Prompts · 4 Skills
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Type&lt;/th&gt;
          &lt;th&gt;Name&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Resource&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;agentmemory://status&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Health, session count, memory count&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Resource&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;agentmemory://project/{name}/profile&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Per-project intelligence&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Resource&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;agentmemory://memories/latest&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Latest 10 active memories&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Resource&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;agentmemory://graph/stats&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Knowledge graph statistics&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Prompt&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;recall_context&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Search + return context messages&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Prompt&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;session_handoff&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Handoff data between agents&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Prompt&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;detect_patterns&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Analyze recurring patterns&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Skill&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/recall&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Search memory&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Skill&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/remember&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Save to long-term memory&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Skill&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/session-history&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Recent session summaries&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Skill&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/forget&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Delete observations/sessions&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;standalone-mcp&#34;&gt;Standalone MCP
&lt;/h3&gt;&lt;p&gt;Run without the full server — for any MCP client. Either of these works:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx -y @agentmemory/agentmemory mcp   &lt;span class=&#34;c1&#34;&gt;# canonical (always available)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx -y @agentmemory/mcp                &lt;span class=&#34;c1&#34;&gt;# shim package alias&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Or add to your agent&amp;rsquo;s MCP config:&lt;/p&gt;
&lt;p&gt;Most agents (Cursor, Claude Desktop, Cline, etc.):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;agentmemory&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;npx&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;-y&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;@agentmemory/mcp&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;OpenCode (&lt;code&gt;opencode.json&lt;/code&gt;):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;mcp&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;agentmemory&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;local&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;npx&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;-y&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;@agentmemory/mcp&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;enabled&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;real-time-viewer&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-viewer.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-viewer.svg&#34; alt=&#34;Real-Time Viewer&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;p&gt;Auto-starts on port &lt;code&gt;3113&lt;/code&gt;. Live observation stream, session explorer, memory browser, knowledge graph visualization, and health dashboard.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;open http://localhost:3113
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The viewer server binds to &lt;code&gt;127.0.0.1&lt;/code&gt; by default. The REST-served &lt;code&gt;/agentmemory/viewer&lt;/code&gt; endpoint follows the normal &lt;code&gt;AGENTMEMORY_SECRET&lt;/code&gt; bearer-token rules. CSP headers use a per-response script nonce and disable inline handler attributes (&lt;code&gt;script-src-attr &#39;none&#39;&lt;/code&gt;).&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;iii-console&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-viewer.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-viewer.svg&#34; alt=&#34;iii Console&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;p&gt;The viewer at &lt;code&gt;:3113&lt;/code&gt; shows what your agent &lt;strong&gt;remembered&lt;/strong&gt;. The &lt;a class=&#34;link&#34; href=&#34;https://iii.dev/docs/console&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;iii console&lt;/a&gt; shows what your agent &lt;strong&gt;did&lt;/strong&gt; — every memory op as an OpenTelemetry trace, every KV entry editable, every function invocable, every stream tappable. Two windows on the same memory: one product-shaped, one engine-shaped.&lt;/p&gt;
&lt;p&gt;Watch a &lt;code&gt;memory_smart_search&lt;/code&gt; fire and see the BM25 scan → embedding lookup → RRF fusion → reranker as a waterfall. Edit a stuck consolidation timer in the KV browser. Replay a &lt;code&gt;PostToolUse&lt;/code&gt; hook with a tweaked payload. Pin the WebSocket stream and watch observations land live.&lt;/p&gt;
&lt;p&gt;agentmemory ships this for free because every function, trigger, state scope, and stream is an iii primitive — nothing custom, nothing to instrument.&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;assets/iii-console/workers.png&#34; alt=&#34;iii console Workers page — connected workers including agentmemory instances with live function counts and runtime metadata&#34; width=&#34;720&#34; /&gt;
  &lt;br/&gt;
  &lt;em&gt;Workers page: every connected worker — including agentmemory itself — with PID, function count, runtime, and last-seen.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Already installed.&lt;/strong&gt; The console ships with &lt;code&gt;iii&lt;/code&gt; — no separate installer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Launch alongside agentmemory:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# agentmemory viewer holds port 3113, so run the console on 3114.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Engine REST (3111), WebSocket (3112), and bridge (49134) defaults match agentmemory.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;iii console --port &lt;span class=&#34;m&#34;&gt;3114&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Then open &lt;code&gt;http://localhost:3114&lt;/code&gt;. Add &lt;code&gt;--enable-flow&lt;/code&gt; for the experimental architecture-graph page.&lt;/p&gt;
&lt;p&gt;Override engine endpoints only if you&amp;rsquo;ve moved them:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;iii console --port &lt;span class=&#34;m&#34;&gt;3114&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --engine-port &lt;span class=&#34;m&#34;&gt;3111&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --ws-port &lt;span class=&#34;m&#34;&gt;3112&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --bridge-port &lt;span class=&#34;m&#34;&gt;49134&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;What you can do from the console:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Page&lt;/th&gt;
          &lt;th&gt;Use it to&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Workers&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;See every connected worker and its live metrics — including the agentmemory worker itself.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Functions&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Invoke any of agentmemory&amp;rsquo;s functions directly with a JSON payload — handy for testing &lt;code&gt;memory.recall&lt;/code&gt;, &lt;code&gt;memory.consolidate&lt;/code&gt;, &lt;code&gt;graph.query&lt;/code&gt; without wiring a client.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Triggers&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Replay HTTP, cron, event, and state triggers — fire the consolidation cron manually, retry an HTTP route, emit a state change.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;States&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;KV browser with full CRUD — sessions, memory slots, lifecycle timers, embeddings index — edit values in place.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Streams&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Live WebSocket monitor for memory writes, hook events, and observation updates as they flow through iii streams.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Queues&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Durable queue topics + dead-letter management. Replay or drop failed embedding / compression jobs.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Traces&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;OpenTelemetry waterfall / flame / service-breakdown views. Filter by &lt;code&gt;trace_id&lt;/code&gt; to see exactly which functions, DB calls, and embedding requests a single &lt;code&gt;memory.search&lt;/code&gt; produced.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Logs&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Structured OTEL logs filtered and correlated to trace/span IDs.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Config&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Runtime configuration — see exactly which workers, providers, and ports your engine is running with.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Flow&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;(Optional, &lt;code&gt;--enable-flow&lt;/code&gt;) Interactive architecture graph of every worker, trigger, and stream.&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;assets/iii-console/traces-waterfall.png&#34; alt=&#34;iii console trace waterfall view showing per-span duration&#34; width=&#34;720&#34; /&gt;
  &lt;br/&gt;
  &lt;em&gt;Traces: waterfall / flame / service breakdown for every memory operation.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Traces are already on:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;iii-config.yaml&lt;/code&gt; ships with the &lt;code&gt;iii-observability&lt;/code&gt; worker enabled (&lt;code&gt;exporter: memory&lt;/code&gt;, &lt;code&gt;sampling_ratio: 1.0&lt;/code&gt;, metrics + logs). No extra config needed — the moment agentmemory starts, every memory operation emits a trace span and a structured log the console can read.&lt;/p&gt;
&lt;p&gt;If you want to export to Jaeger/Honeycomb/Grafana Tempo instead, change &lt;code&gt;exporter: memory&lt;/code&gt; to &lt;code&gt;exporter: otlp&lt;/code&gt; and set the collector endpoint per iii&amp;rsquo;s observability docs.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Heads-up:&lt;/strong&gt; no auth is enforced on the console itself — keep it bound to &lt;code&gt;127.0.0.1&lt;/code&gt; (the default) and never expose it publicly.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;powered-by-iii&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-architecture.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-architecture.svg&#34; alt=&#34;Powered by iii&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;p&gt;agentmemory is &lt;strong&gt;already a running &lt;a class=&#34;link&#34; href=&#34;https://iii.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;iii&lt;/a&gt; instance&lt;/strong&gt;. Functions, triggers, KV state, streams, OTEL traces — all of it is iii primitives. You didn&amp;rsquo;t install Postgres, Redis, Express, pm2, or Prometheus, because iii replaces them.&lt;/p&gt;
&lt;p&gt;That means one more command extends agentmemory with an entire new capability.&lt;/p&gt;
&lt;h3 id=&#34;extend-agentmemory-with-one-command&#34;&gt;Extend agentmemory with one command
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;iii worker add iii-pubsub          &lt;span class=&#34;c1&#34;&gt;# fan memory writes out to every connected instance&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;iii worker add iii-cron            &lt;span class=&#34;c1&#34;&gt;# scheduled consolidation, decay sweeps, snapshot rotation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;iii worker add iii-queue           &lt;span class=&#34;c1&#34;&gt;# durable retries for embedding + compression jobs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;iii worker add iii-observability   &lt;span class=&#34;c1&#34;&gt;# OTEL traces on every memory op (default on)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;iii worker add iii-sandbox         &lt;span class=&#34;c1&#34;&gt;# run recalled code inside an isolated microVM&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;iii worker add iii-database        &lt;span class=&#34;c1&#34;&gt;# swap in a SQL-backed state adapter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;iii worker add mcp                 &lt;span class=&#34;c1&#34;&gt;# generic MCP host alongside the agentmemory MCP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Each &lt;code&gt;iii worker add&lt;/code&gt; registers new functions and triggers into the same engine agentmemory is already running on. The viewer and console pick them up immediately — no reload, no new integration, no new container.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;code&gt;iii worker add&lt;/code&gt;&lt;/th&gt;
          &lt;th&gt;What you get on top of agentmemory&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://workers.iii.dev/workers/iii-pubsub&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;iii-pubsub&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Multi-instance memory: every &lt;code&gt;remember&lt;/code&gt; fans out, every &lt;code&gt;search&lt;/code&gt; reads the union&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://workers.iii.dev/workers/iii-cron&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;iii-cron&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Scheduled lifecycle — nightly consolidation, weekly snapshots, decay on a fixed clock&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://workers.iii.dev/workers/iii-queue&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;iii-queue&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Durable retries: failed embedding + compression jobs survive restart, no lost observations&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://workers.iii.dev/workers/iii-observability&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;iii-observability&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;OTEL traces, metrics, logs on every function — wired in &lt;code&gt;iii-config.yaml&lt;/code&gt; from day one&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://workers.iii.dev/workers/iii-sandbox&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;iii-sandbox&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Code that came out of &lt;code&gt;memory_recall&lt;/code&gt; runs inside a throwaway VM, not your shell&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://workers.iii.dev/workers/iii-database&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;iii-database&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;SQL-backed state adapter when you outgrow the in-memory KV defaults&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://workers.iii.dev/workers/mcp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;mcp&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Stand up extra MCP servers next to agentmemory&amp;rsquo;s, share the same engine&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Full registry: &lt;a class=&#34;link&#34; href=&#34;https://workers.iii.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;workers.iii.dev&lt;/a&gt;. Every worker there composes through the same primitives agentmemory uses — and the agentmemory you already have is one of them.&lt;/p&gt;
&lt;h3 id=&#34;what-iii-replaces&#34;&gt;What iii replaces
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Traditional stack&lt;/th&gt;
          &lt;th&gt;agentmemory uses&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Express.js / Fastify&lt;/td&gt;
          &lt;td&gt;iii HTTP Triggers&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;SQLite / Postgres + pgvector&lt;/td&gt;
          &lt;td&gt;iii KV State + in-memory vector index&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;SSE / Socket.io&lt;/td&gt;
          &lt;td&gt;iii Streams (WebSocket)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;pm2 / systemd&lt;/td&gt;
          &lt;td&gt;iii engine worker supervision&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Prometheus / Grafana&lt;/td&gt;
          &lt;td&gt;iii OTEL + health monitor&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Custom plugin systems&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;iii worker add &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;118 source files · ~21,800 LOC · 800 tests · 123 functions · 34 KV scopes&lt;/strong&gt; — all on three primitives. No &lt;code&gt;agentmemory plugin install&lt;/code&gt;. The plugin system is iii itself.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;configuration&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-config.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-config.svg&#34; alt=&#34;Configuration&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;h3 id=&#34;llm-providers&#34;&gt;LLM Providers
&lt;/h3&gt;&lt;p&gt;agentmemory auto-detects from your environment. No API key needed if you have a Claude subscription.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Provider&lt;/th&gt;
          &lt;th&gt;Config&lt;/th&gt;
          &lt;th&gt;Notes&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;No-op (default)&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;No config needed&lt;/td&gt;
          &lt;td&gt;LLM-backed compress/summarize is DISABLED. Synthetic BM25 compression + recall still work. See &lt;code&gt;AGENTMEMORY_ALLOW_AGENT_SDK&lt;/code&gt; below if you used to rely on the Claude-subscription fallback.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Anthropic API&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;ANTHROPIC_API_KEY&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Per-token billing&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;MiniMax&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;MINIMAX_API_KEY&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Anthropic-compatible&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Gemini&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;GEMINI_API_KEY&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Also enables embeddings&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;OpenRouter&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;OPENROUTER_API_KEY&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Any model&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude subscription fallback&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;AGENTMEMORY_ALLOW_AGENT_SDK=true&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Opt-in only. Spawns &lt;code&gt;@anthropic-ai/claude-agent-sdk&lt;/code&gt; sessions — used to cause unbounded Stop-hook recursion (#149 follow-up) so it is no longer the default.&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;environment-variables&#34;&gt;Environment Variables
&lt;/h3&gt;&lt;p&gt;Create &lt;code&gt;~/.agentmemory/.env&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;44
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;45
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;46
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;47
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;48
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;49
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;50
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;51
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;52
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;53
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;54
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;55
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;56
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;57
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;58
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;59
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;60
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;61
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;62
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;63
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;64
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;65
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;66
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;67
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;68
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;69
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;70
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;71
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;72
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;73
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;74
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;75
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;76
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;77
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;78
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;79
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;80
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;81
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-env&#34; data-lang=&#34;env&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# LLM provider (pick one — default is the no-op provider: no LLM calls)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ANTHROPIC_API_KEY=sk-ant-...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ANTHROPIC_BASE_URL=...              # Optional: Anthropic-compatible proxy / Azure&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# GEMINI_API_KEY=...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# OPENROUTER_API_KEY=...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# MINIMAX_API_KEY=...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Opt-in Claude-subscription fallback (spawns @anthropic-ai/claude-agent-sdk);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# leave OFF unless you understand the Stop-hook recursion risk (#149 follow-up):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# AGENTMEMORY_ALLOW_AGENT_SDK=true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Embedding provider (auto-detected, or override)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# EMBEDDING_PROVIDER=local&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# VOYAGE_API_KEY=...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# OPENAI_API_KEY=sk-...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# OPENAI_BASE_URL=https://api.openai.com   # Override for Azure / vLLM / LM Studio / proxies&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# OPENAI_EMBEDDING_MODEL=text-embedding-3-small&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# OPENAI_EMBEDDING_DIMENSIONS=1536        # Required when the model is not in the known-models table&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Search tuning&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# BM25_WEIGHT=0.4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# VECTOR_WEIGHT=0.6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# TOKEN_BUDGET=2000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Auth&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# AGENTMEMORY_SECRET=your-secret&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ports (defaults: 3111 API, 3113 viewer)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# III_REST_PORT=3111&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Features&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# AGENTMEMORY_AUTO_COMPRESS=false  # OFF by default (#138). When on,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# every PostToolUse hook calls your&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# LLM provider to compress the&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# observation — expect significant&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# token spend on active sessions.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# AGENTMEMORY_SLOTS=false          # OFF by default. Editable pinned&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# memory slots — persona,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# user_preferences, tool_guidelines,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# project_context, guidance,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# pending_items, session_patterns,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# self_notes. Size-limited; agent&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# edits via memory_slot_* tools.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# Pinned slots addressable for&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# SessionStart injection.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# AGENTMEMORY_REFLECT=false        # OFF by default. Requires SLOTS=on.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# Stop hook fires mem::slot-reflect:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# scans recent observations, auto-&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# appends TODOs to pending_items,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# counts patterns in&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# session_patterns, records touched&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# files in project_context. Fire-&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# and-forget; does not block.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# AGENTMEMORY_INJECT_CONTEXT=false # OFF by default (#143). When on:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# - SessionStart may inject ~1-2K&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;#   chars of project context into&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;#   the first turn of each session&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;#   (this is what actually reaches&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;#   the model — Claude Code treats&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;#   SessionStart stdout as context)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# - PreToolUse fires /agentmemory/enrich&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;#   on every file-touching tool call&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;#   (resource cleanup, not a token&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;#   fix — PreToolUse stdout is debug&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;#   log only per Claude Code docs)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# Observations are still captured via&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                   &lt;span class=&#34;c1&#34;&gt;# PostToolUse regardless of this flag.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# GRAPH_EXTRACTION_ENABLED=false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# CONSOLIDATION_ENABLED=true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# LESSON_DECAY_ENABLED=true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# OBSIDIAN_AUTO_EXPORT=false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# AGENTMEMORY_EXPORT_ROOT=~/.agentmemory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# CLAUDE_MEMORY_BRIDGE=false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# SNAPSHOT_ENABLED=false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Team&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# TEAM_ID=&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# USER_ID=&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# TEAM_MODE=private&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Tool visibility: &amp;#34;core&amp;#34; (8 tools) or &amp;#34;all&amp;#34; (51 tools)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# AGENTMEMORY_TOOLS=core&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;api&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-api.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-api.svg&#34; alt=&#34;API&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;p&gt;107 endpoints on port &lt;code&gt;3111&lt;/code&gt;. The REST API binds to &lt;code&gt;127.0.0.1&lt;/code&gt; by default. Protected endpoints require &lt;code&gt;Authorization: Bearer &amp;lt;secret&amp;gt;&lt;/code&gt; when &lt;code&gt;AGENTMEMORY_SECRET&lt;/code&gt; is set, and mesh sync endpoints require &lt;code&gt;AGENTMEMORY_SECRET&lt;/code&gt; on both peers.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Key endpoints&lt;/summary&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Method&lt;/th&gt;
          &lt;th&gt;Path&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;GET&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/health&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Health check (always public)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/session/start&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Start session + get context&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/session/end&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;End session&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/observe&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Capture observation&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/smart-search&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Hybrid search&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/context&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Generate context&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/remember&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Save to long-term memory&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/forget&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Delete observations&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/enrich&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;File context + memories + bugs&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;GET&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/profile&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Project profile&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;GET&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/export&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Export all data&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/import&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Import from JSON&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/graph/query&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Knowledge graph query&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;POST&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/team/share&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Share with team&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;GET&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;/agentmemory/audit&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Audit trail&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Full endpoint list: &lt;a class=&#34;link&#34; href=&#34;src/triggers/api.ts&#34; &gt;&lt;code&gt;src/triggers/api.ts&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h2 id=&#34;development&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-development.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-development.svg&#34; alt=&#34;Development&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run dev               &lt;span class=&#34;c1&#34;&gt;# Hot reload&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run build             &lt;span class=&#34;c1&#34;&gt;# Production build&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm &lt;span class=&#34;nb&#34;&gt;test&lt;/span&gt;                  &lt;span class=&#34;c1&#34;&gt;# 800 tests (~1.7s)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run test:integration  &lt;span class=&#34;c1&#34;&gt;# API tests (requires running services)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Prerequisites:&lt;/strong&gt; Node.js &amp;gt;= 20, &lt;a class=&#34;link&#34; href=&#34;https://iii.dev/docs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;iii-engine&lt;/a&gt; or Docker&lt;/p&gt;
&lt;h2 id=&#34;license&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/tags/light/section-license.svg&#34;&gt;&lt;img src=&#34;assets/tags/section-license.svg&#34; alt=&#34;License&#34; height=&#34;32&#34; /&gt;&lt;/picture&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;LICENSE&#34; &gt;Apache-2.0&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
