Show HN: Gemiwin, a Gemini-CLI desktop app

3 months ago 2

Gemiwin logo

A desktop chat application that lets you converse with Google Gemini models using gemini-cli — 100 % locally. Built with Go, Electron, React, TypeScript & Tailwind CSS.


  • Multi-chat workflow – create, switch and delete conversations instantly.
  • 🔧 Per-chat model switcher – toggle between gemini-2.5-flash and gemini-2.5-pro on the fly.
  • 📎 File uploads – attach Markdown, PDF or source-code files (< 1 MB) as extra context.
  • 📝 Rich Markdown rendering with copy-to-clipboard.
  • ⏱️ Live streaming indicator + cancel button.
  • 🗑️ Delete individual messages or entire chats.
  • 📤 Export any conversation as Markdown or PDF.
  • 🌙 Light/Dark theme synced with system preference.
  • 🚀 Cross-platform packaging via Electron Forge.
  • 🔐 Everything stays on your machine – no external servers required.

graph TD subgraph Desktop UI["Electron + React UI"] end UI -->|HTTP| API["Go API server"] API --> CLI["Gemini CLI"] API --> FS[("Local filesystem")] CLI --> API FS -.-> API
Loading
  1. Electron UI renders the app and calls the local HTTP API.
  2. The Go server forwards prompts to Gemini CLI and persists chat history & uploaded files under api/data/.
  3. No data ever leaves your computer.

  • API backend – setup, endpoints & build instructions → api/README.md
  • Electron UI – development workflow & packaging → ui/README.md
Read Entire Article