mcpField
A
auto-claude-memory

auto-claude-memory

github.com/adaptationioAgent 工作流100 次安装
代码仓库

关于 auto-claude-memory

Auto-Claude 的持久记忆系统,使用 Graphiti 和嵌入式 LadybugDB 保存 Agent 会话间的上下文。支持语义搜索和知识图谱关系,并提供多种 LLM 与嵌入模型选项。

主要功能

  1. 01跨会话保留上下文
  2. 02对记忆进行语义搜索
  3. 03实体与事实的知识图谱
  4. 04多种 LLM 和嵌入模型提供方
  5. 05嵌入式 LadybugDB 存储
  6. 06Python API 与命令行查询

适用场景

  1. 01在新会话中调取此前的项目经验
  2. 02搜索已存储的实体与关系
  3. 03将 Agent 发现保存为事件
  4. 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

记忆操作

记忆的工作方式
  1. 构建期间

    • Agent 发现模式、注意事项和解决方案
    • 记忆管理器提取见解
    • 将见解作为事件存储在知识图谱中
  2. 新会话

    • 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

最佳实践

有效使用记忆
  1. 让 Agent 自然学习

    • 不要强制存储记忆
    • Agent 会自动提取见解
  2. 使用语义搜索

    • 使用自然语言查询
    • 记忆会查找相关概念
  3. 定期清理

    • 删除过时的见解
    • 更新错误信息
选择提供商
使用场景推荐
生产环境OpenAI 或 Anthropic+Voyage
开发环境Ollama(免费、离线)
企业级Azure OpenAI
预算有限OpenRouter 或 Google AI
性能提示
  1. 选择嵌入模型

    • text-embedding-3-small:速度快、质量好
    • text-embedding-3-large:质量更好、速度较慢
  2. 选择大模型

    • gpt-4o-mini:速度快、成本效益高
    • claude-sonnet:推理质量高
  3. 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