AI代理记忆工具

为AI编码代理提供持久化、可搜索的记忆存储,基于SQLite数据库,支持全文本搜索和语义搜索。

  • by dklymentiev
  • Go
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 dklymentiev/agent-memory

使用说明

代理存储器

AI编码代理的持久内存。 单二进制。零设置。即时搜索。

AI代理在会话之间会忘记一切。你重复上下文,重新解释决策,重新描述架构。 代理存储器 修复了这个问题——它为您的代理提供了一个由单个SQLite文件支持的持久、可搜索的内存。

go install github.com/dklymentiev/agent-memory@latest

问题

每次您开始新的Claude Code会话时,您的代理都会从头开始:

  • “我们决定为此使用PostgreSQL”——你已经说过5次了
  • “星期五不要部署”——特工不知道
  • “身份验证流使用JWT刷新令牌”——上周解释过,今天消失了

解决方案

# Save a decision once
agent-memory add "Auth uses JWT refresh tokens, 15min access / 7d refresh" \
  -t type:decision -t topic:auth

# Agent finds it when relevant
agent-memory search "authentication tokens"

# Or get smart context automatically at session start
agent-memory context

一个二进制。一个SQLite文件。没有Docker。没有外部数据库。无需配置。

主要特点

搜索有效 --FTS5全文搜索,BM25排名。可选的混合搜索,使用本地ONNX嵌入或OpenAI(30%关键字+70%语义)。即使措辞不同,也能找到你需要的东西。本地嵌入需要零个API密钥和零个互联网。

工作区 --为每个项目隔离内存。 agent-memory focus backend-api 一切都是分开的。

MCP服务器 --用于Claude Code、Cursor或任何MCP兼容代理的14个工具。要设置的一个命令: claude mcp add agent-memory -- agent-memory mcp

自动捕捉挂钩 --自动保存Claude Code会话中的工具输出和用户提示。敏感数据(密码、API密钥、令牌、JWT)在存储前被清除。

智能上下文 --渐进式披露系统为每个会话组装了正确的上下文:首先是固定的记忆,然后是最近的,然后是搜索结果——所有这些都在代币预算范围内。

此外:自动标记、标记感知分块、内容去重(SHA-256)、提示模板、时间线视图、JSON/Dmarkdown导出、提示注入保护。

快速开始

# Add memories
agent-memory add "Use snake_case for Python, camelCase for TypeScript" \
  -t type:decision -t topic:style

# Search
agent-memory search "naming conventions"

# Switch workspace
agent-memory focus my-project

# Get session context (pinned + recent + relevant)
agent-memory context

# Pipe files into memory
cat ARCHITECTURE.md | agent-memory add -f - -t type:artifact --pin

语义搜索(嵌入)

默认情况下,代理内存使用FTS5关键字搜索。启用混合搜索的嵌入(30%关键字+70%语义),理解含义,而不仅仅是精确的单词。

局部嵌入(推荐) --完全在您的机器上运行,没有API密钥,安装后没有互联网:

agent-memory embeddings enable --local
# Downloads ONNX Runtime (~8MB) and all-MiniLM-L6-v2 model (~87MB)
# Everything stored in ~/.agent-memory/

OpenAI嵌入 --更高的质量,需要API密钥:

export OPENAI_API_KEY=sk-...
agent-memory embeddings enable --openai

启用后,搜索将自动使用混合模式:

agent-memory search "authentication flow"     # hybrid: FTS + semantic
agent-memory search "auth" --fts              # force keyword-only
agent-memory search "how do users log in" --semantic  # force semantic-only
供应商 型号 尺寸 速度 成本
本地 全MiniLM-L6-v2 384 ~0.4s/query 免费
openai 文本嵌入-3小 1536 ~0.3s/query ~0.02/M代币

MCP服务器(克劳德代码集成)

# One-liner setup
claude mcp add agent-memory -- agent-memory mcp

或添加到 .mcp.json 在您的项目中:

{
  "mcpServers": {
    "agent-memory": {
      "command": "agent-memory",
      "args": ["mcp"]
    }
  }
}

14种MCP工具可用: memory_add, memory_search, memory_context, memory_list, memory_focus, memory_delete, memory_update, memory_stats, memory_timeline, memory_save_prompt, memory_get_prompt, memory_suggest_tags, memory_session_start, memory_session_end.

看 docs/guide.md 了解每个工具的详细信息。

克劳德代码挂钩

从编码会话中自动捕获上下文:

{
  "hooks": [
    {"event": "PostToolUse", "command": "agent-memory hook post-tool-use", "timeout": 5000},
    {"event": "SessionStart", "command": "agent-memory hook session-start", "timeout": 5000},
    {"event": "UserPromptSubmit", "command": "agent-memory hook user-prompt-submit", "timeout": 5000},
    {"event": "SessionEnd", "command": "agent-memory hook session-end", "timeout": 5000}
  ]
}

挂钩清除敏感数据(密码、API密钥、令牌、JWT、私钥)并防止即时注入。

如何比较

代理内存 mem0 Zep ChromaDB
安装程序 go install,done Python+neneneba API密钥 Docker+Postgres Pythone+服务器
依赖关系 无(单二进制) Python、OpenAI Docker、Postgres、Redis Python、多个
存储 单个SQLite文件 云或自托管 Postgres 持久目录
MCP支持 内置(14个工具) 否 否 无
搜索 FTS5+可选嵌入 仅嵌入 嵌入+图形 仅嵌入
脱机工作 是(FTS5模式) 否 是 是
二进制大小 ~11MB N/A N/A N/A

代理内存是为 个人/小团队使用 使用AI编码代理。如果你需要一个包含数百万文档的生产向量数据库,请使用ChromaDB或Pinecone。如果你想在10秒内实现零基础设施的工作,这就是它。

安全

  • 数据库和配置文件:受限权限(0600/0700)
  • 钩子数据:存储前清除敏感模式(12条正则表达式规则)
  • 会话上下文:提示注入保护(XML边界+17模式拒绝列表)
  • 搜索查询:FTS5和LIKE注射消毒
  • 内容:1MB限制,SHA-256去重,工作区名称验证

看 安全.md 了解全部细节。

存储

一个文件中的所有数据:

~/.agent-memory/memory.db          # default (global)
.agent-memory/memory.db            # per-project (via agent-memory init)
agent-memory --db /path/to/my.db   # custom path

文档

  • 用户指南 --安装、所有功能、配置
  • 技术参考 --所有类型、函数、模式、CLI标志
  • 建筑 --内部设计、数据流、包结构
  • 贡献 --开发设置、代码风格、PR指南
  • 安全 --威胁模型、保护、漏洞报告

计划的

  • []具有自动清理功能的数据保留TTL
  • []用于浏览和搜索记忆的Web UI

从源头构建

git clone https://github.com/dklymentiev/agent-memory.git
cd agent-memory
make build      # builds ./agent-memory
make test       # runs tests
make install    # copies to /usr/local/bin

需要Go 1.21+(自动下载Go 1.25工具链)。

许可证

麻省理工学院