Maps Call Assistant(my-caller)

Tool

概要

my-caller(Maps Call Assistant)は、Google Maps上で特定の業種やキーワードで店舗を検索し、ユーザーが指定した自由文の制約(例:営業時間、設備、価格帯、在庫の有無など)に基づいて検索結果をスコアリング・絞り込みした後、選択した店舗に対して電話問い合わせワークフローを開始するプロトタイプです。ローカルのExpressサーバで最小限のフロントエンドを提供し、Playwrightを使ってGoogle Mapsを自動操作して結果を取得するコンポーネントを持ちます。設計書(DESIGN.md)や環境変数のサンプルが含まれており、実験的かつ汎用的なビジネス支援ツールとして構想されています。規制品の調達目的での利用は禁止する旨の注意も明記されています。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 2
  • ファイル数: 9
  • メインの言語: TypeScript

主な特徴

  • Google Mapsの検索と結果スクレイピングをPlaywrightで自動化するプロトタイプ。
  • 検索結果を自由文(フリーテキスト)による制約でランク付け・フィルタリングする仕組み。
  • ローカルのExpressサーバと最小UIを備え、ワークフローを起点に電話問い合わせプロセスを開始可能。
  • 環境設定(.env.example)と設計ドキュメント(DESIGN.md)で拡張や実装方針を提示。

技術的なポイント

このプロジェクトはNode.js/TypeScriptベースで、主に以下の技術的要素が見られます。まず、Playwrightを用いてブラウザを自動操作し、Google Maps上での検索・結果抽出(名前、住所、電話番号、レビュー等)を行う点が中心技術です。Google Mapsは動的にレンダリングされる要素や非同期ロードが多いため、Playwrightの待機戦略やセレクタ設計、DOM変更への耐性が重要になります。また、結果をそのまま返すのではなく、自由文で与えられる制約(自然言語での条件)に対してスコアリングやルールマッチングを行い、優先順位を付けるロジックが組み込まれています。これにはシンプルなキーワードマッチングから、より高度なNLPベースのスコアリング(将来的な拡張)まで想定できます。

サーバはExpressでAPIや簡易UIをホストし、フロントエンドから検索ワークフローをトリガーして結果表示や選択、電話発信アクションの起動を行います。電話ワークフロー自体は実装の詳細がREADME抜粋から完全には読み取れませんが、外部の電話API(Twilio等)やローカルのダイヤラー統合を想定した設計に容易に拡張可能な構成になっています。設定管理は.env.exampleによりキーやエンドポイントを外部化しているため、認証情報やAPIキーの管理がしやすく、ローカル開発での再現性が高い点も評価できます。

技術的に注意すべき点として、Google Mapsの自動操作・スクレイピングは利用規約やレート制限、ブロックのリスクがあるため、商用利用や大量取得には慎重な対応(API利用の検討、レート制御、適切な同期処理)が必要です。さらに、電話問い合わせを自動化する場合は個人情報や通話録音、法的規制に注意し、ユーザーの同意や適切なログ管理を行う設計が求められます。最後に、プロトタイプ段階であるため実用化には堅牢性向上、エラーハンドリング、テストの整備が必要です。

(上記は設計方針およびREADME抜粋に基づく推定的な解説です。実装の詳細はリポジトリ内のソースを参照してください。)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .env.example: file
  • .gitignore: file
  • DESIGN.md: file
  • README.md: file
  • package-lock.json: file

…他 4 ファイル

リポジトリ全体は小規模なプロトタイプ構成で、TypeScriptベースのサーバコード、Playwrightスクリプト、簡易UI、設計ドキュメント、環境設定が揃っています。拡張ポイントとしては、電話API統合、検索結果のより高度なNLP評価、永続化レイヤ(DB)の追加、認証・権限制御などが考えられます。

まとめ

Google Maps自動検索→評価→電話問い合わせのプロトタイプとして、実装方針と拡張可能な設計が分かりやすく示されたリポジトリです。実用化には規約遵守や堅牢化が必要です。

リポジトリ情報:

READMEの抜粋:

Maps Call Assistant

Prototype for a workflow like:

  1. Search Google Maps for location type X
  2. Rank results against free-form constraint Y
  3. Start a phone call workflow for ordinary business questions such as reservations or general availability

This is intentionally a generic business tool. It should not be used to source controlled substances or other regulated inventory.

What It Includes

  • A local Express server with a minimal UI
  • Playwright-based Google Maps search and resul…