mcpField
R
Remembra

Remembra

本地服务
remembra.dev开发工具163 天前更新

关于 Remembra

Remembra 为 AI Agent 提供跨会话记忆与交接记录,也包含可直接使用的记忆 API。它通过 Git 和部分 Agent 的会话记录生成交接简报,并提供多 Agent 协作区域控制。

主要功能

  1. 01跨会话 Agent 交接
  2. 02依据 Git 生成交接事实
  3. 03会话简报与历史轨迹
  4. 04多 Agent 区域写入协调
  5. 05语义记忆存储与检索
  6. 06记忆事实来源追踪

适用场景

  1. 01在不同机器间延续编码会话
  2. 02检查交接摘要与 Git 状态差异
  3. 03追踪项目内 Agent 的会话记录
  4. 04协同工作时限制区域写入
  5. 05存储并按含义检索事实

MCP 相关

本地 MCP 服务提供会话简报、交接写入、记忆检索以及诊断和设置工具。任何 MCP Agent 均可调用相关工具;Relay 也可通过会话钩子自动处理交接。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"remembra": {
"command": "uvx",
"args": [
"remembra-mcp"
],
"env": {
"REMEMBRA_API_KEY": "<REMEMBRA_API_KEY>",
"REMEMBRA_URL": "<REMEMBRA_URL>",
"REMEMBRA_AGENT_ID": "<REMEMBRA_AGENT_ID>"
}
}
}
}
启动命令uvx remembra-mcp
需要配置的环境变量
REMEMBRA_API_KEY密钥Remembra API key (dashboard: Settings > API keys)
REMEMBRA_URLRemembra server URL: https://api.remembra.dev, or your self-hosted server
REMEMBRA_AGENT_IDName this agent's handoffs are recorded under, e.g. claude-code, codex, cursor

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

安装包
pypiremembra-mcp0.17.5

工具

24

收录的工具列表 · 更新于 2 周前

参数类型必填说明
ttlany否
contentstring是
metadataany否
memory_typeany否

详细介绍

Remembra

Remembra Relay

一个 Agent 停下,下一个 Agent 已经知情。
已连接 Agent 的会话结束时,Remembra Relay 会保存交接信息(什么也没做的会话不会留下交接信息)。
它通过会话钩子,根据 git 和 Claude Code、Codex 的会话转录构建交接信息。
通过 MCP 结束会话的 Agent 会报告自己的事实,并将其标记为未经验证。
下一个 Agent,无论在另一台机器上、来自另一家厂商,还是下周开始工作,都能从这些信息开始。

PyPI GitHub Stars License: MIT Documentation

网站 • Relay 指南 • 文档 • 更新日志 • Discord


安装

先在 app.remembra.dev 获取免费密钥,然后运行:

pipx install --force 'remembra[mcp]>=0.16'
remembra-install --all
remembra-relay connect --apply

remembra-install 会通过隐藏提示要求输入密钥(或读取 REMEMBRA_API_KEY),并在写入前显示将要进行的更改。 connect --apply 会写入钩子,并为每个文件保留备份;先单独运行 remembra-relay connect,即可查看所有更改而不进行写入。Codex 只有在你信任钩子后才会运行它们:在 Codex 应用中选择 Settings > Hooks > Trust,或在 Codex CLI 中运行 /hooks。钩子的命令发生变化时,Codex 会跳过它,直到你再次信任它。 自行托管服务?在 remembra-install 后添加 --url <your server>。 remembra-relay 随 remembra 0.16.0 一同发布。

没有收到交接信息? remembra-relay doctor 会根据此机器上的文件和你的记录,指出交接信息丢失的位置,并为每个问题提供一种修复方法;它只读取信息。在 Agent 内部,本地 MCP 服务提供相同的检查,只读工具包括:remembra_doctor、remembra_setup(此机器的安装步骤)和 remembra_help。 参见 Doctor。

下一个 Agent 会看到什么

