关于 Lore
Lore 是跨 Agent 的记忆系统,通过 MCP、REST API 和 SDK 存储并检索记忆,并可在提示中自动注入相关内容。它结合知识图谱、时间记录与更正沿袭,并支持私有和共享记忆。
主要功能
- 01跨 Agent 记忆存取
- 02语义与图谱增强检索
- 03自动提取实体与关系
- 04双时间轴事实与更正记录
- 05记忆隐私及共享控制
- 06会话记忆自动注入
适用场景
- 01在不同 Agent 间延续项目上下文
- 02查询关联实体与历史事实
- 03追踪事实更正及其时间
- 04将私有记忆共享给团队
MCP 相关
作为 MCP 服务公开记忆、检索、图谱、时间线及其他工具,供 MCP 客户端跨 Agent 使用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Lore — 通用 AI 记忆层
让你的 AI Agent 自动记住一切。
Lore 是一个跨 Agent 记忆系统,可在任何 AI Agent 间存储、关联和检索知识,无需修改代码。安装钩子后,相关记忆便会出现在每条提示词中。无需 Agent 配合。
User: "What API rate limits should I use?"
── Lore hook fires (20ms) ──────────────────────────────
🧠 Relevant memories from Lore:
- [0.82] Stripe API returns 429 after 100 req/min — use exponential backoff
- [0.71] Our internal API rate limit is 500 req/min per API key
────────────────────────────────────────────────────────
Agent sees memories + prompt → responds with full context
功能
通用记忆
remember · recall · forget · list_memories · stats
通过 MCP 工具、REST API 或 Python/TypeScript SDK,在任何 AI Agent 间存储和检索记忆。支持语义搜索、基于层级的 TTL、时间衰减和自动 PII 脱敏。
知识图谱
graph_query · entity_map · related · extract_facts · list_facts · conflicts
自动从记忆中提取实体和关系。逐跳遍历图谱,展现纯向量搜索无法发现的关联知识。原子化事实提取,并自动检测冲突。
双时态事实与替代
supersede · list_at_time · facts_at_time · timeline · provenance · supersession_chain · consolidate_memories
保留历史记录,不删除内容。通过替代来更正记忆和事实,而非删除——每次更改都会追加到可审计的记录中。Lore 跟踪两条独立的时间轴(双时态):有效时间(事实在现实世界中成立的时间)和系统时间(Lore 获知该事实的时间),因此你可以询问“截至 Y 日期,X 的规范内容——或当时为真的内容是什么?”。list_at_time / facts_at_time 用于回答截至指定时间的查询,timeline 按时间顺序遍历相邻事件,而 provenance / supersession_chain 则展示记忆或事实的完整更正沿革。
图谱可视化
Web UI 位于 /ui/
通过交互式 D3 力导向图浏览知识库。提供实体详情面板、主题簇、搜索和筛选功能。在浏览器中运行,无需安装。
会话连续性
自动快照 + 自动注入——无需 Agent 配合
会话累加器会自动捕获对话上下文,并在每条提示词中注入相关的会话历史。确定性运行(无需 LLM)。通过钩子工作——Agent 完全不知道 Lore 的存在。
最近活动
recent_activity
按会话汇总所有项目近期发生的情况。让 Agent 在不同对话间保持连续性,无需手动传递上下文。
主题笔记
topics · topic_detail
自动生成概念中心,围绕反复出现的主题对相关记忆、实体和事实进行归类。在一个视图中查看 Lore 关于某个主题的全部信息。
导出与快照
export · snapshot · snapshot_list · save_snapshot
以 JSON 和 Markdown 格式完整导出数据。输出兼容 Obsidian,可在 PKM 工具中浏览知识图谱。支持用于备份和迁移的快照。
带风险评分的审批体验
review_digest · review_connection · lore review list --sort risk
审核发现的知识图谱关联,并查看计算得出的风险评分。支持批量批准或拒绝并添加备注,还提供完整的决策审计记录。可按风险、置信度或时间排序。
引导式启动
lore bootstrap
一条命令即可验证 Python 版本、Postgres、pgvector 和 Docker,运行迁移,并检查服务健康状况。使用 --fix 可自动修复缺失的依赖。
多 Agent 配置
lore setup claude-code · lore setup openclaw · lore setup cursor · lore setup codex
一条命令即可为所有主流 AI 编码 Agent 安装钩子。自动检索会注入每条提示词,无需修改代码。包含 --validate、--test-connection 和 --dry-run 标志。
SLO 仪表板 + 告警
lore slo create · lore slo status · GET /v1/slo/status
定义检索延迟(p50/p95/p99)和命中率的 SLO 目标。后台检查器每 60 秒评估一次,并在违反目标时触发 webhook 或电子邮件告警。提供用于绘图的时间序列 API。
自适应检索配置
lore profiles list · GET /v1/profiles · ?profile=coding
存储在 Postgres 中的命名检索配置。提供面向编码(偏重近期内容)、事件响应(偏重图谱)和研究(长期)的预设。可按请求选择,或设为 API 密钥的默认配置。
基于策略的保留
lore policy create · lore restore-drill · GET /v1/policies/compliance
声明式生命周期策略,支持按层级设置保留期限、基于 cron 的快照计划,以及包含计时指标的恢复演练。提供涵盖所有策略的合规性仪表板。
多租户工作区
lore workspace create · lore workspace switch · lore audit
在组织内隔离工作区。提供限定范围的 API 密钥、带 RBAC 角色的成员管理,以及记录每项操作的完整审计日志(memory.create、key.revoke 等)。
插件 SDK
lore plugin create · lore plugin list · lore plugin reload
通过 Python entry_points 发现的插件扩展 Lore。提供五个生命周期钩子(on_remember、on_recall、on_enrich、on_extract、on_score)、热重载、脚手架 CLI 和测试工具。
主动推荐
suggest · lore suggest --context "..." · GET /v1/recommendations
在明确查询前呈现相关记忆。采用多信号评分(上下文相似度、实体重叠、时间模式、访问模式),并提供易读的说明和反馈循环。
检索分析
GET /v1/analytics/retrieval · Prometheus metrics
跟踪命中率、评分分布、记忆利用率和延迟。了解记忆是否真正帮助了你的 Agent。
快速开始
Docker Compose(推荐)
git clone https://github.com/agentkitai/lore.git
cd lore
docker compose up -d
启动带有 pgvector 的 Postgres,以及运行于 http://localhost:8765 的 Lore 服务。
pip
pip install "lore-sdk[server,solo]"
lore serve # starts on port 8765
验证是否正常运行
curl http://localhost:8765/v1/memories
将 Lore 添加为 MCP 服务
只需一行,无需安装,即可将 Lore 添加到任意 MCP 客户端(Claude Code、Cursor、VS Code、Codex、Claude Desktop):
// Claude Code: .mcp.json · Claude Desktop: claude_desktop_config.json
{
"mcpServers": {
"lore": { "command": "uvx", "args": ["--from", "lore-sdk[mcp]", "lore-memory"] }
}
}
已安装(pip install lore-sdk[mcp])?请使用 "command": "lore-memory"(或 lore mcp)。各客户端的指南见下方多 Agent 配置;lore integrate --platform <client> 会为你写入配置。
多 Agent 配置
Claude Code
选项 A:自动检索钩子(推荐)
lore setup claude-code
这会安装一个 UserPromptSubmit 钩子,在每条提示词中自动注入相关记忆。
选项 B:MCP 工具
添加到 ~/.claude/settings.json:
{
"mcpServers": {
"lore": {
"command": "lore",
"args": ["mcp"],
"env": {
"LORE_API_URL": "http://localhost:8765",
"LORE_API_KEY": "your-api-key"
}
}
}
}
OpenClaw
lore setup openclaw
安装一个用于自动检索的 message:preprocessed 钩子。在每次 Agent 回复前,记忆都会出现在上下文中。
Cursor
lore setup cursor
安装一个 beforeSubmitPrompt 钩子。还需将 MCP 配置添加到 .cursorrules:
{
"mcpServers": {
"lore": {
"command": "lore",
"args": ["mcp"],
"env": {
"LORE_API_URL": "http://localhost:8765",
"LORE_API_KEY": "your-api-key"
}
}
}
}
Codex CLI
lore setup codex
安装一个 beforePlan 钩子。添加 MCP 配置:
{
"mcpServers": {
"lore": {
"command": "lore",
"args": ["mcp"],
"env": {
"LORE_API_URL": "http://localhost:8765",
"LORE_API_KEY": "your-api-key"
}
}
}
}
任意 HTTP 客户端
任何能在发送提示词前发起 HTTP 调用的系统都可使用自动检索:
curl -s "http://localhost:8765/v1/retrieve?query=your+prompt&limit=5&min_score=0.3&format=markdown" \
-H "Authorization: Bearer $LORE_API_KEY"
MCP 工具参考
| 工具 | 描述 |
|---|---|
remember | 存储带有类型、层级、标签和元数据的记忆 |
recall | 使用时间和图谱增强检索进行语义搜索 |
forget | 按 ID 删除记忆 |
list_memories | 筛选并列出记忆 |
stats | 记忆统计信息(总数、按类型/层级统计) |
upvote_memory | 提高记忆排名 |
downvote_memory | 降低记忆排名 |
graph_query | 逐跳遍历知识图谱 |
entity_map | 列出实体(可选 D3 格式) |
related | 查找相关记忆/实体 |
extract_facts | 提取(主语、谓语、宾语)三元组 |
list_facts | 列出有效事实 |
conflicts | 列出检测到的事实冲突 |
classify | 意图、领域、情绪分类 |
enrich | 由大模型驱动的元数据提取 |
consolidate | 合并重复或相关的记忆 |
ingest | 接收来自外部来源的内容 |
github_sync | 同步 GitHub 仓库数据 |
check_freshness | 根据 git 验证记忆的时效性 |
as_prompt | 导出格式化为大模型注入内容的记忆 |
add_conversation | 从对话消息中提取记忆 |
recent_activity | 最近的记忆活动摘要 |
topics | 列出自动检测到的重复主题 |
topic_detail | 深入了解某个主题(记忆、实体、时间线) |
export | 将所有数据导出为 JSON |
snapshot | 创建数据备份 |
snapshot_list | 列出可用快照 |
save_snapshot | 保存会话快照 |
review_digest | 获取待审核的关联 |
review_connection | 批准/拒绝待处理的关联 |
on_this_day | 跨年份查找同一日期的记忆 |
suggest | 根据会话上下文主动推荐记忆 |
remember_observation | 记录会话中的结构化观察 |
search | 渐进式披露的紧凑索引(id、标题、分数) |
get_memories | 获取一个或多个记忆 ID 的完整载荷 |
timeline | 围绕锚点记忆按时间顺序排列的相邻事件 |
promote_memory | 与团队共享私有记忆(私有→共享) |
demote_memory | 取消共享记忆,使其恢复为私有 |
supersede | 将记忆标记为已被更新的记忆取代 |
list_at_time | 列出指定时间点有效的记忆 |
consolidate_memories | 创建合并后的记忆,并将所有源记忆标记为已取代 |
provenance | 记忆的完整溯源信息(来源 + 取代链) |
supersession_chain | 记忆的取代审计链 |
facts_at_time | 列出指定时间点关于某个实体有效的事实 |
supersede_fact | 用更新的事实取代某个事实(绝不删除) |
fact_supersession_chain | 事实的修正轨迹 |
CLI 参考
# Memory operations
lore remember "API rate limit is 100 req/min" --tags api,limits
lore recall "rate limits" --limit 5
lore forget <memory-id>
lore memories --tier long_term
lore stats
# Knowledge graph
lore graph "authentication" --depth 2
lore entities --limit 50
lore facts "extract facts from this text"
lore conflicts
# Session & context
lore recent --hours 24
lore on-this-day
# Export & backup
lore export --format json > backup.json
lore import backup.json
lore snapshot-save --title "before refactor"
# Server & setup
lore bootstrap # validate prerequisites
lore serve # start HTTP server
lore mcp # start MCP server
lore ui # start web UI
lore setup claude-code # install hooks
lore setup claude-code --validate --test-connection
# SLO management
lore slo create --name "P99 < 50ms" --metric p99_latency --threshold 50 --operator lt
lore slo status
lore slo alerts
# Retrieval profiles
lore profiles list
lore profiles create --name fast-coding --semantic-weight 1.0 --recency-bias 7
# Retention policies
lore policy create --name prod --snapshot-schedule "0 2 * * *" --max-snapshots 30
lore policy compliance
lore restore-drill --latest
# Workspaces
lore workspace create dev-team
lore workspace switch dev-team
lore audit --since 24h
# Plugins
lore plugin create my-tagger
lore plugin list
lore plugin reload my-tagger
# Recommendations
lore suggest --context "setting up docker"
# Review (with risk scoring)
lore review list --sort risk
lore review approve <id> --note "Verified"
lore review batch approve --ids id1,id2
# API keys
lore keys create --name "my-agent"
lore keys list
lore keys revoke <key-id>
API 参考
关键端点
# Memory CRUD
GET /v1/retrieve # Auto-retrieval (for hooks)
POST /v1/memories # Create memory
POST /v1/memories/search # Semantic search
GET /v1/memories # List memories
GET /v1/memories/{id} # Get memory
PATCH /v1/memories/{id} # Update memory
DELETE /v1/memories/{id} # Delete memory
# Knowledge graph
GET /v1/graph # Knowledge graph
GET /v1/graph/topics # Topic list
GET /v1/graph/topics/{name} # Topic detail
GET /v1/graph/entity/{id} # Entity detail
# Bi-temporal & supersession (history without deletion)
POST /v1/memories/{id}/supersede # Mark superseded (by=null un-supersedes)
GET /v1/memories/at_time # Memories canonical as of ?at=<ts>
GET /v1/memories/{id}/supersession-chain # Memory correction audit trail
GET /v1/memories/{id}/provenance # Full lineage (sources + chain)
POST /v1/memories/consolidate # Merge N memories + supersede sources
GET /v1/facts/at_time # Facts about an entity valid at ?at=<ts>
POST /v1/facts/{id}/supersede # Supersede-not-delete a fact edge
GET /v1/facts/{id}/supersession-chain # Fact correction trail
GET /v1/timeline # Chronologically adjacent events
# Ingestion
POST /v1/conversations # Extract memories from conversation
POST /v1/ingest # Ingest external content
# Review + risk scoring
GET /v1/review # Pending reviews (sortable by risk)
POST /v1/review/{id} # Approve/reject with notes
POST /v1/review/bulk # Batch approve/reject
GET /v1/review/history # Decision audit trail
# Export & snapshots
POST /v1/export # Export all data
POST /v1/import # Import data
POST /v1/export/snapshots # Create snapshot
GET /v1/export/snapshots # List snapshots
# SLO dashboard
GET /v1/slo # List SLO definitions
POST /v1/slo # Create SLO
GET /v1/slo/status # Current pass/fail per SLO
GET /v1/slo/alerts # Alert history
GET /v1/slo/timeseries # Time-series for charts
# Retrieval profiles
GET /v1/profiles # List profiles
POST /v1/profiles # Create profile
GET /v1/retrieve?profile=coding # Retrieve with profile
# Retention policies
GET /v1/policies # List policies
POST /v1/policies # Create policy
GET /v1/policies/compliance # Compliance summary
POST /v1/policies/{id}/drill # Execute restore drill
# Workspaces + RBAC
POST /v1/workspaces # Create workspace
GET /v1/workspaces # List workspaces
POST /v1/workspaces/{id}/members # Add member
GET /v1/audit # Query audit log
# Plugins
GET /v1/plugins # List plugins
POST /v1/plugins/{name}/enable # Enable plugin
POST /v1/plugins/{name}/reload # Hot-reload plugin
# Recommendations
POST /v1/recommendations # Get proactive suggestions
POST /v1/recommendations/{id}/feedback # Thumbs up/down
PATCH /v1/recommendations/config # Adjust aggressiveness
# Setup validation
POST /v1/setup/validate # Test connectivity
# Analytics & monitoring
GET /v1/recent # Recent activity
GET /v1/analytics/retrieval # Retrieval analytics
GET /metrics # Prometheus metrics
# API keys
POST /v1/keys # Create API key
GET /v1/keys # List API keys
DELETE /v1/keys/{id} # Revoke API key
配置
| 变量 | 默认值 | 说明 |
|---|---|---|
DATABASE_URL | — | PostgreSQL 连接字符串 |
LORE_PORT | 8765 | 服务端口 |
LORE_API_KEY | — | 用于身份验证的 API 密钥 |
LORE_API_URL | http://localhost:8765 | 远程服务 URL |
LORE_PROJECT | — | 默认项目范围 |
LORE_SNAPSHOT_THRESHOLD | 30000 | 自动创建快照前的字符数 |
LORE_ENRICHMENT_ENABLED | false | 启用大模型增强流水线 |
LORE_ENRICHMENT_MODEL | gpt-4o-mini | 用于增强的模型 |
LORE_LLM_PROVIDER | — | 覆盖大模型提供商 |
LORE_LLM_API_KEY | — | 大模型 API 密钥 |
LORE_LLM_MODEL | — | 覆盖大模型 |
LORE_LLM_BASE_URL | — | 大模型基础 URL |
LORE_GRAPH_DEPTH | 2 | 默认图遍历深度 |
LORE_GRAPH_CONFIDENCE_THRESHOLD | 0.5 | 实体置信度阈值 |
LORE_GRAPH_EXTRACTION_ENABLED | true | 从新记忆中提取实体。默认开启——实体来自本地 spaCy NER(无需大模型,也无需 claude CLI);未安装 spaCy/en_core_web_sm 时会回退到专有名词启发式规则。设为 false 可禁用。安装 lore-sdk[ner] 并运行 python -m spacy download en_core_web_sm 可获得最佳实体提取效果。 |
LORE_GRAPH_LLM | false | 使用 claude CLI 提取实体及关系(主语→谓语→宾语),而非仅在本地提取实体。需要在 PATH 中安装 Claude Code。 |
LORE_GRAPH_EXTRACTION_CONCURRENCY | 2 | 最多并发运行的 claude 提取子进程数(仅限大模型路径) |
LORE_GRAPH_EXTRACTION_TIMEOUT | 30 | 每次提取的子进程超时时间,单位为秒(仅限大模型路径) |
LORE_CONTRADICTION_DETECTION | auto | 写入时检测矛盾并软性替代。设置 OPENAI_API_KEY 时自动开启(由大模型评分);可设为 true/false 以覆盖默认值。标记新记忆,并软性替代较早的矛盾记忆(召回时对已替代记忆的权重乘以 0.1——不会删除)。 |
LORE_CONTRADICTION_SUPERSEDE | true | 软性替代较早的矛盾记忆(后写入优先)。false = 仅标记(旧行为)。仅替代你自己的/无所有者的记忆;跨 Agent 冲突只标记。 |
LORE_CONTRADICTION_SUPERSEDE_MIN_CONFIDENCE | 0.75 | 替代所需的置信度阈值(高于标记阈值 LORE_CONTRADICTION_MIN_CONFIDENCE=0.6)。 |
LORE_AUTO_SAVE | true | 自动捕获(Claude Code hooks)总开关;设为 false 可禁用所有捕获。 |
LORE_CAPTURE_N | 0 | 自动捕获的会话中批次大小。0 = 仅缓冲(在 Stop 时按轮次提取);>0 = 每调用 N 次工具就启动一次 capture-extract(旧默认值为 10)。 |
LORE_EXTRACT_ON_STOP | true | 自动捕获:每个已完成的 Agent 轮次提取一次(Stop hook)。false = 严格仅在会话结束时提取。 |
LORE_HTTP_TIMEOUT | 30 | HTTP 超时时间(秒) |
OPENAI_API_KEY | — | 设置后自动启用增强 |
SLO_CHECK_INTERVAL | 60 | SLO 评估间隔(秒) |
ALERT_WEBHOOK_URL | — | SLO 告警的默认 webhook URL |
SMTP_HOST | — | 用于邮件告警的 SMTP 服务 |
SMTP_PORT | 587 | SMTP 端口 |
SMTP_USER | — | SMTP 用户名 |
SMTP_FROM | — | 邮件发件人地址 |
AUTH_MODE | api-key-only | 身份验证模式:api-key-only、dual、oidc-required |
LORE_WORKSPACE | — | 默认工作区 slug |
架构
┌──────────────────────────────────────────────────────────────┐
│ Agent Runtimes │
│ Claude Code · OpenClaw · Cursor · Codex · Any HTTP client │
└──────────┬──────────────────────────────────┬────────────────┘
│ hooks (auto-retrieval) │ MCP tools
▼ ▼
┌──────────────────────────────────────────────────────────────┐
│ Lore Server (:8765) │
│ │
│ REST API · MCP Server · Web UI (/ui/) · Plugin SDK │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌─────────────────────┐ │
│ │ Embedder │ │ Knowledge │ │ LLM Pipeline │ │
│ │ (ONNX) │ │ Graph │ │ (optional) │ │
│ │ pgvector │ │ + Review │ │ classify · enrich │ │
│ │ + Profiles │ │ + Risk │ │ extract · recommend │ │
│ └─────────────┘ └──────────────┘ └─────────────────────┘ │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌─────────────────────┐ │
│ │ SLO │ │ Retention │ │ Workspaces │ │
│ │ Checker │ │ Scheduler │ │ + RBAC │ │
│ │ + Alerting │ │ + Drills │ │ + Audit Log │ │
│ └─────────────┘ └──────────────┘ └─────────────────────┘ │
└──────────────────────────┬───────────────────────────────────┘
│
┌────────────▼────────────┐
│ PostgreSQL + pgvector │
│ memories · entities │
│ relationships · facts │
│ slo · profiles · audit │
│ workspaces · policies │
└─────────────────────────┘
性能
| 操作 | 延迟 |
|---|---|
/v1/retrieve(热启动) | ~20ms |
remember()(无大模型) | < 100ms |
recall() 100 条记忆 | < 50ms |
recall() 10K 条记忆 | < 200ms |
recall()(图增强) | < 500ms |
| 向量嵌入(500 个单词) | < 200ms |
参与贡献
git clone https://github.com/agentkitai/lore.git
cd lore
pip install -e ".[dev,server,mcp,enrichment]"
docker compose up -d db # Postgres + pgvector
pytest
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。