|
1 |
| -# Gemini Desktop |
| 1 | +# Your Gemini, Reimagined. |
2 | 2 |
|
3 |
| -A powerful, modern desktop and web UI for **Gemini CLI** and **Qwen Code**. Built with Tauri and web technologies. Cross-platform, open-source on [GitHub.](https://github.com/Piebald-AI/gemini-desktop) |
| 3 | +Ever felt that the command line, while powerful, can be a bit... impersonal? Gemini Desktop is a beautiful and intuitive graphical interface for Google's Gemini CLI and Qwen Code, designed to make your interactions with AI more natural and productive. |
4 | 4 |
|
5 |
| -> [!note] |
6 |
| -> :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). |
| 5 | +**So, why use a graphical interface instead of the command line?** |
7 | 6 |
|
8 |
| -**Using [Gemini CLI](https://github.com/google-gemini/gemini-cli):** |
| 7 | +* **It's easier.** No need to memorize commands or flags. Everything is a click away. |
| 8 | +* **It's visual.** See your conversations, code changes, and the AI's thought process laid out clearly. |
| 9 | +* **It's more powerful for complex tasks.** Juggling multiple conversations, reviewing large code changes, and managing files is a breeze. |
| 10 | +* **Access from anywhere.** With the web version, you can use your Gemini CLI running on one machine from any other device with a web browser. |
9 | 11 |
|
10 | 12 | <img alt="Screenshot of Gemini Desktop" src="./assets/screenshot.png" width="600">
|
11 | 13 |
|
12 |
| -**Using [Qwen Code](https://github.com/QwenLM/qwen-code):** |
13 |
| - |
14 | 14 | <img alt="Screenshot of Gemini Desktop for Qwen Code" src="./assets/qwen-desktop.png" width="600">
|
15 | 15 |
|
16 |
| -## Features |
| 16 | +## What you can do with Gemini Desktop |
17 | 17 |
|
18 |
| -- Choose between Gemini models (Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash-Lite) |
19 |
| -- Use **Qwen.ai OAuth/custom OpenAI-compatible providers** and models with Qwen Code |
20 |
| -- Send messages to/from AI and receive response; handle tool call requests; Markdown support |
21 |
| -- Observe Gemini's **thought process** |
22 |
| -- View and handle edit requests with clear file diffs |
23 |
| -- Automatic light/dark mode switching |
24 |
| -- **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.) |
25 |
| -- Fast **search** across all conversation contents |
26 |
| -- Access Gemini CLI/Qwen Code running on **remote machines** with the web UI |
| 18 | +* **Chat with your AI, effortlessly.** Have natural, flowing conversations with your AI. All your chats are automatically saved for you to come back to at any time. |
| 19 | +* **See the AI's thought process.** Understand how the AI is working behind the scenes by watching its thoughts unfold in real-time. |
| 20 | +* **Review code changes with confidence.** A clear, side-by-side view of proposed code changes makes it easy to see what's new and decide whether to accept it. |
| 21 | +* **Work with different AI models.** Easily switch between different Gemini and Qwen models to find the best one for your needs. |
| 22 | +* **Search your entire chat history.** Instantly find any message or piece of code from your past conversations. |
27 | 23 |
|
28 |
| -### Planned/in progress |
| 24 | +## Getting Started |
29 | 25 |
|
30 |
| -- MCP server management and integration |
31 |
| -- Git repository viewing |
32 |
| -- Dangerous `--yolo` mode support |
33 |
| -- Resuming saved conversations |
34 |
| -- Token/cost information |
35 |
| -- `@`-mentioning files |
36 |
| -- LLxprt integration ([#24](https://github.com/Piebald-AI/gemini-desktop/issues/24)) |
37 |
| -- Multi-modal support |
38 |
| -- Extension support |
| 26 | +To get started, you'll need to build Gemini Desktop from the source code. Here's how: |
| 27 | + |
| 28 | +### 1. Install the Prerequisites |
39 | 29 |
|
40 |
| -## How it works |
| 30 | +Gemini Desktop is built with Rust and web technologies. You'll need to install the following tools first. |
41 | 31 |
|
42 |
| -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. |
| 32 | +* [Rust](https://rust-lang.org) |
| 33 | +* [Node.js](https://nodejs.org) |
| 34 | +* [pnpm](https://pnpm.io) |
| 35 | +* [just](https://just.systems) |
43 | 36 |
|
44 |
| -## Building from source |
| 37 | +#### Installing `just` |
45 | 38 |
|
46 |
| -### Prerequisites |
| 39 | +`just` is a handy command runner we use to simplify the build process. |
47 | 40 |
|
48 |
| -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: |
| 41 | +* **On macOS/Linux with `asdf`:** |
49 | 42 |
|
50 |
| -- [Rust](https://rust-lang.org) |
51 |
| -- [Node.js](https://nodejs.org) |
52 |
| -- [pnpm](https://pnpm.io) |
53 |
| -- [just](https://just.systems) |
| 43 | + ```bash |
| 44 | + asdf plugin add just |
| 45 | + asdf install just latest |
| 46 | + ``` |
54 | 47 |
|
55 |
| -#### Installing Just |
| 48 | +* **On Ubuntu:** |
56 | 49 |
|
57 |
| -If you're on macOS/Linux and you use [asdf](https://asdf-vm.com), you can install `just` with the following commands: |
| 50 | + You can also install `just` using snap: |
| 51 | + |
| 52 | + ```bash |
| 53 | + snap install --edge --classic just |
| 54 | + ``` |
| 55 | + |
| 56 | +* **On Windows:** |
| 57 | + |
| 58 | + ```powershell |
| 59 | + winget install --id Casey.Just |
| 60 | + ``` |
| 61 | + |
| 62 | +#### Linux Dependencies |
| 63 | + |
| 64 | +On Linux, you'll need a few extra packages for the desktop app to build correctly. |
| 65 | +
|
| 66 | +* **On Ubuntu:** |
| 67 | +
|
| 68 | + ```bash |
| 69 | + sudo apt install libgdk-pixbuf-2.0-dev \ |
| 70 | + libpango1.0-dev \ |
| 71 | + libjavascriptcoregtk-4.1-dev \ |
| 72 | + libatk1.0-dev \ |
| 73 | + libsoup-3.0-dev \ |
| 74 | + libwebkit2gtk-4.1-dev |
| 75 | + ``` |
| 76 | +
|
| 77 | +### 2. Clone the Repository |
58 | 78 |
|
59 | 79 | ```bash
|
60 |
| -asdf plugin add just |
61 |
| -asdf install just latest |
| 80 | +git clone https://github.com/Piebald-AI/gemini-desktop |
| 81 | +cd gemini-desktop |
62 | 82 | ```
|
63 | 83 |
|
64 |
| -If you're on Windows, you can use Winget: |
| 84 | +### 3. Build the Application |
| 85 | +
|
| 86 | +This command will download all the necessary dependencies and build both the desktop and web versions of the application. |
65 | 87 |
|
66 |
| -```powershell |
67 |
| -winget install --id Casey.Just |
| 88 | +```bash |
| 89 | +just deps build-all |
68 | 90 | ```
|
69 | 91 |
|
70 |
| -#### Linux Dependencies |
| 92 | +### 4. Run Your Build |
| 93 | +
|
| 94 | +Here’s how to run the applications you’ve just built: |
| 95 | +
|
| 96 | +**Desktop App** |
| 97 | +
|
| 98 | +For the best experience, use the installer. It will set up the application on your system, just like any other app. |
| 99 | +
|
| 100 | +```bash |
| 101 | +# Navigate to the bundle directory |
| 102 | +cd target/release/bundle/ |
| 103 | +
|
| 104 | +# Run the installer for your system (the file name will vary) |
| 105 | +# For example, on Linux it might be: |
| 106 | +./Gemini.Desktop_0.1.0_amd64.AppImage |
| 107 | +``` |
71 | 108 |
|
72 |
| -On Linux building Tauri apps requires several dependencies. If you're using Ubuntu, you can install them all using this command: |
| 109 | +If you prefer to run the application without installing, you can run the executable directly: |
73 | 110 |
|
74 | 111 | ```bash
|
75 |
| -sudo apt install libgdk-pixbuf-2.0-dev \ |
76 |
| - libpango1.0-dev \ |
77 |
| - libjavascriptcoregtk-4.1-dev \ |
78 |
| - libatk1.0-dev \ |
79 |
| - libsoup-3.0-dev \ |
80 |
| - libwebkit2gtk-4.1-dev |
| 112 | +./target/release/gemini-desktop |
81 | 113 | ```
|
82 | 114 |
|
83 |
| -### Build |
| 115 | +**Web App (Web Server)** |
84 | 116 |
|
85 |
| -Then clone the repository: |
| 117 | +This will start a web server on your machine. You can then access Gemini Desktop from your browser. |
86 | 118 |
|
87 | 119 | ```bash
|
88 |
| -git clone https://github.com/Piebald-AI/gemini-desktop |
89 |
| -cd gemini-desktop |
| 120 | +# Run the web server executable |
| 121 | +./target/release/gemini-desktop-web |
90 | 122 | ```
|
91 | 123 |
|
92 |
| -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. |
| 124 | +Once the server is running, open your web browser and go to `http://localhost:1858`. |
| 125 | +
|
| 126 | +## Features |
| 127 | +
|
| 128 | +- Choose between Gemini models (Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash-Lite) |
| 129 | +- Use **Qwen.ai OAuth/custom OpenAI-compatible providers** and models with Qwen Code |
| 130 | +- Send messages to/from AI and receive response; handle tool call requests; Markdown support |
| 131 | +- Observe Gemini's **thought process** |
| 132 | +- View and handle edit requests with clear file diffs |
| 133 | +- Automatic light/dark mode switching |
| 134 | +- **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.) |
| 135 | +- Fast **search** across all conversation contents |
| 136 | +- Access Gemini CLI/Qwen Code running on **remote machines** with the web UI |
| 137 | + |
| 138 | +### Planned/in progress |
93 | 139 |
|
94 |
| -**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. |
| 140 | +- MCP server management and integration |
| 141 | +- Git repository viewing |
| 142 | +- Dangerous `--yolo` mode support |
| 143 | +- Resuming saved conversations |
| 144 | +- Token/cost information |
| 145 | +- `@`-mentioning files |
| 146 | +- LLxprt integration ([#24](https://github.com/Piebald-AI/gemini-desktop/issues/24)) |
| 147 | +- Multi-modal support |
| 148 | +- Extension support |
95 | 149 |
|
96 |
| -**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. |
97 |
| - |
98 | 150 | ## Contributing
|
99 | 151 |
|
100 |
| -Contributions are welcome! |
101 |
| -1. Fork the repo. |
102 |
| -2. Clone it, optionally create a new branch, and then and make your changes. |
103 |
| -3. Add tests. |
104 |
| -4. Commit your changes and open a PR. |
| 152 | +Contributions are welcome! Please see the [contributing guide](CONTRIBUTING.md) for more details. |
105 | 153 |
|
106 | 154 | ## License
|
107 | 155 |
|
|
0 commit comments