ai:modely:gemini-nano-v-chrome

Gemini Nano v Chrome

Vytvořeno: 1.7.2026 | Aktualizováno: 01.07.2026 08:11

Gemini Nano v Chrome je lokální AI model spravovaný přímo prohlížečem Chrome a dostupný přes Built-in AI / Prompt API. Projekt gemini-nano-chrome ukazuje praktický způsob, jak Gemini Nano vystavit jako lokální OpenAI-compatible API a použít ho i z nástrojů, které umí mluvit s OpenAI API.

Námět vychází z příspěvku Arnav Gupta na X, kde autor popisuje pokus zpřístupnit Gemini Nano z Chromu jako lokální API bez API klíče a bez externích síťových volání po stažení modelu.

Gemini Nano neběží jako samostatný proces typu Ollama nebo llama.cpp server. Model je dostupný uvnitř Chromu přes JavaScriptové rozhraní Prompt API, konkrétně přes globální objekt LanguageModel.

Projekt gemini-nano-chrome kolem toho staví bridge:

OpenAI-compatible klient → lokální HTTP server → Chrome CDP → LanguageModel / Gemini Nano

Praktický výsledek je lokální endpoint:

http://localhost:8788/v1/chat/completions

Ten se z pohledu klienta chová podobně jako OpenAI Chat Completions API. Díky tomu ho lze napojit i do nástrojů, které umí OpenAI-compatible providery.

Repozitář obsahuje několik částí:

  • skripty pro spuštění Chromu se správnými flags,
  • automatizaci prvního nastavení přes Chrome DevTools Protocol,
  • jednoduché webové chat UI,
  • lokální OpenAI-compatible API server,
  • ukázky volání přes curl, JavaScript a OpenAI klienta.

Základní spuštění:

git clone https://github.com/Ar9av/gemini-nano-chrome.git
cd gemini-nano-chrome
npm start

Po spuštění jsou dostupné dvě služby:

Chat UI:    http://localhost:8123
API server: http://localhost:8788/v1/chat/completions

První běh stáhne lokální model do Chrome profilu. README projektu uvádí velikost stažení přibližně 4 GB. Další spuštění už stejný Chrome profil znovu používá.

Podle dokumentace Chrome Built-in AI jsou pro Prompt API potřeba hlavně tyto podmínky:

  • Chrome na desktopu; ne Chrome pro Android nebo iOS,
  • Windows 10/11, macOS 13+, Linux nebo Chromebook Plus,
  • dostatek volného místa v Chrome profilu,
  • GPU s více než 4 GB VRAM, nebo CPU režim s alespoň 16 GB RAM a 4 CPU jádry,
  • neměřené připojení pro prvotní stažení modelu.

Projekt v README doporučuje Chrome 138+ a uvádí ověření na Chromu 149. Pro lokální testování se zapínají flags:

chrome://flags/#optimization-guide-on-device-model
chrome://flags/#prompt-api-for-gemini-nano

Skript v repozitáři to umí udělat automaticky, takže není nutné flags ručně naklikávat.

Lokální server implementuje jen část OpenAI API, která dává smysl pro textový lokální model v Chromu.

Podporované endpointy:

  • GET /health – kontrola dostupnosti modelu,
  • GET /v1/models – vrací model gemini-nano,
  • POST /v1/chat/completions – chat completions kompatibilní s OpenAI-style klienty.

Jednoduchý test:

curl http://localhost:8788/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-nano",
    "messages": [
      {"role": "user", "content": "What are you, in one sentence?"}
    ]
  }'

Streaming je řešený přes SSE. response_format s JSON schema se mapuje na responseConstraint v Chrome Prompt API.

OpenCode podporuje vlastní providery přes AI SDK. Pro OpenAI-compatible lokální API se používá balíček @ai-sdk/openai-compatible. To znamená, že gemini-nano-chrome lze přidat jako custom provider.

