ChatVault:让AI编程对话跨工具无缝交接

开源Windows应用ChatVault统一本地AI编程对话,支持跨工具携带上下文。
文章介绍了开发者ssanaullahrais构建的开源Windows应用ChatVault,用于解决在Claude Code、Codex、Cursor、Gemini CLI等AI编程工具之间切换时需重复解释任务的痛点。它把各工具的本地对话汇集到统一阅读器,支持搜索与Markdown、HTML、纯文本、JSON导出;handoff功能以文件形式传递上下文,但不迁移模型内部状态,长对话需提炼为聚焦简报。文章强调对话历史与工作区状态是两回事,并发代理的编辑隔离不能依赖交接。隐私上本地优先、不上传、无需账号,但外发前需检查敏感信息。技术栈为Tauri、Rust、SQLite、React和TypeScript,MIT许可,仅支持64位Windows 10/11。
切换AI编程工具时,对话上下文如何不丢失?
在AI编程工具之间切换正变得越来越常见——你可能用Claude Code调研问题,再换到Codex动手修复,或者用Cursor写代码后用Gemini CLI做验证。但这种切换有一个显而易见的痛点:你需要把同一个任务重新解释一遍。
下一个AI代理需要的远不止原始提示词,它还需要知道:你试过哪些方案、什么失败了、哪些文件是关键的、你已经做过哪些决策。开发者ssanaullahrais为解决这个问题构建了ChatVault——一个免费、开源的Windows应用,用来在本地查找、备份并跨工具携带编程对话。

一个本地对话阅读器能做什么
ChatVault的核心功能是把来自Claude Code、Codex、Cursor、Gemini CLI、OpenCode和Cline的本地对话汇集到一个阅读器中。这解决了一个很实际的场景:你记得某个bug出现过,但想不起来是在哪个工具、哪个账号下讨论的。统一检索比逐个工具翻找高效得多。
阅读器支持导出为Markdown、HTML、纯文本或JSON格式。这意味着对话内容不仅可以喂给下一个AI代理,也能直接沉淀为项目笔记——某些关于隐蔽bug的讨论,在任务完成后依然有保留价值。

AI编程工具的本地对话通常以各自私有的格式存储。例如Claude Code会把会话记录写进用户目录下的JSONL文件,Cursor则倾向于使用SQLite数据库,Gemini CLI和Codex也各有各的落盘方式。这种碎片化正是统一阅读器需要解决的第一道障碍——工具必须为每种来源实现适配器,解析出消息角色、时间戳、工具调用步骤和代码块等结构化字段,才能把异构记录归一为可检索的条目。理解了这一点,就能明白为什么跨工具检索在原生状态下几乎不可行:没有统一的索引,也没有共同的查询入口。
什么才是有用的“交接包”
ChatVault的handoff功能把对话准备成可被其他支持工具继续的文件。但作者明确指出:这只是传输上下文文件,不迁移模型的内部状态,也不保证下一个代理会做出相同决策。不同工具的上下文窗口大小不同,过长的对话记录可能需要提炼成一份聚焦的简报。
一份有效的交接应当回答几个具体问题:
- 我们试图达成什么目标?
- 当前什么能工作、什么已损坏?
- 我们已经尝试过哪些方案?
- 下一个工具应该检查哪些文件或命令?
- 下一个具体行动是什么?
原始对话记录是这些答案的支撑证据,而不是结论本身。作者推荐的模式是保留完整对话供查阅,同时给下一个代理一段简短指令,例如:“审阅之前的调查,对照当前代码验证疑似原因,提出最小修复方案,编辑前先检查测试。”这样交接的内容是可被评估的,而非要求下一个代理盲目信任此前所有结论。

上下文窗口是理解“交接包为何需要提炼”的关键。每个模型在一次会话中能处理的token总量有硬上限,Claude、GPT、Gemini各代模型的上限并不相同,而且工具调用、文件内容和多轮对话会快速消耗预算。把一份完整的长对话直接塞给下一个代理,往往会在关键结论出现之前就触顶,或者因无关内容稀释注意力。因此有效的做法是把原始记录当作证据库,另写一份几百字到一两千字的聚焦简报,把目标、现状、已试方案和下一步行动压缩进去,让下一个代理在预算内抓住重点,再按需回查原始记录。
对话历史不等于工作区状态
一个容易被忽视的边界:对话历史和当前工作目录是两回事。在让另一个工具编辑文件之前,需要确认它处于正确的项目中、理解已有的改动。如果并发运行多个代理,必须提前决定它们的编辑如何隔离——对话交接本身并不隔离文件变更,再好的上下文也无法弥补在错误文件夹或过期签出中操作的问题。
备份与隐私:本地优先的设计
本地聊天文件可能因删除或更换机器而丢失,ChatVault内置本地备份功能,可保留重要对话的独立副本。但它只能处理电脑上仍存在的文件,无法恢复已删除的对话,也无法把残缺记录补全。
隐私方面,ChatVault读取本地聊天文件,不上传对话,也不需要账号。项目文档提到应用会通过GitHub请求检查更新。作者提醒:当你主动将导出内容交给其他工具或他人时,先检查内容——对话中可能包含凭据、私有项目细节或无关消息。本地存档和外发分享是两个独立的环节。
技术栈与获取方式
ChatVault运行于64位Windows 10和Windows 11,提供普通安装程序、MSI和便携版可执行文件。源码以MIT许可证开放,技术栈为Tauri、Rust、SQLite、React和TypeScript。需要明确的是,这是一个独立项目,并非任何受支持工具厂商的官方产品。
对于频繁在多个AI编程工具间切换的开发者来说,ChatVault填补的是“上下文携带”这一被工具厂商忽视的空白。它不试图替代任何一个编程助手,而是让对话记录成为可以在工具之间流动的资产。
Tauri是一个用Rust编写核心、以系统自带WebView渲染界面的桌面应用框架,相比Electron能显著减小安装包体积和内存占用,这也解释了ChatVault为何选择Rust加React的组合:后端负责文件读取、SQLite索引和备份,前端负责阅读器交互。SQLite在此处承担本地全文检索与元数据存储的角色,无需独立数据库服务即可支撑搜索。MIT许可证则允许用户自由使用、修改和再分发,包括商用,这也是开源工具在开发者群体中快速获得信任的常见选择。
相关推荐

Cognition SWE-2 实战:一个提示词搞定产品发布全流程
解析 YouTube 创作者用 Cognition SWE-2 发布产品的完整提示词:落地页、七封邮件序列与未购买用户跟进工具三段式结构,以及"测试并汇报"这一约束如何改变 AI 的交付质量。
AWS AgentCore Gateway:用MCP打通AI Agent与企…
AWS AgentCore Gateway:用MCP打通AI Agent与企业后端
AWS AgentCore Gateway如何作为主MCP服务器聚合REST API、Lambda与已有MCP服务?解析其AST实时映射、零冷启动、语义搜索治工具过载、会话隔离与密钥注入安全设计,以及企业AI Agent解耦后端的架构思路。

一个链接给Figma AI装上新技能:MCP连接器实战
通过粘贴一个MCP服务器链接,Figma中的AI Agent就能获得新工具能力。本文拆解配置流程、超过20个一键接入应用、读写权限与执行策略设置,以及公开HTTPS链接这一关键限制。