msgvault

GitHub
1.6k 92 简单 1 次阅读 2天前MIT数据工具插件
AI 解读 由 AI 自动生成,仅供参考

msgvault 是一款专为归档和检索个人通信历史设计的开源工具,支持将 Gmail、IMAP 邮箱以及本地邮件文件(如 MBOX、Apple Mail)完整备份至本地。它解决了用户长期依赖云端界面查询邮件的痛点,让数十年的邮件往来、附件及元数据完全脱离网络限制,实现毫秒级的离线搜索与数据分析。

这款软件特别适合注重数据隐私的个人用户、需要分析大量通信记录的研究人员,以及希望将个人知识库接入 AI 助手的开发者。通过内置的 MCP 服务器,用户可以直接在 Claude Desktop 等 AI 代理中快速调用全部历史消息,让 AI“读懂”你的过往沟通。

技术层面,msgvault 基于 DuckDB 构建,利用 Parquet 格式存储数据,即便面对数十万封邮件也能瞬间完成复杂聚合查询。它支持类似 Gmail 的高级全文检索语法,具备增量同步、断点续传及附件去重等功能。此外,其交互式终端界面(TUI)提供了直观的数据钻取分析能力。作为一款 Alpha 阶段的软件,msgvault 正致力于打造一个完全由用户掌控、安全高效的终身消息档案库。

使用场景

资深数据科学家李工需要复盘过去五年与全球团队的所有项目沟通记录,以提取关键决策路径并训练专属的个人知识助手。

没有 msgvault 时

  • 数据孤岛严重:邮件分散在 Gmail 网页版、本地 Outlook 缓存和旧电脑的 MBOX 文件中,无法统一检索,查找特定附件往往需要登录多个账号翻找数小时。
  • 分析能力缺失:面对数十万封历史邮件,无法快速统计“某项目期间的沟通频率”或“特定联系人的回复延迟”,只能依靠人工抽样估算,效率极低且不准确。
  • AI 赋能受阻:由于隐私顾虑和网络限制,无法将完整的离线邮件历史安全地投喂给本地运行的 AI 模型(如 Claude Desktop),导致 AI 助手缺乏上下文,无法回答基于历史对话的深度问题。
  • 搜索体验割裂:原生搜索不支持复杂的组合查询(如“包含附件且来自特定域名”),常常漏掉关键信息,且每次搜索都依赖网络连接,速度慢且不稳定。

使用 msgvault 后

  • 全域数据归档:msgvault 一键同步了 Gmail、IMAP 服务器及本地 MBOX/Apple Mail 数据,将所有历史邮件、附件和元数据完整存储为本地 Parquet 文件,彻底打破数据孤岛。
  • 毫秒级深度分析:依托内置的 DuckDB 引擎,李工通过交互式 TUI 瞬间完成跨五年数据的聚合分析,精准生成项目沟通趋势图和关键节点报告。
  • 无缝 AI 集成:通过 msgvault 提供的 MCP 服务器,本地 AI 助手能直接“思考”全量离线档案,李工可随时询问“去年 Q3 关于架构重构的最终结论是什么”,获得基于完整上下文的精准回答。
  • 强大离线检索:支持类 Gmail 的高级全文搜索语法,即使在无网环境下也能毫秒级定位包含特定关键词、日期范围或附件类型的邮件,检索体验流畅且私密。

msgvault 将沉睡的历史通信数据转化为可即时查询、分析和驱动 AI 的本地核心资产,让个人知识管理真正实现了离线化与智能化。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明

依赖
notes该工具主要基于 Go 语言开发,非 Python 项目。从源码编译需要 Go 1.25+ 版本及支持 CGO 的 C/C++ 编译器以静态链接 DuckDB。数据存储默认位于 ~/.msgvault/ 目录。使用前需配置 Google Cloud OAuth 凭证。支持通过 Conda-Forge (Pixi/Conda) 安装预编译二进制文件。
python未说明
Go 1.25+
C/C++ compiler (for CGO)
DuckDB (statically linked)
msgvault hero image

快速开始

msgvault

Go 1.25+ License: MIT Docs Discord

文档 · 设置指南 · 交互式 TUI

Alpha 软件。 API、存储格式和 CLI 标志可能会在未经通知的情况下发生变化。请务必备份您的数据。

归档您一生的电子邮件。分析与搜索可在毫秒内完成,完全离线进行。

为什么选择 msgvault?

您的消息属于您。数十年的通信记录、附件和历史不应被锁定在网页界面或 API 后面。msgvault 会下载一份完整的本地副本,之后所有操作都在离线状态下进行。搜索、分析以及 MCP 服务器均可基于本地数据运行,无需网络连接。

目前支持 Gmail 和 IMAP 同步,还支持从 MBOX 导出文件和 Apple Mail (.emlx) 目录中进行离线导入。

