
ogi v0.8.0
オープンソースのリンク分析&OSINTフレームワーク
OpenGraph Intel (OGI)
オープンソースのビジュアルリンク分析およびOSINTフレームワーク。 無料で自己ホスティング可能、コミュニティ主導。
機能 • スクリーンショット • クイックスタート • Docker • Transform Hub • アーキテクチャ • コントリビューション
注意: このプロジェクトは活発に進化しています。中核機能とテストカバレッジは確立されていますが、リリースごとにドキュメント、堅牢性、機能の充実を継続的に改善しています。コントリビューション、バグ報告、フィードバックを歓迎します。
機能
- ビジュアルグラフ調査 — エンティティのドラッグ&ドロップ、インタラクティブな接続探索
- 20以上のビルトイントランスフォーム — DNS、WHOIS、SSL証明書、ジオロケーション、Web/メール/ハッシュ/ソーシャルエンリッチメントなど
- Transform Hub — レジストリからコミュニティトランスフォームをブラウズ・インストール
- AI Investigator — トランスフォーム実行を計画し、進行状況をライブストリームし、監査可能な要約を生成するプロンプト駆動のエージェント調査
- インポート / エクスポート — JSON、CSV、GraphML、MTGX形式のインポート
- グラフ分析 — 中心性、コミュニティ検出、最短経路
- リアルタイムコラボレーション — Supabase Realtimeによるプロジェクト、共有、ライブ同期
- 非同期トランスフォームジョブ — WebSocket進捗更新付きのRedis/RQキュー
- プラグインシステム — YAMLマニフェストによるディレクトリベースのプラグイン検出
- CLIツール — ターミナルからのトランスフォーム検索、インストール、管理
- どこでも実行可能 — ローカルSQLiteモード(設定不要)またはチーム/クラウド向けPostgreSQL + Supabase
- Docker対応 —
docker compose upでワンコマンドデプロイ
スクリーンショット
| グラフ調査 | エンティティエンリッチメント |
|---|---|
![]() | ![]() |
| Transform Hub | エクスポート / インポート |
|---|---|
![]() | ![]() |
クイックスタート
前提条件
| ツール | バージョン |
|---|---|
| Python | 3.14+ |
| uv | 最新 |
| Node.js | 20+ |
| pnpm | 最新 |
バックエンド```bash
cd backend uv sync uv run uvicorn ogi.main:app --reload
The API will be available at `http://localhost:8000`.
For local transform execution, Redis and the transform worker must also be running. Redis alone is not enough.
Start Redis:```bash
docker run -d --name ogi-redis -p 6379:6379 redis:7-alpine
2番目のターミナルで変換ワーカーを起動してください。```bash cd backend uv run python -m ogi.worker.run_worker
`Job queue not available` または `Redis not available` が表示された場合は、以下を確認してください:
- `OGI_REDIS_URL` がローカルホストベースの実行では `redis://localhost:6379/0` を指していること
- Redis が起動した後にバックエンドが再起動されたこと
- 別のワーカープロセスが実行中であること
- Docker Compose の外部で Docker 専用のホスト名 `redis` を使用していないこと
PostgreSQL (`OGI_USE_SQLITE=false`) に対してバックエンドを実行する場合、起動時にリクエストを処理する前に Alembic マイグレーションが自動的に適用されます。Docker デプロイでも、バックエンドコンテナのエントリポイントで同様の処理が行われます。
AI Investigator の実行は、別のワーカーによって処理されます:```bash
cd backend
uv run python -m ogi.agent.run_worker
フロントエンド```bash
cd frontend pnpm install pnpm dev
Open http://localhost:5173 を開く。以上です。
### AI Investigator
AI Investigatorは、プロバイダーを利用したオプションのワークフローで、変換シーケンスの計画、承認の要求、ワークスペース内での調査進捗の要約を行うことができます。
- プロジェクト内の`AI Investigator`タブを開く
- 調査設定ダイアログでプロバイダーとモデルを設定する
- プロバイダーのAPIキーを`API Keys`に保存する
- バックエンドと一緒に別個の`agent-worker`プロセスを実行する
現在の実装では、ユーザーごとのプロバイダー設定と、メインAPIサーバーから独立して調査ステップを実行する専用ワーカーをサポートしています。
### CLI
CLIを実行するための2つのサポート方法:
**推奨**(アクティベーション不要):```bash
cd backend
uv sync
uv run ogi --help
アクティブ化されたvirtualenv (プレーン ogi コマンド):```bash
cd backend
uv venv
PowerShell:
..venv\Scripts\Activate.ps1 uv pip install -e . ogi --help
## Docker
### 開発```bash
cp .env.example .env
docker compose up
本番
事前にビルドされたGHCRイメージを使用してください。
重要: docker-compose.prod.yml は外部のPostgreSQLデータベースが必要です。dbサービスは含まれていません。
すべてを内蔵したローカルDockerスタック(PostgresとRedisが組み込まれている)が必要な場合は、以下を使用してください:```bash docker compose up -d
既に到達可能なPostgreSQLインスタンスがあり、それに応じて `OGI_DATABASE_URL` を設定している場合にのみ、本番用のcomposeファイルを使用してください:```bash
docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml up -d
.env内のOGI_IMAGE_TAGを設定して、特定のリリースイメージタグ(例:v0.2.6)を固定します。デフォルトはlatestです。
Hetzner Cloud
新しいHetznerユーザーは、最初のリンクを使用してHetzner Cloudのクレジットを利用してサインアップできます。これは紹介リンクであり、紹介が条件を満たした場合、OGIメンテナーもHetzner Cloudクレジットを受け取ることがあります。サーバーを作成した後、上記のDockerデプロイコマンドを使用してOGIを実行してください。
設定可能な変換上限
OGIには、max_results、max_links、max_urls、max_content_charsなどの項目に対して、適切なtransformごとの最大値が組み込まれていますが、これらの上限は中央で上書き可能になり、クラウドデプロイメントがローカル制限をハードコーディングせずに適用できるようになりました。
.env内のOGI_TRANSFORM_SETTING_MAX_OVERRIDESを使用します:```env
OGI_TRANSFORM_SETTING_MAX_OVERRIDES=max_results=50,max_urls=25,max_links=40,max_content_chars=20000
ローカルファーストデプロイメントで特定の制限を解除するには:```env
OGI_TRANSFORM_SETTING_MAX_OVERRIDES=max_results=none,max_urls=none,max_links=none,max_content_chars=none
オーバーライドはトランスフォーム設定名をキーとしており、ビルトイン・トランスフォームやOGIの共有トランスフォームベース/ランタイムを使用するコミュニティプラグインに適用されます。
ホスト型クラウドインスタンスとサポータープラン
ogi.khas.app のホスト型クラウドバージョンは、ユーザーがセルフホストする前にOGIをすばやく試せるように当初構築されました。その後、このプロジェクトで最も人気のある利用方法となり、350人以上のアクティブなクラウドユーザーがいます。
その利用により、このサイドプロジェクトのインフラコストも増加しました。そのため、リポジトリにはクラウド専用のサポーターサブスクリプションとトランスフォーマー実行のクールダウンシステムが含まれています。パブリッククラウドインスタンスでは、無料ユーザーはトランスフォーマーの実行間にタイムアウト制限を受けることがありますが、サポーターユーザーはSupabaseとVPSの費用を賄うために象徴的な月額3米ドルで購読できます。
サポーターサブスクリプションは、プロファイルの課金コントロールまたはStripeの課金ポータルからキャンセルできます。キャンセルすると将来の請求は停止されますが、支払い済みのサブスクリプション期間は返金または日割り計算されません。
この課金コードは設定によって意図的にガードされています。OGI_DEPLOYMENT_MODE=cloud かつ OGI_CLOUD_BILLING_ENABLED=true の場合にのみ効果を発揮します。セルフホストデプロイメントでは課金を無効にしたままにし、課金やペイウォールの動作は一切表示されないようにしてください。
テレメトリー
OGIには、特にセルフホストデプロイメント全体での実際の利用状況を把握するための、インストールレベルの製品テレメトリーが含まれています。
OGI_TELEMETRY_ENABLED=trueでテレメトリー収集を有効化OGI_TELEMETRY_LEVEL=fullがデフォルトの収集レベルOGI_TELEMETRY_ENABLED=falseと設定するとテレメトリーを完全に無効化OGI_TELEMETRY_LEVEL=basicと設定すると送信内容を削減



