SamurAIGPT/llm-wiki-agent

A personal knowledge base that builds and maintains itself. Drop in sources — Claude (or Codex/Gemini) reads them, extracts knowledge, and maintains a persistent interlinked wiki. Works with Claude Code, Codex, OpenCode, Gemini CLI. No API key needed.

LLM Wiki Agent – LLMエージェントによって構築された自己維持型知識ウィキ

何であるか – ローカルでファイルベースの知識ベース。PDF、DOCX、PPTX、マークダウンなど、任意の形式のドキュメントを raw/ フォルダに配置し、LLM駆動のエージェントにインジェストさせる。エージェントはエンティティ、コンセプト、要約を抽出し、相互にリンクされたマークダウンページを作成し、矛盾を検出し、永続的な知識グラフを更新する。すべての出力はプレーンなマークダウンと静的 graph.html 可視化として保存されるため、任意のエディタ(例:Obsidian)やウェブブラウザで閲覧可能。

なぜ重要か – 通常の検索拡張生成(RAG)パイプラインが毎回クエリごとに生データを再処理するのに対し、このツールは知識を一度だけコンパイルし、常に最新の状態を維持する。クロスリファレンス、エンティティページ、矛盾フラグはインジェスト時に生成されるため、チャット専用アシスタントの「セッション後に忘れる」問題を回避し、成長するクエリ対応ウィキが得られる。


クイックスタート(Pythonコード不要)

# リポジトリをクローン
git clone https://github.com/SamurAIGPT/llm-wiki-agent.git
cd llm-wiki-agent

# 任意の対応するLLMエージェントでリポジトリを開く(Claude、Codex、Geminiなど)
# エージェントは設定ファイル(CLAUDE.md、AGENTS.md、GEMINI.md)を読み取る
claude      # または `codex`, `gemini`, `opencode`

エージェントは ingest …、query: …、lint、build graph などの自然言語コマンドを理解する。


コアワークフロー

ステップ コマンド(自然言語) 概要
インジェスト ingest raw/papers/attention-is-all-you-need.md ファイルは必要に応じてマークダウンに変換され、解析され、ウィキが更新される。新しいエンティティページ(人物、企業)とコンセプトページ(アイデア、手法)が自動作成される。
クエリ query: what are the main themes? LLMが構造化されたウィキを読み取り、回答を合成し、wiki/syntheses/ 下に合成ページとして保存するよう提案する。
Lint lint 一貫性チェックを実行:孤立ページ、破損リンク、欠落するエンティティページ、検出された矛盾が wiki/log.md に報告される。
グラフ build graph graph.json(ノード/エッジキャッシュ)と、vis.jsで駆動される自己完結型の graph.html 可視化を生成する。

ディスク上での出力内容

wiki/
├─ index.md          # すべてのページの自動生成カタログ
├─ log.md            # 末尾追加型の操作ログ
├─ overview.md       # すべてのソースの動的合成
├─ sources/          # 元のドキュメントごとに1ページずつ要約
├─ entities/         # 人物、組織、プロジェクト用の自動作成ページ
├─ concepts/         # アイデア、フレームワーク、手法用の自動作成ページ
└─ syntheses/        # エージェントに保存を依頼した回答

graph/
├─ graph.json        # キャッシュされたノード/エッジデータ(SHA-256キー)
└─ graph.html        # 知識グラフのインタラクティブなブラウザビュー

すべてのファイルはプレーンなマークダウンなので、任意のエディタ、バージョン管理システム、Obsidianバケツと互換性がある。


主な特徴

  • マルチフォーマットインジェスト – PDF、DOCX、PPTX、XLSX、HTML、CSV、JSON、EPUBなどは、Microsoftの markitdown(または複雑なPDF用にオプションの Marker など)で自動変換される。
  • エンティティ・コンセプトの自動作成 – エージェントは固有名詞や技術用語を抽出し、専用ページを作成し、出現する場所すべてにリンクする。
  • 矛盾検出 – 新しいソースが既存の主張と矛盾する場合、インジェスト時にフラグが追加される。
  • 永続的知識グラフ – 2パス構築:決定論的ウィキリンク + LLMによる推論された意味的エッジ(信頼度スコア付き)。Louvainコミュニティ検出でトピックをクラスタリング。
  • Lintレポート – 孤立ページ、破損リンク、データギャップ、および推奨される欠落ソース。
  • Obsidian対応 – ウィキは標準の [[wikilink]] 構文を使用。wiki/ を任意のObsidianバケツにシンボリックリンクすることで、ライブグラフビューが可能。
  • ゼロサーバー、ゼロデータベース – すべてのデータはファイルシステム上に保存。実行時に必要な唯一の依存は、設定ファイルを読み取るLLMエージェント。

例題ユースケース

ドメイン 使用方法
研究 論文をインジェスト(/wiki-ingest raw/papers/*.md)、次に「幻覚を減らす主なアプローチは何か?」などとエージェントに合成を依頼。回答は将来の参照用にウィキページとして保存される。
書籍の読書 各章をマークダウンとして配置し、エージェントに登場人物やテーマページを作成させ、物語の構造や矛盾をクエリする。
個人知識ベース 日記、記事要約、ポッドキャストノートを保存。パターンをクエリ(例:「エネルギーを向上させる習慣は何か?」)し、ウィキが進化する様子を観察する。
チームインテリジェンス ミーティング記録、ロードマップ、顧客との通話記録をインジェスト。次に「最も頻繁に現れる機能要望は何か?」と尋ね、構造化された回答に加え、ロードマップが顧客フィードバックと矛盾するかのフラグを取得。
競合分析 競合の発表や市場レポートを継続的に投入。比較表をクエリするか、「競合状況」の合成ページを生成する。

技術スタック(READMEに記載)

  • LLMエージェント – Claude Code、OpenAI Codex、Gemini CLI(提供されたスキーマファイルを読み取れる任意のエージェント)。
  • グラフ処理 – NetworkX + Louvainコミュニティ検出。
  • 可視化 – vis.js(静的 graph.html)。
  • ファイル変換 – markitdown(デフォルト)、オプションの Marker、arxiv2md、PyMuPDF4LLM(PDF用)。
  • スクリプティング – tools/ に小規模なPythonユーティリティ。これらは上記のPythonパッケージと、直接変換スクリプトを実行する場合のAnthropic APIキーが必要。

ヘルプの取得 / 拡張方法

  • リポジトリには各エージェントの正確なコマンドセットを定義するスキーマファイル(CLAUDE.md、AGENTS.md、GEMINI.md)が同梱されている。これらの編集により、命名規則、フロントマター項目、または新しいトリガーの追加が可能。
  • ウィキが単なるgitリポジトリであるため、変更履歴のバージョン管理、実験用ブランチ、共同作業者の貢献のマージが可能。

TL;DR – LLM Wiki Agent は、ローカルで実行されるエージェント駆動のパイプラインで、任意のドキュメントコレクションを、自動エンティティ抽出、矛盾フラグ、視覚的知識グラフを備えた生き生きとした相互リンクされたマークダウンウィキに変換する。Claude/Codex/Gemini風の任意のLLMエージェントと互換性があり、サーバー不要、Obsidianなどとシームレスに統合可能。

関連

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