Claude Code 结束了一个会话,并在摘要中写道工作已完成且已推送。Git 却不这么认为。下一个 Agent 的简报中会包含这一行:

Last session: claude-code (key-verified), 12m ago, on feat/pdf-export@a41f2c9: done: a41f2c9 Add PDF export for invoices; 77c01aa Embed fonts in exported PDFs; tests passing: pytest tests/test_pdf.py (12 passed); changed 3 file(s): invoices/pdf.py, invoices/fonts.py, tests/test_pdf.py / NOT done: 2 commit(s) not pushed to origin/feat/pdf-export / failing: none / next (derived from the recorded facts): push 2 commit(s) to origin/feat/pdf-export (facts reported as collected by remembra-relay from git and the session transcript (not checked)) (the agent's summary contradicts these recorded facts)

通过会话钩子,remembra-relay 会根据 git,以及 Claude Code 和 Codex 的会话测试运行情况,构建已完成、未完成和失败部分,而不是依赖大模型。服务不会检查事实的来源;简报会注明这些信息由 remembra-relay 报告。Agent 自己的摘要是可选的;系统会根据这些事实进行核对,并将摘要标记为未经验证;如本例所示,也可能指出其内容与事实矛盾。通过 close_session MCP 工具写入的交接信息会包含 Agent 自行声明的事实,并标记为“由 Agent 声明(未经核实)”。

工作原理

  1. 关闭。 会话结束时,remembra-relay close 会从 git 读取分支、提交、已更改和未提交的文件,以及尚未推送的提交;对于 Claude Code 和 Codex,还会读取本地转录中的命令、测试运行和待处理事项(Codex 的转录是其 rollout 文件)。转录本身会保留在你的设备上。符合 Remembra 模式的机密信息会在发送内容中被隐藏。
  2. 简报。 下一次会话开始时,无论使用相同工具还是其他工具,remembra-relay brief(由经过验证的会话钩子运行)或 session_brief MCP 工具(任何 MCP Agent 都可以调用)都会告诉 Agent 上次由谁处理、已完成的工作、当前失败的问题以及下一步。文本简报上限约为 1,500 个 token(6,000 个字符)。session_brief 在 compact=true 时只返回这段文本;默认情况下,它还会以 JSON 格式返回完整简报,内容更长。其他 Agent 记录的所有内容都会标记为不可信数据。
  3. 轨迹。 每次交接都会按顺序保留:使用 remembra-relay trail,或查看仪表板中的 Trail 页面。就像你的 Agent 的 git log。

同一仓库无论位于笔记本电脑、服务器还是 worktree 中,都会被视为同一个项目,因为它由 git 远程地址标识。为每个 Agent 分配各自的限定范围密钥,其交接记录就会显示为经过密钥验证。

Agent

Agent会话钩子当前读取和写入交接记录的方式
Claude Code已验证钩子:开始时生成简报,结束时关闭会话,并附上来自转录的测试结果
Codex已验证(codex-cli 0.155.0-alpha.16.4,预发布版)钩子:开始时生成简报,结束时关闭会话,并附上来自 rollout 的命令和测试运行记录;在 Codex 中信任这些钩子(Settings > Hooks,或 CLI 中的 /hooks),每次更改后都要重新信任
Gemini CLI已验证(Gemini CLI 0.61.0)钩子:开始时生成简报(在 /clear 之后,随第一个提示词触发),结束时关闭会话;只会在你信任的文件夹中运行
Qwen Code已验证(Qwen Code 0.24.6)钩子:开始时生成简报,结束时关闭会话;达到速率限制或停止计费时,以及执行 /compress 之前;qwen -p 不会写入交接记录
Kimi Code已验证(Kimi Code 2.1.1)钩子:随第一个提示词生成简报,TUI 退出时关闭会话;kimi -p 不会写入交接记录
Cursor未验证MCP 工具(session_brief、close_session)
任何其他 MCP Agent无MCP 工具

Claude Code 和 Codex 的会话钩子已通过验证(Codex 使用的是预发布版 codex-cli 0.155.0-alpha.16.4;相同测试在稳定版 0.157.1 上也通过了)。Gemini CLI、Qwen Code 和 Kimi Code 的钩子也已通过验证:每个版本都使用表格中所列的真实工具版本进行测试,并以本地模型替代品模拟模型;钩子成功将简报放入模型请求中,并发布了交接记录。其他版本尚未测试。Cursor 钩子尚未验证:Cursor 自带的钩子运行器已运行这些钩子,但尚未在登录后的 Cursor 会话中测试。除非添加 --include-unverified,否则 connect 不会启用这些钩子。在完成测试之前,Cursor 会通过 Remembra 的 MCP 工具读取简报并写入交接记录,其他 MCP Agent 也一样。

Crew 模式

在同一代码库中同时运行多个 Agent,互不覆盖彼此的工作。在默认分支的 .remembra/zones.yml 中列出代码库各区域并提交:

version: 1
zones:
  api:
    include: ["src/api/**"]
  web:
    include: ["src/web/**"]

然后在终端中运行(它会显示每项变更,并在写入前征求确认):

remembra-crew connect --apply                 # Claude Code
remembra-crew connect --agent codex --include-unverified --apply
remembra-crew verify --agent codex            # one round trip on your machine; Codex then enforces

某个区域中第一个写入的 Agent 会占有该区域。其他 Agent 尝试在那里写入时,会在写入前被拦截,并获知占有者是谁;它可以通过 crew_say 请求移交,也可以由你在控制面板中移交。

Agent写入已占有的区域
Claude Code每次写入前都会被拦截(已验证钩子)
Codex通过 remembra-crew verify --agent codex 后会被拦截:包括 shell 命令和 apply_patch 指定的每个文件(已在 codex-cli 0.157.1 上实时检查)
Gemini CLI、Qwen Code、Kimi Code在你的机器上通过 verify 后会被拦截;在此之前只能读取
Cursor 和其他 Agent在其自身工作树中只能读取;仅使用 MCP 的 Agent 仅提供建议

Git 钩子(connect --git-hooks)也会拦截涉及已占有区域的提交或推送,对所有 Agent 均如此。需要如实说明的一点是:这些本地机制只能阻止协作 Agent 的误操作,无法阻止同一台机器上的恶意 Agent。Crew 模式需要由服务器运行(REMEMBRA_CREW_MODE;Remembra Cloud 已启用)。请参阅指南:Crew 模式。

对比

Remembra Relay厂商记忆功能(Claude Code、Codex、Copilot、Windsurf)本地交接工具记忆 API(Mem0、Zep、Letta)
可跨机器使用可以,通过 git remote大多不行不行可以
可跨厂商使用可以不行,每家厂商各自独立可以通过其 API
从 git 获取交接事实可以,并会核对摘要不行对话记录或差异不行
会话的持久记录有无无无
对 Agent 之间的协作进行强制协调Crew 模式(Claude Code;Codex 通过验证后也支持)仅限 Claude 的 Agent 团队无无

关于 claude-mem、agentmemory、本地交接工具和 Claude Code 自身功能的详细信息(含来源和日期):Remembra 与其他交接工具。claude-mem 和 agentmemory 是规模更大的项目,也支持跨会话记忆;对比文档会说明各自更适用的场景。

定价

交接、简报、收件箱、记录轨迹和搜索在所有方案中均免费。Remembra Cloud:免费版、Solo 每月 $12、Pro 每月 $29、Team 每席位每月 $15(定价)。根据 MIT 许可证,可免费自托管。


底层记忆 API

Remembra Relay 基于 Remembra 的记忆层运行,你也可以直接使用它:存储事实、按含义回忆内容,并从中提取人物、项目及其关系。

from remembra import Memory

memory = Memory(user_id="user_123")
memory.store("Had a meeting with Sarah from Acme Corp. She prefers email over Slack.")
result = memory.recall("How should I contact Sarah?")
print(result.context)
# "Sarah from Acme Corp prefers email over Slack."

从 v0.16.0 起,记忆层还会保留事实所依据的原文,并为每条事实指向其来源。默认情况下,与来源不匹配的事实不会被存储:存储响应会在 dropped_facts 下列出这些事实。使用 REMEMBRA_GROUNDING_ACTION=flag 时,这类事实会被存储并标记为未经验证。

自托管服务器

一键安装
curl -sSL https://raw.githubusercontent.com/remembra-ai/remembra/main/quickstart.sh | bash

这会在本地启动 Remembra、Qdrant 和 Ollama,并关闭身份验证、使用本地嵌入模型,因此服务器无需 API 密钥。首次启动时会下载镜像和嵌入模型,耗时取决于你的网络连接。

或直接使用 Docker Compose:

git clone https://github.com/remembra-ai/remembra && cd remembra
docker compose -f docker-compose.quickstart.yml up -d

试试看:

# Store a memory
curl -X POST http://localhost:8787/api/v1/memories \
  -H "Content-Type: application/json" \
  -d '{"content": "Alice is CEO of Acme Corp", "user_id": "demo"}'

# Recall it
curl -X POST http://localhost:8787/api/v1/memories/recall \
  -H "Content-Type: application/json" \
  -d '{"query": "Who runs Acme?", "user_id": "demo"}'
连接你的 Agent(自 v0.10.0 起)

配置检测到的 Agent,然后添加会话钩子:

pipx install --force 'remembra[mcp]>=0.16'
REMEMBRA_API_KEY=local remembra-install --all --url http://localhost:8787
remembra-relay connect --apply

remembra-install 需要一个密钥值。快速入门服务关闭了身份验证,并接受任意值,因此 local 只是一个占位符;对于开启身份验证的服务,请不要设置 REMEMBRA_API_KEY=local,而是在隐藏提示处输入真实密钥。它会自动检测并配置 Claude Code、Codex CLI、Cursor 和 Gemini CLI,以及仅限 macOS 的 Claude Desktop(不会检测或写入 Windows 配置)。Windsurf 尚未经验证:remembra-install --agent windsurf 会写入配置,但 --all 不会。remembra-relay connect --apply 会写入用于保存和读取交接内容的会话钩子。

验证设置:

remembra-doctor all
手动配置 MCP(如有需要)

Claude Desktop — 添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "remembra": {
      "command": "remembra-mcp",
      "env": {
        "REMEMBRA_URL": "http://localhost:8787",
        "REMEMBRA_USER_ID": "default"
      }
    }
  }
}

