gemini-cli-desktop
Verified Safeby Piebald-AI
Overview
A cross-platform desktop and web application providing a modern UI for various AI CLIs (Gemini, Qwen, LLxprt), enabling structured interaction with AI models, visual tool confirmation, real-time thought processes, code diff viewing, chat history management, and file system integration.
Installation
just build-all && ./target/release/gemini-cli-desktop-webEnvironment Variables
- GEMINI_CLI_DESKTOP_WEB
- TAURI_DEV_HOST
- TAURI_APP_PATH
- TAURI_FRONTEND_PATH
- LLXPRT_API_KEY
- LLXPRT_MODEL
- LLXPRT_BASE_URL
- QWEN_API_KEY
- QWEN_BASE_URL
- QWEN_MODEL
- GEMINI_API_KEY
- VERTEX_PROJECT
- VERTEX_LOCATION
Security Notes
The project demonstrates a robust and multi-layered security model. Key features include a command execution whitelist (100+ safe commands) and blacklist (dangerous patterns/operations), API key masking in logs (first 4 and last 4 characters visible), and a 5-layer Server-Side Request Forgery (SSRF) protection for URLs (HTTPS enforcement, private IP blocking, cloud metadata blocking, URL validation). Environment variables for credentials are managed with an RAII pattern (`EnvVarGuard`) to ensure automatic cleanup and prevent leakage. The Tauri desktop application is designed with minimal permissions and a sandboxed environment.
Similar Servers
5ire
A desktop AI assistant client that integrates with various LLM providers and supports extensible tool and prompt functionalities via the Model Context Protocol (MCP).
code-assistant
An AI coding assistant that integrates with code editors to provide autonomous code analysis and modification, supporting multiple UI modes and the Agent Client Protocol (ACP).
geminimcp
Enables Claude Code to leverage Google's Gemini CLI for AI-assisted programming tasks, particularly excelling in frontend design and task planning.
conductor-tasks
An intelligent assistant for developers to transform requirements into actionable tasks, generate implementation plans, track progress, and accelerate development, leveraging multiple LLMs and integrating into an editor via MCP or as a CLI.