这个项目能做什么

Havemind 是一款面向 Obsidian 的自托管同步解决方案,专为两三个人共享同一个仓库而设计。它由一个 Obsidian 插件和一个你自行托管的服务器组成,无需注册任何云服务。该插件可在 macOS、Windows、Linux、iOS 和 Android 上运行,要求 Obsidian 1.11.4 或更高版本。 主要功能包括: - 跨设备实时同步(通过长轮询,更改约一秒内到达) - 仅追加的历史记录,带完整的作者追踪(谁写了什么,并配有颜色标识) - 不会静默覆盖:不重叠的编辑会自动合并;冲突的编辑会被保留,并在 `Havemind Conflicts/` 中生成副本 - 同步笔记、附件(最大 25 MB)和外观设置(主题、代码片段、快捷键、图谱设置) - 通过通话中朗读的 6 位数字代码进行设备批准(三次尝试机会) - 每个服务器支持多个仓库、存储配额以及按设备限流 - 可选的加密备份(使用 libsodium crypto_box_seal 密封) 安全性依赖 Tailscale(WireGuard)实现网络加密和访问控制;服务器仅能在你的私有 tailnet 中访问。仓库以明文形式存储在服务器上,因此控制服务器的人可以读取它。端到端加密被有意排除在范围之外。该插件从不同步 `.obsidian/plugins/`(代码、状态或密钥),并且不包含任何遥测或分析功能。 服务器是一个刻意保持简单的 Fastify + SQLite 应用,带有内容寻址的 blob 存储,以非 root 身份运行并丢弃了相关能力。插件负责所有智能逻辑:监视仓库、持久化发件箱、三方合并、冲突副本以及活动日志记录。 对于自托管,指南涵盖了 Docker Compose + Tailscale 的设置,包括创建数据库密钥、运行服务器以及连接设备。该仓库包含有关将 Havemind 与 AI 代理(如 Claude 或 MCP)配合使用的文档、一份技术方案以及一份 MVP 规范。 本地验证需要 Node.js 22 和 npm 10;`npm run verify` 会运行 lint、类型检查、测试和构建。