功能

  • 完整 Gmail 备份:原始 MIME、附件、标签和元数据
  • IMAP 同步:从任何标准 IMAP 服务器归档邮件
  • MBOX / Apple Mail 导入:从 MBOX 导出文件或 Apple Mail (.emlx) 目录中导入邮件
  • 交互式 TUI:基于 DuckDB 和 Parquet 的钻取式分析,可深入查看您的整个消息历史——可连接到远程 msgvault serve 实例,也可在本地运行
  • 全文搜索:使用 FTS5 引擎,支持类似 Gmail 的查询语法(from:、has:attachment、日期范围等)
  • MCP 服务器:在 Claude Desktop 及其他支持 MCP 的 AI 助手上,以极快的速度访问您的完整归档
  • DuckDB 分析:在 TUI、CLI 和 MCP 服务器中,对数十万封邮件进行毫秒级聚合查询
  • 增量同步:History API 只抓取新增和更改的消息
  • 多账户支持:在一个数据库中归档多个 Gmail 和 IMAP 账户
  • 断点续传:中断的同步任务可从上次检查点继续
  • 内容寻址的附件:通过 SHA-256 去重

安装

macOS / Linux:

curl -fsSL https://msgvault.io/install.sh | bash

Windows (PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://msgvault.io/install.ps1 | iex"

安装脚本会检测您的操作系统和架构,从 GitHub Releases 下载最新版本,验证 SHA-256 校验和,并安装二进制文件。您可以在运行前查看脚本(bashPowerShell),或者直接从 GitHub 下载发布版二进制文件。

如果您想从源码构建(需要 Go 1.25+ 和 C/C++ 编译器以支持 CGO 并静态链接 DuckDB):

git clone https://github.com/wesm/msgvault.git
cd msgvault
make install

Conda-Forge:

您可以通过 Pixi 或 Conda 从 conda-forge 安装 msgvault:

pixi global install msgvault
conda install -c conda-forge msgvault

快速入门

先决条件: 在添加账户之前,您需要一个 Google Cloud OAuth 凭证。 请按照 OAuth 设置指南 创建一个 (~5 分钟)。

msgvault init-db
msgvault add-account you@gmail.com          # 打开浏览器进行 OAuth 授权
msgvault sync-full you@gmail.com --limit 100
msgvault tui

命令

命令 描述
init-db 创建数据库
add-account EMAIL 授权 Gmail 账户(使用 --headless 可用于服务器)或添加 IMAP 账户
sync-full EMAIL 全量同步(--limit N--after/--before 用于指定日期范围)
sync EMAIL 只同步新增或更改的消息
tui 启动交互式 TUI(--account 用于筛选,--local 强制使用本地数据)
search QUERY 搜索消息(--account 用于筛选,--json 用于机器输出)
show-message ID 查看完整消息详情(--json 用于机器输出)
mcp 启动 MCP 服务器,用于 AI 助手集成
serve 运行守护进程,定时同步并提供 HTTP API 供远程 TUI 使用
stats 显示归档统计信息
list-accounts 列出已同步的邮箱账户
verify EMAIL 验证归档完整性,与 Gmail 对比
export-eml 将消息导出为 .eml 文件
import-mbox 从 MBOX 导出文件或包含 MBOX 文件的 .zip 文件中导入邮件
import-emlx 从 Apple Mail 目录树中导入邮件
build-cache 重建 Parquet 分析缓存
update 更新 msgvault 到最新版本
setup 交互式首次运行配置向导
repair-encoding 修复 UTF-8 编码问题
list-senders / list-domains / list-labels 浏览元数据

更多详细信息请参阅 CLI 参考

从 MBOX 或 Apple Mail 导入

您可以从提供 MBOX 导出功能的邮件服务商,或从本地的 Apple Mail 数据目录中导入邮件:

msgvault init-db
msgvault import-mbox you@example.com /path/to/export.mbox
msgvault import-mbox you@example.com /path/to/export.zip   # 包含 MBOX 文件的 ZIP 文件
msgvault import-emlx                                        # 自动发现 Apple Mail 账户
msgvault import-emlx you@example.com ~/Library/Mail/V10     # 指定路径

配置

默认情况下,所有数据都存储在 ~/.msgvault/ 中(可通过 MSGVAULT_HOME 环境变量覆盖)。

# ~/.msgvault/config.toml
[oauth]
client_secrets = "/path/to/client_secret.json"

[sync]
rate_limit_qps = 5

有关所有选项,请参阅 配置指南

多个 OAuth 应用程序(Google Workspace)

某些 Google Workspace 组织要求在其内部使用特定的 OAuth 应用程序。 要使用多个 OAuth 应用程序,可以在 config.toml 中添加命名的应用程序:

[oauth]
client_secrets = "/path/to/default_secret.json"   # 用于个人 Gmail

[oauth.apps.acme]
client_secrets = "/path/to/acme_workspace_secret.json"

然后在添加账户时指定应用:

msgvault add-account you@acme.com --oauth-app acme
msgvault add-account personal@gmail.com              # 使用默认应用

如果要将现有账户切换到不同的 OAuth 应用程序:

msgvault add-account you@acme.com --oauth-app acme   # 重新授权

MCP 服务器

msgvault 内置了一个 MCP 服务器,允许 AI 助手搜索、分析和阅读您归档的消息。将其连接到 Claude Desktop 或任何支持 MCP 的助手,即可通过对话方式查询您的完整消息历史。有关设置说明,请参阅 MCP 文档

守护进程模式(NAS/服务器)

将 msgvault 作为长期运行的守护进程,用于计划同步和远程访问:

msgvault serve

config.toml 中配置计划同步:

[[accounts]]
email = "you@gmail.com"
schedule = "0 2 * * *"   # 每天凌晨2点(cron)
enabled = true

[server]
api_port = 8080
bind_addr = "0.0.0.0"
api_key = "your-secret-key"

通过配置 [remote].url,TUI 可以连接到远程服务器。如果已配置远程服务器,可使用 --local 强制使用本地数据库。有关 HTTP API 的参考信息,请参阅 docs/api.md

文档

社区

加入 msgvault Discord,提问、分享反馈、报告问题,并与其他用户交流。

开发

git clone https://github.com/wesm/msgvault.git
cd msgvault
make install-hooks  # 安装 pre-commit 钩子(需要 prek)
make test           # 运行测试
make lint           # 运行 linter(自动修复)
make install        # 构建并安装

pre-commit 钩子由 prek 管理(brew install prek)。

许可证

MIT 许可证。详情请参阅 LICENSE 文件。

版本历史

v0.11.02026/03/25
v0.10.02026/03/18
v0.9.02026/02/26
v0.8.02026/02/25
v0.7.02026/02/09
v0.6.52026/02/07
v0.6.42026/02/06
v0.6.32026/02/06
v0.6.22026/02/06
v0.6.12026/02/06
v0.6.02026/02/05
v0.5.22026/02/05
v0.5.12026/02/05
v0.5.02026/02/05
v0.4.02026/02/03
v0.3.02026/02/03
v0.2.02026/02/02
v0.1.42026/02/02
v0.1.32026/02/02
v0.1.22026/02/02

常见问题

相似工具推荐

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

OpenHands

OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。

70.6k|★★★☆☆|今天
语言模型Agent开发框架

gpt4free

gpt4free 是一个由社区驱动的开源项目,旨在聚合多种可访问的大型语言模型(LLM)和媒体生成接口,让用户能更灵活、便捷地使用前沿 AI 能力。它解决了直接调用各类模型时面临的接口分散、门槛高或成本昂贵等痛点,通过统一的标准将不同提供商的资源整合在一起。 无论是希望快速集成 AI 功能的开发者、需要多模型对比测试的研究人员,还是想免费体验最新技术的普通用户,都能从中受益。gpt4free 提供了丰富的使用方式:既包含易于上手的 Python 和 JavaScript 客户端库,也支持部署本地图形界面(GUI),更提供了兼容 OpenAI 标准的 REST API,方便无缝替换现有应用后端。 其技术亮点在于强大的多提供商支持架构,能够动态调度包括 Opus、Gemini、DeepSeek 等多种主流模型资源,并支持 Docker 一键部署及本地推理。项目秉持社区优先原则,在降低使用门槛的同时,也为贡献者提供了扩展新接口的便利框架,是探索和利用多样化 AI 资源的实用工具。

66k|★★☆☆☆|2天前
插件语言模型Agent

scikit-learn

scikit-learn 是一个基于 Python 构建的开源机器学习库,依托于 SciPy、NumPy 等科学计算生态,旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口,涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具,内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。 对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言,scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点,让用户无需重复造轮子,只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。 其核心技术亮点在于高度一致的 API 设计风格,所有估算器(Estimator)均遵循相同的调用逻辑,极大地降低了学习成本并提升了代码的可读性与可维护性。此外,它还提供了强大的模型选择与评估工具,如交叉验证和网格搜索,帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目,scikit-learn 以其稳定性、详尽的文档和活跃的社区支持,成为连接理论学习与工业级应用的最

65.6k|★☆☆☆☆|今天
开发框架其他数据工具

gstack

gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置,旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战,gstack 提供了一套标准化解决方案,帮助开发者实现堪比二十人团队的高效产出。 这套配置特别适合希望提升交付效率的创始人、技术负责人,以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具,涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令(如 `/review` 进行代码审查、`/qa` 执行测试、`/plan-ceo-review` 规划功能),即可自动化处理从需求分析到部署上线的全链路任务。 所有操作基于 Markdown 和斜杠命令,无需复杂配置,完全免费且遵循 MIT 协议。gstack 不仅是一套工具集,更是一种现代化的软件工厂实践,让单人开发者也能拥有严谨的工程流程。

64.3k|★★☆☆☆|今天
Agent插件

keras

Keras 是一个专为人类设计的深度学习框架,旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。 无论是刚入门的学生、专注算法的研究人员,还是需要快速落地产品的工程师,都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。 Keras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码,即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性,还允许开发者根据需求自由选择:利用 JAX 或 PyTorch 的即时执行模式进行高效调试,或切换至速度最快的后端以获得最高 350% 的性能提升。此外,Keras 具备强大的扩展能力,能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群,是连接原型开发与生产部署的理想桥梁。

63.9k|★★☆☆☆|昨天
开发框架数据工具其他