MCPcopy Index your code
hub / github.com/bohesocool/gemini-chat

github.com/bohesocool/gemini-chat @v0.2.26

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.26 ↗ · + Follow
1,765 symbols 3,268 edges 300 files 331 documented · 19% updated 12d agov0.2.26 · 2026-06-10★ 110
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

中文 | English

Gemini Chat

Gemini Chat Logo

A Feature-Rich Google Gemini API Chat Client

Supporting multi-model, image generation, chain-of-thought display, and more advanced features

Release License Stars Docker Pulls

FeaturesScreenshotsQuick StartDocker DeploymentConfiguration


✨ Features

🤖 Multi-Model Support

Series Supported Models
Gemini 3 Pro, Pro Image (Most intelligent multimodal model)
Gemini 2.5 Pro, Flash, Flash-Lite, Flash-Image
Gemini 2.0 Flash, Flash-Lite
  • ✅ Custom API endpoint support (compatible with third-party proxies)
  • ✅ Independent parameter configuration for each model
  • Model Redirect - Redirect custom models to preset models, automatically inheriting target model's capabilities and parameter configurations

💬 Chat Features

  • Multi-Window Management - Create multiple independent chat windows, each configurable with different models and parameters
  • Sub-Topic Conversations - Create multiple sub-topics within the same window for organizing different conversation themes
  • Message Editing - Edit sent messages and regenerate responses
  • Streaming Response - Real-time AI response display with stop generation support
  • Chain-of-Thought Display - Display model's thinking process (Gemini 2.5/3 series)
  • Markdown Rendering - Full Markdown support including code highlighting and LaTeX math formulas

🖼️ Image Features

  • Image Upload - Upload images for multimodal conversations
  • Image Generation - Generate images using Imagen models (Gemini 3 Pro Image, 2.5 Flash Image)
  • Image Gallery - Centralized management of all generated images
  • Fullscreen Preview - Support fullscreen image viewing and downloading

⚙️ Advanced Configuration

Configuration Description
Generation Parameters Temperature, Top-P, Top-K, Max Output Tokens
Thinking Budget Control model thinking depth (Gemini 2.5 series supports Token budget configuration)
Thinking Level Select thinking depth level (Gemini 3 series supports Low/High levels)
Image Parameters Adjust image model resolution/aspect ratio
Media Resolution Adjust input image/video processing resolution
System Instructions Set independent system prompts for each chat window
  • 💡 Quick Parameter Adjustment - Common parameters (thinking level, image settings) can be quickly modified directly above the chat input box without opening the settings panel

Parameters Bar

🔐 Security Features

  • Password Protection - Support setting access password via environment variables
  • Local Storage - All data stored locally in browser (IndexedDB), not uploaded to server

🎨 Interface Features

  • Dark/Light theme switching
  • Responsive design for desktop and mobile devices
  • Collapsible sidebar
  • Debug panel (view API request details, token usage)

📸 Screenshots

Main Interface

Main Interface

Image Gallery

Image Gallery

Model Redirect

Model Redirect

The Model Redirect feature allows you to redirect custom models (such as third-party proxy models) to preset models, automatically inheriting the target model's capability configurations (thinking level, image generation, etc.) without repeated configuration.


🚀 Quick Start

Requirements

  • Node.js 18+
  • npm / yarn / pnpm

Local Development

# Clone the project
git clone https://github.com/bohesocool/gemini-chat.git
cd gemini-chat

# Install dependencies
npm install

# Configure environment variables
cp .env.example .env
# Edit .env file, set VITE_AUTH_PASSWORD=your_password

# Start development server
npm run dev

Visit http://localhost:5173 to use the application.

Tip: If VITE_AUTH_PASSWORD is not set, the default password adminiadmin will be used, and you will be prompted to change it after first login.


💻 Windows Desktop Application

Download the latest Windows installer directly from GitHub Releases.