Claude Code:

claude mcp add remembra -e REMEMBRA_URL=http://localhost:8787 -- remembra-mcp

Cursor — 添加到 .cursor/mcp.json:

{
  "mcpServers": {
    "remembra": {
      "command": "remembra-mcp",
      "env": {
        "REMEMBRA_URL": "http://localhost:8787"
      }
    }
  }
}

现在问 Claude:"记住 Alice 是 Acme Corp 的 CEO"——稍后再问:"谁在管理 Acme?"

Python SDK
pip install remembra
from remembra import Memory

memory = Memory(user_id="user_123")
memory.store("Had a meeting with Sarah from Acme Corp. She prefers email over Slack.")
result = memory.recall("How should I contact Sarah?")
print(result.context)  # "Sarah from Acme Corp prefers email over Slack."
TypeScript SDK
npm install remembra
import { Remembra } from 'remembra';

const memory = new Remembra({ url: 'http://localhost:8787' });
await memory.store('User prefers dark mode');
const result = await memory.recall('preferences');

记忆功能

🧠 智能提取 — 使用大模型从原始文本中提取事实

👥 实体解析 — 大模型匹配器会合并符合上下文的姓名变体(“Smith 先生”和“John Smith”);将“我丈夫”解析为具名人物仅尽力而为,且未经测试

