# gemini **Repository Path**: baigang111/gemini ## Basic Information - **Project Name**: gemini - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-07 - **Last Updated**: 2026-01-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Gemini Chat Tool 一个基于 React + TypeScript + Node.js 的 Gemini LLM 对话工具,支持文本、图片和视频输入。 ## 功能特性 - ✨ 支持文本、图片、视频多种输入方式 - 🔄 实时流式输出 - ⚙️ 可配置参数(temperature、topP、thinkingConfig) - 📝 聊天历史记录 - 🎨 简洁美观的用户界面 ## 技术栈 ### 前端 - React 18 - TypeScript - Vite - CSS-in-JS ### 后端 - Node.js - Express - Axios - CORS ## 项目结构 ``` gemini-chat-tool/ ├── src/ │ ├── components/ │ │ ├── Header.tsx # 顶部配置栏(API Key、参数设置) │ │ ├── Sidebar.tsx # 左侧聊天历史 │ │ ├── Chat.tsx # 右侧对话区域 │ │ └── InputBox.tsx # 底部输入框 │ ├── types/ │ │ └── index.ts # 类型定义 │ ├── App.tsx # 主应用组件 │ ├── main.tsx # 应用入口 │ └── index.css # 全局样式 ├── server/ │ └── index.js # Express 服务器 ├── package.json ├── tsconfig.json └── vite.config.ts ``` ## 安装和运行 ### 1. 安装依赖 ```bash npm install ``` ### 2. 启动开发服务器 ```bash npm run dev ``` 这将同时启动前端(端口 3000)和后端(端口 5000)服务器。 ### 3. 访问应用 打开浏览器访问:http://localhost:3000 ## 使用说明 ### 1. 配置 API Key 在顶部配置栏中输入您的 API Key。 ### 2. 调整参数 - **Temperature**: 控制输出随机性(0-2) - **Top P**: 控制词汇选择范围(0-1) - **Thinking Budget**: 思考预算(0-26240) - **Include Thoughts**: 是否包含思考过程 ### 3. 发送消息 - 在底部输入框输入文本 - 点击 📎 图标上传图片或视频 - 按 Enter 发送消息(Shift+Enter 换行) ### 4. 查看历史 左侧边栏显示所有聊天历史,点击可查看详情。 ## API 调用 ### 请求格式 ``` POST /api/chat ``` #### 请求体 ```json { "apiKey": "your-api-key", "modelName": "gemini-3-pro", "generationConfig": { "temperature": 1, "topP": 1, "thinkingConfig": { "includeThoughts": true, "thinkingBudget": 26240 } }, "contents": [ { "role": "user", "parts": [ { "text": "写一首诗" } ] } ] } ``` #### 响应格式 服务器使用 Server-Sent Events (SSE) 进行流式输出: ``` data: {"type": "start", "content": ""} data: {"type": "content", "content": "春眠不觉晓"} data: {"type": "content", "content": "处处闻啼鸟"} data: {"type": "end"} ``` ## 支持的文件类型 - **图片**: JPG, JPEG, PNG, GIF, WebP - **视频**: MP4, AVI, MOV, WMV ## 注意事项 1. 确保 API Key 有效且有足够的使用额度 2. 大文件可能需要较长时间上传和处理 3. 流式输出需要稳定的网络连接 4. 前端和后端需要在同一台机器上运行(本地开发) ## 构建生产版本 ```bash npm run build ``` 构建完成后,前端静态文件将在 `dist` 目录中。 ## 许可证 MIT