使用说明
代理存储器
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
文档
计划的
- []具有自动清理功能的数据保留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工具链)。
许可证
麻省理工学院
