Skip to main content
Glama

Cairn

你的 Claude Code 对话,覆盖每个账户。 在 Claude 删除它们之前保存,并分享到你登录的每个账户。

License: GPL v3 For Claude Code Dependencies: none No network calls Status: beta

🇬🇧 English · 🇫🇷 Français · 🇹🇷 Türkçe · 🇦🇿 Azərbaycanca


🎯 为什么

你登录了另一个 Claude 账户,然后你的对话消失了。

它们并没有消失。 它们就在你的磁盘上,位置和原来一模一样。Claude 为每个账户维护一个独立的列表,当你登录到其他地方后,它读取的是错误的列表。

还有第二个问题,更隐蔽也更糟糕:Claude Code 会在 30 天后删除对话。 默认如此,而且不会通知你。大多数人是在想要的东西已经没了的时候才发现。

Cairn 解决这两个问题,然后就不再打扰你。


Related MCP server: cursor-history-mcp

🚀 安装

🪟 Windows — 无需终端

1

⬇ 下载 Cairn.cmd — 你的浏览器可能会询问是否保留该文件。选择保留。

2

双击它。

3

按 1,等待几秒钟。

4

完全退出 Claude,然后重新打开。

完成。你的对话就回到侧边栏了。

再运行一次并按 3 开启自动同步,这样你就不用再做任何事了。

🍎 macOS / 🐧 Linux

npx github:veax-project/claude-cairn

同样的界面,同样的步骤。

⚠️ 然后退出并重新打开 Claude

Claude 在启动时只读取一次对话列表。Cairn 可以往那个列表里添加内容,但 Claude 要等到下次启动才会注意到。这是人们以为它没生效的头号原因。

📦 它需要 Node.js

大多数开发者已经安装了。如果你没有,窗口会提示你并指向那里 — 安装标记为 LTS 的版本,然后重新运行。


✨ 它的作用

  • 💾 保存它们。 每个对话都会被复制到 Claude 不会删除的地方。那份副本属于你,没有任何东西会移除它。

  • 🔄 分享它们。 你电脑上的每个账户都能获得所有对话 — 双向同步。在一个账户上开始的工作,切换到另一个账户,它就在那里。再切回来,中间做的工作也在那里。

  • 👁️ 监视。 开启自动同步后,两者每十分钟发生一次,从开机开始。你再也不用操心。

  • 🔎 让 Claude 可以搜索。 从任何账户都可以,包括五分钟前刚创建的账户。

  • ↩️ 可以撤销。 一条命令就能精确移除它写入的内容,不多不少。


🔌 让 Claude 搜索你自己的历史

npx github:veax-project/claude-cairn install-mcp

重启 Claude,然后问它类似这样的问题:

搜索我以前的对话,看看我们是怎么修复 auth bug 的

这在任何账户上都有效,包括全新的账户。这正是关键所在:这个连接属于你的电脑,而不是某个账户。


🧯 故障排查

症状

原因

修复方法

😐 什么都没回来

Claude 已经打开了

完全退出再重新打开 — 它只在启动时读取列表

🪟 窗口瞬间关闭

缺少 Node.js

从 nodejs.org 安装,选择 LTS,重新运行文件

🤷 某个对话仍然缺失

它属于另一个项目

侧边栏按项目过滤 — 打开那个项目的文件夹

🔢 账户显示为代码

磁盘上没有记录它们是谁

按 4 给它们命名;新账户会自动命名

😱 它把事情搞得更糟了

—

undo 会把一切恢复原样

🍎 在 Mac 上完全没反应

从未在 Mac 上测试过

告诉我们发生了什么 — 这是它被修复的唯一途径


🛡️ 你的数据去向

哪里都不去。 Cairn 只是把文件从你电脑上的一个文件夹复制到另一个文件夹。

  • 🚫 零依赖。 package.json 中的 dependencies 块是空的。

  • 🚫 零网络调用。 没有遥测、没有更新检查、没有分析。关掉 wifi,所有命令依然正常工作 — 这是最方便的验证方式。

  • 🔌 MCP 服务器通过标准输入输出与 Claude 通信。它不打开任何套接字。

  • 🗑️ 备份中的任何内容都不会被删除。 连 Cairn 自己也不会。

  • ↩️ undo 只移除它写入的内容,通过大小和时间戳识别 — 之后 Claude 接触过的内容会被保留。

大约 3000 行纯 JavaScript,没有构建步骤,没有打包器。src/ 中有十一个文件,你可以阅读其中任何一个。

启动器是一个 90 行的 .cmd 文件,用于检查 Node、下载发布归档并运行它。它是纯 ASCII,不做其他任何事情。


📋 命令

命令

作用

cairn

打开本页顶部的界面

cairn sync

保存所有内容,然后让每个账户获得所有内容

cairn autostart on

持续执行,每 10 分钟一次,从启动开始

cairn status

查看哪些内容在这里、哪些被隐藏、哪些有风险

cairn undo

移除上次同步写入的确切内容

cairn search <words>

跨所有账户搜索

cairn install-mcp

让 Claude 自己搜索归档

cairn export

将所有对话导出为 Markdown

cairn pack

将对话打包成一个文件,以便附加到聊天中

你的备份存放在 ~/ClaudeCairn。使用 --vault <folder> 或 CAIRN_VAULT 环境变量移动它。


🔬 工作原理

Claude Code 在两个不同的地方保存两个独立的东西:

~/.claude/projects/<project>/<id>.jsonl
    the conversation itself
    deleted once it is older than cleanupPeriodDays — 30 by default

<appData>/Claude/claude-code-sessions/<account>/<org>/local_*.json
    the sidebar entry that lists it
    one folder per account, which is why switching hides everything

Cairn 将第一个复制到安全的地方,并将第二个写入它找到的每个账户下。对话只会被追加,所以没有增长的文件会被跳过。备份中的任何内容都不会被移除 — 即使 Claude 已经删除了某个对话,那份副本也会保留,因为它是现在唯一存在的副本。

Claude 在列出侧边栏条目之前会检查其严格格式,并静默丢弃任何不匹配的内容。Cairn 根据真实文件中观察到的格式构建它们:时间戳是数字而不是文本,没有多余字段,也没有偶尔出现在记录中的占位值。

搜索索引是 SQLite 全文搜索,使用 Node.js 内置的副本。这就是为什么没有依赖。


⚠️ Beta 版

首次发布。已在 Windows 上端到端验证:23 个已经不可见数周的对话在重启后回到了侧边栏,Cairn 写入的每个条目都被接受。

21 个自动化测试,包括一个在七种窗口尺寸下将界面重放到模拟终端上的测试,以捕捉布局问题。

✅ 已验证

Windows

❓ 从未运行

macOS、Linux — 代码已编写并审查,仅此而已

❌ 不可能

在你第一次备份之前 Claude 已删除的对话。没有任何东西能找回它们。

❌ 超出范围

常规的 claude.ai 聊天。那些存在于 Anthropic 的服务器上,无法在账户之间移动 — 这是产品的限制,不是这个工具的限制。

打开一个问题 — 特别是如果你在 Mac 上。


GPL-3.0 · 构建它的原因:切换账户不应该让你失去工作。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for browsing, searching, exporting, and backing up your Cursor AI chat history directly into Claude via natural language.
    8
    83 npm
    33
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that indexes Claude Code conversation history into SQLite, enabling full-text search across past sessions for context recovery and cross-agent observability.
    10
    3
    MIT