{"id":31830804,"url":"https://github.com/piebald-ai/gemini-cli-desktop","last_synced_at":"2025-10-11T21:26:27.083Z","repository":{"id":306962895,"uuid":"1027211793","full_name":"Piebald-AI/gemini-cli-desktop","owner":"Piebald-AI","description":"Web/desktop 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.","archived":false,"fork":false,"pushed_at":"2025-09-28T21:38:38.000Z","size":3644,"stargazers_count":64,"open_issues_count":22,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-28T22:19:27.413Z","etag":null,"topics":["agent-client-protocol","agentic","cross-platform","desktop","desktop-app","development","gemini","gemini-api","gemini-cli","gemini-cli-ui","gemini-cli-web","gemini-desktop","gemini-ui","qwen","qwen-code","qwen3-coder","tauri","web","webapp"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Piebald-AI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-07-27T14:52:59.000Z","updated_at":"2025-09-28T21:36:24.000Z","dependencies_parsed_at":"2025-07-28T18:36:15.297Z","dependency_job_id":"72bb784e-d1a3-4ebf-bd9a-e1a6a65ad8ac","html_url":"https://github.com/Piebald-AI/gemini-cli-desktop","commit_stats":null,"previous_names":["piebald-ai/gemini-desktop"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/Piebald-AI/gemini-cli-desktop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Piebald-AI%2Fgemini-cli-desktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Piebald-AI%2Fgemini-cli-desktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Piebald-AI%2Fgemini-cli-desktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Piebald-AI%2Fgemini-cli-desktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Piebald-AI","download_url":"https://codeload.github.com/Piebald-AI/gemini-cli-desktop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Piebald-AI%2Fgemini-cli-desktop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279008854,"owners_count":26084517,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-client-protocol","agentic","cross-platform","desktop","desktop-app","development","gemini","gemini-api","gemini-cli","gemini-cli-ui","gemini-cli-web","gemini-desktop","gemini-ui","qwen","qwen-code","qwen3-coder","tauri","web","webapp"],"created_at":"2025-10-11T21:26:07.159Z","updated_at":"2025-10-11T21:26:27.078Z","avatar_url":"https://github.com/Piebald-AI.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gemini CLI Desktop\n\n[![CI](https://github.com/Piebald-AI/gemini-desktop/workflows/CI/badge.svg)](https://github.com/Piebald-AI/gemini-desktop/actions)\n[![Release \u0026 Publish](https://github.com/Piebald-AI/gemini-desktop/workflows/Release%20%26%20Publish/badge.svg)](https://github.com/Piebald-AI/gemini-desktop/actions)\n[![GitHub all releases](https://img.shields.io/github/downloads/Piebald-AI/gemini-desktop/total)](https://github.com/Piebald-AI/gemini-desktop/releases)\n[![GitHub release](https://img.shields.io/github/v/release/Piebald-AI/gemini-desktop)](https://github.com/Piebald-AI/gemini-desktop/releases)\n[![Mentioned in Awesome Gemini CLI](https://awesome.re/mentioned-badge.svg)](https://github.com/Piebald-AI/awesome-gemini-cli)\n\n[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey)](https://github.com/Piebald-AI/gemini-desktop/releases)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Built with Tauri](https://img.shields.io/badge/built%20with-Tauri-FFC131)](https://tauri.app/)\n\nA powerful **desktop** and **web** interface for **Gemini CLI** and **Qwen Code** with visual tool confirmation, real-time thought processes, code diff viewing, chat history management \u0026 search, a file tree browser, and file @-mentions. Built with Rust and React for performance and reliability.\n\nUse with **Gemini CLI:**\n\n\u003cimg alt=\"Screenshot of Gemini Desktop\" src=\"./assets/screenshot.png\" width=\"600\"\u003e\n\nUse with **Qwen Code:**\n\n\u003cimg alt=\"Screenshot of Gemini Desktop for Qwen Code\" src=\"./assets/qwen-desktop.png\" width=\"600\"\u003e\n\n## Quick Start\n\n**Download pre-built releases:** [GitHub Releases](https://github.com/Piebald-AI/gemini-desktop/releases)\n\n**Available builds:**\n\n- Windows (x64)\n- macOS (Intel \u0026 Apple Silicon)\n- Linux (x64 AppImage)\n\n## Features\n\n- **Multi-model support** - Gemini 2.5 Pro/Flash, Qwen Code, custom OpenAI providers\n- **Visual tool confirmation** - Review and approve AI actions before execution\n- **Real-time thought process** - Watch AI reasoning unfold\n- **Code diff viewer** - Clear visualization of proposed changes\n- **Chat history \u0026 search** - Automatic saving with full-text search\n- **Cross-platform** - Desktop app and web interface\n- **File @-mentions** - Reference files directly in conversations\n- **MCP server integration** - Model Context Protocol support\n- **Multi-language UI** - English, Chinese (Simplified \u0026 Traditional)\n\n## Development \u0026 Building\n\n### Prerequisites \u0026 Dependencies\n\n**Install the `just` task runner:**\n\n- **macOS/Linux:** `cargo install just` or `asdf plugin add just \u0026\u0026 asdf install just latest`\n- **Ubuntu:** `snap install --edge --classic just`\n- **Windows:** `winget install --id Casey.Just`\n\n**Linux system dependencies (Ubuntu/Debian):**\n\n```bash\nsudo apt install libgdk-pixbuf-2.0-dev libpango1.0-dev \\\n  libjavascriptcoregtk-4.1-dev libatk1.0-dev libsoup-3.0-dev \\\n  libwebkit2gtk-4.1-dev librsvg2-dev\n```\n\n### Development Workflow\n\n```bash\n# Install dependencies and start desktop development with hot reload.\njust deps dev\n\n# Start web development with separate backend (port 1858) and frontend (port 1420) servers\njust deps dev-web\n\n# Build both desktop app installer (AppImage, DMG, MSI) and web server binaries for production.\njust build-all\n\n# Run the full test suite with nextest.\njust test\n\n# Run code linting and formatting checks (ESLint + Clippy).\njust lint\n```\n\n**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.\n\n### Build from Source\n\n**Prerequisites:**\n\n- [Rust](https://rust-lang.org)\n- [Node.js](https://nodejs.org)\n- [pnpm](https://pnpm.io)\n- [just](https://just.systems)\n\n**Build \u0026 Run:**\n\n```bash\ngit clone https://github.com/Piebald-AI/gemini-desktop\ncd gemini-desktop\njust deps build-all\n\n# Desktop app\n./target/release/gemini-desktop\n\n# Web server (access at http://localhost:1858)\n./target/release/gemini-desktop-web\n```\n\n### Release Process\n\nReleases are automatically built and published via GitHub Actions when version tags are pushed.\n\n## Architecture\n\n- **Backend:** Rust with Tauri for desktop, Rocket for web server\n- **Frontend:** React + TypeScript with Tailwind CSS\n- **Protocols:** Agent Communication Protocol (ACP), WebSocket events\n- **Security:** Command filtering, tool confirmation workflows\n\n## Roadmap\n\n- Token/cost tracking\n- Multi-modal support (images, audio)\n- Extension system\n- LLxprt integration\n\n## Contributing\n\nContributions are welcome! Please see the [contributing guide](CONTRIBUTING.md) for more details.\n\n## License\n\n[MIT](./LICENSE)\n\nCopyright © 2025 [Piebald LLC.](https://piebald.ai)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiebald-ai%2Fgemini-cli-desktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiebald-ai%2Fgemini-cli-desktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiebald-ai%2Fgemini-cli-desktop/lists"}