🐳 Docker Deployment

Method 1: Pull Image Directly (Recommended)

# Pull image
docker pull bohesocool/gemini-chat:latest

# Run container
docker run -d \
  -p 5173:80 \
  -e VITE_AUTH_PASSWORD=your_password \
  --name gemini-chat \
  bohesocool/gemini-chat:latest

Method 2: Docker Compose

# Clone the project
git clone https://github.com/bohesocool/gemini-chat.git
cd gemini-chat

# Configure environment variables
cp .env.example .env
vim .env  # Modify VITE_AUTH_PASSWORD

# Start service
docker-compose up -d

# View logs
docker-compose logs -f

# Stop service
docker-compose down

# Update container
git pull && docker-compose down && docker-compose up -d --build

Password Notes

Scenario Description
Environment variable not set Use default password adminiadmin, must change after first login
Custom password set Use the configured password directly, no change required

After deployment, visit http://localhost:5173 to use the application.


⚙️ Configuration

API Configuration

  1. After opening the app, click the Settings icon at the bottom of the sidebar
  2. Enter your Google AI API Key in "API Settings"
  3. Leave API endpoint empty to use the official address, or enter a third-party proxy address

API Settings

Getting API Key

  1. Visit Google AI Studio
  2. Sign in with your Google account
  3. Click "Get API Key" to obtain your key

🛠️ Tech Stack

Category Technology
Framework React 18 + TypeScript
Build Tool Vite 6
State Management Zustand 5
Styling Tailwind CSS 3
Markdown react-markdown + rehype-highlight + rehype-katex
Local Storage IndexedDB (idb)
Deployment Docker + Nginx

🤝 Contributing

Issues and Pull Requests are welcome!

📜 License

This project is licensed under the MIT License.


⭐ Star History

Star History Chart

Extension points exported contracts — how you extend this code

SidebarContextType (Interface)
侧边栏上下文
src/components/Layout.tsx
SplitResult (Interface)
切分结果(含最后一块的起始偏移,用于增量切分)
src/utils/markdownBlocks.ts
LiveHistoryState (Interface)
* Live History Store 状态 * Requirements: 1.2, 1.4
src/stores/liveHistory.ts
ImageDB (Interface)
* 图片数据库 Schema 接口
src/services/imageStorage.ts
ImportMetaEnv (Interface)
(no doc)
src/vite-env.d.ts
VadConfig (Interface)
(no doc)
src/types/liveApi.ts
TranslationResource (Interface)
(no doc)
src/i18n/types.ts
ModelColorConfig (Interface)
(no doc)
src/design/tokens.ts

Core symbols most depended-on inside this repo

error
called by 111
src/services/logger.ts
get
called by 108
server/src/database.ts
getState
called by 103
src/services/liveApi/AudioCaptureService.ts
useTranslation
called by 80
src/i18n/useTranslation.ts
info
called by 63
src/services/logger.ts
isApiMode
called by 55
src/services/storageAdapter.ts
warn
called by 38
src/services/logger.ts
asyncHandler
called by 38
server/src/middleware/errorHandler.ts

Shape

Function 1,181
Interface 388
Method 146
Class 50

Languages

TypeScript100%

Modules by API surface

src/types/liveApi.ts41 symbols
src/services/storage.ts40 symbols
src/services/webdav/protocol.ts32 symbols
src/services/storageProxy.ts29 symbols
src/services/apiStorage.ts29 symbols
src/services/liveApi/LiveApiService.ts28 symbols
src/services/apiClient.ts24 symbols
src/types/gemini.ts22 symbols
src/services/timeTracker.ts22 symbols
src/services/liveApi/AudioBlobStorage.ts22 symbols
src/services/auth.ts21 symbols
src/services/model.ts20 symbols

Datastores touched

(mysql)Database · 1 repos
gemini-chatDatabase · 1 repos

For agents

$ claude mcp add gemini-chat \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact