v0.1 · depgraph-viz

依存関係を そのまま読める形に。

Unity AssetBundle・Addressables・npm・pnpm・C# 等の依存を ひとつの正規化グラフへ。10,000 ノード級でも止まらない描画と、 AI と人が同じデータを扱える保存形式。

アプリは現在 日本国内のみ からアクセスできます。
Node.js 24+ WebGL · WebGPU Ollama 連携
対応する入力ソース

正規化グラフで 様々な入力ソース 対応可能。

Adapter パターンで入力を吸収し、内部表現は単一の正規化グラフに揃える。

Unity
AssetBundle
.manifest を読み込み、依存を正規化グラフへ。
Unity
Addressables
catalog JSON から Bundle / Asset を抽出。
Node
npm
package.json / package-lock.json を解析。
Node
pnpm
pnpm-lock.yaml の依存ツリーを取り込み。
.NET
C#
.csproj / .sln / .cs ソースから依存を抽出。
AI
推論 (LLM)
任意ソースを LLM 経由で依存抽出。
主要機能

見て、絞って、 測って、持ち出す

選択したノード sfx-001 の上流・下流依存をハイライトしているグラフ画面
01

可視化

Sigma.js v3 + Graphology の WebGL 描画。10,000 ノード級でも実用速度を保ち、選択したノードの依存関係を即座にハイライトする。

検索ボックスに vite と入力し、関連パッケージのリストが出ている様子
02

検索とフィルタ

ノード名の部分一致検索、入次数 / 出次数による絞り込み、近傍ハイライト。問題ノードに直接届く。

グラフメトリクスのカード(ノード数 1,000 / エッジ数 2,179 など)
03

メトリクス

ノード数・エッジ数・最大入次数 / 出次数・孤立ノード数を一覧表示。循環依存の検出と経路表示にも対応。

循環依存 8 件の一覧(shader-002 → shader-001 → shader-002 など)
04

循環依存の検出

強連結成分から循環を抽出し、関与するノード列を全件表示する。リファクタリング着手点が明示できる。

エッジカット UI:27 本のエッジをカット中、条件に webpack@5.105.4 が指定されている様子
05

エッジカット

ID やラベルでエッジを一時的に切断し、構造変更を試算する。本物の依存を変えずに「もし消したら」を評価できる。

エクスポート UI:JSON スナップショット / ノード CSV / エッジ CSV のボタン
06

エクスポート

正規化 JSON、ノード CSV、エッジ CSV。再インポートで内容が一致するスナップショット形式。

部分グラフ抽出

注目するノードだけを 切り出して読む。

全体グラフから注目ノードと近傍だけを残し、独立した部分グラフとして再描画する。 深さを指定して上流・下流の到達範囲を制御できるので、 特定パッケージの影響範囲を読むときに視認性が一気に上がる。

全体グラフで webpack@5.105.4 を選択し、ノード詳細パネルから部分グラフを抽出しようとしている様子
起点ノードから部分グラフを作成 ノード詳細パネルのボタンから、深さを指定して抽出を実行。
01 全体グラフから起点ノードを選択
webpack@5.105.4 を起点に抽出された部分グラフが、独立したビューとして再描画されている様子
02 近傍だけが残り、構造が一気に読みやすくなる
グラフ比較

2 つのスナップショット 重ねて読む。

リファクタ前後・バージョン違い・メンバー間の差分を、ノード単位で重ね合わせて表示する。 消えたノード・追加されたノード・経路の変化が、色だけで一目に伝わる。

比較中の画面:左グラフ depth-2 と右グラフ depth-3 を重ね、追加ノードが緑、共通ノードがグレーで表示されている
01 差分の俯瞰 共通ノードはグレー、追加・削除は色付きで全体像を把握。 追加 共通
特定ノード間の差分経路がレッドでハイライトされ、変化したエッジだけが浮かび上がる比較ビュー
02 経路へズーム ノードを選ぶと、変化に関与するパスだけがレッドで浮かび上がる。
ローカル LLM 連携 · Ollama 接続

グラフについて ローカルLLMと話す。

コードもグラフも外に出さない。Ollama で ローカルに動く LLM を通じて、依存グラフへの自然言語質問と、未対応フォーマットの推論インポートが行える。

Graph Chat tool calling

グラフに、 自然言語で訊く。

「webpack は何に依存している?」「循環はある?」「最も依存されているのは?」—— LLM が質問に応じてグラフへ必要な分だけ照会する仕組みのため、 10,000 ノード規模でもコンテキストを溢れさせない。

Graph Chat の画面:webpack@5.105.4 が何に依存しているのか質問し、循環依存も含めた回答が返っている様子
推論インポート Inference Import

未対応フォーマットを、 開く。

Cargo.toml / Cargo.lock / uv.lock / 任意の JSON・YAML 依存リスト等を、 ローカル LLM が解釈して正規化グラフへ変換。Adapter 未整備の領域を その場で「とりあえず可視化」できる。

1 フォーマット検出
2 特徴抽出
3 スキーマ推論
グラフへ正規化
パフォーマンス

10,000 ノード級でも 止まらない。

WebGL 描画と WebGPU を活用し、大規模グラフでも操作可能な FPS を保つ。

10k+
ノード描画
WebGL via Sigma.js v3
< 5s
読み込みから 操作可能まで
5,000 エッジ級の標準ケース
WebGPU
高速レイアウト 計算
対応環境で GPU を活用
JSON
スナップショット 保存
再インポートで内容一致
Try depgraph-viz

ブラウザで開いて 依存関係を見渡そう

インストール不要。SPA としてそのまま動作。スナップショットも手元のマシンで完結する。

URL app.depgraph-viz.kishi-yama.net
アクセス可能地域:日本国内のみ。日本国外からは現在ご利用いただけません。