Skip to main content
Glama
Nautli

nautli

Official
by Nautli

nautli

每个 AI 记忆工具都在存储。nautli 负责消化。

为你的所有 AI 智能体打造的一个本地大脑。Claude Code、Cursor 和其他 MCP 客户端共享同一个本地记忆。当你睡觉时,消化守护进程会合并重复内容、将矛盾转化为复习卡片,并遗忘垃圾信息。事实来源是你磁盘上的纯文件,而不是别人的服务器。

You, in Claude Code:     "Remember: our API runs on port 4000."
You, in Cursor, later:   "What port does our API use?"
Cursor:                  4000  (recalled from the same local brain)

韩文文档:README.ko.md

安装

npx nautli dashboard

仪表盘仅在 127.0.0.1 上打开,并引导你完成所有步骤:

  1. 记忆检查:扫描你已有的笔记(Obsidian 仓库、CLAUDE.md、智能体记忆文件),并基于你自己的数据展示健康评分,包含真实的重复项、矛盾和过期事实。预览最多扫描 40 条笔记,通常需要约 10 分钟。一键导入发现的内容,或从零开始。

  2. 连接 Claude Code:一键 MCP 注册(remember / recall / briefing 工具)。

  3. 习惯指令:向你的 CLAUDE.md 添加一个块,让 AI 真正使用其记忆。

  4. 夜间消化守护进程:每晚 3:30,重复项会被合并,矛盾会变成复习卡片。可通过一个按钮完全移除。

要求,说实话

Node.js

20 或更高版本

Claude Code CLI

已安装并登录。重复项和矛盾的判断通过你自己的 Claude 订阅进行

python3

仅在记忆检查步骤中需要

OS

macOS 用于自动夜间守护进程(launchctl)。核心 CLI 和 MCP 服务器可在任何运行 Node 的地方运行;在其他平台上,自行运行 npx nautli daemon-run 或通过 cron 运行

better-sqlite3 是一个原生模块。大多数平台会下载预编译的二进制文件;不常见的平台和 Node 组合会回退到编译,这需要 python3 和 C++ 工具链。

目前可用的 AI 工具

工具

状态

Claude Code

自动,一键注册

Cursor

手动,复制提供的 mcp.json 片段

其他 MCP 客户端

stdio MCP 服务器是标准的,但除上述两者外未经测试

ChatGPT / Gemini 应用

尚不支持

让编码智能体为你安装

将此粘贴到 Claude Code 或任何编码智能体;整个过程是非交互式的:

npx nautli setup --yes    # storage + MCP registration + instructions + nightly daemon + one digest run
npx nautli doctor         # verify the install

如果你愿意,也可以全局安装:npm i -g nautli,然后运行 nautli dashboard。贡献者:git clone https://github.com/nautli/nautli.git && cd nautli && npm install && node src/cli.js dashboard

Related MCP server: MCP Memento

为什么又做一个记忆工具

只增不减的记忆会变成一个杂物抽屉:每个事实有三份副本,其中两份已过期,而你的 AI 随机挑一份。大多数记忆工具只会存储和检索。nautli 把记忆当作需要消化的东西:

  • 消化,而非积累。 夜间守护进程合并重复项,并安全地解决可以解决的内容。

  • 复习卡片,而非静默修改。 模棱两可的判断永远不会自动应用。矛盾会变成早晨的卡片,你一键作答,你的答案就会成为新的事实。

  • 设计上不丢失数据。 自动流水线从不删除事实。被取代和失效的事实会连同完整历史一起归档,rebuild 可随时从你的文件恢复索引。(nautli purge 是唯一一个明确的、由用户调用的例外——它会永久删除你指定的事实。)

  • 双时态事实。 每个事实都知道它何时为真、何时被记录,因此“我们把端口从 3000 迁移到 4000”是历史,而不是冲突。

  • 本地优先。 你的记忆是 ~/.nautli/ 中的文件。更换 AI 工具,保留你的大脑。

迄今为止的实测质量

以下数字来自我们的内部评估:在自家仓库上进行了 4,000+ 原子的一次运行,并在三位外部测试者的仓库上进行了留出(holdout)运行。带标注的评估集和方法论说明将发布在本仓库中;在此之前,请将这些视为作者自报数据。

  • 错误的自动合并:到目前为止,在我们的内部和留出运行中未观察到。样本仍然较小,因此在公开基准测试连同预注册评估集发布之前(计划在本仓库中),我们不发布原始数字。

  • 矛盾检测召回率:在我们的标注集上为 100%

  • 错误自动应用的操作:0,因为根据策略,任何模棱两可的内容都会进入复习卡片

  • 坦白说弱点:垃圾过滤。在我们自己的数据上垃圾为个位数,早期测试中在外部仓库上则差得多。三阶段过滤器正在进行中,无论结果如何数字都会发布

