From e3f0276a3e9e2437d0058100137c77548a736811 Mon Sep 17 00:00:00 2001
From: Rohit Ghumare
Date: Fri, 15 May 2026 17:32:04 +0100
Subject: [PATCH 1/4] fix(cli): rerender splash banner with clean figlet output
+ README npx caveat
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Two small fixes from local v0.9.15 testing:
1. The hand-drawn ASCII in `src/cli/splash.ts` was rendering "agentmemory"
with broken middle glyphs — `_ _` instead of `_ __` around the 'n'
and merged 'tm/me' segments. Replaced with verified `figlet
agentmemory` standard-font output (70 cols, 6 rows, regenerable).
Compact + minimal banners untouched.
2. Added a "Recommended: install globally" section to README's Quick
Start. Explains the npx per-version cache gotcha (running
`npx ...@0.9.14` then `npx @agentmemory/agentmemory` may serve the
stale cached version) and the three workarounds:
- `npm install -g @agentmemory/agentmemory` (recommended)
- `npx -y @agentmemory/agentmemory@latest` (forces fresh fetch)
- `rm -rf ~/.npm/_npx && npx ...` (one-shot cache clear)
Notes that v0.9.16 ships an interactive global-install prompt
inline on first npx run.
Build clean (44.46 kB cli.mjs). All 954 tests pass.
---
README.md | 20 ++++++++++++++++++++
src/cli/splash.ts | 19 ++++++++++---------
2 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/README.md b/README.md
index 245dad27..95d37845 100644
--- a/README.md
+++ b/README.md
@@ -321,6 +321,26 @@ npx @agentmemory/agentmemory demo
Open `http://localhost:3113` to watch the memory build live.
+### Recommended: install globally
+
+`npx` caches per-version. If you ran `npx @agentmemory/agentmemory@0.9.14` last week, a bare `npx @agentmemory/agentmemory` may serve the stale 0.9.14 from `~/.npm/_npx/`, not the latest release. Install once and the bare `agentmemory` command works everywhere:
+
+```bash
+npm install -g @agentmemory/agentmemory
+agentmemory # start the server (same as the npx form)
+agentmemory stop # tear it down
+agentmemory remove # uninstall everything we created
+agentmemory connect claude-code # wire one agent
+agentmemory doctor # interactive diagnostics + fix prompts
+```
+
+From v0.9.16 onward, the first npx run prompts you to install globally inline — answer `Y` once and you're set. If you skip, fall back to either of these for a fresh fetch:
+
+```bash
+npx -y @agentmemory/agentmemory@latest # forces latest from npm
+rm -rf ~/.npm/_npx && npx @agentmemory/agentmemory # clear cache once
+```
+
### Session Replay
Every session agentmemory records is replayable. Open the viewer, pick the **Replay** 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).
diff --git a/src/cli/splash.ts b/src/cli/splash.ts
index bc7f7b46..ad18b2ae 100644
--- a/src/cli/splash.ts
+++ b/src/cli/splash.ts
@@ -42,17 +42,18 @@ function getTerminalWidth(): number {
const TAGLINE = "Persistent memory for AI coding agents";
-// Block-art "agentmemory" lettering. Hand-drawn in box-drawing chars so
-// we don't need a figlet dependency. Each row is 70 columns wide which
-// gives ~25 cols of breathing room on the 120-col tier.
+// "agentmemory" rendered in figlet's standard font (verified output —
+// regenerate via `figlet agentmemory` if you change the wordmark). Each
+// row is exactly 70 columns wide so the banner aligns cleanly inside
+// the 2-col left margin we add below.
function fullBanner(version: string): string {
const logo = [
- " _ ",
- " __ _ __ _ ___ _ _ | |_ _ __ ___ _ __ ___ ___ _ __ _ _ ",
- " / _` |/ _` |/ _ \\ '_\\| __| ' \\/ -_) ' \\ _ \\ / _ \\| '__| | | | ",
- "| (_| | (_| | __/ | || |_| | | \\___| | | | | | (_) | | | |_| | ",
- " \\__,_|\\__, |\\___|_| \\__|_| |_| |_| |_| |_|\\___/|_| \\__, | ",
- " |___/ |___/ ",
+ " _ ",
+ " __ _ __ _ ___ _ __ | |_ _ __ ___ ___ _ __ ___ ___ _ __ _ _ ",
+ " / _` |/ _` |/ _ \\ '_ \\| __| '_ ` _ \\ / _ \\ '_ ` _ \\ / _ \\| '__| | | |",
+ "| (_| | (_| | __/ | | | |_| | | | | | __/ | | | | | (_) | | | |_| |",
+ " \\__,_|\\__, |\\___|_| |_|\\__|_| |_| |_|\\___|_| |_| |_|\\___/|_| \\__, |",
+ " |___/ |___/ ",
];
const lines: string[] = ["", ...logo.map((line) => " " + accent(line))];
lines.push("");
From 9fa4a7e1025b9d8b236f1a2617d07b5a40b67db2 Mon Sep 17 00:00:00 2001
From: Rohit Ghumare
Date: Fri, 15 May 2026 17:39:04 +0100
Subject: [PATCH 2/4] docs: hoist install section to top of README + update
website Install card
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
README: install was buried at line 306 below benchmarks, comparison
tables, and the agents grid. Moved a 4-line install block right under
the nav anchors at the top, with the bare `agentmemory` command from
the global install path leading. Kept the deeper Quick Start section
below — this is the "front door" version.
website (Install.tsx): the three-card install flow now leads with
`npm install -g @agentmemory/agentmemory` (step 1), then bare
`agentmemory` + `agentmemory demo`. Section title changed from "THREE
COMMANDS. ANY AGENT." to "ONE INSTALL. ANY AGENT." and the lede notes
the npx fallback for users who want zero-install.
website/lib/generated-meta.json refreshed by the build (auto-derived
from package.json + walked test count; pre-existing feedback rule).
Build clean (website + main both pass).
---
README.md | 22 ++++++++++++++++++++++
website/components/Install.tsx | 23 ++++++++++++-----------
website/lib/generated-meta.json | 6 +++---
3 files changed, 37 insertions(+), 14 deletions(-)
diff --git a/README.md b/README.md
index 95d37845..b6490017 100644
--- a/README.md
+++ b/README.md
@@ -53,6 +53,7 @@
+ Install •
Quick Start •
Benchmarks •
vs Competitors •
@@ -68,6 +69,27 @@
---
+## Install
+
+```bash
+npm install -g @agentmemory/agentmemory # once — bare `agentmemory` on PATH
+agentmemory # start the memory server on :3111
+agentmemory demo # seed sample sessions + prove recall
+agentmemory connect claude-code # wire your agent (also: codex, cursor, gemini-cli, ...)
+```
+
+Or via `npx` (no install):
+
+```bash
+npx @agentmemory/agentmemory
+```
+
+Heads-up — npx caches per version. If a bare `npx @agentmemory/agentmemory` serves an older release, force the latest with `npx -y @agentmemory/agentmemory@latest`, or clear the cache once with `rm -rf ~/.npm/_npx`. The first npx run from v0.9.16+ prompts to install globally inline so the bare `agentmemory` command works everywhere afterwards.
+
+Full options at [Quick Start](#quick-start) below. Agent-specific wiring at [Works with every agent](#works-with-every-agent).
+
+---
+
agentmemory works with any agent that supports hooks, MCP, or REST API. All agents share the same memory server.
diff --git a/website/components/Install.tsx b/website/components/Install.tsx
index 02d07588..303e09f8 100644
--- a/website/components/Install.tsx
+++ b/website/components/Install.tsx
@@ -12,19 +12,19 @@ interface Cmd {
const SIMPLE: Cmd[] = [
{
- label: "1. START THE MEMORY SERVER",
- cmd: "npx @agentmemory/agentmemory",
- hint: "RUNS ON :3111 · VIEWER ON :3113",
+ label: "1. INSTALL ONCE",
+ cmd: "npm install -g @agentmemory/agentmemory",
+ hint: "PUTS `agentmemory` ON YOUR PATH · OR USE npx",
},
{
- label: "2. SEE SEMANTIC RECALL INSTANTLY",
- cmd: "npx @agentmemory/agentmemory demo",
- hint: "SEEDS 3 SESSIONS · PROVES HYBRID SEARCH WORKS",
+ label: "2. START THE MEMORY SERVER",
+ cmd: "agentmemory",
+ hint: "RUNS ON :3111 · VIEWER ON :3113",
},
{
- label: "3. OPEN THE LIVE VIEWER",
- cmd: "open http://localhost:3113",
- hint: "SESSIONS · MEMORIES · GRAPH · HEALTH",
+ label: "3. SEE SEMANTIC RECALL INSTANTLY",
+ cmd: "agentmemory demo",
+ hint: "SEEDS 3 SESSIONS · PROVES HYBRID SEARCH WORKS",
},
];
@@ -67,11 +67,12 @@ export function Install() {
SHIP IT
- THREE COMMANDS. ANY AGENT.
+ ONE INSTALL. ANY AGENT.
RUNS ON YOUR MACHINE. DATA STAYS LOCAL. BRING YOUR CLAUDE SUBSCRIPTION
- — OR POINT IT AT ANTHROPIC, GEMINI, MINIMAX, OR OPENROUTER.
+ — OR POINT IT AT ANTHROPIC, GEMINI, MINIMAX, OR OPENROUTER. PREFER NPX?
+ USE npx @agentmemory/agentmemory INSTEAD OF STEP 1.
diff --git a/website/lib/generated-meta.json b/website/lib/generated-meta.json
index c6a52c6e..ef7da9d3 100644
--- a/website/lib/generated-meta.json
+++ b/website/lib/generated-meta.json
@@ -1,8 +1,8 @@
{
- "version": "0.9.10",
+ "version": "0.9.15",
"mcpTools": 51,
"hooks": 12,
"restEndpoints": 121,
- "testsPassing": 898,
- "generatedAt": "2026-05-12T22:49:51.241Z"
+ "testsPassing": 975,
+ "generatedAt": "2026-05-15T16:38:30.869Z"
}
From f39dff640de44ebe867c7cbe6042191634a564e5 Mon Sep 17 00:00:00 2001
From: Rohit Ghumare
Date: Fri, 15 May 2026 17:48:36 +0100
Subject: [PATCH 3/4] docs: address coderabbit PR #411 review
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
README: annotate `rm -rf ~/.npm/_npx` as POSIX-only, point Windows
users at `Remove-Item ...\npm-cache\_npx`. Mark `npx -y @...@latest`
as the cross-platform option. Applies to both install-section and
quick-start blocks (lines 87, 363).
website Install.tsx: hint on step 1 now says "STEPS 2/3 NEED THIS"
so users who skip can't get stuck on `agentmemory` not found. Added
a fourth card "PREFER ZERO-INSTALL? USE NPX" with the bare npx
command and a pointer to the README caveat — covers the skip path
without making step 1 ambiguous.
Skipped (verified-false): coderabbit flagged the splash banner's
"70 columns wide" comment as wrong (claimed rows 3+5 are 76/77). They
counted source-string chars including the `\\` escapes; runtime is 70
on all 6 rows (node length check), which is what alignment cares
about. Comment is accurate, no change needed.
---
README.md | 8 +++++---
website/components/Install.tsx | 12 +++++++++---
website/lib/generated-meta.json | 2 +-
3 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/README.md b/README.md
index b6490017..4fbbea9b 100644
--- a/README.md
+++ b/README.md
@@ -84,7 +84,7 @@ Or via `npx` (no install):
npx @agentmemory/agentmemory
```
-Heads-up — npx caches per version. If a bare `npx @agentmemory/agentmemory` serves an older release, force the latest with `npx -y @agentmemory/agentmemory@latest`, or clear the cache once with `rm -rf ~/.npm/_npx`. The first npx run from v0.9.16+ prompts to install globally inline so the bare `agentmemory` command works everywhere afterwards.
+Heads-up — npx caches per version. If a bare `npx @agentmemory/agentmemory` serves an older release, force the latest with `npx -y @agentmemory/agentmemory@latest`, or clear the cache once with `rm -rf ~/.npm/_npx` (macOS/Linux; on Windows delete `%LOCALAPPDATA%\npm-cache\_npx`). The first npx run from v0.9.16+ prompts to install globally inline so the bare `agentmemory` command works everywhere afterwards.
Full options at [Quick Start](#quick-start) below. Agent-specific wiring at [Works with every agent](#works-with-every-agent).
@@ -359,10 +359,12 @@ agentmemory doctor # interactive diagnostics + fix prompts
From v0.9.16 onward, the first npx run prompts you to install globally inline — answer `Y` once and you're set. If you skip, fall back to either of these for a fresh fetch:
```bash
-npx -y @agentmemory/agentmemory@latest # forces latest from npm
-rm -rf ~/.npm/_npx && npx @agentmemory/agentmemory # clear cache once
+npx -y @agentmemory/agentmemory@latest # forces latest from npm (cross-platform)
+rm -rf ~/.npm/_npx && npx @agentmemory/agentmemory # macOS/Linux only (POSIX shell)
```
+On Windows / PowerShell, the equivalent cache clear is `Remove-Item -Recurse -Force "$env:LOCALAPPDATA\npm-cache\_npx"` — the `npx -y ...@latest` form above is the cross-platform option.
+
### Session Replay
Every session agentmemory records is replayable. Open the viewer, pick the **Replay** 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).
diff --git a/website/components/Install.tsx b/website/components/Install.tsx
index 303e09f8..e671aa8e 100644
--- a/website/components/Install.tsx
+++ b/website/components/Install.tsx
@@ -14,7 +14,7 @@ const SIMPLE: Cmd[] = [
{
label: "1. INSTALL ONCE",
cmd: "npm install -g @agentmemory/agentmemory",
- hint: "PUTS `agentmemory` ON YOUR PATH · OR USE npx",
+ hint: "PUTS `agentmemory` ON YOUR PATH · STEPS 2/3 NEED THIS",
},
{
label: "2. START THE MEMORY SERVER",
@@ -28,6 +28,12 @@ const SIMPLE: Cmd[] = [
},
];
+const NPX_FALLBACK: Cmd = {
+ label: "PREFER ZERO-INSTALL? USE NPX",
+ cmd: "npx @agentmemory/agentmemory",
+ hint: "REPLACES STEPS 1+2 · USES NPX CACHE — SEE README FOR CAVEAT",
+};
+
function CopyBox({ label, cmd, hint }: Cmd) {
const [copied, setCopied] = useState(false);
const [text, setText] = useState(hint);
@@ -71,14 +77,14 @@ export function Install() {
RUNS ON YOUR MACHINE. DATA STAYS LOCAL. BRING YOUR CLAUDE SUBSCRIPTION
- — OR POINT IT AT ANTHROPIC, GEMINI, MINIMAX, OR OPENROUTER. PREFER NPX?
- USE npx @agentmemory/agentmemory INSTEAD OF STEP 1.
+ — OR POINT IT AT ANTHROPIC, GEMINI, MINIMAX, OR OPENROUTER.
{SIMPLE.map((c) => (
))}
+
diff --git a/website/lib/generated-meta.json b/website/lib/generated-meta.json
index ef7da9d3..30ff1f46 100644
--- a/website/lib/generated-meta.json
+++ b/website/lib/generated-meta.json
@@ -4,5 +4,5 @@
"hooks": 12,
"restEndpoints": 121,
"testsPassing": 975,
- "generatedAt": "2026-05-15T16:38:30.869Z"
+ "generatedAt": "2026-05-15T16:48:13.498Z"
}
From 981dfe0da82fca75ef5f04d1c62cc20561643363 Mon Sep 17 00:00:00 2001
From: Rohit Ghumare
Date: Fri, 15 May 2026 18:39:54 +0100
Subject: [PATCH 4/4] docs(website): refresh agent-memory.dev for v0.9.15+
DevEx surface
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Drift accumulated across the website from v0.9.0 through v0.9.15.
Each section caught up:
CommandCenter:
- "iii CONSOLE · OPTIONAL" → "iii CONSOLE · FIRST-CLASS". User
pushback: the console gives engine-level visibility (workers,
functions, queues, traces) and is now installed inline by the
agentmemory CLI on first run from v0.9.16. Not optional.
- Bullet "49 HTTP TRIGGERS" → "107 HTTP ENDPOINTS" to match
generated-meta.json restEndpoints count. Dropped the stale "33
REGISTERED FUNCTIONS" subhead.
- Section lede now mentions both UIs are first-class + inline-
installed.
Compare:
- MCP TOOLS our column 44 → 51 (matches generated-meta.json).
- New REST ENDPOINTS row (107) — competitors don't ship a REST
shape per their docs, so dashes for mem0/letta/cognee.
- New NATIVE PLUGINS row listing the 6 first-party agents +
Cursor/Gemini CLI.
Agents:
- FEATURED expanded from 4 to 6 (added pi + OpenHuman). Codex CLI
pitch updated to "6 hooks + MCP · native plugin" reflecting the
hooks addition in PR #383.
- Section title "FOUR FIRST-PARTY" → "SIX FIRST-PARTY".
- Section lede now mentions `agentmemory connect `
(shipped in v0.9.15 PR #402).
Hero:
- "START IN 60 SECONDS" CTA → "START IN 30 SECONDS". Cold install
+ engine spawn measured 8-12s on v0.9.15 with the native binary
path; 60s was the v0.9.0-era Docker-first claim.
generated-meta.json regenerated by the build (auto-derive rule).
Website build clean.
---
website/components/Agents.tsx | 43 +++++++++++++++++++++-------
website/components/CommandCenter.tsx | 12 ++++----
website/components/Compare.tsx | 4 ++-
website/components/Hero.tsx | 2 +-
website/lib/generated-meta.json | 2 +-
5 files changed, 43 insertions(+), 20 deletions(-)
diff --git a/website/components/Agents.tsx b/website/components/Agents.tsx
index f46990ef..664bea65 100644
--- a/website/components/Agents.tsx
+++ b/website/components/Agents.tsx
@@ -24,6 +24,16 @@ const FEATURED: Agent[] = [
pitch: "12 hooks + MCP + skills",
sub: "FIRST-CLASS PLUGIN",
},
+ {
+ id: "codex",
+ name: "Codex CLI",
+ from: "OpenAI",
+ logo: "https://github.com/openai.png",
+ accent: "#10A37F",
+ href: "https://github.com/openai/codex",
+ pitch: "6 hooks + MCP · native plugin",
+ sub: "NATIVE PLUGIN",
+ },
{
id: "openclaw",
name: "OpenClaw",
@@ -45,14 +55,24 @@ const FEATURED: Agent[] = [
sub: "FIRST-PARTY INTEGRATION",
},
{
- id: "codex",
- name: "Codex CLI",
- from: "OpenAI",
- logo: "https://github.com/openai.png",
- accent: "#10A37F",
- href: "https://github.com/openai/codex",
- pitch: "TOML mcp_servers · one-liner",
- sub: "MCP NATIVE",
+ id: "pi",
+ name: "pi",
+ from: "pi",
+ logo: "https://raw.githubusercontent.com/rohitg00/agentmemory/main/assets/agents/pi.svg",
+ accent: "#FF6B35",
+ href: "https://github.com/rohitg00/agentmemory/tree/main/integrations/pi",
+ pitch: "Native plugin + MCP",
+ sub: "NATIVE PLUGIN",
+ },
+ {
+ id: "openhuman",
+ name: "OpenHuman",
+ from: "tinyhumansai",
+ logo: "https://raw.githubusercontent.com/tinyhumansai/openhuman/main/app/src-tauri/icons/128x128.png",
+ accent: "#9b5cf6",
+ href: "https://github.com/tinyhumansai/openhuman",
+ pitch: "Native Memory trait backend (Rust)",
+ sub: "NATIVE BACKEND",
},
];
@@ -204,11 +224,12 @@ export function Agents() {
WORKS WITH
- FOUR FIRST-PARTY. REST MCP-NATIVE.
+ SIX FIRST-PARTY. REST MCP-NATIVE.
- AGENTMEMORY SHIPS PLUGINS FOR CLAUDE CODE, OPENCLAW, HERMES, AND
- CODEX. EVERY OTHER MCP CLIENT GETS IT FOR FREE.
+ NATIVE PLUGINS FOR CLAUDE CODE, CODEX CLI, OPENCLAW, HERMES, PI, AND
+ OPENHUMAN. EVERY OTHER MCP CLIENT GETS IT FOR FREE. `agentmemory
+ connect <agent>` AUTO-WIRES THEM ALL.
diff --git a/website/components/CommandCenter.tsx b/website/components/CommandCenter.tsx
index e738d22b..96a6bcbe 100644
--- a/website/components/CommandCenter.tsx
+++ b/website/components/CommandCenter.tsx
@@ -40,12 +40,12 @@ const PANELS: Record<
launch: "open http://localhost:3113",
},
console: {
- title: "iii CONSOLE · OPTIONAL",
+ title: "iii CONSOLE · FIRST-CLASS",
blurb:
- "agentmemory runs on the iii engine, so the official iii console gives you a deeper cut when you need it. Launch on :3114 so the viewer keeps :3113.",
+ "agentmemory runs on the iii engine, so the official iii console gives engine-level visibility: every function call, every worker, every queue, every trace. From v0.9.16 the agentmemory CLI prompts to install iii console alongside the engine. Launch on :3114 so the viewer keeps :3113.",
bullets: [
- "33 REGISTERED FUNCTIONS · INVOKE ANY DIRECTLY WITH JSON",
- "49 HTTP TRIGGERS · REPLAY REST ENDPOINTS",
+ "REGISTERED FUNCTIONS · INVOKE ANY DIRECTLY WITH JSON",
+ "107 HTTP ENDPOINTS · REPLAY ANY REST CALL",
"WEBSOCKET STREAM MONITOR · WATCH FRAMES LIVE",
"OTEL EXPORTER = MEMORY (DEFAULT) · TRACES STAY LOCAL",
"NO AUTH · BIND TO 127.0.0.1 ONLY",
@@ -101,8 +101,8 @@ export function CommandCenter() {
AGENTMEMORY SHIPS A REAL-TIME VIEWER FOR YOUR MEMORIES AND AN
- ENGINE-LEVEL CONSOLE FOR WHEN YOU WANT TO SEE EVERY FUNCTION, TRIGGER,
- AND OTEL SPAN.
+ ENGINE-LEVEL CONSOLE FOR EVERY FUNCTION, TRIGGER, AND OTEL SPAN.
+ BOTH ARE FIRST-CLASS — INSTALLED INLINE BY THE CLI ON FIRST RUN.