Egonex-AI/Understand-Anything
Graphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
📚 Understand Anything – 任意のコードベース、知識ベース、ドキュメントをインタラクティブな知識グラフに変換
何であるか – Claude Code、Codex、Cursor、VS Code + Copilot、Gemini CLI など、さまざまなAIコーディングプラットフォーム上で動作するプラグイン/CLIです。プロジェクトをスキャンし、すべてのファイル、関数、クラス、依存関係を抽出して、JSON形式の知識グラフを構築します。このグラフはWebダッシュボードで探索でき、ノードは検索可能でクリック可能であり、平易な英語(または多言語)の要約、アーキテクチャレイヤー、ビジネスドメインマッピング、ガイド付きツアーが付加されています。
🎯 コア機能
| 機能 | 得られるもの |
|---|---|
| 構造的グラフ | 各ソースファイル、関数、クラスがノードとなり、エッジはインポート、呼び出し、継承などを示します。 |
| 意味的拡張 | LLMエージェントが人間が読みやすい説明、レイヤータグ(API、Service、Data、UI、Utility)、ビジネスロジックのマッピングを追加します。 |
| ガイド付きツアー | 依存関係順にコードを並べた自動生成されたウォークスルーで、アーキテクチャをステップバイステップで学べます。 |
| 曖昧・意味的検索 | 「認証処理を行う部分はどこですか?」と尋ねると、グラフ全体で関連するノードを返します。 |
| 差分影響分析 | 変更後、影響を受けるグラフの部分が強調表示されます。 |
| ペルソナ対応UI | ダッシュボードは初心者開発者、PM、パワーユーザーに応じて詳細を簡略化または拡張できます。 |
| 知識ベースモード | マークダウン形式のWiki(例:Karpathy-pattern LLM wiki)を対象にすると、概念、エンティティ、主張の力学的グラフが生成されます。 |
| インクリメンタル更新 | 前回実行以降に変更されたファイルのみを再分析するため、トークンと時間の節約が可能。 |
| 多言語UI | ノードの要約やUIは英語、簡体中国語、繁体中国語、日本語、韓国語、ロシア語で生成可能。 |
🛠️ 内部の仕組み
- Tree-sitterパーサー – 各ファイルに対して決定論的にコンクリート構文木を構築し、インポート、定義、呼び出し場所を抽出して安定した
importMapを作成します。 - LLMエージェント – 解析された構造と元のソースコードをもとに、自然言語による要約、レイヤー割り当て、ドメインマッピング、ツアー用スクリプトを生成します。
- マルチエージェントパイプライン – 5つのコアエージェント(プロジェクトスキャナー、ファイルアナライザー、アーキテクチャアナライザー、ツアー生成器、グラフレビュー)が並列で実行(最大5ワーカー)。オプションのドメインアナライザーとアーティクルアナライザーはビジネスプロセス抽出とWiki解析に対応します。
- 出力 – 再現可能な構造的グラフ(同じコード → 同じエッジ)と意味的アノテーションを
.ua/knowledge-graph.jsonに保存します。
🚀 クイックスタート
# 1️⃣ プラットフォームにインストール(例:Claude Code)
/plugin marketplace add Egonex-AI/Understand-Anything
/plugin install understand-anything
# 2️⃣ プロジェクトを分析(初回は多くのLLMトークンを使用)
/understand # .ua/knowledge-graph.json を作成
# 3️⃣ インタラクティブダッシュボードを開く
/understand-dashboard
他のプラットフォームにはユニバーサルインストーラーを使用:
curl -fsSL https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.sh | bash -s <platform>
サポートされる <platform> 値には codex、gemini、vscode、kiro、cursor などがあります。
💡 一般的な利用シーン
- オンボーディング – 新入社員が
/understandを実行して、視覚的に全体のコードベースを即座に探索。 - PRレビュー – 生成された
.ua/*.jsonグラフをコミット。レビュアーはパイプラインを再実行せずに影響分析を確認可能。 - ビジネスロジックの発見 –
/understand-domainでコードから高レベルなプロセス(例:決済フロー)を抽出。 - Wikiのドキュメント化 –
/understand-knowledgeをマークダウン形式のWikiに適用し、社内知識ベース用の概念グラフを取得。 - ローカル、プライバシー最優先の分析 –
--model設定でローカルLLM(例:Ollama)を接続し、ソースコードをクラウドに送信せずに分析可能。
📦 グラフの共有
グラフはプレーンなJSON形式なので、コミットできます(intermediate/ と diff-overlay.json は除外)。大きなグラフは git-LFS で保存可能です。誰でもLLMなしでダッシュボードを表示できます。以下のコマンドを実行すると、ローカルでグラフを提供します:
npx https://github.com/Egonex-AI/Understand-Anything/releases/latest/download/understand-anything-viewer.tgz /path/to/project
このコマンドは http://127.0.0.1:5173 でローカルでグラフを提供します。
🤝 コントリビュートとコミュニティ
pnpm --filter @understand-anything/core testでテストを実行。- 通常のフォーク → ブランチ → PR ワークフローに従ってください。
- コミュニティ動画は歓迎です。特集されるには、イシューまたはPRを開いてください。
📜 ライセンス
MIT – © Yuxiang Lin and Infinite Universe, Inc.
結論:Understand Anything は、ハイブリッドな静的解析 + LLMパイプラインを活用して、任意の規模のコードベース(またはマークダウン形式の知識ベース)を検索可能で視覚的な知識グラフに変換できるツールです。多数のAIコーディングアシスタントに対応し、プライバシーに配慮したローカルオンリーモードも提供しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト