AgentRecall MCP
AI Session Memory with Think-Execute-Reflect Quality Loops โ give your agent a brain that survives every session. Built on the Intelligent Distance principle.
Ask AI about AgentRecall MCP
Powered by Claude ยท Grounded in docs
I know everything about AgentRecall MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
AgentRecall
Your agent doesn't just remember. It learns how you think.
Every correction saved is a mistake never repeated. Every insight compounded is tokens never wasted rebuilding context.
Persistent, compounding memory + automatic correction capture. MCP server + SDK + CLI.
EN:ย Why ยท Use ยท Install ยท Semantic Recall ยท Tools ยท Compounding ยท SDK ยท Architecture ยท Docs ย ย |ย ย ไธญๆ:ย ็ฎไป ยท ๅฎ่ฃ ยท ่ฏญไนๅฌๅ ยท ๅทฅๅ ท ยท ๅคๅ ยท ๆถๆ
Already Using Another Memory System? /arbootstrap
[!NOTE] You don't start from zero. If you've been using Claude's built-in memory, Mem0, or just working in git repos โ AgentRecall can discover and import your existing context automatically.
Most users installing AgentRecall aren't starting fresh. They already have:
- Git repos with months of commit history and project structure
- Claude AutoMemory (
~/.claude/projects/) with user profiles, feedback, and project memories - CLAUDE.md files with project conventions and architecture decisions
/arbootstrap scans your machine and imports everything in one shot:
/arbootstrap
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
AgentRecall Bootstrap Scan 2026-04-26
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Found on your machine:
24 git repos
92 Claude memory files
3 CLAUDE.md files
Projects:
18 new (not yet in AgentRecall)
10 already imported
Scan time: 141ms
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
What gets imported per project:
- Identity โ project name, language, description โ
palace/identity.md - Architecture โ CLAUDE.md conventions โ
palace/rooms/architecture/ - Memory โ Claude AutoMemory files โ
palace/rooms/knowledge/ - Trajectory โ recent git history โ initial journal entry
Safety guarantees:
- Scan is read-only โ never writes to your machine
- Import only writes to
~/.agent-recall/โ never modifies source files - Skips
.env, credentials,.pem,.keyโ never reads secrets - Projects already in AgentRecall are skipped (no double-import)
For MCP-only environments (Codex, Cursor, VS Code Copilot):
bootstrap_scan() # discover what's on the machine
bootstrap_import({ scan_result }) # import selected projects
For CLI:
ar bootstrap # scan and show results
ar bootstrap --dry-run # preview what would be imported
ar bootstrap --import # import all new projects
ar bootstrap --import --project X # import one project
After bootstrap, run /arstatus โ your projects are ready.
/arstatus, /arsave, /arstart, /arsaveall, and /arbootstrap
[!TIP] New to AgentRecall? Read the โ Command Reference โ full instructions, all example outputs, installation, and troubleshooting in one place.
[!IMPORTANT] Run
/arstatusat the start of every session. It shows all your projects, what's pending, what's blocked, and lets you pick what to work on โ by number, not by remembering project names. Without it, a fresh agent has no idea where to begin.
| Command | When | What it does |
|---|---|---|
โญ /arstatus | Every session โ run this first | Status board across ALL projects: pending work, blockers, numbered pick list. The true cold start. |
/arstart | After picking a project | Load deep context for one project: palace rooms, corrections, task-specific recall |
/arsave | End of session | Write journal + consolidate to palace + update awareness |
/arsaveall | End of day (multi-session) | Batch save all parallel sessions at once โ scan, merge, deduplicate, done |
/arbootstrap | First install / switching from another memory system | Scan your machine for existing projects and import them into AgentRecall in seconds |
The session flow: /arstatus โ pick a number โ /arstart <project> โ work โ /arsave.
Running 5 agents in parallel? Don't /arsave five times. Type /arsaveall once โ it scans all of today's sessions across all projects, merges them into consolidated journals, deduplicates insights, and updates awareness in one shot. Each session writes to its own file (session-ID scoped), so no conflicts, no data loss, no matter how many windows you have open.
What You'll See
Type /arstatus โ see everything in flight across all projects, pick by number:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
AgentRecall Status Board 2026-04-21 5 projects
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
1 โ novada-site 2026-04-21 BLOCKED
Blocked: .env.local missing โ Phase 1 cannot proceed
2 โ novada-mcp 2026-04-21
Next: fix novada_search POST /request โ publish v0.8.0
3 โ prismma-scraper 2026-04-17
Next: UI upgrade Option A โ light mode + 3D visuals
4 โ AgentRecall 2026-04-21 complete
Collecting real production data
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Enter a number, or:
N New project (with memory โ agent knows your full history)
X New project (clean slate โ no prior context, pure objectivity)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Type /arsave โ the system saves everything and renders a card with exact file paths and counts:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
AgentRecall โ Saved my-project 2026-04-20 #12
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Journal ~/.agent-recall/projects/my-project/journal/
โโ 2026-04-20--arsave--15L--review-feedback.md [written]
Awareness 2 insights added (8 total)
Palace ~/.agent-recall/projects/my-project/palace/
โโ rooms/Architecture [updated]
โโ rooms/Goals [updated]
Corrections 3 stored (always loaded at session start)
โก Similar entries found โ consider merging:
2026-04-19 (review, feedback, architecture)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Type /arstart โ loads all context from memory in one shot:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
AgentRecall โป Loaded my-project 2026-04-21
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Project my-project โ SaaS platform for AI agents
Last session 2026-04-20 โ review + feedback loop shipped
Insights (top 3):
[5ร] Server-rendered cards beat agent templates
[3ร] Per-message dedup beats per-session dedup
[2ร] Stemming + synonyms improve keyword recall
โ Past corrections โ watch out:
- "No dark backgrounds" (corrected 3ร)
- "Use bb-browser, not Playwright" (corrected 2ร)
Cross-project: 2 related insights from novada-mcp
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Type /arsaveall โ batch-saves all parallel sessions at once:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
AgentRecall โ Batch Saved 2026-04-20
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Sessions scanned 5
Projects saved my-project, novada-mcp, prismma-scraper
Insights merged 4 (deduplicated from 7)
Corrections 2 new (auto-captured via hooks)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Type /arbootstrap โ discover and import projects from your existing tools:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
AgentRecall Bootstrap Complete 2026-04-26
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
12 projects created
87 items imported (identity, memory, architecture, trajectory)
3 items skipped
0 errors
Run /arstatus to see your projects.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
The cards are rendered server-side โ computed from actual operation results, not agent interpretation. What you see is always accurate.
# Install commands (one-time, Claude Code only)
mkdir -p ~/.claude/commands
curl -o ~/.claude/commands/arstatus.md https://raw.githubusercontent.com/Goldentrii/AgentRecall/main/commands/arstatus.md
curl -o ~/.claude/commands/arstart.md https://raw.githubusercontent.com/Goldentrii/AgentRecall/main/commands/arstart.md
curl -o ~/.claude/commands/arsave.md https://raw.githubusercontent.com/Goldentrii/AgentRecall/main/commands/arsave.md
curl -o ~/.claude/commands/arsaveall.md https://raw.githubusercontent.com/Goldentrii/AgentRecall/main/commands/arsaveall.md
curl -o ~/.claude/commands/arbootstrap.md https://raw.githubusercontent.com/Goldentrii/AgentRecall/main/commands/arbootstrap.md
The Difference
WITHOUT AgentRecall WITH AgentRecall
โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
Day 1: Build monorepo Day 1: /arstart โ /arsave
Day 2: "What monorepo?" Day 2: /arstart
โ 20 min re-explaining โ 2 sec: loads all decisions
โ Agent repeats same mistakes โ Knows "no version inflation"
โ Forgets your priorities โ Knows "arsave = hero section"
โ Misses half the tasks โ Pushes to both repos
WITHOUT AgentRecall (5 parallel agents) WITH AgentRecall (5 parallel agents)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Agent 1 finishes: you /arsave Agent 1-5 finish: you type /arsaveall once
Agent 2 finishes: you /arsave again โ Scans all 5 sessions automatically
Agent 3 finishes: you /arsave again โ Merges into consolidated journals
Agent 4 finishes: you /arsave again โ Deduplicates insights across sessions
Agent 5 finishes: you /arsave again โ Zero conflicts (session-ID scoped files)
โ 5x the work, corrections lost โ One command, everything saved
โ Agent 3's correction unknown to Agent 5 โ All agents share the same memory
Three Layers of Value
Layer 1 (5 seconds): It makes your AI agent remember what happened last session.
Layer 2 (30 seconds): Every time you correct your agent โ "no, not that version", "ask me first" โ that correction is stored permanently and recalled before the agent makes the same mistake again. After 10 sessions, your agent understands your priorities, your communication style, your non-negotiables.
Layer 3 (2 minutes): The Intelligent Distance Protocol. The structural gap between human thinking and AI action can't be closed โ but it can be navigated better every session. Corrections are training data. The 200-line awareness cap forces quality over quantity. Cross-project insights mean lessons learned once apply everywhere.
Why Choose AgentRecall
AgentRecall is not a memory tool. It's a learning loop.
Memory is the mechanism. Understanding is the goal. Every time you correct your agent โ "no, not that version", "put this section first", "ask me before you assume" โ that correction is stored, weighted, and recalled next time. After 10 sessions, your agent doesn't just remember your project. It understands how you think: your priorities, your communication style, your non-negotiables.
-
Your agent learns how you think. Humans are inconsistent โ we skip from A to E, forget what we said yesterday, change priorities mid-sentence. AgentRecall captures every correction and surfaces it before the next mistake. The gap between what you mean and what your agent does shrinks with every session.
-
Compounding awareness, not infinite logs. Memory is capped at 200 lines. New insights either merge with existing ones (strengthening them) or replace the weakest. After 100 sessions, your awareness file is still 200 lines โ but each line carries the weight of cross-validated, confirmed observations.
-
Cross-project recall. Lessons learned in one project apply everywhere. Built a rate limiter last month? That lesson surfaces when you're building one today โ in a different repo, through a different agent.
-
Near-universal compatibility. MCP server for any MCP-compatible agent (Claude Code, Cursor, Windsurf, VS Code, Codex). SDK for any JS/TS framework (LangChain, CrewAI, Vercel AI SDK, custom agents). CLI for terminal and CI workflows. One memory system, every surface.
-
Zero cloud, zero telemetry, all local. Everything is markdown on disk. Browse it in Obsidian, grep it in the terminal, version it in git. No accounts, no API keys, no lock-in.
Three Ways to Use It
MCP โ for AI agents (Claude Code, Cursor, Windsurf, VS Code, Codex):
claude mcp add --scope user agent-recall -- npx -y agent-recall-mcp
SDK โ for any JS/TS application (LangChain, CrewAI, Vercel AI SDK, custom):
import { AgentRecall } from "agent-recall-sdk";
const memory = new AgentRecall({ project: "my-app" });
await memory.capture("What stack?", "Next.js + Postgres");
CLI โ for terminal workflows and CI:
npx agent-recall-cli capture "What stack?" "Next.js + Postgres"
npx agent-recall-cli palace walk --depth active
What Is AgentRecall?
A learning system that bridges the gap between how humans think and how AI agents work. Not a log. Not a database. A compounding loop where every correction, decision, and insight makes the next session better than the last.
| Without AgentRecall | With AgentRecall |
|---|---|
| Agent forgets yesterday's decisions | Decisions live in palace rooms, loaded on cold start |
| Same mistake repeated across sessions | recall_insight surfaces past lessons before work starts |
| 5 min context recovery on each session start | 2 second cold start from palace (~200 tokens) |
| Flat memory files that grow forever | 200-line awareness cap forces merge-or-replace |
| Knowledge trapped in one project | Cross-project insights match by keyword |
| Agent misunderstands, you correct, it forgets | alignment_check records corrections permanently |
Quick Start
MCP Server (for AI agents)
# Claude Code
claude mcp add --scope user agent-recall -- npx -y agent-recall-mcp
# Cursor โ .cursor/mcp.json
{ "mcpServers": { "agent-recall": { "command": "npx", "args": ["-y", "agent-recall-mcp"] } } }
# VS Code โ .vscode/mcp.json
{ "servers": { "agent-recall": { "command": "npx", "args": ["-y", "agent-recall-mcp"] } } }
# Windsurf โ ~/.codeium/windsurf/mcp_config.json
{ "mcpServers": { "agent-recall": { "command": "npx", "args": ["-y", "agent-recall-mcp"] } } }
# Codex
codex mcp add agent-recall -- npx -y agent-recall-mcp
Skill (Claude Code only):
mkdir -p ~/.claude/skills/agent-recall
curl -o ~/.claude/skills/agent-recall/SKILL.md \
https://raw.githubusercontent.com/Goldentrii/AgentRecall/main/SKILL.md
SDK (for JS/TS applications)
npm install agent-recall-sdk
import { AgentRecall } from "agent-recall-sdk";
const memory = new AgentRecall({ project: "my-app" });
await memory.coldStart(); // load context (~200 tokens)
await memory.capture("Q", "A"); // quick capture
await memory.palaceWrite("architecture", "Stack: Next.js + Drizzle");
CLI (for terminal and CI)
npm install -g agent-recall-cli
ar capture "What ORM?" "Drizzle" --project my-app
ar palace walk --depth active
ar search "rate limiting" --include-palace
Semantic Recall โ pgvector Backend (v3.4.0)
[!NOTE] New in v3.4.0. Default keyword recall works without any configuration. Upgrade to Supabase + pgvector when keyword search hits its ceiling: synonyms, paraphrased queries, multi-language recall.
Keyword search matches tokens. Semantic search matches meaning. After upgrading:
recall("session expiry")also surfaces entries about "token refresh" and "auth timeout"- No hand-crafted synonyms needed โ embeddings handle the gap
- Local files remain the source of truth โ Supabase is a derived read index
Setup (3 steps)
# Step 1 โ interactive setup wizard
ar setup supabase
# Step 2 โ apply pgvector migration to your Supabase project
ar setup supabase --migrate
# Step 3 โ done. Run /arstart โ backfill happens automatically.
The wizard prompts for your Supabase project URL and service role key โ writes to ~/.agent-recall/config.json. Never committed to git.
How it works
remember() / session_end()
โ writes to local ~/.agent-recall/ as always โ source of truth, unchanged
โ async: syncs to Supabase memories table
โ OpenAI text-embedding-3-small (1536 dims)
or Voyage voyage-3-lite (512 dims, zero-padded to 1536)
โ pgvector stores the embedding
recall(query)
โ Supabase configured?
YES โ cosine similarity search via pgvector, reranked with local RRF
NO โ local keyword search (existing behavior, unchanged)
Graceful degradation
If Supabase is unreachable (network error, quota exceeded, not configured), recall() falls back to local keyword search silently. Zero behavior change if the feature is never configured.
Required: SUPABASE_URL + SUPABASE_SERVICE_ROLE_KEY + either OPENAI_API_KEY or VOYAGE_API_KEY. All optional โ AgentRecall works fully without them.
Rebuild index: ar setup supabase --backfill โ re-embeds all local memories into Supabase.
How an Agent Uses AgentRecall
Automatic (Zero Discipline โ Hooks)
Wire once in ~/.claude/settings.json. Every session is captured automatically, even without /arsave:
{
"hooks": {
"SessionStart": [{
"command": "node ~/.local/share/npm/lib/node_modules/agent-recall-cli/dist/index.js hook-start 2>/dev/null || true"
}],
"UserPromptSubmit": [{
"command": "node ~/.local/share/npm/lib/node_modules/agent-recall-cli/dist/index.js hook-correction 2>/dev/null || true"
}],
"Stop": [{
"command": "node ~/.local/share/npm/lib/node_modules/agent-recall-cli/dist/index.js hook-end 2>/dev/null || true"
}]
}
}
- hook-start โ on every session open: prints identity + top insights + watch_for warnings
- hook-correction โ on every prompt: detects corrections (regex) and captures them silently
- hook-end โ on every session close: appends a lightweight end-of-session log entry
Session Start (/arstart)
session_start() โ identity, insights, active rooms, cross-project matches,
recent journal briefs, watch_for warnings โ all in one call
recall(query) โ surface task-specific past knowledge from all stores
During Work
remember("We decided to use GraphQL instead of REST") โ auto-routes to the right store
recall("authentication design") โ searches all stores, ranked results
check(goal="build auth", confidence="medium") โ verify understanding, get warnings
Session End (/arsave)
session_end(summary="...", insights=[...], trajectory="...") โ journal + awareness + consolidation
10 MCP Tools
AgentRecall exposes 10 tools to agents. Each tool composes multiple subsystems internally โ the agent doesn't need to know about the plumbing.
| Tool | What it does |
|---|---|
session_start | Load project context for a new session. Returns identity, top insights, active rooms, cross-project matches, recent activity, and predictive watch_for warnings from past corrections. One call, ~400 tokens. |
remember | Save a memory. Auto-classifies content (bug fix, architecture decision, insight, session note) and routes to the right store (journal, palace, knowledge, or awareness). Auto-generates semantic names for future retrieval. |
recall | Search all memory stores at once using Reciprocal Rank Fusion (RRF) โ each source ranks internally, then positions are merged so no source dominates by default. Returns ranked results with stable IDs. Accepts feedback to rate previous results: positive boosts future ranking, negative penalizes. Query-aware โ feedback from one search doesn't bleed into unrelated queries. |
session_end | Save everything in one call. Writes journal, updates awareness with new insights, consolidates to palace rooms, archives demoted insights (not deleted โ preserved with resurrection support). |
check | Record what you think the human wants. Returns watch_for patterns from past correction history ("You've been corrected on X 3 times โ ask about it"). Accepts human_correction and delta after the human responds. Auto-promotes strong patterns (3+) to awareness. |
digest | Context cache โ store pre-computed analysis results (codebase audits, subagent explorations) and recall them instead of recomputing. Actions: store, recall, read, invalidate. Scoring uses Ebbinghaus decay with Zipf-adjusted half-life. Benchmarked: 83% token savings on repeated analysis vs. recompute. |
project_board | Status board across all AgentRecall projects โ same data as /arstatus. Returns numbered project list with pending work, blockers, and last activity. Use at the start of any multi-project session. |
project_status | Deep status for a single project โ next actions, blockers, recent journal summary, palace room health. Use after project_board to pick and focus. |
bootstrap_scan | Scan the machine for existing projects (git repos, Claude AutoMemory, CLAUDE.md files). Read-only โ no writes. Returns scan results for review before import. |
bootstrap_import | Import projects discovered by bootstrap_scan into AgentRecall. Writes identity, architecture, memory, and trajectory to ~/.agent-recall/. Safe: never modifies source files. |
Legacy tools
The original 22 subsystem tools (palace_write, journal_capture, awareness_update, etc.) remain available via the SDK and CLI for backward compatibility and advanced use cases. They are not registered in the MCP server by default.
How Memory Compounds
Memory is not a list. It's a compounding system where 1+1+1 > 3. Each subsystem feeds the next โ naming enables retrieval, retrieval enables feedback, feedback enables ranking, ranking surfaces the right memory at the right time.
1. Auto-Naming
The agent knows content best at the moment of saving. AgentRecall captures that understanding in a semantic slug โ not "mcp-verified" but "verified-agentrecall-mcp-22tools-functional". Good naming IS the first layer of retrieval. A well-named memory is 80% findable without any search algorithm.
File naming: {date}--{saveType}--{lines}L--{slug}.md โ parseable by agents (split("--") โ [date, type, size, topic]), readable by humans. Line count tells the agent the token cost before opening the file.
2. Indexes
| Index | What it tracks | Token cost |
|---|---|---|
| Palace index | Room catalog + salience scores | ~50 tokens to scan |
| Insights index | Cross-project lessons + keyword matching | ~30 tokens to query |
| Awareness | 200-line compounding document (forced merge) | ~200 tokens, each line cross-validated |
3. Relativity
Memories that relate to each other are connected automatically โ no wikilinks needed. When you recall("session security"), the system surfaces keyword-matched memories across connected rooms. Edges are stored in graph.json โ relativity turns isolated memories into a knowledge graph.
4. Weight + Decay
Not all memories are equal. Salience scoring: recency(0.30) + access(0.25) + connections(0.20) + urgency(0.15) + importance(0.10)
recall applies the Ebbinghaus forgetting curve R(t) = e^(โt/S) with memory-type-specific strength values:
| Memory type | S (days) | 1-day retention | 1-week retention |
|---|---|---|---|
| Journal (episodic) | 2 | 60% | ~7% |
| Knowledge / bug fix (procedural) | 180 | 99% | 96% |
| Palace / decisions (semantic) | 9999 | โ100% | โ100% |
Old journal noise fades in days. Architecture decisions persist indefinitely. Hot-window boost: Items from the last 6 hours get a 3ร score multiplier, last 24 hours get 2ร, last 72 hours get 1.3ร.
5. Feedback Loop
The system uses a Bayesian Beta distribution โ the mathematically optimal estimate of true usefulness from binary observations (E[Beta(ฮฑ,ฮฒ)] = (pos+1)/(pos+neg+2)). Rating a result "useless" for one query doesn't penalize it for unrelated queries. Feedback is query-aware, not global.
Feedback is now automatic. The ambient recall hook tracks which memories were surfaced. Human's next message is a correction โ negative feedback. Not a correction โ positive feedback. No agent action required.
The Compounding Effect
Session 1: Save 3 memories (auto-named, indexed, edges created)
Session 5: Recall surfaces memories from sessions 1-4, feedback refines ranking
Session 10: watch_for warns agent about past mistakes before they repeat
Session 20: Awareness contains 10 cross-validated insights (merged from 40+ raw observations)
Session 50: The agent knows your priorities, blind spots, and communication style
โ not because it was told, but because every correction compounded
Stemming + synonyms: "deploying" matches "deployment," "ship," and "release." A 19-rule suffix stemmer + 100-pair synonym table โ no vector DB needed (keyword mode), zero external dependencies.
SDK API
The agent-recall-sdk package exposes the AgentRecall class โ a programmatic interface to the full memory system. Use it to add persistent, compounding memory to any JS/TS agent framework.
import { AgentRecall } from "agent-recall-sdk";
const ar = new AgentRecall({ project: "my-project" });
Core Methods
| Method | Returns | Description |
|---|---|---|
capture(question, answer, opts?) | JournalCaptureResult | Quick Q&A capture (L1 memory) |
journalWrite(content, opts?) | JournalWriteResult | Write daily journal entry |
journalRead(opts?) | JournalReadResult | Read journal by date or "latest" |
journalSearch(query, opts?) | JournalSearchResult | Full-text search across journals |
coldStart() | JournalColdStartResult | Palace-first context loading (~200 tokens) |
Palace Methods
| Method | Returns | Description |
|---|---|---|
palaceWrite(room, content, opts?) | PalaceWriteResult | Write to a room with fan-out cross-refs |
palaceRead(room?, topic?) | PalaceReadResult | Read room content or list all rooms |
walk(depth?, focus?) | PalaceWalkResult | Progressive walk: identity โ active โ relevant โ full |
palaceSearch(query, room?) | PalaceSearchResult | Search rooms by content |
lint(fix?) | PalaceLintResult | Health check and auto-archive |
Awareness & Insight Methods
| Method | Returns | Description |
|---|---|---|
awarenessUpdate(insights, opts?) | AwarenessUpdateResult | Compound new insights into awareness |
readAwareness() | string | Read the 200-line awareness document |
recallInsight(context, opts?) | RecallInsightResult | Cross-project insight recall |
Alignment Methods
| Method | Returns | Description |
|---|---|---|
alignmentCheck(input) | AlignmentCheckResult | Record confidence + assumptions |
nudge(input) | NudgeResult | Detect contradictions with past decisions |
synthesize(opts?) | ContextSynthesizeResult | L3 synthesis, optional palace consolidation |
CLI Commands
The agent-recall-cli package provides the ar command for terminal workflows and CI pipelines.
ar v3.4.0 โ AgentRecall CLI
JOURNAL:
ar read [--date YYYY-MM-DD] [--section <name>]
ar write <content> [--section <name>]
ar capture <question> <answer> [--tags tag1,tag2]
ar list [--limit N]
ar search <query> [--include-palace]
ar state read|write [data]
ar cold-start
ar archive [--older-than-days N]
ar rollup [--min-age-days N] [--dry-run]
PALACE:
ar palace read [<room>] [--topic <name>]
ar palace write <room> <content> [--importance high|medium|low]
ar palace walk [--depth identity|active|relevant|full]
ar palace search <query>
ar palace lint [--fix]
AWARENESS:
ar awareness read
ar awareness update --insight "title" --evidence "ev" --applies-when kw1,kw2
INSIGHT:
ar insight <context> [--limit N]
SETUP:
ar setup supabase # interactive Supabase setup wizard
ar setup supabase --migrate # apply pgvector migration
ar setup supabase --backfill # re-embed all local memories
META:
ar projects
ar synthesize [--entries N]
ar knowledge write --category <cat> --title "t" --what "w" --cause "c" --fix "f"
ar knowledge read [--category <cat>]
ar bootstrap [--dry-run] [--import] [--project X]
HOOKS (auto-wired via settings.json โ zero discipline required):
ar hook-start # SessionStart: prints identity + insights + watch_for
ar hook-correction # UserPromptSubmit: silently captures corrections from prompt
ar hook-end # Stop: appends end-of-session log entry
GLOBAL FLAGS:
--root <path> Storage root (default: ~/.agent-recall)
--project <slug> Project override
Architecture
Five-Layer Memory Pyramid
L1: Working Memory journal_capture "what happened"
L2: Episodic Memory journal_write "what it means"
L3: Memory Palace palace_write / walk "knowledge across sessions"
L4: Awareness awareness_update "compounding insights"
L5: Insight Index recall_insight "cross-project experience"
Key Mechanisms
Fan-out writes โ Write to one room, cross-references auto-update in related rooms via [[wikilinks]]. Mechanical, zero LLM cost.
Salience scoring โ Every room has a salience score: recency(0.30) + access(0.25) + connections(0.20) + urgency(0.15) + importance(0.10). High-salience rooms surface first. Below threshold โ auto-archive.
Compounding awareness โ awareness.md is capped at 200 lines. When new insights are added, similar existing ones merge (strengthen), dissimilar ones compete (lowest-confirmation gets replaced). The constraint creates compression. Compression creates compounding.
Cross-project insight recall โ insights-index.json maps insights to situations via keywords. recall_insight("building quality gates") returns relevant lessons from any project, ranked by severity x confirmation count.
Obsidian-compatible โ Every palace file has YAML frontmatter + [[wikilinks]]. Open palace/ as an Obsidian vault โ graph view shows room connections. Zero Obsidian dependency.
Storage Layout
~/.agent-recall/
awareness.md # 200-line compounding document (global)
awareness-state.json # Structured awareness data
awareness-archive.json # Demoted insights (preserved, not deleted)
insights-index.json # Cross-project insight matching
config.json # Optional: Supabase URL + keys (never git-committed)
projects/
<project>/
journal/
YYYY-MM-DD.md # Daily journal
YYYY-MM-DD-log.md # L1 captures (hook-start/hook-end entries)
YYYY-MM-DD.state.json # JSON state
index.jsonl # Fast machine-scannable index of all entries
palace/
identity.md # ~50 token project identity card
palace-index.json # Room catalog + salience scores
graph.json # Cross-reference edges (relativity)
feedback-log.json # Per-query feedback scores (recall learning)
alignment-log.json # Past corrections for watch_for patterns
rooms/
goals/ # Active goals, evolution
architecture/ # Technical decisions, patterns
decisions/ # Decision trails with prior/posterior tracking
blockers/ # Current and resolved
alignment/ # Human corrections
knowledge/ # Learned lessons by category
<custom>/ # Agents create rooms on demand
Platform Compatibility
| Platform | MCP | SDK | CLI | Notes |
|---|---|---|---|---|
| Claude Code | โ | โ | โ | Full support โ MCP + SKILL.md + commands |
| Cursor | โ | โ | โ | MCP via .cursor/mcp.json |
| VS Code (Copilot) | โ | โ | โ | MCP via .vscode/mcp.json |
| Windsurf | โ | โ | โ | MCP via mcp_config.json |
| OpenAI Codex | โ | โ | โ | codex mcp add โ config.toml |
| Claude Desktop | โ | โ | โ | MCP server |
| LangChain / LangGraph | โ | โ | โ | new AgentRecall() in your chain |
| CrewAI | โ | โ | โ | SDK in tool definitions |
| Vercel AI SDK | โ | โ | โ | SDK in server actions |
| Custom JS/TS agents | โ | โ | โ | SDK + CLI for any agent framework |
| CI / GitHub Actions | โ | โ | โ | npx agent-recall-cli in workflows |
| Any MCP agent | โ | โ | โ | Standard MCP protocol |
Benchmarked Token Savings
We ran two controlled benchmarks: a 5-round A/B test (Next.js + Drizzle + Stripe project) and a 10-round v3.3.16 benchmark validating digest cache, arsaveall, and cross-project recall. Read this table honestly: for simple throwaway tasks, AR is pure overhead. For anything with 3+ sessions, corrections, or multiple agents, it pays for itself โ and the savings compound.
| Scenario | Without AR | With AR | Saved |
|---|---|---|---|
| A: Simple (2 sessions, 0 corrections) | 567 | 1,131 | +99% overhead |
| B: Medium (5 sessions, 1 correction) | 6,220 | 4,382 | -30% |
| C: Complex (20 sessions, 5 corrections) | 40,910 | 17,520 | -57% |
| D: Multi-agent (3 agents ร 5 sessions) | 20,781 | 13,140 | -37% |
| E: Digest cache (repeated analysis, 1 recall hit) | ~2,400 | ~400 | -83% |
Break-even: ~3-4 sessions. After that, every session with AR is cheaper than without.
Where the Savings Come From
| Source | Without AR cost | With AR cost | Why |
|---|---|---|---|
| Context rebuild | Up to ~1,100+ tokens/session | Fixed ~385 tokens (cold start) | AR loads palace context in one call |
| Correction retention | ~800 tokens per repeat | 0 (stored once, never repeated) | Biggest single savings driver in long projects |
| Clarification avoidance | ~400 tokens/session | 0 (already loaded) | Steady per-session savings |
| Cross-project recall | ~500 tokens per insight | ~350 tokens (automatic recall) | Compounds across projects |
| Digest cache | ~2,400 tokens (full re-analysis) | ~400 tokens (recall stored digest) | 83% savings on repeated heavy analysis |
All benchmark code: benchmark/run.mjs, benchmark/ab-comparison.mjs, and benchmark/v3316-benchmark.mjs. Run them yourself: node benchmark/run.mjs && node benchmark/ab-comparison.mjs.
Docs
| Document | Description |
|---|---|
| โ Command Reference | Full guide to /arstatus, /arstart, /arsave, /arsaveall โ example outputs, modes, palace rules, troubleshooting |
| Intelligent Distance Protocol | The foundational theory โ why the gap between human and AI is structural, and how to navigate it |
| Scoring Design Rationale | Why the scoring system works this way โ RRF, Ebbinghaus, Beta distribution, and the bugs they fix |
| MCP Adapter Spec | Technical spec for building adapters on top of AgentRecall |
| SDK Design | Design doc for the SDK architecture |
| Upgrade v3.4 | Changelog: semantic recall, pgvector backend, 10 MCP tools, bootstrap, palace decisions room |
| MCP Server README | Focused guide for Claude Code / Cursor / Windsurf users |
| Core SDK README | SDK API reference for building with AgentRecall programmatically |
Contributing
- Issues & feedback: GitHub Issues
- Email: tong.wu@novada.com
- Website: novada.com
MIT License.
AgentRecall๏ผไธญๆๆๆกฃ๏ผ
ไฝ ็ๆบ่ฝไฝ่ฎฐไธๆธ ๆฅ๏ผๅฌไธๆไฝ ่ฏด่ฏ๏ผๆฏๆฌก้กน็ฎ้ฝๅๅพ้ๅธธไนฑ๏ผ
AgentRecall ่ฎฉๅฎๅญฆไผ็่งฃไฝ ็ๆ็ปดๆนๅผใ
่ต่ฝagent้ฟๆ่ฎฐๅฟ๏ผๅนถไป้่ฏฏไธญๅญฆไน ๅ็บ ๆญฃ๏ผ้ๆถ้ดๅ้กน็ฎ้พๅบฆ่ฟๅ๏ผ่ถๆฅ่ถๆ ้ฟๅไบ่งฃ็จๆทๅagent็ๆ็ปดใ
ๆไน ๅคๅ่ฎฐๅฟ + ๆบ่ฝ่ท็ฆปๅ่ฎฎใMCP ๆๅกๅจ + SDK + CLIใ
/arstatusใ/arsaveใ/arstart ๅ /arsaveall
[!IMPORTANT] ๆฏๆฌกๆฐไผ่ฏ้ฝๅ ่ฟ่ก
/arstatusใ ๅฎไผๆพ็คบไฝ ๆๆ้กน็ฎ็็ถๆใๅพ ๅฎๆ็ๅทฅไฝใ้ปๅก้กน๏ผ่ฎฉไฝ ็จๆฐๅญ้ๆฉไธไธๆญฅโโๆ ้่ฎฐไฝ้กน็ฎๅ็งฐใๆฒกๆๅฎ๏ผๅ จๆฐ็ agent ๆ นๆฌไธ็ฅ้ไปๅช้ๅผๅงใ
| ๅฝไปค | ๆถๆบ | ๅ่ฝ |
|---|---|---|
โญ /arstatus | ๆฏๆฌกไผ่ฏโโๅ ่ฟ่ก่ฟไธช | ่ทจๆๆ้กน็ฎ็็ถๆ็ๆฟ๏ผๅพ ๅไบ้กนใ้ปๅก้กนใ็ผๅท้ๆฉๅ่กจใ็ๆญฃ็ๅทๅฏๅจใ |
/arstart | ้ๅฅฝ้กน็ฎๅ | ๅ ่ฝฝๅไธช้กน็ฎ็ๆทฑๅบฆไธไธๆ๏ผๅฎซๆฎฟๆฟ้ดใ็บ ๆญฃ่ฎฐๅฝใไปปๅก็ธๅ ณๅฌๅ |
/arsave | ไผ่ฏ็ปๆๆถ | ๅๅ ฅๆฅๅฟ + ๆดๅๅฐ่ฎฐๅฟๅฎซๆฎฟ + ๆดๆฐๆ็ฅ |
/arsaveall | ไธๅคฉ็ปๆๆถ๏ผๅคไผ่ฏ๏ผ | ไธๆฌกๆงๆน้ไฟๅญๆๆๅนถ่กไผ่ฏ โ ๆซๆใๅๅนถใๅป้ใๅฎๆ |
ไผ่ฏๆต็จ๏ผ /arstatus โ ่พๅ
ฅ็ผๅท โ /arstart <้กน็ฎ> โ ๅทฅไฝ โ /arsaveใ
ไฝ ไผ็ๅฐไปไน
่พๅ
ฅ /arstatus โ ไธ็ผ็ๆธ
ๆๆ้กน็ฎ่ฟๅฑ๏ผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
AgentRecall ็ถๆ็ๆฟ 2026-04-21 5 ไธช้กน็ฎ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
1 โ novada-site 2026-04-21 ้ปๅก
้ปๅก๏ผ็ผบๅฐ .env.local โ Phase 1 ๆ ๆณ็ปง็ปญ
2 โ novada-mcp 2026-04-21
ไธไธๆญฅ๏ผไฟฎๅค novada_search POST /request โ ๅๅธ v0.8.0
3 โ prismma-scraper 2026-04-17
ไธไธๆญฅ๏ผUI ๅ็บง Option A โ ๆต
่ฒๆจกๅผ + 3D ่ง่ง
4 โ AgentRecall 2026-04-21 ๅทฒๅฎๆ
ๆถ้็ๅฎ็ไบงๆฐๆฎไธญ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
่พๅ
ฅ็ผๅท๏ผๆ๏ผ
N ๆฐ้กน็ฎ๏ผๅธฆ่ฎฐๅฟโโagent ไบ่งฃไฝ ็ๅฎๆดๅๅฒ๏ผ
X ๆฐ้กน็ฎ๏ผ็ฉบ็ฝ็ถๆโโๆ ๅๅฒไธไธๆ๏ผ็บฏๅฎข่งๆจกๅผ๏ผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ๆๆๅฏนๆฏ
| ๆฒกๆ AgentRecall | ๆ AgentRecall |
|---|---|
| ๆบ่ฝไฝๅฟ่ฎฐๆจๅคฉ็ๅณ็ญ | ๅณ็ญๅญๅจๅฎซๆฎฟๆฟ้ด๏ผๅทๅฏๅจๆถๅ ่ฝฝ |
| ่ทจไผ่ฏ้ๅคๅๆ ท็้่ฏฏ | recall_insight ๅทฅไฝๅ่ชๅจๅ็ฐ่ฟๅปๆ่ฎญ |
| ๆฏๆฌกๅผๅง้่ฆ 5 ๅ้ๆขๅคไธไธๆ | 2 ็งๅทๅฏๅจ๏ผไปๅฎซๆฎฟๅ ่ฝฝ๏ผ~200 token๏ผ |
| ๅนณ้ข่ฎฐๅฟๆไปถๆ ้ๅข้ฟ | 200 ่กๆ็ฅไธ้๏ผๅผบๅถๅๅนถๆๆฟๆข |
| ็ฅ่ฏ้ๅจๅไธช้กน็ฎ | ่ทจ้กน็ฎๆดๅฏๆๅ ณ้ฎ่ฏๅน้ |
# ๅฎ่ฃ
ๅฝไปค๏ผไธๆฌกๆง๏ผไป
Claude Code๏ผ
mkdir -p ~/.claude/commands
curl -o ~/.claude/commands/arstatus.md https://raw.githubusercontent.com/Goldentrii/AgentRecall/main/commands/arstatus.md
curl -o ~/.claude/commands/arstart.md https://raw.githubusercontent.com/Goldentrii/AgentRecall/main/commands/arstart.md
curl -o ~/.claude/commands/arsave.md https://raw.githubusercontent.com/Goldentrii/AgentRecall/main/commands/arsave.md
curl -o ~/.claude/commands/arsaveall.md https://raw.githubusercontent.com/Goldentrii/AgentRecall/main/commands/arsaveall.md
ๅฟซ้ๅผๅง
# Claude Code
claude mcp add --scope user agent-recall -- npx -y agent-recall-mcp
# Cursor โ .cursor/mcp.json
{ "mcpServers": { "agent-recall": { "command": "npx", "args": ["-y", "agent-recall-mcp"] } } }
# VS Code โ .vscode/mcp.json
{ "servers": { "agent-recall": { "command": "npx", "args": ["-y", "agent-recall-mcp"] } } }
# Codex
codex mcp add agent-recall -- npx -y agent-recall-mcp
Claude Code ๆ่ฝๅฎ่ฃ ๏ผ
mkdir -p ~/.claude/skills/agent-recall
curl -o ~/.claude/skills/agent-recall/SKILL.md \
https://raw.githubusercontent.com/Goldentrii/AgentRecall/main/SKILL.md
่ฏญไนๅฌๅ โ pgvector (v3.4.0)
[!NOTE] v3.4.0 ๆฐๅ่ฝใ ้ป่ฎคๅ ณ้ฎ่ฏๅฌๅๆ ้ไปปไฝ้ ็ฝฎใๅฝๅ ณ้ฎ่ฏๆ็ดข้ๅฐๅคฉ่ฑๆฟๆถโโๅไน่ฏใๆนๅๆฅ่ฏขใๅค่ฏญ่จโโๅ็บงๅฐ Supabase pgvector ๅ็ซฏใ
ๅ
ณ้ฎ่ฏๆ็ดขๅน้
่ฏๆฑ๏ผ่ฏญไนๆ็ดขๅน้
ๅซไนใๅ็บงๅ๏ผrecall("ไผ่ฏ่ฟๆ") ไน่ฝๆพๅฐ"token ๅทๆฐ"ๅ"่ฎค่ฏ่ถ
ๆถ"็ธๅ
ณ็ๆก็ฎ๏ผๆ ้ๆๅจๆทปๅ ๅไน่ฏใ
# ็ฌฌ 1 ๆญฅ โ ไบคไบๅผ้
็ฝฎๅๅฏผ
ar setup supabase
# ็ฌฌ 2 ๆญฅ โ ๅฐ pgvector ่ฟ็งปๅบ็จๅฐไฝ ็ Supabase ้กน็ฎ
ar setup supabase --migrate
# ็ฌฌ 3 ๆญฅ โ ๅฎๆใ่ฟ่ก /arstart โ ไธๆฌกไผ่ฏ่ชๅจๅๅกซใ
ๆฌๅฐๆไปถไปไธบๆฐๆฎๆบใSupabase ๆฏๆดพ็็่ฏปๅ็ดขๅผ โ ้ๆถๅฏๅ ้คๅนถ็จ ar setup supabase --backfill ้ๅปบใ
ๆ้็ฏๅขๅ้๏ผ SUPABASE_URL + SUPABASE_SERVICE_ROLE_KEY + OPENAI_API_KEY๏ผๆ VOYAGE_API_KEY๏ผใๅ
จ้จๅฏ้ โ ไธ้
็ฝฎๆถ AgentRecall ๅฎๅ
จๆญฃๅธธ่ฟ่กใ
ไผ้
้็บง๏ผ Supabase ไธๅฏ่พพๆถ๏ผrecall() ้้ปๅ้ๅฐๆฌๅฐๅ
ณ้ฎ่ฏๆ็ดข๏ผ้ถ่กไธบๅๅใ
10 ไธช MCP ๅทฅๅ ท
AgentRecall ็ฎๅๅ agent ๆไพ 10 ไธชๅทฅๅ ทใๆฏไธชๅทฅๅ ทๅ ้จ็ปๅๅคไธชๅญ็ณป็ปโโagent ไธ้่ฆไบ่งฃๅ ้จ็ฎก้ใ
| ๅทฅๅ ท | ๅ่ฝ |
|---|---|
session_start | ๅ ่ฝฝ้กน็ฎไธไธๆใ่ฟๅ่บซไปฝใๆดๅฏใๆดป่ทๆฟ้ดใ่ทจ้กน็ฎๅน้ ใwatch_for ้ข่ญฆใ็บฆ 400 tokenใ |
remember | ไฟๅญ่ฎฐๅฟใ่ชๅจๅ็ฑปๅนถ่ทฏ็ฑๅฐๆญฃ็กฎ็ๅญๅจ๏ผๆฅๅฟใๅฎซๆฎฟใ็ฅ่ฏๅบๆๆ็ฅ็ณป็ป๏ผใ |
recall | ้่ฟ RRF ไธๆฌกๆ็ดขๆๆ่ฎฐๅฟใๆฏๆ feedback ่ฏไปท๏ผๆญฃ้ขๆๅๆๅ๏ผ่ด้ข้ไฝใๆฅ่ฏขๆ็ฅใ |
session_end | ไธๆฌก่ฐ็จไฟๅญๅ จ้จ๏ผๅๆฅๅฟใๆดๆฐๆ็ฅใๆดๅๅฎซๆฎฟใๅฝๆกฃ่ขซๆฟๆขๆดๅฏใ |
check | ่ฎฐๅฝๅฏนไบบ็ฑปๆๅพ็็่งฃใ่ฟๅ watch_for ้ข่ญฆใ3+ ๆฌกๅผบๆจกๅผ่ชๅจๆๅไธบๆ็ฅๆดๅฏใ |
digest | ไธไธๆ็ผๅญใๅญๅจ่ๆถๅๆ็ปๆ๏ผไปฃ็ ๅบๆข็ดขใAPI ๅฎก่ฎก๏ผใๅฎๆต่็ 83% tokenใ |
project_board | ่ทจๆๆ้กน็ฎ็็ถๆ็ๆฟ๏ผ็ญๅไบ /arstatusใ่ฟๅ็ผๅท้กน็ฎๅ่กจใๅพ
ๅใ้ปๅก้กนใ |
project_status | ๅไธช้กน็ฎ็ๆทฑๅบฆ็ถๆ๏ผไธไธๆญฅ่กๅจใ้ปๅก้กนใๆ่ฟๆฅๅฟๆ่ฆใๅฎซๆฎฟๅฅๅบทๅบฆใ |
bootstrap_scan | ๆซๆๆบๅจไธ็็ฐๆ้กน็ฎ๏ผgit ไปๅบใClaude AutoMemoryใCLAUDE.md๏ผใๅช่ฏป๏ผไธๅๅ ฅใ |
bootstrap_import | ๅฐ bootstrap_scan ๅ็ฐ็้กน็ฎๅฏผๅ
ฅ AgentRecallใๅฎๅ
จ๏ผไธไฟฎๆนๆบๆไปถใ |
่ฎฐๅฟๅฆไฝๅคๅๅข้ฟ
ไธๆฏๆๆ่ฎฐๅฟ้ฝๅนณ็ญใไบไธชๅญ็ณป็ป็ธไบๅๅ ป๏ผ่ชๅจๅฝๅ่ฎฉ็ดขๅผๆๆไน๏ผ็ดขๅผ่ฎฉๅ ณ่ๆงๆไธบๅฏ่ฝ๏ผๅ ณ่ๆง่ฎฉๆฃ็ดข็ฒพๅ๏ผ็ฒพๅๆฃ็ดขไบง็ๆๆไน็ๅ้ฆ๏ผๅ้ฆ่ฎฉไธไธๆฌกๆฃ็ดขๆดๅฅฝใ
ๆพ่ๆง่ฏๅ๏ผ ๆถๆๆง(0.30) + ่ฎฟ้ฎ้ข็(0.25) + ่ฟๆฅๆฐ(0.20) + ็ดง่ฟซๆง(0.15) + ้่ฆๆง(0.10)
Ebbinghaus ่กฐๅ R(t) = e^(โt/S)๏ผ
| ่ฎฐๅฟ็ฑปๅ | S๏ผๅคฉ๏ผ | 1ๅคฉๅ | 1ๅจๅ |
|---|---|---|---|
| ๆฅๅฟ๏ผๆ ๆฏ๏ผ | 2 | 60% | ~7% |
| ็ฅ่ฏ/Bugไฟฎๅค๏ผ็จๅบ๏ผ | 180 | 99% | 96% |
| ๅฎซๆฎฟ/ๆถๆๅณ็ญ๏ผ่ฏญไน๏ผ | 9999 | โ100% | โ100% |
ๆงๆฅๅฟๅช้ณๆฐๅคฉๅ ๆถ้๏ผๆถๆๅณ็ญๆฐธไน ไฟ็ใ
ๅคๅๆๅบ๏ผ
ไผ่ฏ 1: ไฟๅญ 3 ๆก่ฎฐๅฟ๏ผ่ชๅจๅฝๅใ็ดขๅผใๅๅปบ่พน๏ผ
ไผ่ฏ 10: watch_for ๅจ้่ฏฏ้ๅคไนๅ่ญฆๅ agent
ไผ่ฏ 20: ๆ็ฅๅ
ๅซ 10 ๆกไบคๅ้ช่ฏ็ๆดๅฏ๏ผไป 40+ ๆกๅๅง่งๅฏๅๅนถ๏ผ
ไผ่ฏ 50: Agent ไบ่งฃไฝ ็ไผๅ
็บงใ็ฒ็นๅๆฒ้้ฃๆ ผ
SDK API
import { AgentRecall } from "agent-recall-sdk";
const ar = new AgentRecall({ project: "my-project" });
| ๆนๆณ | ่ฏดๆ |
|---|---|
capture(question, answer, opts?) | ๅฟซ้้ฎ็ญๆ่ท๏ผL1 ่ฎฐๅฟ๏ผ |
journalWrite(content, opts?) | ๅๅ ฅๆฏๆฅๆฅๅฟ |
coldStart() | ๅฎซๆฎฟไผๅ ไธไธๆๅ ่ฝฝ๏ผ~200 token๏ผ |
palaceWrite(room, content, opts?) | ๅๅ ฅๆฟ้ด๏ผ่ชๅจๆๅบไบคๅๅผ็จ |
palaceRead(room?, topic?) | ่ฏปๅๆฟ้ดๅ ๅฎน |
walk(depth?, focus?) | ๆธ่ฟๅผๅฎซๆฎฟๆผซๆญฅ |
awarenessUpdate(insights, opts?) | ๅคๅๆฐๆดๅฏๅฐๆ็ฅ็ณป็ป |
recallInsight(context, opts?) | ่ทจ้กน็ฎๆดๅฏๅฌๅ |
alignmentCheck(input) | ่ฎฐๅฝ็ฝฎไฟกๅบฆๅๅ่ฎพ |
synthesize(opts?) | L3 ๅๆ๏ผๅฏ้ๅฎซๆฎฟๆดๅ |
CLI ๅฝไปค
# ๆฅๅฟ
ar capture <question> <answer> [--tags tag1,tag2]
ar read [--date YYYY-MM-DD]
ar search <query> [--include-palace]
ar rollup [--min-age-days N] [--dry-run]
# ๅฎซๆฎฟ
ar palace write <room> <content> [--importance high|medium|low]
ar palace walk [--depth identity|active|relevant|full]
ar palace search <query>
# ๆ็ฅไธๆดๅฏ
ar awareness update --insight "ๆ ้ข" --evidence "่ฏๆฎ" --applies-when kw1,kw2
ar insight <context> [--limit N]
# ่ฏญไนๅฌๅ้
็ฝฎ
ar setup supabase [--migrate] [--backfill]
# ๅ
จๅฑ้้กน
--root <path> ๅญๅจๆ น็ฎๅฝ๏ผ้ป่ฎค๏ผ~/.agent-recall๏ผ
--project <slug> ้กน็ฎ่ฆ็
ๆถๆ
ไบๅฑ่ฎฐๅฟๆจกๅ
L1: ๅทฅไฝ่ฎฐๅฟ journal_capture ใๅ็ไบไปไนใ
L2: ๆ
ๆฏ่ฎฐๅฟ journal_write ใ่ฟๆๅณ็ไปไนใ
L3: ่ฎฐๅฟๅฎซๆฎฟ palace_write / walk ใ่ทจไผ่ฏ็็ฅ่ฏใ
L4: ๆ็ฅ็ณป็ป awareness_update ใๅคๅ็ๆดๅฏใ
L5: ๆดๅฏ็ดขๅผ recall_insight ใ่ทจ้กน็ฎ็็ป้ชใ
ๆๅบๅๅ
ฅ โ ๅๅ
ฅไธไธชๆฟ้ด๏ผ็ธๅ
ณๆฟ้ด้่ฟ [[wikilinks]] ่ชๅจๆดๆฐไบคๅๅผ็จใ้ถ LLM ๆๆฌใ
Obsidian ๅ
ผๅฎน โ YAML frontmatter + [[wikilinks]]ใๅฐ palace/ ไฝไธบ Obsidian vault ๆๅผๅณๅฏใ
ๅนณๅฐๅ ผๅฎนๆง
| ๅนณๅฐ | MCP | SDK | CLI | ่ฏดๆ |
|---|---|---|---|---|
| Claude Code | โ | โ | โ | ๅฎๆดๆฏๆ โ MCP + ๆ่ฝ + ๅฝไปค |
| Cursor | โ | โ | โ | MCP via .cursor/mcp.json |
| VS Code (Copilot) | โ | โ | โ | MCP via .vscode/mcp.json |
| Windsurf | โ | โ | โ | MCP via mcp_config.json |
| OpenAI Codex | โ | โ | โ | codex mcp add |
| LangChain / CrewAI | โ | โ | โ | SDK ้ๆๅฐไฝ ็ chain ไธญ |
| Vercel AI SDK | โ | โ | โ | SDK ๅจ server actions ไธญไฝฟ็จ |
| CI / GitHub Actions | โ | โ | โ | npx agent-recall-cli |
| ไปปไฝ MCP ๆบ่ฝไฝ | โ | โ | โ | ๆ ๅ MCP ๅ่ฎฎ |
ๅฎๆต Token ่็
| ๅบๆฏ | ๆ AR | ๆ AR | ่็ |
|---|---|---|---|
| A: ็ฎๅ ๏ผ2 ไผ่ฏ๏ผ0 ็บ ๆญฃ๏ผ | 567 | 1,131 | +99% ็บฏๅผ้ |
| B: ไธญ็ญ ๏ผ5 ไผ่ฏ๏ผ1 ๆฌก็บ ๆญฃ๏ผ | 6,220 | 4,382 | -30% |
| C: ๅคๆ ๏ผ20 ไผ่ฏ๏ผ5 ๆฌก็บ ๆญฃ๏ผ | 40,910 | 17,520 | -57% |
| D: ๅค Agent ๏ผ3 ไธช agent ร 5 ไผ่ฏ๏ผ | 20,781 | 13,140 | -37% |
| E: Digest ็ผๅญ ๏ผ้ๅคๅๆ๏ผ1 ๆฌกๅฝไธญ๏ผ | ~2,400 | ~400 | -83% |
็ไบๅนณ่กก๏ผ~3-4 ไธชไผ่ฏใ ็ฎๅไธๆฌกๆงไปปๅก๏ผAR ๆฏ็บฏๅผ้ใ3+ ไผ่ฏใๆ็บ ๆญฃใๅค agent ็ๅบๆฏ๏ผAR ้ฝ่ฝๅๆฌใ
ๆๆกฃ
| ๆๆกฃ | ่ฏดๆ |
|---|---|
| โ ๅฝไปคๅ่ | /arstatusใ/arstartใ/arsaveใ/arsaveall ๅฎๆดๆๅ |
| ๆบ่ฝ่ท็ฆปๅ่ฎฎ | ๅบ็ก็่ฎบ โ ไบบ็ฑปไธ AI ไน้ด็ๅทฎ่ทๆฏ็ปๆๆง็๏ผๅฆไฝๅๅฐไฟกๆฏๆๅคฑ |
| ่ฏๅ่ฎพ่ฎกๅ็ | RRFใ่พๅฎพๆตฉๆฏใBeta ๅๅธๅๅ ถไฟฎๅค็ bug |
| v3.4 ๅ็บง่ฏดๆ | ่ฏญไนๅฌๅใpgvectorใ10 ๅทฅๅ ทใbootstrapใdecisions ๆฟ้ด |
่ดก็ฎ
็ฑ tongwu ๅจ Novada ๆๅปบใ
- Issues & ๅ้ฆ๏ผGitHub Issues
- ้ฎ็ฎฑ๏ผtong.wu@novada.com
MIT ่ฎธๅฏ่ฏใ
