Gemma Gem 让开发者在浏览器中直接运行 AI 模型,无需调用云 API,避免密钥泄露和调用成本。
你的个人 AI 助手就在浏览器中运行。Gemma Gem 通过 WebGPU 在设备本地完全运行 Google 的 Gemma 4 模型——无需 API 密钥,无需云服务,数据不会离开你的机器。它可以阅读页面、点击按钮、填充表单、运行 JavaScript,以及回答关于你访问的任何网站的问题。
Chrome 支持 WebGPU
E2B 模型约 500MB 硬盘空间,E4B 约 1.5GB(首次运行后缓存)
pnpm install
pnpm build
在 chrome://extensions(开发者模式)中从 .output/chrome-mv3-dev/ 加载扩展。
点击右下角的宝石图标打开聊天
等待模型加载(进度显示在图标和聊天中)
询问关于页面的问题或请求执行操作
Offscreen Document Service Worker Content Script
(Gemma 4 + Agent Loop) <-> (Message Router) <-> (Chat UI + DOM Tools)
| |
WebGPU inference Screenshot capture
Token streaming JS execution
Offscreen document:通过 @huggingface/transformers + WebGPU 承载模型。运行 agent 循环。
Service worker:在 content script 和 offscreen document 之间路由消息。处理 take_screenshot 和 run_javascript。
Content script:注入宝石图标和 shadow DOM 聊天覆盖层。执行 DOM 工具(read_page_content、click_element、type_text、scroll_page)。
点击聊天头部的齿轮图标:
Model:在 Gemma 4 E2B(约 500MB)和 E4B(约 1.5GB)之间切换。选择跨会话保持。
Thinking:切换原生 Gemma 4 thinking
Max iterations:限制每个请求的工具调用循环次数
Shortcuts:重新绑定切换和关闭聊天的键盘快捷键。单击快捷键字段,按下你想要的组合键,即可保存。↺ 按钮将快捷键重置为默认值。默认值:Alt+G 切换聊天,Escape 关闭聊天。绑定跨会话保持。
Clear context:重置当前页面的对话历史
Disable on this site:按主机名禁用扩展(已保持)
pnpm build # Development build (with logging, source maps)
pnpm build:prod # Production build (logging silenced, minified)
WXT — Chrome 扩展框架(基于 Vite)
@huggingface/transformers — 浏览器 ML 推理
marked — 聊天中的 markdown 渲染
Gemma 4 E2B / E4B(onnx-community/gemma-4-E2B-it-ONNX、onnx-community/gemma-4-E4B-it-ONNX)— q4f16 量化,128K 上下文
所有日志都以 [Gemma Gem] 为前缀。在开发版本中,info/debug/warn 日志处于活跃状态。生产版本仅记录错误。
Service worker 日志:chrome://extensions → Gemma Gem → "Inspect views: service worker"
Offscreen document 日志:chrome://extensions → Gemma Gem → "Inspect views: offscreen.html"
Content script 日志:在任何页面上打开 DevTools → Console
所有扩展页面:chrome://inspect#other 列出所有可检查的扩展上下文(service worker、offscreen document 等)
Offscreen document 日志最有用——它们显示模型加载、提示词构造、令牌计数、原始模型输出和工具执行。
估计的最低要求(未在真实设备上进行基准测试)
集成 GPU:Intel Xe (Arc)、Apple M1+、Qualcomm Adreno 在具有充足共享内存的情况下可用
独立 GPU:任何 4GB+ VRAM 的 GPU(例如 GTX 1650、RX 6500 XT)
移动设备:iPhone A14+、Snapdragon 8 Gen 1+(运行缓慢)
性能:在集成 GPU 上缓慢,在中端独立 GPU 上正常,在高端 GPU 上快速
在长上下文(128K)下,KV 缓存在模型权重之上增加 10-20% 的内存开销