ブラウザを開くだけでLLMが動く——そんな体験を1年前に公開した個人開発者ののりちゃん氏が、2026年6月18日にサイトのモデル更新を告知しました。Chrome内蔵のGemini Nanoを使う「Gemini Nano Chat」が、GoogleのAI進化に合わせて最新のPrompt APIに対応したのです。

この記事では、何が変わったのか、なぜ更新が必要だったのか、どう使えばよいのかを整理します。

  • Gemini Nano Chatの更新内容と背景
  • 旧APIからPrompt API(LanguageModel)への移行理由
  • 無料でローカルLLMを試す手順と動作要件
  • WebLLMなど他のブラウザLLM手法との違い

https://gemini-nano-chat.kojin.works/

何が変わったか

のりちゃん氏はXで「1年ほど前に作ったブラウザでLLMが動くサイト」を紹介し、Geminiの進化に合わせてモデルをアップデートしたと報告しました。対象はデモサイト「Gemini Nano Chat」で、ソースコードはGitHubのnoricha-vr/GeminiNanoChatでMITライセンスのもと公開されています。

技術的な中身は、Chromeの組み込みAI向けAPIの刷新への追従です。2026年6月18日のコミットでは、旧window.ai.assistant.* APIから新しいLanguageModelグローバル(Prompt API)への全面移行が行われました。あわせてREADMEもChrome 138以降向けのフラグ設定・動作要件・APIスニペットに書き換えられています。

更新が必要だった背景

Gemini Nano Chatは2024年10月ごろに公開されたOSSプロジェクトです。当初はChromeに実験的に搭載されていたwindow.ai系APIを使い、ブラウザ内でGemini Nanoの推論を呼び出すデモとして機能していました。

ところが、Chrome 138以降でwindow.ai系APIがLanguageModelグローバルに置き換わり、開発用フラグの無効化も重なった結果、サイトを開いても「Gemini Nanoを利用できません」と表示される状態になっていました。開発者自身のコミットメッセージでも、旧APIが利用不能になったことが移行の直接の理由として明記されています。

Google側でもGemini Nanoは継続的に更新されており、Chromeは起動時に新しいモデル版をバックグラウンドでダウンロードし、ホットスワップで切り替える仕組みになっています(Chrome公式ドキュメント)。アプリ側が古いAPIのままだと、進化したモデルを活かす以前に、そもそも接続できなくなる——今回の更新は、その断絶を埋める対応です。

主な変更点

移行に伴い、3つの画面すべてで実装が刷新されました。

トップページ(リアルタイム生成)では、入力のたびにLanguageModel.create()でセッションを作り直し、promptStreaming()の差分チャンクを連結して表示します。旧実装ではストリーミング中に差分テキストを上書きしてしまうバグがあり、新APIではチャンクの連結が必須になったため修正されています。入力のデバウンス処理や、進行中リクエストのキャンセル(AbortableSession)も加わり、タイプしながらの応答生成が安定します。

チャットページでは、会話履歴を1つのセッションで継続する形に整理され、日本語入力(IME)対応も維持されています。

メール下書きページでは、廃止されたtoneパラメータの代わりに、システムプロンプトの文言でフォーマル・カジュアル・簡潔の3スタイルを切り替えます。3候補の生成は並列ではなく直列実行に変わり、コンテキスト競合を避ける設計です。

共通ライブラリsrc/lib/gemini-nano.tsとセットアップ案内コンポーネントSetupGuide.svelteが新設され、モデルの利用可否確認やダウンロード進捗表示を各ページで共通化しています。

使い方と動作要件

Gemini NanoはGoogleが開発した軽量LLMで、Chromeに直接組み込まれています。Prompt API(LanguageModel)経由で呼び出すため、チャット内容はローカルで処理され、推論時に外部サーバーへデータを送りません。初回のみ約4GBのモデルダウンロードが必要で、完了後はオフラインでも利用できます。

利用前にChromeで次の2つのフラグを有効にします。

  1. chrome://flags/#optimization-guide-on-device-modelEnabled BypassPerfRequirement
  2. chrome://flags/#prompt-api-for-gemini-nanoEnabled(日本語を使う場合は Enabled multilingual も選択)

設定後にChromeを再起動し、デモサイトを開きます。初回アクセス時はモデルのダウンロード進捗がアプリ内に表示されます。状態はchrome://on-device-internalsでも確認できます。

READMEに記載された動作要件は次のとおりです。

項目 要件
Chrome 138以降(Dev / Canary推奨)
OS Windows 10/11、macOS 13以降、Linux、Chromebook Plus上のChromeOS
ストレージ 22GB以上の空き
GPU VRAM 4GB以上、またはCPUでRAM 16GB以上かつ4コア以上
回線 初回モデルDL用に従量課金でない接続

サイト上では、M4 Proでの計測値として約50 tokens/sec、TTFT(最初のトークンまでの時間)約80msが掲げられています。公式ドキュメントによると、Chrome 149以降ではGemini Nanoの入出力言語に日本語が加わり、英語・スペイン語・ドイツ語・フランス語とあわせて5言語に対応しています(Chrome公式)。

WebLLMなど他手法との違い

ブラウザ上でLLMを動かす手法は、大きく2系統に分かれます。

WebLLM(WebGPU + OSSモデル)は、GemmaやLlamaなどのオープンソースモデルをWebGPUで実行します。モデル選択の自由度が高く、Chrome以外のWebGPU対応ブラウザでも動く場合があります。一方、初回のモデルダウンロードやGPU性能への依存が大きく、Windows環境ではmacOSより遅くなるケースも報告されています。

Gemini Nano Chat(Prompt API)は、Chromeに内蔵されたGemini Nanoをそのまま使います。APIキー登録も従量課金も不要で、セットアップはフラグ有効化とモデルDLが中心です。モデルの品質やサイズはGoogleの組み込みAI戦略に沿って管理され、開発者がモデルファイルをホスティングする必要がありません。代わりにChrome 138以降のデスクトップ版に限定され、モバイル版ChromeではGemini Nanoは未対応です。

用途で選ぶなら、OSSモデルを自由に試したい場合はWebLLM、APIキーなしで手軽にChrome内蔵AIを体験したい場合はGemini Nano Chatが向いています。今回の更新で後者は再び実用状態に戻り、「LLMがローカルで無料で使える」環境が一段と現実的になったと言えます。