コンテンツにスキップ

ブラウザ拡張機能

エージェントは知っていることしか手伝えません。会話やメモリで多くをカバーできますが、大きな死角が一つあります:あなたが今まさに読んでいるものです。

Context Bro は、このギャップを埋めるスタンドアロンの Chrome 拡張機能です。Web ページからコンテンツを抽出し、webhook endpoint を通じてエージェントのイベントストリームに送信します。

機能仕組み
手動クリップ拡張機能アイコンをクリックまたは Ctrl+Shift+K で現在のページを共有
選択テキスト共有テキストを選択 → フローティングボタンまたは右クリック → 選択部分のみ共有
定期共有ドメイン許可リスト + 間隔を設定 → 閲覧中のページを自動共有
ライブストリームアダプターTwitch・YouTube アダプターがチャット、投げ銭、配信情報をリアルタイムでキャプチャ
テンプレートエンジン抽出するデータと JSON ペイロードの形状を精密に制御

Context Bro は AnySoul ブラウザ拡張機能とは別物です。ユーザーが明示的に許可したページのみ読み取る、低権限の独立した拡張機能です:

AnySoul 拡張機能Context Bro
コア動作エージェントがブラウザを操作(タブを開く、検索を実行)ユーザーが読んでいるものを共有
権限広範(<all_urls>保守的(許可リストのみ)
信頼レベル高 — エージェントが任意のページを閲覧可能低 — ユーザーが共有対象を制御
導入ハードルエージェント自動化への信頼が必要Web クリッパーのメンタルモデル

Context Bro は標準的な webhook を通じてエージェントにデータを送信します。まず AnySoul で作成してください:

  1. エージェント設定 → Webhooks を開く
  2. Create webhook をクリックし、context-bro のような名前を入力
  3. api_key 認証モードを選択
  4. endpoint URLAPI key をコピー

Chrome ウェブストアから Context Bro をインストールし、オプションページを開きます。

Context Bro の オプション → Endpoints で:

  1. Add Endpoint をクリック
  2. 名前を入力(例: My Soul
  3. webhook URL を貼り付け:
    https://api.anysoul.ai/api/ingest/webhook/<webhookId>
  4. カスタムヘッダーを追加:X-API-Key → API key
  5. Save をクリック

任意の Web ページを開き、Context Bro アイコンをクリックして Share を押します。ページコンテンツが抽出され、アクティブなテンプレートでコンパイルされ、webhook endpoint に POST されます。エージェントに新しいイベントが表示されます:

- [02-22 14:30] [evt_cb001] context-bro/stackoverflow.com (page_context): How to fix lifetime errors in Rust

Context Bro は他の統合と同じ webhook ingest endpoint を使用します。特別な API は不要です:

Context Bro 拡張機能
│ ページ抽出 → テンプレートコンパイル → JSON ペイロード
POST /api/ingest/webhook/<webhookId>
│ Webhook マッピングエンジン → 標準イベント
エージェントイベントストリーム

webhook マッピングエディター が受信 JSON をイベントフィールドに変換します。Context Bro のデフォルトテンプレートは、デフォルトの webhook マッピングとそのまま連携するペイロードを生成します。

ナレッジワーカーのための Web クリッパー

Section titled “ナレッジワーカーのための Web クリッパー”

最も一般的なセットアップ:一日を通じて読んでいる記事、ドキュメント、コードを共有します。

シナリオ例 — Rust 学習中:

  1. Rust Book、Stack Overflow、GitHub Issues を閲覧
  2. Context Bro が 15 分ごとにページを自動共有(許可リスト:doc.rust-lang.orgstackoverflow.comgithub.com
  3. 混乱するコードスニペットを選択 → Ctrl+Shift+K → 即座に共有
  4. エージェントが 1 時間 lifetime について読んでいることに気づく → あなたのコンテキストで elision ルールを説明するメッセージを送信
  5. エージェントが「Rust 学習進捗」メモリノードを保存し、今日のトピックをリンク

これが機能する理由: エージェントは(会話から)あなたが Rust を学びたいことを既に知っています。Context Bro は 今何を読んでいるか を伝え、意図と行動のギャップを埋めます。

Social Stream Ninja でのライブストリーミング

Section titled “Social Stream Ninja でのライブストリーミング”

Social Stream Ninja(SSN)は Steve Seguin によるブラウザ拡張機能で、120 以上のプラットフォーム(YouTube、Twitch、TikTok、Facebook、Discord など)のライブチャットを集約します。クロスプラットフォームチャット統合を必要とする配信者のための定番ツールです。

SSN は Context Bro なしで直接 AnySoul webhook にチャットイベントを転送できます:

SSN が提供するもの:

機能説明
120+ プラットフォーム対応YouTube、Twitch、TikTok、Facebook、Kick、Discord など
メッセージ正規化異なるプラットフォームを標準 JSON 形式に統一
カスタムトリガーコンテンツ、ユーザーロール、投げ銭額、正規表現でメッセージをマッチ
カスタムアクションHTTP POST、WebSocket プッシュ、OBS オーバーレイ、TTS、MIDI シグナル
リアルタイム処理MutationObserver ベースのキャプチャ + 重複排除・バッチ処理

トリガー → アクション例:

トリガーアクションエージェントのユースケース
任意のチャットメッセージAnySoul webhook に POSTエージェントがライブチャットをフォロー
Super Chat ≥ $5webhook に POSTエージェントがコミュニティエンゲージメントを追跡
メッセージが !question * にマッチwebhook に POSTエージェントが視聴者の質問に回答
新規サブスクライバーwebhook に POSTエージェントがコミュニティの成長を記録
Raid イベントwebhook に POSTエージェントがチャンネル間の交流を記録

AnySoul とのセットアップ:

  1. エージェント設定 → Webhooksapi_key 認証の webhook endpoint を作成
  2. Social Stream Ninja で webhook URL を設定し、JSON ボディに key を含める(SSN はカスタムヘッダーをサポートしない場合があります — Webhook: Social Stream Ninja の連携 を参照)
  3. マッピングで platformusernamemessageevent_type を抽出するよう設定

エージェントにはライブフィードが表示されます:

- [20:00] [evt_ssn01] youtube/alice (message): That explanation was so clear!
- [20:01] [evt_ssn02] twitch/bob (donation): $10 — "Love the content, keep it up!"
- [20:02] [evt_ssn03] youtube/carol (membership): New member joined

Context Bro vs. Social Stream Ninja:

Context BroSocial Stream Ninja
フォーカス静的 Web ページ + Twitch/YouTube120+ のライブ/ソーシャルプラットフォーム
強みページコンテンツ抽出(Defuddle + テンプレートエンジン)クロスプラットフォームチャット集約 + トリガー
定期共有あり(Chrome Alarm + 許可リスト)なし
テンプレートエンジンあり(50+ フィルター、CSS セレクター、Schema.org)なし
カスタムトリガー/アクションなし(エージェントが応答方法を判断)あり(正規表現、投げ銭閾値、ロールベース)
最適な用途ナレッジワーク、リサーチ、学習ライブ配信、コミュニティ管理

両ツールは同じ洞察を共有しています:ブラウザはデジタルライフの中心であり、そのコンテンツは AI エージェントにとって最も価値あるコンテキストソースです。 SSN はそのコンテキストを配信者の自動化に変え、Context Bro はエージェントの認知に変えます。

両方を同時に使用できます — SSN で全プラットフォームのライブチャット集約、Context Bro でそれ以外(記事、ドキュメント、コード、選択テキスト)。

Context Bro には Obsidian Web Clipper(MIT)から抽出されたテンプレートエンジンが含まれています。テンプレートは endpoint に送信される JSON ペイロードの形状を制御します。

デフォルトテンプレート:

{
"title": "{{title}}",
"url": "{{url}}",
"content": "{{content}}",
"author": "{{author}}",
"published": "{{published}}",
"domain": "{{domain}}",
"description": "{{description}}",
"wordCount": "{{wordCount}}",
"clippedAt": "{{date}} {{time}}"
}

トリガーパターン(例: github.com/*/pull/* で PR 用)を使ってサイト固有のテンプレートを作成し、CSS セレクター変数({{selector:.classname}})や Schema.org 変数({{schema:@Article:author}})を使用できます。

完全なテンプレートリファレンスは Context Bro ドキュメント を参照してください。

よく訪問するドメインの自動共有を設定:

  1. Context Bro の オプション → 許可リスト を開く
  2. ドメインを追加(例: github.com*.reddit.comdocs.python.org
  3. オプション → スケジュール を開く
  4. 間隔(5 分 〜 2 時間)とモードを設定:
    • フォーカスタブ — アクティブに表示しているタブのみ共有
    • 許可リスト全体 — 許可リストに一致するすべての開いているタブを共有

ページはコンテンツハッシュで重複排除されます — 前回の共有からページが変更されていない場合、スキップされます。