mcpField
L
Lore

Lore

本地服务
github.com记忆与知识1012 周前更新

关于 Lore

Lore 是跨 Agent 的记忆系统,通过 MCP、REST API 和 SDK 存储并检索记忆,并可在提示中自动注入相关内容。它结合知识图谱、时间记录与更正沿袭,并支持私有和共享记忆。

主要功能

  1. 01跨 Agent 记忆存取
  2. 02语义与图谱增强检索
  3. 03自动提取实体与关系
  4. 04双时间轴事实与更正记录
  5. 05记忆隐私及共享控制
  6. 06会话记忆自动注入

适用场景

  1. 01在不同 Agent 间延续项目上下文
  2. 02查询关联实体与历史事实
  3. 03追踪事实更正及其时间
  4. 04将私有记忆共享给团队

MCP 相关

作为 MCP 服务公开记忆、检索、图谱、时间线及其他工具,供 MCP 客户端跨 Agent 使用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"agentkitai-lore": {
"command": "uvx",
"args": [
"lore-sdk"
]
}
}
}
启动命令uvx lore-sdk

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypilore-sdk1.4.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Lore — 通用 AI 记忆层

PyPI npm Container Python 3.10+ License: MIT MCP Compatible Tests

让你的 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_PORT8765服务端口
LORE_API_KEY—用于身份验证的 API 密钥
LORE_API_URLhttp://localhost:8765远程服务 URL
LORE_PROJECT—默认项目范围
LORE_SNAPSHOT_THRESHOLD30000自动创建快照前的字符数
LORE_ENRICHMENT_ENABLEDfalse启用大模型增强流水线
LORE_ENRICHMENT_MODELgpt-4o-mini用于增强的模型
LORE_LLM_PROVIDER—覆盖大模型提供商
LORE_LLM_API_KEY—大模型 API 密钥
LORE_LLM_MODEL—覆盖大模型
LORE_LLM_BASE_URL—大模型基础 URL
LORE_GRAPH_DEPTH2默认图遍历深度
LORE_GRAPH_CONFIDENCE_THRESHOLD0.5实体置信度阈值
LORE_GRAPH_EXTRACTION_ENABLEDtrue从新记忆中提取实体。默认开启——实体来自本地 spaCy NER(无需大模型,也无需 claude CLI);未安装 spaCy/en_core_web_sm 时会回退到专有名词启发式规则。设为 false 可禁用。安装 lore-sdk[ner] 并运行 python -m spacy download en_core_web_sm 可获得最佳实体提取效果。
LORE_GRAPH_LLMfalse使用 claude CLI 提取实体及关系(主语→谓语→宾语),而非仅在本地提取实体。需要在 PATH 中安装 Claude Code。
LORE_GRAPH_EXTRACTION_CONCURRENCY2最多并发运行的 claude 提取子进程数(仅限大模型路径)
LORE_GRAPH_EXTRACTION_TIMEOUT30每次提取的子进程超时时间,单位为秒(仅限大模型路径)
LORE_CONTRADICTION_DETECTIONauto写入时检测矛盾并软性替代。设置 OPENAI_API_KEY 时自动开启(由大模型评分);可设为 true/false 以覆盖默认值。标记新记忆,并软性替代较早的矛盾记忆(召回时对已替代记忆的权重乘以 0.1——不会删除)。
LORE_CONTRADICTION_SUPERSEDEtrue软性替代较早的矛盾记忆(后写入优先)。false = 仅标记(旧行为)。仅替代你自己的/无所有者的记忆;跨 Agent 冲突只标记。
LORE_CONTRADICTION_SUPERSEDE_MIN_CONFIDENCE0.75替代所需的置信度阈值(高于标记阈值 LORE_CONTRADICTION_MIN_CONFIDENCE=0.6)。
LORE_AUTO_SAVEtrue自动捕获(Claude Code hooks)总开关;设为 false 可禁用所有捕获。
LORE_CAPTURE_N0自动捕获的会话中批次大小。0 = 仅缓冲(在 Stop 时按轮次提取);>0 = 每调用 N 次工具就启动一次 capture-extract(旧默认值为 10)。
LORE_EXTRACT_ON_STOPtrue自动捕获:每个已完成的 Agent 轮次提取一次(Stop hook)。false = 严格仅在会话结束时提取。
LORE_HTTP_TIMEOUT30HTTP 超时时间(秒)
OPENAI_API_KEY—设置后自动启用增强
SLO_CHECK_INTERVAL60SLO 评估间隔(秒)
ALERT_WEBHOOK_URL—SLO 告警的默认 webhook URL
SMTP_HOST—用于邮件告警的 SMTP 服务
SMTP_PORT587SMTP 端口
SMTP_USER—SMTP 用户名
SMTP_FROM—邮件发件人地址
AUTH_MODEapi-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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。