数据边界

  • 记忆、事件日志和报告都是 ~/.nautli/ 下的本地文件。你的笔记和记忆内容永远不会上传到任何地方。

  • 判断提示(重复项和矛盾检查)通过你自己的 Claude 订阅发送给 Anthropic。这是笔记文本离开你机器的唯一地方。

  • 匿名使用遥测(卡片数量、判断/路由统计、安装 UUID——绝不含笔记或记忆内容)默认开启,并发送到 nautli 的遥测端点。随时关闭:nautli telemetry off

  • 自动流水线从不 DELETE 事实,只对它们进行软归档。npx nautli rebuild 从源文件重建一切。nautli purge 是唯一明确的例外:它会永久删除你指定的事实。

CLI

npx nautli init                                              # create ~/.nautli
npx nautli remember "our API port is 4000" --scope project:myapp
npx nautli recall "port" --scope project:myapp
npx nautli daemon-run                                        # run one digestion manually
npx nautli rebuild                                           # rebuild the index from source files

可移植性 / export --verify

nautli export --verify --out nautli-memory.json
nautli import nautli-memory.json --home /path/to/empty/nautli-home

export --verify 会分别检查导出文件的格式、事实模式、计数以及 facts+events 校验和,然后在临时主目录中执行一次经过验证的往返测试。该往返测试会比较每个逻辑事实行(包括取代链和出处),按原始逻辑顺序检查重写后的事件,并确认有代表性的召回查询以相同顺序返回相同的事实 ID。

这是记忆可移植性检查。它不是备份完整性证明,也不能证明数据已从其他副本或存储中删除。

待处理的复习队列(未解决的矛盾/复习卡片)自格式 nautli-export/1 minor: 1 起包含在导出中,并在导入时恢复。早于此版本的旧导出文件(没有 review 字段)仍可正常导入。

手动 MCP 注册:

claude mcp add -s user nautli -- npx nautli mcp

架构

src/core 存储、写入门、召回 / src/mcp stdio 服务器 / src/cli.js / src/daemon 配对、判断、应用、报告、渲染 / src/dashboard 本地仪表盘 / src/onboard 设置和检查。完整规范:SPEC.md

不变量(违反即为缺陷,由测试固定):用户文件是事实来源(rebuild 往返测试)/ 对事实不进行自动 DELETE(purge 是明确的、由用户调用的例外)/ 单次写入,仅在守护进程中进行清理 / 即使守护进程死亡,核心仍能工作 / 不向召回中注入提升 / 如有疑问,则不做操作(错误合并的成本不对称)。

已知限制

  • npm 12 默认阻止原生安装脚本,因此新的 npx nautli 会失败,直到用户批准 better-sqlite3 的安装脚本(npm install-scripts approve)并重新构建。测量于 2026-07-24;完整复现和恢复步骤见 docs/research/npm12-native-build.md。正在考虑无生命周期安装路径。

  • t_valid 是日期粒度的;同日矛盾将根据记录时间和上下文进行判断

  • LLM 判断的非确定性通过四种方式防御:隔离的 cwd、格式示例、零解析重试、失败的批次变为无操作

  • 尚无嵌入(仅 FTS 前缀搜索),计划在 v1.1 中实现

  • 合并方向基于 t_valid;如果子集事实比其超集更新,则超集可能被折叠。计划通过 judge keep 字段修复

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A local-first persistent memory server that provides AI agents with deterministic, multimodal information retrieval across different sessions and projects. It enables long-term memory continuity using a 5-signal hybrid search engine and cognitive reasoning loops designed for complex development workflows.
    1
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    A persistent long-term memory server for AI assistants that enables storing and recalling solutions, facts, and decisions with intelligent confidence tracking and relationship mapping. It allows developers to build a cross-platform knowledge base that integrates seamlessly with IDEs and CLI agents.
    17
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A local memory server for AI agents that stores and retrieves information via MCP, keeping all data in SQLite on your machine.
    1
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Persistent memory for AI agents — verbatim conversations, searchable by meaning.

  • Universal memory for AI agents and tools. Save, organize and search context anywhere.

  • Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nautli/nautli'

If you have feedback or need assistance with the MCP directory API, please join our Discord server