Gemini Desktop is a native desktop application designed to interact with the Gemini CLI via the Agent Client Protocol (ACP) over standard input/output using JSON-RPC. Built with Tauri v2, Rust, and SvelteKit, it offers a modern and efficient interface for working with Gemini AI models.
Key Features:
Real-time token streaming with cancelable requests for smooth interactions.
Interactive tool execution permissions to review and approve commands before they run.
Support for multiple Gemini models, including Auto (Gemini 3), Gemini 3.8 Flash, and custom entries.
Integration with Model Context Protocol (MCP) servers for enhanced configuration management.
File, folder, and Git context attachments with inline autocompletion.
Multi-theme system with adaptive syntax highlighting.
Target Audience and Benefits:
Ideal for developers, AI researchers, and professionals looking to integrate Gemini into their workflows. Users benefit from efficient interaction with the Gemini CLI, enhanced security through tool execution permissions, customizable model selection, and seamless integration with existing tools.
Available via Windows Package Manager (WinGet), you can install Gemini Desktop using 'winget install [package ID]' for easy deployment. This application is optimized for AI enthusiasts and professionals seeking to use Gemini's capabilities in their projects.
README
🚀 Gemini Desktop
A modern, blazing-fast native desktop application for interacting with the Gemini CLI via the Agent Client Protocol (ACP) over standard I/O (JSON-RPC). Built from the ground up with Tauri v2, Rust, and SvelteKit / Svelte 5.
✨ Features
⚡ Native Agent Client Protocol (ACP)
Full bidirectional JSON-RPC streaming directly over the child CLI process stdin/stdout.
Real-time token streaming with cancelable requests.
Interactive Tool Execution Permission Intercepts — review and approve tool/command execution before changes occur on your machine.
🎯 Official Gemini Model Selection
Auto (Gemini 3): Dynamically balances between Pro and Flash models based on task complexity.
Auto (Gemini 2.5): Dynamic selection across Gemini 2.5 series.
This boots Vite with hot-module reloading on localhost:1420 and spawns the native Tauri desktop window.
4. Code Quality & Verification
# Type check Svelte & TypeScript
npm run check
# Run Rust unit tests
npm --prefix src-tauri test
# or
cargo test --manifest-path src-tauri/Cargo.toml
5. Build for Production
npm run tauri build
Compiled binaries and installers will be output to src-tauri/target/release/bundle/.
🤖 CI / CD
Automated builds and releases are managed via GitHub Actions (.github/workflows/release.yml):
Pushing any tag matching v* (e.g. v0.1.0) triggers a build on windows-latest.
Compiles the SvelteKit frontend and Rust release binary with LTO optimizations.
Automatically publishes the release and attaches .exe and .msi installers to GitHub Releases.
Manual triggers are also supported via workflow_dispatch in the GitHub Actions tab.