このプロジェクトについて

Havemindは、Obsidian向けの自己ホスト型同期ソリューションで、2〜3人で1つのボールトを共有するために設計されています。Obsidianプラグインと自分でホストするサーバーで構成され、登録が必要なクラウドサービスはありません。プラグインはmacOS、Windows、Linux、iOS、Androidで動作し、Obsidian 1.11.4以降が必要です。 主な機能は以下のとおりです。 - デバイス間のリアルタイム同期(変更はロングポーリングにより約1秒で反映) - 完全な著者追跡付きの追記専用履歴(誰が何を書いたかを色で表示) - サイレント上書きなし:重複しない編集は自動的にマージされ、競合する編集は`Havemind Conflicts/`内のコピーとして保持 - ノート、添付ファイル(最大25 MB)、外観設定(テーマ、スニペット、ホットキー、グラフ設定)を同期 - 通話で読み上げる6桁のコードによるデバイス承認(3回試行可能) - サーバーごとの複数ボールト、ストレージクォータ、デバイスごとのスロットリング - オプションの暗号化バックアップ(libsodium crypto_box_sealで封印) セキュリティは、ネットワーク暗号化とアクセス制御にTailscale(WireGuard)を利用しており、サーバーはプライベートなテールネットからのみ到達可能です。ボールトはサーバー上に平文で保存されるため、サーバーを制御する者は誰でも読み取れます。エンドツーエンド暗号化は意図的に範囲外です。プラグインは`.obsidian/plugins/`(コード、状態、シークレット)を同期せず、テレメトリやアナリティクスも含まれません。 サーバーは意図的にシンプルなFastify + SQLiteアプリケーションで、コンテンツアドレス型ブロブストアを備え、非rootで権限を落として実行されます。プラグインがすべてのインテリジェンスを処理します:ボールトの監視、永続的なアウトボックス、スリーウェイマージ、競合コピー、アクティビティログ。 自己ホスティングについては、ガイドでDocker Compose + Tailscaleのセットアップ、データベースキーシークレットの作成、サーバーの実行、デバイスの接続について説明しています。リポジトリには、AIエージェント(ClaudeやMCPなど)でのHavemindの使用に関するドキュメント、技術計画、MVP仕様が含まれています。 ローカル検証にはNode.js 22とnpm 10が必要で、`npm run verify`でlint、型チェック、テスト、ビルドが実行されます。