⏱️ 时间记忆 — TTL、衰减曲线、历史查询

🔍 混合搜索 — 语义搜索 + 关键词搜索,实现准确回忆

🔒 安全性 — PII 检测与编辑、机密信息编辑、审计日志

📊 仪表板 — 可视化记忆浏览器、实体关系图、分析


📊 基准测试

目前尚未发布有效的基准测试结果。2026 年 3 月,我们运行了 10 个 LoCoMo 对话中的 1 个(199 个问题),但该次运行的分数无效:评判器把每个 INCORRECT 判定都算作正确,还对原始召回上下文而非答案进行了评分。这两个错误已在运行器中修复(提交 a19fb29);目前尚未重新运行。

你也可以自行运行:python benchmarks/locomo_runner.py --data /tmp/locomo/data/locomo10.json


📖 文档

资源说明
快速入门几分钟内即可开始使用
Python SDK完整的 Python 参考文档
TypeScript SDKJavaScript/TypeScript 指南
Remembra Relay跨 Agent 的交接、简报与轨迹
MCP 服务31 个工具的参考文档与设置指南
REST APIAPI 参考文档
自托管Docker 部署指南

🛠️ MCP 服务

为支持 MCP 的编码 Agent 提供持久记忆。标准 MCP 服务(stdio、SSE、streamable HTTP),并提供适用于 Claude Code、Cursor、VS Code + Copilot、JetBrains、Zed 和 OpenAI Codex 的设置指南。它应该适用于任何兼容 MCP 的客户端。Windsurf 提供了指南,但尚未验证。

