benmaster82/Kwipu

Ask questions across your Markdown notes using a fully local Graph RAG engine. Built for Obsidian vaults, works with any folder of Markdown files. Extracts entity-relation triples from wikilinks & YAML frontmatter, retrieves answers via hybrid search (vector + BM25 + temporal). Multilingual. No cloud. Runs on Ollama.

解決する問題

知識をプレーンファイル(Markdown ノートや Obsidian ボールトなど)に保存することは、ストレージには最適ですが、関連性を見たり、「Project Alpha で誰が働いていますか?」や「1月の会議で何が決定されましたか?」といった質問をしたりするのが難しくなります。Kwipu は、ドキュメントのフォルダを検索可能で接続されたグラフに変換し、ノートがエンティティになり、ノート間のリンクが関係になり、すべての回答には正確なソースチャンクへの引用が付きます。

仕組み

Kwipu は .md、.txt、.pdf、.docx ファイルを読み取り、プロパティグラフ を構築します。これは、各ノートがノードであり、ノード間の接続が2つのソースから来るネットワークです:

  • 構造関係:YAML frontmatter(タグ、役割、プロジェクトフィールド)と [[wikilinks]](例:「[[Bob]] と協力」が「協力」関係になる)から自動的に抽出されます。これらの関係は、その起源(どのファイル、どの frontmatter フィールドまたは行、およびコンテンツハッシュ)を記録します。
  • 意味関係:LLM がテキスト自体から抽出します(例:「Alice は React に特化している」が「特化」エッジになる)。これらはソースチャンクへのリンクを保持し、回答が引用できるようにします。

グラフとそのベクトルはストレージディレクトリに永続化されます。システムはソースフォルダを監視します:新しいファイルは増分挿入を引き起こし、編集や削除はバッチの完全再構築をトリガーします。変更はリビジョンマニフェストとともにアトミックに公開され、すべてのコンポーネント(ターミナル、ブリッジ、MCP)は新しくコミットされた生成を自動的に再ロードします。

質問すると、Kwipu は ベクトル類似度、BM25 キーワード検索、時間メタデータ、およびオプションの 同義語検索(同義語検索は --fast モード、MCP、およびブリッジクエリでは無効)の組み合わせを使用して関連コンテキストを取得します。その後、LLM はそのコンテキストに基づいて回答を作成し、ソースチャンクへの引用を付けます。

3つのインターフェースから操作できます——すべて同じ知識を共有します:

  • ターミナル(コア CLI):質問をし、フォルダを監視し、根拠のある回答を直接印刷します。
  • Web ブラウザ:インタラクティブな 3D グラフ可視化で、ノードをクリックするとコンテキストカード(frontmatter、発信元の行を含むリンク、バックリンク、LLM 関係、ソースチャンク)が表示され、UI で質問できます。
  • MCP サーバー:stdio を介して query_graph と query_graph_detailed を公開し、AI クライアントが同じインデックスをクエリできるようにします。

対象ユーザー

ノート、会議議事録、プロジェクトドキュメント、または研究をプレーンファイルや Obsidian ボールトに保存し、それらを会話形式でクエリしたい人。個人でもチームでも、生のドキュメントではなくソース付きの回答が必要な場合、Kwipu が適しています。ターミナルのみのユーザーは Python と Ollama が必要です。Web UI にはさらに Node.js が必要です。ローカルモデルで完全にローカルに実行することも、データポリシーに問題がなければクラウド LLM を使用することもできます。

ハイライト

  • ノートのフォルダをプロパティグラフ RAG インデックスに変換——手動のタグ付けやグラフモデリングは不要。
  • エンティティはノート自体です:エイリアス、名前変更、パス修飾名(例:People/Alice と Archive/Alice)はすべて同じノードに解決されます。
  • 回答は常にソースチャンクに基づいており、引用が付きます。
  • ターミナルのみのモードは完全なインターフェースです——ブラウザや Node.js は不要。
  • インタラクティブな 3D Web 可視化で、すべての関係の正確な行の起源を示すコンテキストカードを表示。
  • ソースフォルダを監視し、新しいファイルにはインデックスを増分更新し、編集や削除では安全に再構築します。
  • Ollama(例:qwen2.5:7b + nomic-embed-text)による完全ローカルオプション、またはクラウドデフォルト(gpt-oss:20b-cloud)——選択はインデックス作成前に行われ、リモートエンドポイントは明示的に許可されない限り HTTPS が必要です。
  • 英語、イタリア語、フランス語、ドイツ語、スペイン語、ポルトガル語をサポート。
  • ターミナル、REST ブリッジ API、MCP サーバーを通じて同じ知識を公開。

関連

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