HyperDrive
セルフホスト可能な個人用ファイル管理 — P2P 共有と AI 検索をひとつに。
HyperDrive は、クラウドストレージの使いやすさを保ちながら、データの所在と共有経路を自分でコントロールできるシステムです。ファイルは自分のサーバー上で管理し、機密の受け渡しはデバイス間の直接転送で完結させます。あわせて、ファイル名を思い出せなくても内容から探せるベクトル検索と、画像内テキストを対象にした OCR 検索を備えています。
30 秒で把握する要点
| 何をするか | 自分のサーバーでファイルを保管・整理・検索する | | 誰向けか | 一般ユーザー〜プライバシー重視のパワーユーザー | | 他と違う点 | 合言葉 P2P 共有・AI 検索・完全セルフホスト | | 次に読む | 仕様書 / 実装ガイド |
プロジェクト概要
サービス名
HyperDrive(リポジトリ名: storage)
コンセプト
Google Drive 系サービスが提供する「どこからでもアクセスできるファイル管理」の体験をベースに、次の 2 軸を追加した 個人用ナレッジ・ファイル基盤 です。
- プライバシー優先の共有 — 合言葉を知る相手とのみ、WebRTC によるデバイス間直接転送。ファイル実体は中継サーバーに残りません。
- 意味で探す検索 — アップロードされた文書・画像をベクトル化し、「青い空の写真」「去年の会議メモ」のような曖昧な表現でも候補を絞り込めます。
対象ユーザー
既存クラウドとの位置づけ
主な特徴
P2P ファイル共有
合言葉(ウォッチワード)だけで送受信者をマッチングし、WebRTC DataChannel 上でファイルを直接転送します。SDP や ICE 候補の交換は HyperDrive の WebSocket シグナリングを経由しますが、ファイルのバイナリはサーバーに保存されません。同一 LAN 内だけでなく、STUN/TURN を用いたインターネット越しの接続にも対応する設計です。
ベクトル検索
アップロードされたテキストや文書を multilingual-e5 等でベクトル化し、Qdrant に格納します。キーワードの完全一致に頼らず、意味的に近いファイルをランキングして返すため、「内容は覚えているがファイル名がわからない」状況に強いです。
OCR 検索
スクリーンショット・スキャン画像・写真内の文字列を PaddleOCR / EasyOCR で抽出し、通常の全文検索と同様にインデックス化します。ブラウザ拡張(Plasmo)からキャプチャした画像も OCR パイプラインに載せられる想定です。
セルフホスト
Docker Compose 等で PostgreSQL・Valkey・RustFS・Qdrant を含む一式を自分のマシンや VPS に展開できます。認証・セッション・オブジェクトストレージ・ベクトル DB まで、データの境界を自分で定義できます。
その他の設計上の特徴(概要)
- 論理削除 — 物理削除ではなくフラグで無効化し、監査・復元の余地を残す方針
- 権限モデル — 一般ユーザーと管理者(凍結・一覧など)を分離
- 監視 — Grafana / Prometheus / Loki による運用可視化(本番想定)
技術スタック
主要コンポーネントのみ抜粋しています。ポートや通信経路の詳細は アーキテクチャ を参照してください。
データの流れ(概要)
ブラウザ → TanStack Start → Rust API → PostgreSQL / Valkey / RustFS
↓
Python FastAPI → Qdrant
P2P 転送時のみ: ブラウザ ←WebRTC→ ブラウザ(ファイル本体は API サーバーを通過しない)
ドキュメント構成
このサイト(Retype)は docs/ 以下をビルドし、本ページがトップ です。目的に応じて次のドキュメントへ進んでください。
仕様書の章立て(早見)
- アカウント系 — 登録・ログイン・凍結・プロフィール
- ファイル系 — アップロード、ゴミ箱、リンク共有、合言葉共有
- 検索系 — 内容・ベクトル・ファイル名・OCR
- フォルダー系 — 階層整理(API パスは仕様書内の早見表を参照)
クイックスタート(開発者向け)
- リポジトリをクローンし、
docs/仕様書/開発環境.mdの手順で依存サービスを起動する。 - フロント(TanStack Start)と API(Axum)を立ち上げ、ブラウザで UI にアクセスする。
- 検索・OCR・P2P を試す場合は、Qdrant・Python FastAPI・TURN 設定が有効であることを確認する。
詳細な環境変数と起動順序は 実装ガイド に集約されています。
用語集(最小)
ライセンス・貢献
プロジェクトのライセンスおよびコントリビューション手順は、リポジトリルートの README および各パッケージの設定を参照してください。ドキュメントの修正は docs/ 以下の Markdown を編集し、Retype でプレビューできます。
最終更新: ドキュメントサイトのトップページとして整備。詳細仕様は常に 仕様書 を正とする。