gemma-chat logo

gemma-chat

Local AI chat + coding agent for Apple Silicon, powered by Gemma 4 via MLX / Supports Ollama

Developer ToolsAI AgentsTypeScriptMIT 1.4k 259Health 80
GitHub

What is it?

What it is

Gemma Chat is an open-source Electron application that runs Google's Gemma 4 language model locally on Apple Silicon using Apple's MLX framework, providing an offline coding agent with live preview and conversational AI capabilities.

Why it exists

To enable fully private, internet‑free vibe coding so users can write, iterate, and run code anywhere—on a plane, in a cabin, or without API keys—while keeping all prompts and code on their own machine.

Who should use it

macOS Apple Silicon developers seeking offline AI-assisted coding, privacy-focused developers, hobbyists wanting to experiment with local LLMs for rapid prototyping without internet.

Who should avoid it

Users without Apple Silicon Macs, those needing heavyweight models (>8GB RAM), Windows/Linux users, beginners uncomfortable with command-line setup, or those requiring online features.

How it works

A quick walkthrough in plain English

How gemma-chat works

Step 1 of 3

You interact with it

Open gemma-chat, send a request, or connect it to your stack.

Features

Build mode with live preview canvas
Chat mode with conversational AI and tool use
Model switching hot‑swap between Gemma 4 variants
Voice input via local Whisper
Fully offline operation after initial download
Zero configuration with auto‑provisioned Python venv and MLX runtime
Multi‑file project support with sandboxed workspace
Live streaming of generated code with partial writes
XML‑based action protocol for tool invocation
Per‑conversation sandboxed filesystem and local HTTP server
Auto‑download of ~3 GB model on first launch
Support for web search, URL fetch, calculator, bash tools
Electron + Vite + React + TypeScript + Tailwind tech stack

Advantages

  • No internet or API keys required, preserving privacy
  • Runs locally on Apple Silicon, no cloud dependency
  • Fast local inference with small 3 GB model
  • Zero configuration on first launch
  • Live preview updates in real time
  • Supports multi‑file projects and live editing
  • Voice input for hands‑free coding
  • Tool use expands capabilities (search, fetch, bash)
  • XML protocol reliable for small models
  • Open‑source and MIT licensed
  • Easy distribution via signed DMG

Disadvantages

  • Requires macOS on Apple Silicon only
  • Initial model download (~3 GB) requires bandwidth
  • Limited to MLX framework, not cross‑platform
  • Performance constrained by CPU/GPU on older Macs
  • Large models need 16 GB+ RAM, not supported on all machines
  • Requires Python 3.10–3.13 and Node 20+
  • Potentially higher memory usage during live streaming
  • No official support for Windows/Linux
  • Complex setup for non‑developer users
  • Model updates require manual re‑download

Installation

native

git clone https://github.com/ammaarreshi/gemma-chat-public.git
cd gemma-chat-public
npm install
npm run dev

FAQ

How does Gemma Chat work offline?

After the initial model download (~3 GB), all operations run entirely locally without requiring an internet connection, including coding, model switching, and tool usage.

What are the system requirements?

macOS on Apple Silicon, Python 3.10–3.13, and Node.js 20+ are required. Python can be installed via Homebrew if needed.

How does the live preview work in Build Mode?

The model writes code character-by-character into files, and the preview updates in real-time as changes are made, allowing you to watch the project build itself.

Which model should I use and why?

Gemma 4 E4B (~3 GB) is recommended for most users as it balances speed and capability. Larger models (27B/31B) require more RAM but offer stronger reasoning for complex tasks.

How does voice input function?

Voice input uses local speech-to-text via the browser's Whisper model (running in WASM), allowing you to dictate prompts without an internet connection after setup.

Can I distribute the app to others?

Yes, you can build a signed .dmg file using `npm run dist` and share it directly. Recipients simply drag the app to their Applications folder.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for gemma-chat

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
gemma-chat | MushyBook