关于 LinkLore
LinkLore 是面向 AI Agent 的本地优先项目记忆 MCP 服务,可记录决策、陷阱和规格并关联代码。结构化记录、代码变更漂移检测和会话摘要,帮助 Agent 在不同会话间延续上下文。
主要功能
- 01记录决策、陷阱和规格
- 02关联记录与源文件
- 03根据 git 差异检测过时记录
- 04按含义、标签、文件、状态或时间搜索
- 05汇总待处理事项和热点
适用场景
- 01在新 Agent 会话中延续项目决策
- 02修改源文件前检索相关陷阱
- 03记录关联代码的计划
- 04查找因代码变化而过时的记忆
MCP 相关
通过 MCP 工具让 Agent 初始化、创建、编辑、关联、搜索和维护项目记忆。本地 SQLite 存储无需账户;备份和共享由独立的后端服务提供。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
24收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | string | 否 | 要呈现其 flowLink 链的文档 ID(dc-...)。省略则列出所有链的起点。 |
| help | boolean | 否 | 返回此工具的完整帮助文本,而不执行工具。 |
详细介绍
LinkLore
用于项目记忆的 MCP 服务——让 AI Agent 在工作过程中记录决策、陷阱和规格,并在下一次会话中结合代码上下文回忆这些内容。
专为 Agent 而非人类打造:这里的每个工具都旨在便于 AI 使用,而不是便于人阅读。
为什么选择 LinkLore
每次新会话,AI Agent 都要从零开始——决策被反复讨论,陷阱被重新发现,而“为什么要这样做?”只能靠猜测来回答。Markdown 笔记无法解决这个问题:它们是为人编写的,会逐渐偏离代码,也没有 Agent 能可靠地读取它们。
LinkLore 提供结构化记忆,Agent 可通过 MCP 工具自行读写:
- 两种记录类型——lore(决策、陷阱、日志)和 doc(规格、计划),彼此之间以及与代码文件之间均可双向关联。
- 本地优先——所有内容都存储在项目内的
.linklore/SQLite 数据库中。无需账号即可开始使用。 - 代码上下文——记录可关联到源文件;基于 git diff 的过时检测会标记代码已超前于记忆的内容。
- 低成本回忆——可按含义、标签、文件、状态或时间段查询;会话开始时调用
brief(),即可用几百个 token 返回未处理事项和热点。
快速开始
直接从 PyPI 运行——无需安装或克隆(uvx llre)。
Claude Code
claude mcp add llre -- uvx llre
任何其他 MCP 客户端(Cursor、Codex、Windsurf,……)——添加到项目的 MCP 配置中(例如 .mcp.json):
{
"mcpServers": {
"llre": {
"command": "uvx",
"args": ["llre"]
}
}
}
然后在项目根目录中初始化一次:
uvx llre init
或者让你的 Agent 完成所有操作——这是一个旨在由 AI Agent 设置、而非手动输入命令配置的服务。将以下内容作为你发给 Claude Code、Cursor、Codex 或其他支持 MCP 的 Agent 的第一条消息:
在此代码仓库中设置 LinkLore(一个用于项目记忆的 MCP 服务)。它是 PyPI 包
llre,通过uvx llre运行——无需安装或克隆。将其注册为你所用客户端的 MCP 服务(Claude Code:claude mcp add llre -- uvx llre;否则,将{"mcpServers": {"llre": {"command": "uvx", "args": ["llre"]}}}添加到此项目的.mcp.json),然后在此处运行uvx llre init。运行uvx llre login前请先询问我——它会打开浏览器进行 Google 登录,只有个人备份或团队共享时才需要。
使用循环
Agent 实际使用它的流程,按顺序如下:
start a session → brief() open items, recent activity, hotspots
about to touch code → show(file=..., query=…) decisions & pitfalls tied to that area
decided / got burned → add(type='lore', …) record it, linked to the files involved
spec or plan → add(type='doc', …) instead of a standalone .md
something changed → edit(id=..., …) append, replace a section, or supersede
memory getting messy → doctor() · cleanup() integrity check, duplicate detection
back up / share → push() · openbox(…) your server space · invite-only shared boxes
可用工具
共有 23 个工具。将任意工具的 help=True 传入即可查看完整用法。
| 类别 | 工具 | 功能 |
|---|---|---|
| 设置 | init | 在当前目录中设置 .linklore/ |
| 项目 | brief | 会话开始仪表板 — 待处理事项、近期活动、热点 |
| 项目 | status | 检测代码与文档的同步偏差(基于 git-diff) |
| 项目 | config | 项目设置、外部来源、会话置顶 |
| 诊断 | doctor | 检查数据完整性;action='fix' 可自动修复 |
| 记录 | add | 创建 lore 或文档;items=[{...}] 可批量创建 |
| 记录 | edit | 修改条目 — 追加(默认)、替换某个章节、覆盖或取代 |
| 记录 | rm | 删除 — 默认移入可恢复的回收站,force=True 可永久删除 |
| 记录 | restore | 从回收站恢复;不带 id 时列出回收站内容 |
| 记录 | local | 在同级本地工作区间移动、复制或查看条目 |
| 搜索 | show | 按 id、文本、标签、状态、文件或时间段查询;提供图谱和标签视图 |
| 搜索 | log | 更改历史 |
| 链接 | link | 关联两个条目(lore↔lore、doc↔doc、doc↔lore) |
| 链接 | unlink | 断开两个条目的关联 |
| 文档视图 | doc_flow | 按顺序呈现文档的流程链 |
| 文档视图 | doc_map | 概览完整的文档链接网络 |
| 文档视图 | doc_rollup | 收集链接到某文档的 lore,生成 AI 摘要草稿 |
| 清理 | cleanup | 检测可能重复的 lore/doc 候选项 |
| 我的服务器 | push | 将本地存储备份到你自己的服务器空间 |
| 我的服务器 | pull | 从你自己的服务器空间恢复 |
| Openbox | openbox | 通过一个入口完成所有跨所有者共享操作 — 推送/拉取、浏览、邀请/加入、角色 |
| 反馈 | report | 直接向团队发送反馈或错误报告 |
完整指南随产品一同提供,以 lore 的形式内置其中 — LinkLore 用自身来记录自身。执行 init() 后,项目会将其作为只读来源:
show(tag='guide')
指南会随软件包一同更新:升级 llre 后,brief() 会告知你有哪些变化。
仓库布局
源码模型
大部分源码可读,核心部分已编译。本仓库以明文发布 MCP 服务的部分源码,包括入口点、i18n 目录、基础工具和入门指南,采用 Elastic License 2.0 许可。核心模块(搜索、排序、矛盾检测、工具逻辑)以编译扩展的形式随已发布的 wheel 提供,而非明文源码,因此“阅读每一行并进行分叉”并非完全可行 — 但大部分源码可读,你可以运行、可自托管,也可以在自己的组织内部用于商业用途。我们宁愿坦诚说明核心逻辑已编译,也不假装它是完全开源的。
此目录树无法独立构建(此处不包含已编译的模块)— 请改为安装已发布的软件包:uvx llre。
研究
LinkLore 是论文 “When the Agent Is the User: Agent-Driven Evolution of AI-Native Tools” 的案例研究 — 该论文定义了 AI-Native Tools 类别,其中 AI Agent 是主要操作者。
DOI:10.5281/zenodo.21216858 · 引用:CITATION.cff
许可证
Elastic License 2.0。可免费安装和使用;不得将本软件作为竞争性的托管服务提供,不得规避许可证密钥功能,也不得移除许可声明。
团队同步、跨项目共享和云备份由 linklore.io 上的后端服务提供(不属于本仓库)。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。