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í:
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:
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:
max_tokens, n, embeddings ani legacy completions endpoint,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:
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:
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.