Příklad konfigurace v ~/.config/opencode/opencode.json nebo v projektovém opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "gemini-nano-chrome": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Gemini Nano Chrome",
      "options": {
        "baseURL": "http://localhost:8788/v1",
        "apiKey": "not-needed"
      },
      "models": {
        "gemini-nano": {
          "name": "Gemini Nano"
        }
      }
    }
  },
  "model": "gemini-nano-chrome/gemini-nano",
  "small_model": "gemini-nano-chrome/gemini-nano"
}

OpenCode skládá plné ID modelu ve tvaru provider_id/model_id. V tomto příkladu je tedy model dostupný jako:

gemini-nano-chrome/gemini-nano

Před spuštěním OpenCode musí běžet lokální server z projektu gemini-nano-chrome:

npm start

Pro lokální endpoint je vhodné dát pozor na proxy proměnné. Dokumentace OpenCode Network uvádí, že OpenCode respektuje standardní HTTP_PROXY, HTTPS_PROXY a NO_PROXY. Pokud je v prostředí proxy, měl by být localhost v NO_PROXY:

export NO_PROXY=localhost,127.0.0.1

Tohle je experimentální lokální integrace, ne plnohodnotná náhrada velkého coding modelu.

Z README projektu a dokumentace Chrome vyplývají hlavně tyto limity:

  • kontext v měření autora vychází přibližně na 9216 tokenů,
  • API nepodporuje max_tokens, n, embeddings ani legacy completions endpoint,
  • stop sekvence jsou řešené klientsky až nad vygenerovaným textem,
  • použití sampling parametrů závisí na tom, v jakém režimu je Prompt API dostupné,
  • kvalita pro coding agent workflow nemusí odpovídat větším modelům určeným pro práci s nástroji,
  • dostupnost a chování Prompt API se může měnit podle verze Chromu.

Pro malé lokální úlohy, rychlé dotazy nebo experiment se zapojením on-device modelu do nástrojů je to zajímavé. Pro komplexní agentní práci s repozitářem je potřeba počítat s malým kontextem a ověřovat výsledky.

V diskuzích kolem tohoto tématu se objevuje i zmínka o phi4-mini. To ale není součást projektu gemini-nano-chrome. Phi-4 Mini v Ollamě je samostatný lokální model, který lze spustit přes Ollamu.

Ollama u modelu uvádí i přímé použití s OpenCode:

ollama launch opencode --model phi4-mini

To je jiná integrační cesta než Gemini Nano v Chromu:

  • Gemini Nano běží uvnitř Chromu přes Prompt API,
  • Phi-4 Mini běží přes Ollamu jako lokální model server,
  • OpenCode může s oběma pracovat přes lokální provider, ale technická vrstva je jiná.

Existuje také projekt gemini-web-proxy, který se prezentuje jako Gemini web interface proxy pro OpenCode. Ten ale nepracuje s Gemini Nano v Chromu. Používá Playwright k automatizaci webového rozhraní Gemini a převádí ho na OpenAI-compatible API.

Je tedy potřeba rozlišovat:

  • gemini-nano-chrome – lokální Gemini Nano přes Chrome Prompt API,
  • gemini-web-proxy – automatizace webového Gemini UI přes browser,
  • phi4-mini přes Ollamu – lokální model mimo Chrome.

gemini-nano-chrome dává smysl hlavně jako experiment s lokálním modelem, který už je spravovaný Chromem. Prakticky může sloužit jako:

  • lokální fallback model,
  • test OpenAI-compatible integrace bez API klíče,
  • malý model pro rychlé odpovědi,
  • ukázka, jak propojit browser-only AI API s běžnými vývojářskými nástroji.

Pro běžné použití v OpenCode je ale potřeba počítat s tím, že model má malý kontext a není primárně trénovaný jako coding-agent backend.

  • ai/modely/gemini-nano-v-chrome.txt
  • Poslední úprava: 01.07.2026 08:11
  • autor: Petr Nosek