WhoisPは、Google Gemini APIを活用した高度な調査・リサーチアプリケーションです。ユーザーが調査クエリを入力すると、AIが自動的に複数ステップの調査計画を立案し、ウェブ検索を実行して根拠のある情報を収集し、最終的に包括的なレポートを生成します。
- 🔍 AI駆動の調査計画: 複雑な質問を複数の調査ステップに自動分解
- 🌐 リアルタイムWeb検索: Gemini Grounding機能による最新情報の取得
- 📊 構造化されたレポート: 引用付きの証拠とともに整理された調査結果
- 🖼️ 人物画像検索: Google Custom SearchとWikimedia Commonsからの画像取得
- 📄 Word形式でエクスポート: 調査結果をMicrosoft Word形式で保存
- 🌏 多言語対応: 英語と日本語をサポート
- ⚡ ストリーミングレスポンス: リアルタイムで調査進捗を表示
- Node.js: バージョン 20.12 以降
- npm: Node.jsに同梱(バージョン 9.x 以降推奨)
- OS: macOS, Linux, Windows
ターミナルで以下のコマンドを実行して、バージョンを確認できます:
node --version # v20.12.0 以降であることを確認
npm --version # v9.0.0 以降であることを確認git clone https://github.com/yourusername/whoisp.git
cd whoispプロジェクトディレクトリで以下を実行:
npm installインストールが完了するまで数分かかる場合があります。
プロジェクトルートに .env.local ファイルを作成します:
cp .env.local.example .env.localまたは、手動で .env.local ファイルを作成してください。
WhoisPを使用するには、最低限以下のAPIキーが必要です:
- Google AI Studio にアクセス
- Googleアカウントでログイン
- 「APIキーを取得」をクリック
- 生成されたAPIキーをコピー
または、Google Cloud Platformを使用する場合:
- Google Cloud Console にアクセス
- プロジェクトを作成または選択
- 「APIとサービス」→「認証情報」に移動
- 「認証情報を作成」→「APIキー」を選択
- Gemini APIを有効化
人物画像検索機能を使用する場合に必要です:
- Google Cloud Console で Custom Search API を有効化
- Programmable Search Engine にアクセス
- 新しい検索エンジンを作成
- 「検索するサイト」に
www.google.comを追加 - 「画像検索」を有効化
- 検索エンジンID(CX)をコピー
取得したAPIキーを .env.local に記入します:
# 必須: Gemini APIキー(いずれか一つ)
GEMINI_API_KEY=your_gemini_api_key_here
# または
GOOGLE_API_KEY=your_google_cloud_api_key_here
# オプション: 使用するモデルを変更する場合(デフォルト: gemini-3-pro-preview)
GEMINI_MODEL=gemini-3-pro-preview
# オプション: 画像検索機能を使用する場合
GOOGLE_API_KEY=your_google_cloud_api_key_here
GOOGLE_CSE_CX=your_custom_search_engine_id_here
# オプション: Vertex AIを使用する場合
# GOOGLE_GENAI_USE_VERTEXAI=true
# GOOGLE_CLOUD_PROJECT=your-project-id
# GOOGLE_CLOUD_LOCATION=us-central1
# GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json| 変数名 | 必須 | 説明 |
|---|---|---|
GEMINI_API_KEY |
○※ | Google AI Studio APIキー |
GOOGLE_API_KEY |
○※ | Google Cloud Gemini APIキー(GEMINI_API_KEYより優先) |
GEMINI_MODEL |
- | 使用するGeminiモデル(デフォルト: gemini-3-pro-preview) |
GOOGLE_CSE_CX |
- | Google Programmable Search Engine ID(画像検索用) |
GOOGLE_GENAI_USE_VERTEXAI |
- | Vertex AI使用時は true に設定 |
GOOGLE_CLOUD_PROJECT |
△ | Vertex AI使用時に必要なプロジェトID |
GOOGLE_CLOUD_LOCATION |
△ | Vertex AI使用時に必要なリージョン(例: us-central1) |
GOOGLE_APPLICATION_CREDENTIALS |
- | サービスアカウントJSONファイルのパス |
※ GEMINI_API_KEY または GOOGLE_API_KEY のいずれか一つが必須
npm run devサーバーが起動したら、ブラウザで以下のURLにアクセスします:
- 英語版: http://localhost:3000
- 日本語版: http://localhost:3000/ja
ターミナルに表示されるURLが異なる場合は、そちらを使用してください。
- ホットリロード: ファイルを保存すると自動的にブラウザが更新されます
- 型チェック: TypeScriptによる型安全性
- リンティング: ESLintによるコード品質チェック
npm run buildビルドが完了すると、最適化されたプロダクション用のファイルが .next ディレクトリに生成されます。
npm run startデフォルトではポート3000で起動します。
異なるポートで起動する場合:
PORT=8080 npm run start- アプリケーションのホームページにアクセス
- サイドバーの検索ボックスに調査したいクエリを入力
- 例: "Tell me about Elon Musk's latest projects"
- 例: "イーロン・マスクの最新プロジェクトについて教えて"
- Enterキーを押すと調査が開始されます
- 画面には以下が表示されます:
- 調査計画: AIが立案した調査ステップ
- 証拠収集: 各ステップの調査結果
- 最終レポート: 総合的な分析結果
- 参照元: 情報源のリスト
調査結果をMicrosoft Word形式でダウンロードできます:
- 調査が完了したら、「Wordで出力」(Export to Word)ボタンをクリック
.docxファイルが自動的にダウンロードされます
サイドバーから過去の調査結果にアクセスできます。各調査には固有のURLが割り当てられています。
原因: Gemini APIキーが設定されていません
解決方法:
.env.localファイルが存在するか確認GEMINI_API_KEYまたはGOOGLE_API_KEYが正しく設定されているか確認- 開発サーバーを再起動:
npm run dev
原因: Google Custom Search APIが設定されていません
解決方法:
.env.localにGOOGLE_CSE_CXが設定されているか確認- Google Custom Search APIが有効化されているか確認
- APIキーに Custom Search API の権限があるか確認
原因: 依存関係の問題または型エラー
解決方法:
# node_modulesを削除して再インストール
rm -rf node_modules package-lock.json
npm install
# キャッシュをクリア
rm -rf .next
# 再度ビルド
npm run build解決方法:
# 別のポートで起動
PORT=3001 npm run dev原因: APIレート制限またはネットワークエラー
解決方法:
- APIキーのクォータを確認
- しばらく待ってから再試行
- ブラウザのコンソールでエラーログを確認
whoisp/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── _components/ # 共有コンポーネント
│ │ ├── api/ # APIルート
│ │ ├── ja/ # 日本語ページ
│ │ └── page.tsx # ホームページ
│ ├── server/ # サーバーサイドロジック
│ │ ├── deepResearch.ts # リサーチエンジン
│ │ ├── geminiClient.ts # Gemini APIクライアント
│ │ ├── fetchPersonImages.ts # 画像検索
│ │ └── fetchSubjectImages.ts
│ ├── shared/ # 共有型定義と定数
│ │ ├── constants.ts # アプリケーション定数
│ │ ├── utils.ts # ユーティリティ関数
│ │ └── deep-research-types.ts
│ └── utils/ # クライアントユーティリティ
├── public/ # 静的ファイル
├── .env.local # 環境変数(要作成)
├── package.json # 依存関係
└── README.md # このファイル
- フレームワーク: Next.js 15.5.4 (App Router)
- 言語: TypeScript
- AI: Google Gemini API
- スタイリング: Tailwind CSS
- レンダリング: React 19
- 文書生成: docx.js
- Gemini APIには無料枠と有料枠があります
- Google Custom Search APIは1日あたり100クエリまで無料です
- 大量のリクエストを行う場合は、APIキーのクォータを確認してください
アプリケーション内の「Usage notes & disclaimer」(利用規約と免責事項)ページ、または /disclaimer から詳細を確認してください。
このプロジェクトはMITライセンスの下で公開されています。詳細は LICENSE ファイルをご覧ください。
Copyright (c) 2025 CORe Inc.
問題が発生した場合や質問がある場合は、GitHubのIssuesページで報告してください。
Happy Researching! 🔍✨