https://github.com/piebald-ai/gemini-desktop
Desktop/web UI for Gemini CLI.
https://github.com/piebald-ai/gemini-desktop
agentic desktop desktop-app development gemini gemini-api gemini-cli gemini-cli-ui gemini-desktop gemini-ui tauri webapp
Last synced: 10 months ago
JSON representation
Desktop/web UI for Gemini CLI.
- Host: GitHub
- URL: https://github.com/piebald-ai/gemini-desktop
- Owner: Piebald-AI
- License: mit
- Created: 2025-07-27T14:52:59.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-11T17:31:18.000Z (10 months ago)
- Last Synced: 2025-08-11T19:32:36.469Z (10 months ago)
- Topics: agentic, desktop, desktop-app, development, gemini, gemini-api, gemini-cli, gemini-cli-ui, gemini-desktop, gemini-ui, tauri, webapp
- Language: TypeScript
- Homepage:
- Size: 1.14 MB
- Stars: 18
- Watchers: 2
- Forks: 2
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Gemini Desktop
A powerful, modern desktop and web UI for **Gemini CLI** and **Qwen Coder**. Built with Tauri and web technologies. Cross-platform, open-source on [GitHub.](https://github.com/Piebald-AI/gemini-desktop)
> [!note]
> :star2: **Star the repository** to stay up to date with notifications of [new releases](https://github.com/Piebald-AI/gemini-desktop/releases) and [announcements](https://github.com/Piebald-AI/gemini-desktop/discussions/categories/announcements).
**Using [Gemini CLI](https://github.com/google-gemini/gemini-cli):**

**Using [Qwen Code](https://github.com/QwenLM/qwen-code):**

## Features
- Choose between Gemini models (Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash-Lite)
- Use **Qwen.ai OAuth/custom OpenAI-compatible providers** and models with Qwen Code
- Send messages to/from AI and receive response; handle tool call requests; Markdown support
- Observe Gemini's **thought process**
- View and handle edit requests with clear file diffs
- Automatic light/dark mode switching
- **Automatic chat history saving** (Note: See related PRs [#4401](https://github.com/google-gemini/gemini-cli/pull/4401) and [#4609](https://github.com/google-gemini/gemini-cli/pull/4609) on the Gemini CLI repo.)
- Fast **search** across all conversation contents
- Access Gemini CLI/Qwen Code running on **remote machines** with the web UI
### Planned/in progress
- MCP server management and integration
- Git repository viewing
- Dangerous `--yolo` mode support
- Resuming saved conversations
- Token/cost information
- `@`-mentioning files
- LLxprt integration ([#24](https://github.com/Piebald-AI/gemini-desktop/issues/24))
- Multi-modal support
- Extension support
## How it works
Gemini CLI/Qwen Code can function as an ACP (Agent Communication Protocol) server, which enables real-time communication via JSON-RPC 2.0 between the client, Gemini Desktop, and the server, Gemini CLI.
## Building from source
### Prerequisites
Gemini Desktop is written using Rust and Tauri for the backend and web technologies for the frontend. When building it from source or running it in development you'll need to install the following tools:
- [Rust](https://rust-lang.org)
- [Node.js](https://nodejs.org)
- [pnpm](https://pnpm.io)
- [just](https://just.systems)
#### Installing Just
If you're on macOS/Linux and you use [asdf](https://asdf-vm.com), you can install `just` with the following commands:
```bash
asdf plugin add just
asdf install just latest
```
If you're on Windows, you can use Winget:
```powershell
winget install --id Casey.Just
```
#### Linux Dependencies
On Linux building Tauri apps requires several dependencies. If you're using Ubuntu, you can install them all using this command:
```bash
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
```
### Build
Then clone the repository:
```bash
git clone https://github.com/Piebald-AI/gemini-desktop
cd gemini-desktop
```
You can run the app in development mode, or build it for production. The desktop, being a Tauri app, follows the standard setup for development and production. For the webapp, there are two servers that run in development mode: a Rust/Rocket backend API server on port 1858, and a Vite frontend webserver with hot reloading on port 1420. In production a single executable hosts the backend API and the frontend, both on port 1858.
**Development:** Run `just deps dev` to start the desktop app in development. Alternatively, run `just deps dev-web` to start the webapp version in development and go to http://localhost:1420 in your browser.
**Production:** Run `just deps build-all`. Two binaries built in release mode will be produced in `target/release`: `gemini-desktop` (`gemini-desktop.exe`) for the desktop app, and `gemini-desktop-web` (`gemini-desktop-web.exe`) for the webapp version.
## Contributing
Contributions are welcome!
1. Fork the repo.
2. Clone it, optionally create a new branch, and then and make your changes.
3. Add tests.
4. Commit your changes and open a PR.
## License
[MIT](./LICENSE)
Copyright © 2025 [Piebald LLC.](https://piebald.ai)