关于 auto-claude-memory
Auto-Claude 的持久记忆系统,使用 Graphiti 和嵌入式 LadybugDB 保存 Agent 会话间的上下文。支持语义搜索和知识图谱关系,并提供多种 LLM 与嵌入模型选项。
主要功能
- 01跨会话保留上下文
- 02对记忆进行语义搜索
- 03实体与事实的知识图谱
- 04多种 LLM 和嵌入模型提供方
- 05嵌入式 LadybugDB 存储
- 06Python API 与命令行查询
适用场景
- 01在新会话中调取此前的项目经验
- 02搜索已存储的实体与关系
- 03将 Agent 发现保存为事件
- 04使用 Ollama 离线运行记忆系统
MCP 相关
设置 `GRAPHITI_MCP_URL` 后,Agent 可通过 MCP 工具搜索节点和事实、添加与检索事件,以及查询实体关系。README 还介绍了独立运行 Graphiti MCP 服务端的方式。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ adaptationio/ skrillz --skill auto-claude-memory安装后在 Claude Code 中输入/auto-claude-memory确认已加载。
附带文件references/.env.example
详细介绍
Auto-Claude Memory System
基于 Graphiti 的持久化记忆,用于跨会话保留上下文。
概述
Auto-Claude 使用 Graphiti 和嵌入式 LadybugDB 实现记忆功能:
- 无需 Docker - 嵌入式图数据库
- 支持多个提供商 - OpenAI、Anthropic、Ollama、Google AI、Azure
- 语义搜索 - 查找跨会话的相关上下文
- 知识图谱 - 实体关系和事实
架构
Agent Session
│
▼
Memory Manager
│
├──▶ Add Episode (new learnings)
├──▶ Search Nodes (find entities)
├──▶ Search Facts (find relationships)
└──▶ Get Context (relevant memories)
│
▼
Graphiti (Knowledge Graph)
│
▼
LadybugDB (Embedded Storage)
配置
启用记忆系统
在 apps/backend/.env 中:
# Enable Graphiti memory (default: true)
GRAPHITI_ENABLED=true
选择提供商
选择大模型和嵌入提供商:
# LLM provider: openai | anthropic | azure_openai | ollama | google | openrouter
GRAPHITI_LLM_PROVIDER=openai
# Embedder provider: openai | voyage | azure_openai | ollama | google | openrouter
GRAPHITI_EMBEDDER_PROVIDER=openai
提供商配置
OpenAI(最简单)
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=openai
GRAPHITI_EMBEDDER_PROVIDER=openai
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
OPENAI_MODEL=gpt-4o-mini
OPENAI_EMBEDDING_MODEL=text-embedding-3-small
Anthropic + Voyage(高质量)
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=anthropic
GRAPHITI_EMBEDDER_PROVIDER=voyage
ANTHROPIC_API_KEY=sk-ant-xxxxxxxx
GRAPHITI_ANTHROPIC_MODEL=claude-sonnet-4-5-latest
VOYAGE_API_KEY=pa-xxxxxxxx
VOYAGE_EMBEDDING_MODEL=voyage-3
Ollama(完全离线)
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=ollama
GRAPHITI_EMBEDDER_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_LLM_MODEL=deepseek-r1:7b
OLLAMA_EMBEDDING_MODEL=nomic-embed-text
OLLAMA_EMBEDDING_DIM=768
先决条件:
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Pull models
ollama pull deepseek-r1:7b
ollama pull nomic-embed-text
Google AI(Gemini)
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=google
GRAPHITI_EMBEDDER_PROVIDER=google
GOOGLE_API_KEY=AIzaSyxxxxxxxx
GOOGLE_LLM_MODEL=gemini-2.0-flash
GOOGLE_EMBEDDING_MODEL=text-embedding-004
Azure OpenAI(企业级)
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=azure_openai
GRAPHITI_EMBEDDER_PROVIDER=azure_openai
AZURE_OPENAI_API_KEY=xxxxxxxx
AZURE_OPENAI_BASE_URL=https://your-resource.openai.azure.com/...
AZURE_OPENAI_LLM_DEPLOYMENT=gpt-4
AZURE_OPENAI_EMBEDDING_DEPLOYMENT=text-embedding-3-small
OpenRouter(多提供商)
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=openrouter
GRAPHITI_EMBEDDER_PROVIDER=openrouter
OPENROUTER_API_KEY=sk-or-xxxxxxxx
OPENROUTER_LLM_MODEL=anthropic/claude-3.5-sonnet
OPENROUTER_EMBEDDING_MODEL=openai/text-embedding-3-small
数据库设置
# Database name (default: auto_claude_memory)
GRAPHITI_DATABASE=auto_claude_memory
# Storage path (default: ~/.auto-claude/memories)
GRAPHITI_DB_PATH=~/.auto-claude/memories
记忆操作
记忆的工作方式
-
构建期间
- Agent 发现模式、注意事项和解决方案
- 记忆管理器提取见解
- 将见解作为事件存储在知识图谱中
-
新会话
- Agent 查询相关上下文
- 记忆返回相关见解
- Agent 基于先前的学习继续工作
MCP 工具
设置 GRAPHITI_MCP_URL 后,Agent 可以使用:
| 工具 | 用途 |
|---|---|
search_nodes | 搜索实体摘要 |
search_facts | 搜索实体之间的关系 |
add_episode | 向知识图谱添加数据 |
get_episodes | 获取最近的事件 |
get_entity_edge | 获取特定实体/关系 |
Python API
from integrations.graphiti.memory import get_graphiti_memory
# Get memory instance
memory = get_graphiti_memory(spec_dir, project_dir)
# Get context for session
context = memory.get_context_for_session("Implementing feature X")
# Add insight from session
memory.add_session_insight("Pattern: use React hooks for state")
# Search for relevant memories
results = memory.search("authentication patterns")
记忆存储
位置
~/.auto-claude/memories/
├── auto_claude_memory/ # Main database
│ ├── nodes/ # Entity nodes
│ ├── edges/ # Relationships
│ └── episodes/ # Session insights
└── embeddings/ # Vector embeddings
每个 Spec 的记忆
.auto-claude/specs/001-feature/
└── graphiti/ # Spec-specific memory
├── insights.json # Extracted insights
└── context.json # Session context
查询记忆
命令行
cd apps/backend
# Query memory
python query_memory.py --search "authentication"
# List recent episodes
python query_memory.py --recent 10
# Get entity details
python query_memory.py --entity "UserService"
记忆实战示例
会话示例:
Session 1:
Agent: "Implemented OAuth login, discovered need to handle token refresh"
Memory: Stores insight about token refresh pattern
Session 2:
Agent: "Implementing user profile..."
Memory: "Previously learned about token refresh in OAuth implementation"
Agent: Uses learned pattern for profile API calls
最佳实践
有效使用记忆
-
让 Agent 自然学习
- 不要强制存储记忆
- Agent 会自动提取见解
-
使用语义搜索
- 使用自然语言查询
- 记忆会查找相关概念
-
定期清理
- 删除过时的见解
- 更新错误信息
选择提供商
| 使用场景 | 推荐 |
|---|---|
| 生产环境 | OpenAI 或 Anthropic+Voyage |
| 开发环境 | Ollama(免费、离线) |
| 企业级 | Azure OpenAI |
| 预算有限 | OpenRouter 或 Google AI |
性能提示
-
选择嵌入模型
text-embedding-3-small:速度快、质量好text-embedding-3-large:质量更好、速度较慢
-
选择大模型
gpt-4o-mini:速度快、成本效益高claude-sonnet:推理质量高
-
Ollama 优化
# Use smaller models for speed OLLAMA_LLM_MODEL=llama3.2:3b OLLAMA_EMBEDDING_MODEL=all-minilm OLLAMA_EMBEDDING_DIM=384
故障排查
记忆无法工作
# Check if enabled
grep GRAPHITI apps/backend/.env
# Verify provider credentials
python -c "from integrations.graphiti.memory import get_graphiti_memory; print('OK')"
提供商错误
# OpenAI
curl -H "Authorization: Bearer $OPENAI_API_KEY" https://api.openai.com/v1/models
# Ollama
curl http://localhost:11434/api/tags
# Check logs
DEBUG=true python query_memory.py --search "test"
数据库损坏
# Backup and reset
mv ~/.auto-claude/memories ~/.auto-claude/memories.backup
python query_memory.py --search "test" # Creates fresh DB
嵌入维度不匹配
如果更改嵌入模型:
# Clear existing embeddings
rm -rf ~/.auto-claude/memories/embeddings
# Restart to re-embed
python run.py --spec 001
高级用法
自定义记忆集成
from integrations.graphiti.queries_pkg.graphiti import GraphitiMemory
# Create custom memory instance
memory = GraphitiMemory(
database="custom_db",
db_path="/path/to/storage",
llm_provider="anthropic",
embedder_provider="voyage"
)
# Custom operations
memory.add_entity("UserService", {"type": "service", "purpose": "auth"})
memory.add_relationship("UserService", "uses", "Database")
记忆 MCP 服务
运行独立的记忆服务:
# Start Graphiti MCP server
GRAPHITI_MCP_URL=http://localhost:8000/mcp/ python -m integrations.graphiti.server
相关技能
- auto-claude-setup:初始配置
- auto-claude-optimization:性能调优
- auto-claude-troubleshooting:调试
评论
支持 Markdown