shlokkhemani/rabbithole

An infinite canvas for learning — select text, ask, and answers branch out as documents. MCP server for Claude Code, Codex, and any agent.

Rabbithole – 学習のための無限でAI駆動のキャンバス

何であるか – Rabbitholeは、任意のLLM(Claude Code、Codex、OpenAI互換エンドポイント)によって回答されるドキュメントの分岐型「キャンバス」を作成できる軽量なウェブアプリです。ドキュメントから始めて、任意のポイントで質問をし、その回答から新しいリンクされたドキュメントが生成され、自己完結型のHTMLページの木構造としてアイデアを探索できます。

なぜ重要か – ゼロセットアップのフロントエンドと柔軟なバックエンド(MCPサーバー)を組み合わせており、Claude Code、Codex、OpenAI互換エンドポイント、またはローカルで実行しているカスタムモデルと通信できます。すべてのデータはあなたのマシン上に保持されます – アカウントも、テレメトリも、クラウドストレージも不要です。


コアコンセプト

コンポーネント 役割
ウェブアプリ クライアントサイドのみのUIでキャンバスをレンダリングし、設定したモデルエンドポイント(OpenRouter、ローカルOpenAI互換サーバーなど)にプロンプトを転送します。
MCPサーバー 小さなNode.jsプロセスで、ウェブUIと「MCPクライアント」(Claude CodeやCodexなど)の間を仲介します。ローカルで実行され、~/.rabbithole/(またはRABBITHOLE_DIR)にドキュメントを保存し、ツールコールのルーティングを処理します。
キャンバス HTMLスナップショットの連続体です。各スナップショットには元のコンテンツに加えて、追加の質問とモデルの回答が含まれており、前後にナビゲートできるようにリンクされています。

クイックスタート

  1. ウェブ版 – https://rabbithole.ing を開き、質問、URL、Markdownファイル、またはPDFを貼り付けます。UIは、設定したモデルにプロンプトを送信します。
  2. Claude Code / Codexへのブリッジ – Claude CodeまたはCodex CLIがインストールされ、ログイン済みの場合、次を実行します:
    npx @shlokkhemani/rabbithole bridge
    
    これによりプライベートペアリングリンクが表示され、ローカルCLIとループバックインターフェース経由でブラウザページが接続されます。
  3. MCPモード – MCPクライアント(Node 18+必須)をインストールし、Rabbitholeをツールとして追加します:
    # Claude Code
    claude mcp add rabbithole -- npx -y github:shlokkhemani/rabbithole
    # Codex
    codex mcp add rabbithole -- npx -y github:shlokkhemani/rabbithole
    
    その後、エージェントセッションを開始し、「このドキュメントをRabbitholeで開いて」と言います。エージェントはツールコールを保留したまま、キャンバスとのインタラクションを続けます。MCPサーバーがリクエストを永続化するため、切断して後から再開することも可能です。

開発と貢献

git clone https://github.com/shlokkhemani/rabbithole.git
cd rabbithole
npm install
npm run build   # ブラウザバンドルをビルド
npm test        # テストスイートを実行

リポジトリには事前にビルドされたブラウザバンドルが含まれているため、npmからパッケージをインストールするユーザーはコンパイルせずにすぐに実行可能なウェブアプリを得られます。

ドキュメントのハイライト

  • 製品とアーキテクチャのツアー – docs/01-tour.md
  • 生成されたモジュールおよびコマンドマップ – ツールの拡張を行う開発者に有用(docs/generated/*)。
  • 互換性契約 – ウェブアプリがモデルエンドポイントおよびMCPクライアントと通信する方法を定義(docs/compatibility.md)。
  • デザインシステム – 視覚的およびインタラクションガイドライン(docs/design-system.md)。

ライセンス

MIT – LICENSEファイルを参照してください。


結論 – Rabbitholeは、自己ホスト型でモデルに依存せず、ドキュメントの分岐型UIであり、任意のLLMとのやり取りをナビゲート可能な知識マップに変換できます。すべてのデータはローカルに保持され、あなたの完全なコントロール下にあります。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト