製品説明を入力するだけでLinkedInのリード開拓を自動化するツール「OpenOutreach」
このツールで何ができる?
OpenOutreach は、LinkedIn での B2B 営業活動を自動化するセルフホスト型のオープンソースツールです。従来のリード開拓ツールとの最大の違いは、「連絡先リストを用意しなくてよい」という点にあります。自社製品の説明とターゲット市場を日本語や英語で入力するだけで、AI が LinkedIn 上の候補プロフィールを自律的に探し出し、適格かどうかを判断したうえで、パーソナライズされたメッセージを自動送信してくれます。
具体的な流れを整理すると、まず利用者が「SaaS 分析プラットフォームを Series B スタートアップの VP of Engineering に紹介したい」といった内容を設定します。すると AI が LinkedIn 検索クエリを自動生成し、候補プロフィールを収集します。次に、プロフィールの埋め込みベクトルを用いたベイズ機械学習モデル(ガウス過程回帰)が、どのプロフィールが理想的な顧客像に近いかを学習しながら選別を進めます。最後に LLM がプロフィールを精査し、合格した相手に自動でメッセージを送り、返信があればマルチターンの会話もエージェントが対応します。
学習は蓄積型です。初期は広く探索し、判断結果が増えるにつれて精度が上がり、より高確率なリードに絞り込まれていきます。すべてのデータはローカル環境に保存されるため、外部サービスに顧客情報を渡す必要がありません。ブラウザ操作には Playwright とステルスプラグインを組み合わせており、通常の人間のブラウジングに近い挙動を再現しています。
小規模スタートアップの創業者から営業チーム、代理店まで、「LinkedIn の営業を自動化したいが、アカウント停止は避けたい」「ツールのサブスクリプション費用を抑えたい」という方に向いています。
論文・研究背景
プロフィール選別に使われるガウス過程回帰は、探索と活用のトレードオフを扱う手法として機械学習分野で広く研究されています。少ないデータから効率よく最適な選択肢を見つけるベイズ最適化の考え方を、リード選別に応用した構成です。
実際に動かした様子(実行ログを引用)
今回の検証環境ではリポジトリのクローン時に git コマンドが見つからず、インストール手順の途中で止まりました。また main.py の実行パスも解決できなかったため、完全な動作確認には至りませんでした。
bash: line 2: git: command not found
python3: can't open file '//main.py': [Errno 2] No such file or directory
bash: line 3: cd: /tmp/repo: No such file or directory
このエラーは検証環境固有の制約によるものです。Docker と git が正しく導入された環境であれば、公式の手順通りに進められます。実際のデモ動作は GitHub リポジトリの docs/demo.gif で確認できます。
Linux / macOS
# 前提: Docker と Docker Compose、git がインストール済みであること
# 1. リポジトリをクローン
git clone https://github.com/eracle/OpenOutreach
cd OpenOutreach
# 2. Docker Compose で起動(初回はイメージのビルドに数分かかります)
docker compose up --build
# 3. ブラウザで管理 UI にアクセス
# http://localhost:8501 などポートはコンテナ設定を参照
起動後の初回セットアップはインタラクティブな画面の指示に従って進められます。LinkedIn のメールアドレスとパスワード、LLM の API キー(OpenAI・Anthropic・OpenAI 互換エンドポイントのいずれか)、製品説明とターゲット市場の文章を入力します。API キーは .env ファイルにも直接記載できますが、.gitignore に追加してバージョン管理に含めないよう注意してください。
macOS の場合は Docker Desktop をあらかじめ起動しておく必要があります。Apple Silicon(M1/M2/M3)搭載機でも動作しますが、docker compose 実行時に --platform linux/amd64 の指定が必要になる場合があります。
Windows(PowerShell または cmd)
# PowerShell での手順
# 1. リポジトリをクローン
git clone https://github.com/eracle/OpenOutreach
Set-Location OpenOutreach
# 2. Docker Desktop が起動していることを確認してから実行
docker compose up --build
Windows 環境では Docker Desktop(WSL2 バックエンド推奨)のインストールが前提です。WSL2 が有効になっていない場合は、Windows の「Windowsの機能の有効化または無効化」から「Linux 用 Windows サブシステム」と「仮想マシン プラットフォーム」を有効にしてください。
コマンドプロンプト(cmd)を使う場合も同じコマンドで動作します。パスの区切り文字が \ になる点だけ注意が必要ですが、Docker コマンド自体は変わりません。Playwright が内部でブラウザを起動するため、ヘッドレスモードでの動作が基本となっています。GUI を確認したい場合はコンテナ設定で VNC やリモートデスクトップ連携を追加する方法もあります。
Android 連携のヒント
Android 端末から直接 OpenOutreach を動かすのは、Docker の動作制約があるため一般的ではありません。ただし、以下のような運用で間接的に活用できます。
まず、自宅や会社のサーバー(あるいは VPS)で OpenOutreach を常時起動しておき、Android の Chrome ブラウザから管理 UI(通常は http://サーバーIP:ポート番号)にアクセスする方法が最も手軽です。Termius などの SSH クライアントアプリを使えば、外出先からサーバーの状態確認や再起動も行えます。
次に、Termux を使う方法もあります。Termux は Android 上で Linux 環境を動かすアプリで、pkg install git python でリポジトリのクローンや Python スクリプトの実行ができます。ただし Termux 上では Docker が動かないため、Docker に依存しない部分の検証や設定ファイルの編集などに留まります。
通知連携を重視する場合は、サーバー側に送信済みメッセージのログを Webhook で転送する処理を追加し、Android の通知アプリ(Pushover や ntfy など)で受け取るとリアルタイムに状況を把握しやすくなります。
ウェブデモ・ZIP
公式のウェブデモは現時点では提供されていません。動作の様子は GitHub リポジトリの docs/demo.gif で確認できます。
ZIP 形式でのダウンロードは GitHub の「Code」ボタンから「Download ZIP」を選ぶことで取得できます。ただし git コマンドが使える環境であれば git clone のほうが後のアップデート取り込みが楽です。
- リポジトリ: https://github.com/eracle/OpenOutreach
- ライセンス: GPLv3(商用利用可・改変可・再配布時は同ライセンスの継承が必要)
まとめ
OpenOutreach は「連絡先リストがなくても始められる LinkedIn 営業自動化ツール」という点で、既存のツールとは一線を画しています。ベイズ機械学習による自律的なリード選別と LLM によるメッセージ生成を組み合わせることで、使い続けるほど精度が向上する仕組みになっています。
セルフホスト型なので月額のサブスクリプション費用がかからず、顧客データを外部に渡さずに済みます。Docker を使った一コマンド起動を採用しているため、インフラの知識が少ない方でも導入のハードルは比較的低めです。
一方で、LinkedIn の利用規約との兼ね合いには注意が必要です。自動化ツールの使用は規約上グレーゾーンに位置する場合があり、アカウントへのリスクをゼロにはできません。ステルスプラグインによる対策は講じられていますが、利用は自己責任となります。商用利用の際は規約を確認したうえで判断してください。
IT 初心者の方は、まず Docker Desktop をインストールする手順から始めてみてください。Docker さえ動けば、あとは公式のインタラクティブなオンボーディング画面が案内してくれます。営業活動の効率化を検討している方にとって、費用をかけずに試せる選択肢として覚えておく価値のあるツールです。