開発者必見!Transformers.jsでMV3 Chrome拡張機能にローカルAIを組み込む方法

ブラウザ内でAIを動かす時代へ!Transformers.jsとChrome拡張機能の可能性
皆さん、こんにちは!Web制作とAI開発の最前線を追いかけるエンジニアの皆さん、今日のテーマは「ブラウザ内でAIをローカル実行する」という、まさに未来を先取りする内容です。
今回ご紹介するのは、Transformers.jsを使ってChrome拡張機能にAI機能を組み込む方法について。これは、ただWebサイトを作るだけでなく、ユーザーのブラウジング体験そのものをAIで変革する可能性を秘めています。Hugging FaceのNico Martin氏が2026年4月23日に公開した記事「How to Use Transformers.js in a Chrome Extension」を元に、その実践的な知見を深掘りしていきましょう。
元記事では、Gemma 4 E2Bを搭載したTransformers.jsのデモブラウザ拡張機能「Transformers.js Gemma 4 Browser Assistant」の開発経験から得られた、Manifest V3ランタイム、モデルローディング、メッセージングに関する貴重なノウハウが共有されています。Manifest V3の制約下で、いかに効率的かつ堅牢にローカルAIを動かすか。その核心に迫ります。
Chrome拡張機能で何ができるようになるのか?
Transformers.jsをChrome拡張機能に組み込むことで、私たちは単なるWebサイトの表示を超えた、革新的なユーザー体験を提供できるようになります。具体的には、以下のようなことが実現可能です。
- ブラウザ内でのAIモデルのローカル実行: クラウドAPIに依存せず、ユーザーのブラウザ上で直接AIモデル(例: Gemma 4 E2B)を動かせます。これにより、プライバシー保護の強化や、ネットワーク遅延のない高速な処理が期待できます。
- 高度なWebページ理解と操作: AIがWebページの内容をリアルタイムで分析し、ユーザーの意図を汲み取ったアクションを実行できます。例えば、ページ内の特定情報を抽出したり、要約したり、自動でハイライト表示したりといったことが可能になります。
- 洗練されたアーキテクチャの構築: 元記事で示されているように、バックグラウンドでのモデル処理、サイドパネルでのリッチなUI、コンテンツスクリプトでのページ操作という、役割分担された堅牢なアーキテクチャを学べます。これは、大規模なAI機能を拡張機能に組み込む上で非常に重要です。
- パーソナライズされたブラウジングアシスタント: ユーザーごとにカスタマイズされたAIアシスタントを開発し、Webナビゲーション、情報収集、コンテンツ作成など、あらゆるブラウジングタスクを支援できます。
Web制作の視点から見ると、これは「動的なコンテンツ生成」や「ユーザーインターフェースの最適化」といったこれまでのアプローチに、さらに「インテリジェンス」というレイヤーを追加するようなものです。ユーザーがWebをどのように体験するかを根本から変える可能性を秘めていると言えるでしょう。
どう使えるのか?具体的な活用例
Transformers.jsを組み込んだChrome拡張機能は、私たちの日常的なWeb利用シーンを劇的に向上させます。いくつかの具体的な活用例を見ていきましょう。
- Webページの要約・分析:
長文の記事を読んでいる時、AIが瞬時に内容を要約し、主要なポイントやキーワードを抽出してくれます。コンテンツスクリプトがページ内容を抽出し、バックグラウンドのAIが処理する、という流れですね。 - コンテキストに応じた情報提供:
特定の製品ページを閲覧中に、AIがその製品に関連するレビューや比較情報を自動で提示する、といったことが可能です。サイドパネルUIを通じて、AIからの提案を受け取れます。 - ページ内要素の操作・改善:
煩雑なフォーム入力の補助や、ページ内の特定の情報をAIが自動でハイライト表示したり、整形したりできます。コンテンツスクリプトがDOM操作を担います。 - パーソナルAIチャットアシスタント:
サイドパネルに常駐するチャットUIを通じて、AIと会話しながらWebページに関する質問をしたり、指示を出したりできます。AIがユーザーの質問に答え、関連情報をページから取得して提示するといった使い方が考えられます。 - リアルタイム翻訳機能:
外国語のWebサイトを閲覧する際、AIが選択したテキストやページ全体をリアルタイムで翻訳し、理解を助けます。 - コーディング支援:
開発者がコードスニペットをコピーした際に、AIがそのコードの解説や改善案を提案するといった、より専門的な支援も可能になるでしょう。
これらの機能は、ユーザーが能動的に情報を探す手間を省き、より効率的でパーソナルなWeb体験を提供します。開発者としては、ユーザーの課題解決に直結する、実用的なAIツールを構築できるチャンスです。
試すならどこから始める?実践への第一歩
「よし、試してみよう!」と思った皆さん、まずは以下のステップから始めてみましょう。元記事が提供するリソースが非常に充実しています。
- 「Transformers.js Gemma 4 Browser Assistant」を体験する:
まずは、実際に動いている拡張機能を体験してみるのが一番です。元記事では、以下のリンクが紹介されています。- ライブ拡張機能: Chrome Web Store
この拡張機能をインストールして、AIがWeb上でどのように動作するかを体感してみてください。
- ライブ拡張機能: Chrome Web Store
- オープンソースコードを探索する:
次に、その裏側で何が起こっているのかを理解するために、ソースコードを見てみましょう。元記事では、以下のGitHubリポジトリが参照されています。- ソースコード: github.com/nico-martin/gemma4-browser-extension
リポジトリをクローンし、実際に動かしてみるのが、理解への最短ルートです。
- ソースコード: github.com/nico-martin/gemma4-browser-extension
- Manifest V3アーキテクチャを理解する:
このプロジェクトの核心は、Manifest V3のランタイムコンテキストをいかに活用しているかです。元記事は、UI層やビルド設定よりも高レベルなアーキテクチャの決定に焦点を当てています。特に以下の3つのエントリーポイントとそれぞれの役割を把握しましょう。- Background (
src/background/background.ts): コントロールプレーンとして機能し、AIエージェントのライフサイクル管理、モデルの初期化、ツール実行、そして会話履歴(Agent.chatMessages)の保持などを担当します。 - Side panel (
src/sidebar/*): ユーザーとのインタラクション層です。チャットの入出力、ストリーミング更新、各種設定コントロールを担います。sidebar.htmlからビルドされます。 - Content script (
src/content/content.ts): Webページとの橋渡し役です。DOMからの情報抽出や、ページ内でのハイライトアクションといったページレベルの操作を実行します。
これらの各コンポーネントがどのように連携し、メッセージングを通じて通信しているかを理解することが、独自のAI拡張機能を開発するための鍵となります。
public/manifest.jsonがこれらのエントリーポイントをどのように定義しているかも確認しましょう。 - Background (
まずはGitHubリポジトリをクローンして、実際に動かしてみるのが一番の近道でしょう。そこから、ご自身のアイデアをAIとWeb制作の融合で形にしてみてください!


