Skip to content

Desktop/web UI for Gemini CLI/Qwen Code. Manage projects, switch between tools, search across past conversations, and manage MCP servers, all from one interface, locally or remotely.

License

Notifications You must be signed in to change notification settings

Piebald-AI/gemini-desktop

Repository files navigation

Gemini Desktop

CI Release & Publish GitHub all releases GitHub release Mentioned in Awesome Gemini CLI

Platform License: MIT Built with Tauri

A powerful desktop and web interface for Gemini CLI and Qwen Code with visual tool confirmation, real-time thought processes, code diff viewing, chat history search, and file @-mentions. Built with Rust and React for performance and reliability.

Use with Gemini CLI:

Screenshot of Gemini Desktop

Use with Qwen Code:

Screenshot of Gemini Desktop for Qwen Code

Quick Start

Download pre-built releases: GitHub Releases

Available builds:

  • Windows (x64)
  • macOS (Intel & Apple Silicon)
  • Linux (x64 AppImage)

Features

  • Multi-model support - Gemini 2.5 Pro/Flash, Qwen Code, custom OpenAI providers
  • Visual tool confirmation - Review and approve AI actions before execution
  • Real-time thought process - Watch AI reasoning unfold
  • Code diff viewer - Clear visualization of proposed changes
  • Chat history & search - Automatic saving with full-text search
  • Cross-platform - Desktop app and web interface
  • File @-mentions - Reference files directly in conversations
  • MCP server integration - Model Context Protocol support
  • Multi-language UI - English, Chinese (Simplified & Traditional)

Development & Building

Prerequisites & Dependencies

Install the just task runner:

  • macOS/Linux: cargo install just or asdf plugin add just && asdf install just latest
  • Ubuntu: snap install --edge --classic just
  • Windows: winget install --id Casey.Just

Linux system dependencies (Ubuntu/Debian):

sudo apt install libgdk-pixbuf-2.0-dev libpango1.0-dev \
  libjavascriptcoregtk-4.1-dev libatk1.0-dev libsoup-3.0-dev \
  libwebkit2gtk-4.1-dev librsvg2-dev

Development Workflow

# Install dependencies and start desktop development with hot reload.
just deps dev

# Start web development with separate backend (port 1858) and frontend (port 1420) servers
just deps dev-web

# Build both desktop app installer (AppImage, DMG, MSI) and web server binaries for production.
just build-all

# Run the full test suite with nextest.
just test

# Run code linting and formatting checks (ESLint + Clippy).
just lint

Note: For the web version, development uses two separate ports: 1420 for the frontend and 1858 for the Rust + Rocket backend. In production, the backend server also hosts the static frontend files, so only port 1858 is used.

Build from Source

Prerequisites:

Build & Run:

git clone https://github.com/Piebald-AI/gemini-desktop
cd gemini-desktop
just deps build-all

# Desktop app
./target/release/gemini-desktop

# Web server (access at http://localhost:1858)
./target/release/gemini-desktop-web

Release Process

Releases are automatically built and published via GitHub Actions when version tags are pushed.

Architecture

  • Backend: Rust with Tauri for desktop, Rocket for web server
  • Frontend: React + TypeScript with Tailwind CSS
  • Protocols: Agent Communication Protocol (ACP), WebSocket events
  • Security: Command filtering, tool confirmation workflows

Roadmap

  • Token/cost tracking
  • Multi-modal support (images, audio)
  • Extension system
  • LLxprt integration

Contributing

Contributions are welcome! Please see the contributing guide for more details.

License

MIT

Copyright © 2025 Piebald LLC.