pip install remembra[mcp]
claude mcp add remembra -e REMEMBRA_URL=http://localhost:8787 -- remembra-mcp

可用工具(31 个):

分组工具
Remembra Relaysession_brief、close_session、resolve_project、store_status、list_status
Agent 间收件箱send_to_inbox、get_inbox、ack_inbox
记忆store_memory、recall_memories、update_memory、forget_memories、list_memories、ingest_conversation
实体与时间search_entities、timeline、relationships_at
共享share_memory、list_spaces、create_space
连接health_check
设置与诊断(只读)remembra_doctor、remembra_setup、remembra_help
Crew 模式(服务运行时可用)crew_status、crew_claim、crew_guard、crew_task、crew_say、crew_checkpoint、crew_report

🏗️ 架构

┌─────────────────────────────────────────────────────────────┐
│                    Your Application                          │
├──────────┬──────────────┬───────────────────────────────────┤
│ Python   │ TypeScript   │ MCP Server (Claude/Cursor)        │
│ SDK      │ SDK          │ remembra-mcp                      │
├──────────┴──────────────┴───────────────────────────────────┤
│                   Remembra REST API                          │
├──────────────┬──────────────┬───────────────┬───────────────┤
│  Extraction  │   Entities   │   Retrieval   │   Security    │
│  (LLM)       │  (Graph)     │ (Hybrid)      │  (PII/Audit)  │
├──────────────┴──────────────┴───────────────┴───────────────┤
│                    Storage Layer                             │
│         Qdrant (vectors) + SQLite (metadata/graph)          │
└─────────────────────────────────────────────────────────────┘

🤝 参与贡献

欢迎贡献!请参阅 CONTRIBUTING.md 了解相关指南。

# Clone
git clone https://github.com/remembra-ai/remembra
cd remembra

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Start dev server
remembra-server --reload

📄 许可证

MIT License — 随你如何使用。


⭐ Star 历史

如果 Remembra 对你有帮助,请为仓库点 Star!这能帮助更多人发现这个项目。

Star History Chart


由 DolphyTech 倾心打造 ❤️
remembra.dev • 文档 • twitter • discord

评论

支持 Markdown

第一次接触 MCP?

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

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