Gemini-CLI-UI provides a clean, responsive web interface for Google’s Gemini CLI. It moves the AI coding experience beyond the terminal, offering a visual dashboard to manage active projects, track sessions, and modify code with the same power as the original CLI but with improved accessibility.
The interface is designed for desktops, tablets, and smartphones. Mobile users benefit from touch optimizations and gesture support. You can also add the application to your home screen, where it functions as a lightweight Progressive Web App (PWA).
Prerequisites: Node.js v20 or higher and a configured installation of the Gemini CLI.
Installation Steps:
Clone the repository:
git clone [email protected]:cruzyjapan/Gemini-CLI-UI.git
cd geminicliui
Install dependencies:
npm install
Configure the environment:
cp .env.example .env
# Edit .env to match your local configuration
Note: The .env file is excluded from the repository for security. Ensure you copy it from .env.example before proceeding.
Launch the application:
# Start in development mode with hot-reloading
npm run dev
Access the UI: Open your browser to http://localhost:4009 (the default port can be modified in your .env file).
The application is built on three core components:
geminicliui_auth.db SQLite database..env).server/database/geminicliui_auth.dbUser Table Structure (geminicliui_users):
| Column | Type | Constraints | Description |
|---|---|---|---|
id |
INTEGER | PRIMARY KEY AUTOINCREMENT | Unique identifier |
username |
TEXT | UNIQUE NOT NULL | Login identifier (email recommended) |
password_hash |
TEXT | NOT NULL | bcrypt encrypted password |
created_at |
DATETIME | DEFAULT CURRENT_TIMESTAMP | Account creation timestamp |
last_login |
DATETIME | NULL | Most recent login timestamp |
is_active |
BOOLEAN | DEFAULT 1 | Account status flag |
The database includes two indexes: idx_geminicliui_users_username for optimized lookups and idx_geminicliui_users_active for filtering active users.
No Gemini project found
gemini command at least once within your project directory to initialize it.~/.gemini/projects/ directory exists and has the correct read/write permissions.File browser issues
ls -la in the terminal.Model selection does not persist
Earth Copilot: Query Geospatial Data Using Natural Language
DeepSeek-OCR: High-Speed Visual Text Compression That Actually Works
Tongyi DeepResearch: 30B Agent Model Beats GPT and Claude on Search Benchmarks
12306-mcp: Query China Train Tickets via MCP Server and LLMs
NotebookLlama: An Open-Source NotebookLM Alternative with AI Voice
NetBird Setup Guide: Building a WireGuard Mesh VPN
Zettlr Setup and Developer Guide (macOS, Windows, Linux)
ERPNext Open Source ERP: Installation Guide for Accounting and Inventory
AppFlowy: Open-Source Notion Alternative With Local Data Control
Anyi VPN Review: Free 365-Day Trial with No Data Caps or Ads
Agent-MCP: Building Multi-Agent Systems with the Model Context Protocol
Notes: An Open-Source C++ Markdown App with Kanban Support