用途
Rekindle 解决的是 AI 编程助手在会话之间丢失项目上下文的问题。作者基于 43 次会话的数据指出,现有记忆工具(如 Mem0、Letta、Zep)侧重于检索准确性,但都没有解决“AI 是否在会话开始时加载了正确上下文、能否检测自己遗漏了什么”这一会话定位(session orientation)问题。Rekindle 被定位为 MCP 连续性引擎,专注于会话定位,而不仅是存储。
主要能力
- 会话启动定位:boot_report 在任何工作开始前运行定位流水线,加载身份、近期上下文、记忆健康度与缺失上下文警告。
- 会话结束捕获:end_session 存储结构化连续性记录,包括检查点、决策、开放循环等,而不仅是摘要。所有记录带 type、source、session_id 元数据。
- 中途压缩幸存:PreCompact 钩子在会话中途压缩前自动触发,保存推理链、失败方法、关系质感和语气;提供三种读取模式控制 token 成本:summary(一段话,便宜)、structured(决策/循环/警告,适中)、raw(完整转录摘录,昂贵,仅按需)。
- 搜索与管理:基于 BM25 的全文搜索,按重要性加权排序;记忆按类别(preference、lesson、context、relationship、general)和项目范围组织。
- 缺口检测与评分:标记缺失身份、空类别、过期数据,提供透明清单让用户了解 AI 的定位程度。
- 会话启动传递(可选):通过 SessionStart 钩子在启动、恢复、/clear 和 /compact 时自动投递预算受限的定位包(上限 8000 有效 UTF-8 字节),并生成回执记录实际发出内容。
使用方式
要求 Node.js 20 或更高版本。使用 npx rekindle init 在项目中创建 .rekindle/ 目录(含 SQLite 数据库、身份模板、连续性策略、项目注册表、捕获目录、转录目录),然后为客户端添加 MCP 服务器配置:
- Claude Code:添加至 ~/.claude.json
- Claude Desktop:添加至 claude_desktop_config.json(macOS 为 ~/Library/Application Support/Claude/,Windows 为 %APPDATA%\Claude\)
- Cursor:添加至项目根目录的 .cursor/mcp.json
随后填写 .rekindle/identity.md 并将启动指令粘贴到项目的 CLAUDE.md。
可选钩子(均需显式请求,默认 init 不安装):
- 启用 PreCompact 保护:npx rekindle setup-hooks
- 启用会话启动传递:npx rekindle setup-delivery
- 一行完成全部:npx rekindle init --with-hooks --with-delivery
策略文件 .rekindle/policy.json 控制转录处理、启动字节预算和必选/可选包段。必选段是原子的:放不下时发出有界失败清单而非部分锚点;可选段整体省略并记录在回执中。可设置 "transcript_mode": "excluded" 阻止 SessionStart 读取转录文件,设置 "background_writes_allowed": false 让 PreCompact 钩子直接退出。
存储根解析顺序:REKINDLE_BASE_DIR(显式优先)、从 REKINDLE_DB_PATH 推导、当前工作目录中已存在的 .rekindle/、主目录中已存在的 .rekindle/,否则主目录——绝不使用进程生成点。
适用场景
适用于使用 Claude Code(或 Cursor)进行长期项目开发、每次会话都需要重新解释项目上下文的用户。作者描述其演进路径为“第 1 次会话存储,第 2 次会话记住,第 10 次会话预判”。也适合希望 AI 在会话边界自动重新定位、并需要透明评分与缺口检测的场景。
限制与注意事项
- 所有数据本地存储,不发送至外部服务器,无网络调用、无 HTTP、无遥测、无分析。MCP 服务器通过 stdio 通信。
- 转录包含对话文本,若会话包含密钥或凭据,不应启用转录捕获。
- 钩子安装为可选,捕获钩子与传递钩子都必须显式请求。
- SQLite 数据库是普通文件,未加密,需要时使用操作系统级磁盘加密。
- .rekindle/ 被 gitignore,init 命令自动处理。
- boot_report 读取本地文件,路径无沙箱,仅应与信任的 MCP 客户端和提示一起使用。
- Cursor 钩子负载包含账户邮箱和工作区路径,适配器默认仅提取会话 ID 与工作区根,原始负载、邮箱和路径均不写入回执或任何工件。
- 传递包上限 8000 有效 UTF-8 字节,超出时模型只看到开头部分且不会报错;包内会标记截断,回执只证明发出,不声称模型可见。
- 适用于 Node.js 20 或更高版本。
版本要点
当前 v0.3.3,包含版本一致的 MCP 元数据和包文档,并基于 v0.3.2 的一命令会话启动传递安装器。v0.3.1“五个测量门”包括启动传递、预算包与回执、桌面安全存储、双通道指导、Cursor 适配器,并附有已发布的测量证据。v0.3.0“度过漫长中场”加入 PreCompact 捕获系统、开放循环和审查跟踪。v0.4 规划中包括扩散激活、基于嵌入的语义搜索、缺口分析工具和评估框架。项目含 169 个自动化测试,覆盖存储 CRUD 与 FTS5 排名、定位域、捕获管理器、传递、钩子设置和 MCP 集成(10 个工具加上包派生服务器元数据)。