[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-gzzhongqi--geminicli2api":3,"tool-gzzhongqi--geminicli2api":64},[4,17,27,35,44,52],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",148568,2,"2026-04-09T23:34:24",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":10,"last_commit_at":23,"category_tags":24,"status":16},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[25,14,26,13],"插件","图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"status":16},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[25,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":41,"last_commit_at":42,"category_tags":43,"status":16},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":10,"last_commit_at":58,"category_tags":59,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85052,"2026-04-08T11:03:08",[26,60,61,25,14,62,15,13,63],"数据工具","视频","其他","音频",{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":68,"owner_avatar_url":76,"owner_bio":68,"owner_company":68,"owner_location":68,"owner_email":68,"owner_twitter":68,"owner_website":68,"owner_url":77,"languages":78,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":41,"env_os":91,"env_gpu":92,"env_ram":92,"env_deps":93,"category_tags":98,"github_topics":68,"view_count":10,"oss_zip_url":68,"oss_zip_packed_at":68,"status":16,"created_at":99,"updated_at":100,"faqs":101,"releases":117},6169,"gzzhongqi\u002Fgeminicli2api","geminicli2api",null,"geminicli2api 是一个基于 FastAPI 构建的代理服务器，旨在将 Google 的 Gemini CLI 工具转化为标准的 API 接口。它主要解决了开发者希望利用 Google 免费 Gemini 配额，却又需要兼容现有 OpenAI 接口或直接调用原生 Gemini 服务的痛点。通过该工具，用户可以无缝切换，既能在不修改代码的情况下使用熟悉的 OpenAI 格式，也能直接访问 Gemini 的原生功能。\n\n这款工具特别适合软件开发者和 AI 研究人员使用，尤其是那些正在构建多模态应用或需要灵活调度不同大模型资源的团队。其技术亮点在于全面支持流式响应、文本与图像的多模态输入，并集成了 Google 搜索 grounding 功能以提供基于实时信息的回答。此外，它还允许用户精细控制模型的“思考”过程（如启用或限制推理步骤）。geminicli2api 原生支持 Docker 容器化部署，并针对 Hugging Face Spaces 进行了优化配置，配合多种灵活的认证方式，让本地测试或云端快速搭建变得简单高效。","---\ntitle: Gemini CLI to API Proxy\nemoji: 🤖\ncolorFrom: blue\ncolorTo: purple\nsdk: docker\npinned: false\nlicense: mit\napp_port: 7860\n---\n\n# Gemini CLI to API Proxy (geminicli2api)\n\nA FastAPI-based proxy server that converts the Gemini CLI tool into both OpenAI-compatible and native Gemini API endpoints. This allows you to leverage Google's free Gemini API quota through familiar OpenAI API interfaces or direct Gemini API calls.\n\n## 🚀 Features\n\n- **OpenAI-Compatible API**: Drop-in replacement for OpenAI's chat completions API\n- **Native Gemini API**: Direct proxy to Google's Gemini API\n- **Streaming Support**: Real-time streaming responses for both API formats\n- **Multimodal Support**: Text and image inputs\n- **Authentication**: Multiple auth methods (Bearer, Basic, API key)\n- **Google Search Grounding**: Enable Google Search for grounded responses using `-search` models.\n- **Thinking\u002FReasoning Control**: Control Gemini's thinking process with `-nothinking` and `-maxthinking` models.\n- **Docker Ready**: Containerized for easy deployment\n- **Hugging Face Spaces**: Ready for deployment on Hugging Face\n\n## 🔧 Environment Variables\n\n### Required\n- `GEMINI_AUTH_PASSWORD`: Authentication password for API access\n\n### Optional Credential Sources (choose one)\n- `GEMINI_CREDENTIALS`: JSON string containing Google OAuth credentials\n- `GOOGLE_APPLICATION_CREDENTIALS`: Path to Google OAuth credentials file\n- `GOOGLE_CLOUD_PROJECT`: Google Cloud project ID\n- `GEMINI_PROJECT_ID`: Alternative project ID variable\n\n### Example Credentials JSON\n```json\n{\n  \"client_id\": \"your-client-id\",\n  \"client_secret\": \"your-client-secret\", \n  \"token\": \"your-access-token\",\n  \"refresh_token\": \"your-refresh-token\",\n  \"scopes\": [\"https:\u002F\u002Fwww.googleapis.com\u002Fauth\u002Fcloud-platform\"],\n  \"token_uri\": \"https:\u002F\u002Foauth2.googleapis.com\u002Ftoken\"\n}\n```\n\n## 📡 API Endpoints\n\n### OpenAI-Compatible Endpoints\n- `POST \u002Fv1\u002Fchat\u002Fcompletions` - Chat completions (streaming & non-streaming)\n- `GET \u002Fv1\u002Fmodels` - List available models\n\n### Native Gemini Endpoints  \n- `GET \u002Fv1beta\u002Fmodels` - List Gemini models\n- `POST \u002Fv1beta\u002Fmodels\u002F{model}:generateContent` - Generate content\n- `POST \u002Fv1beta\u002Fmodels\u002F{model}:streamGenerateContent` - Stream content\n- All other Gemini API endpoints are proxied through\n\n### Utility Endpoints\n- `GET \u002Fhealth` - Health check for container orchestration\n\n## 🔐 Authentication\n\nThe API supports multiple authentication methods:\n\n1. **Bearer Token**: `Authorization: Bearer YOUR_PASSWORD`\n2. **Basic Auth**: `Authorization: Basic base64(username:YOUR_PASSWORD)`\n3. **Query Parameter**: `?key=YOUR_PASSWORD`\n4. **Google Header**: `x-goog-api-key: YOUR_PASSWORD`\n\n## 🐳 Docker Usage\n\n```bash\n# Build the image\ndocker build -t geminicli2api .\n\n# Run on default port 8888 (compatibility)\ndocker run -p 8888:8888 \\\n  -e GEMINI_AUTH_PASSWORD=your_password \\\n  -e GEMINI_CREDENTIALS='{\"client_id\":\"...\",\"token\":\"...\"}' \\\n  -e PORT=8888 \\\n  geminicli2api\n\n# Run on port 7860 (Hugging Face compatible)\ndocker run -p 7860:7860 \\\n  -e GEMINI_AUTH_PASSWORD=your_password \\\n  -e GEMINI_CREDENTIALS='{\"client_id\":\"...\",\"token\":\"...\"}' \\\n  -e PORT=7860 \\\n  geminicli2api\n```\n\n### Docker Compose\n\n```bash\n# Default setup (port 8888)\ndocker-compose up -d\n\n# Hugging Face setup (port 7860)\ndocker-compose --profile hf up -d geminicli2api-hf\n```\n\n## 🤗 Hugging Face Spaces\n\nThis project is configured for Hugging Face Spaces deployment:\n\n1. Fork this repository\n2. Create a new Space on Hugging Face\n3. Connect your repository\n4. Set the required environment variables in Space settings:\n   - `GEMINI_AUTH_PASSWORD`\n   - `GEMINI_CREDENTIALS` (or other credential source)\n\nThe Space will automatically build and deploy using the included Dockerfile.\n\n## 📝 OpenAI API Example\n\n```python\nimport openai\n\n# Configure client to use your proxy\nclient = openai.OpenAI(\n    base_url=\"http:\u002F\u002Flocalhost:8888\u002Fv1\",  # or 7860 for HF\n    api_key=\"your_password\"  # Your GEMINI_AUTH_PASSWORD\n)\n\n# Use like normal OpenAI API\nresponse = client.chat.completions.create(\n    model=\"gemini-2.5-pro-maxthinking\",\n    messages=[\n        {\"role\": \"user\", \"content\": \"Explain the theory of relativity in simple terms.\"}\n    ],\n    stream=True\n)\n\n# Separate reasoning from the final answer\nfor chunk in response:\n    if chunk.choices[0].delta.reasoning_content:\n        print(f\"Thinking: {chunk.choices[0].delta.reasoning_content}\")\n    if chunk.choices[0].delta.content:\n        print(chunk.choices[0].delta.content, end=\"\")\n```\n\n## 🔧 Native Gemini API Example\n\n```python\nimport requests\n\nheaders = {\n    \"Authorization\": \"Bearer your_password\",\n    \"Content-Type\": \"application\u002Fjson\"\n}\n\ndata = {\n    \"contents\": [\n        {\n            \"role\": \"user\",\n            \"parts\": [{\"text\": \"Explain the theory of relativity in simple terms.\"}]\n        }\n    ],\n    \"thinkingConfig\": {\n        \"thinkingBudget\": 32768,\n        \"includeThoughts\": True\n    }\n}\n\nresponse = requests.post(\n    \"http:\u002F\u002Flocalhost:8888\u002Fv1beta\u002Fmodels\u002Fgemini-2.5-pro:generateContent\",  # or 7860 for HF\n    headers=headers,\n    json=data\n)\n\nprint(response.json())\n```\n\n## 🎯 Supported Models\n\n### Base Models\n- `gemini-2.5-pro`\n- `gemini-2.5-flash`\n- `gemini-1.5-pro`\n- `gemini-1.5-flash`\n- `gemini-1.0-pro`\n\n### Model Variants\nThe proxy automatically creates variants for `gemini-2.5-pro` and `gemini-2.5-flash` models:\n\n- **`-search`**: Appends `-search` to a model name to enable Google Search grounding.\n  - Example: `gemini-2.5-pro-search`\n- **`-nothinking`**: Appends `-nothinking` to minimize reasoning steps.\n  - Example: `gemini-2.5-flash-nothinking`\n- **`-maxthinking`**: Appends `-maxthinking` to maximize the reasoning budget.\n  - Example: `gemini-2.5-pro-maxthinking`\n\n## 📄 License\n\nMIT License - see LICENSE file for details.\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.","---\ntitle: Gemini CLI 到 API 代理\nemoji: 🤖\ncolorFrom: blue\ncolorTo: purple\nsdk: docker\npinned: false\nlicense: mit\napp_port: 7860\n---\n\n# Gemini CLI 到 API 代理 (geminicli2api)\n\n一个基于 FastAPI 的代理服务器，可将 Gemini CLI 工具转换为兼容 OpenAI 的接口以及原生的 Gemini API 接口。这使您能够通过熟悉的 OpenAI API 接口或直接调用 Gemini API，来利用 Google 提供的免费 Gemini API 配额。\n\n## 🚀 功能\n\n- **兼容 OpenAI 的 API**：可无缝替代 OpenAI 的聊天完成 API。\n- **原生 Gemini API**：直接代理 Google 的 Gemini API。\n- **流式支持**：两种 API 格式均支持实时流式响应。\n- **多模态支持**：支持文本和图像输入。\n- **认证方式**：多种认证方法（Bearer、Basic、API 密钥）。\n- **Google 搜索增强**：启用 `-search` 模型以实现基于 Google 搜索的增强响应。\n- **思考\u002F推理控制**：通过 `-nothinking` 和 `-maxthinking` 模型控制 Gemini 的思考过程。\n- **Docker 支持**：容器化部署，方便快捷。\n- **Hugging Face Spaces**：可直接部署到 Hugging Face 平台。\n\n## 🔧 环境变量\n\n### 必需\n- `GEMINI_AUTH_PASSWORD`：用于 API 访问的认证密码。\n\n### 可选凭证来源（任选其一）\n- `GEMINI_CREDENTIALS`：包含 Google OAuth 凭证的 JSON 字符串。\n- `GOOGLE_APPLICATION_CREDENTIALS`：Google OAuth 凭证文件的路径。\n- `GOOGLE_CLOUD_PROJECT`：Google Cloud 项目 ID。\n- `GEMINI_PROJECT_ID`：备用项目 ID 变量。\n\n### 凭证 JSON 示例\n```json\n{\n  \"client_id\": \"your-client-id\",\n  \"client_secret\": \"your-client-secret\", \n  \"token\": \"your-access-token\",\n  \"refresh_token\": \"your-refresh-token\",\n  \"scopes\": [\"https:\u002F\u002Fwww.googleapis.com\u002Fauth\u002Fcloud-platform\"],\n  \"token_uri\": \"https:\u002F\u002Foauth2.googleapis.com\u002Ftoken\"\n}\n```\n\n## 📡 API 端点\n\n### 兰兼容 OpenAI 的端点\n- `POST \u002Fv1\u002Fchat\u002Fcompletions` - 聊天完成（流式与非流式）\n- `GET \u002Fv1\u002Fmodels` - 列出可用模型\n\n### 原生 Gemini 端点  \n- `GET \u002Fv1beta\u002Fmodels` - 列出 Gemini 模型\n- `POST \u002Fv1beta\u002Fmodels\u002F{model}:generateContent` - 生成内容\n- `POST \u002Fv1beta\u002Fmodels\u002F{model}:streamGenerateContent` - 流式生成内容\n- 所有其他 Gemini API 端点均被代理转发。\n\n### 实用端点\n- `GET \u002Fhealth` - 用于容器编排的健康检查\n\n## 🔐 认证\n\nAPI 支持多种认证方式：\n\n1. **Bearer Token**：`Authorization: Bearer YOUR_PASSWORD`\n2. **Basic Auth**：`Authorization: Basic base64(username:YOUR_PASSWORD)`\n3. **查询参数**：`?key=YOUR_PASSWORD`\n4. **Google Header**：`x-goog-api-key: YOUR_PASSWORD`\n\n## 🐳 Docker 使用\n\n```bash\n# 构建镜像\ndocker build -t geminicli2api .\n\n# 在默认端口 8888 上运行（兼容性）\ndocker run -p 8888:8888 \\\n  -e GEMINI_AUTH_PASSWORD=your_password \\\n  -e GEMINI_CREDENTIALS='{\"client_id\":\"...\",\"token\":\"...\"}' \\\n  -e PORT=8888 \\\n  geminicli2api\n\n# 在端口 7860 上运行（兼容 Hugging Face）\ndocker run -p 7860:7860 \\\n  -e GEMINI_AUTH_PASSWORD=your_password \\\n  -e GEMINI_CREDENTIALS='{\"client_id\":\"...\",\"token\":\"...\"}' \\\n  -e PORT=7860 \\\n  geminicli2api\n```\n\n### Docker Compose\n\n```bash\n# 默认设置（端口 8888）\ndocker-compose up -d\n\n# Hugging Face 设置（端口 7860）\ndocker-compose --profile hf up -d geminicli2api-hf\n```\n\n## 🤗 Hugging Face Spaces\n\n本项目已配置为可在 Hugging Face Spaces 上部署：\n\n1. 分叉此仓库。\n2. 在 Hugging Face 上创建一个新的 Space。\n3. 连接您的仓库。\n4. 在 Space 设置中配置所需的环境变量：\n   - `GEMINI_AUTH_PASSWORD`\n   - `GEMINI_CREDENTIALS`（或其他凭证来源）。\n\nSpace 将自动使用包含的 Dockerfile 进行构建和部署。\n\n## 📝 OpenAI API 示例\n\n```python\nimport openai\n\n# 配置客户端以使用您的代理\nclient = openai.OpenAI(\n    base_url=\"http:\u002F\u002Flocalhost:8888\u002Fv1\",  # 或 7860 用于 HF\n    api_key=\"your_password\"  # 您的 GEMINI_AUTH_PASSWORD\n)\n\n# 像使用普通 OpenAI API 一样使用\nresponse = client.chat.completions.create(\n    model=\"gemini-2.5-pro-maxthinking\",\n    messages=[\n        {\"role\": \"user\", \"content\": \"用简单的话解释相对论。\"}\n    ],\n    stream=True\n)\n\n# 将推理过程与最终答案分开\nfor chunk in response:\n    if chunk.choices[0].delta.reasoning_content:\n        print(f\"思考中：{chunk.choices[0].delta.reasoning_content}\")\n    if chunk.choices[0].delta.content:\n        print(chunk.choices[0].delta.content, end=\"\")\n```\n\n## 🔧 原生 Gemini API 示例\n\n```python\nimport requests\n\nheaders = {\n    \"Authorization\": \"Bearer your_password\",\n    \"Content-Type\": \"application\u002Fjson\"\n}\n\ndata = {\n    \"contents\": [\n        {\n            \"role\": \"user\",\n            \"parts\": [{\"text\": \"用简单的话解释相对论。\"}]\n        }\n    ],\n    \"thinkingConfig\": {\n        \"thinkingBudget\": 32768,\n        \"includeThoughts\": True\n    }\n}\n\nresponse = requests.post(\n    \"http:\u002F\u002Flocalhost:8888\u002Fv1beta\u002Fmodels\u002Fgemini-2.5-pro:generateContent\",  # 或 7860 用于 HF\n    headers=headers,\n    json=data\n)\n\nprint(response.json())\n```\n\n## 🎯 支持的模型\n\n### 基础模型\n- `gemini-2.5-pro`\n- `gemini-2.5-flash`\n- `gemini-1.5-pro`\n- `gemini-1.5-flash`\n- `gemini-1.0-pro`\n\n### 模型变体\n代理会自动为 `gemini-2.5-pro` 和 `gemini-2.5-flash` 模型创建变体：\n\n- **`-search`**：在模型名称后添加 `-search` 以启用 Google 搜索增强。\n  - 示例：`gemini-2.5-pro-search`\n- **`-nothinking`**：在模型名称后添加 `-nothinking` 以减少推理步骤。\n  - 示例：`gemini-2.5-flash-nothinking`\n- **`-maxthinking`**：在模型名称后添加 `-maxthinking` 以最大化推理预算。\n  - 示例：`gemini-2.5-pro-maxthinking`\n\n## 📄 许可证\n\nMIT 许可证 - 详情请参阅 LICENSE 文件。\n\n## 🤝 贡献\n\n欢迎贡献！请随时提交 Pull Request。","# geminicli2api 快速上手指南\n\n`geminicli2api` 是一个基于 FastAPI 的代理服务器，能将 Google Gemini CLI 工具转换为 OpenAI 兼容接口或原生 Gemini API 端点。通过它，你可以利用免费的 Gemini API 额度，并使用熟悉的 OpenAI 客户端库进行开发。\n\n## 环境准备\n\n- **操作系统**：Linux、macOS 或 Windows（需安装 Docker）\n- **前置依赖**：\n  - [Docker](https:\u002F\u002Fwww.docker.com\u002F) 和 `docker-compose`（推荐 v2+）\n  - Google Cloud 凭证（OAuth JSON 或服务账号密钥），用于访问 Gemini API\n- **网络要求**：确保容器能访问 `googleapis.com`（国内用户可能需要配置代理或使用加速节点）\n\n## 安装步骤\n\n### 1. 获取源码\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyour-repo\u002Fgeminicli2api.git\ncd geminicli2api\n```\n\n### 2. 准备认证信息\n你需要准备 Google OAuth 凭证 JSON 字符串。将其保存为环境变量或直接填入启动命令。\n示例凭证结构：\n```json\n{\n  \"client_id\": \"your-client-id\",\n  \"client_secret\": \"your-client-secret\", \n  \"token\": \"your-access-token\",\n  \"refresh_token\": \"your-refresh-token\",\n  \"scopes\": [\"https:\u002F\u002Fwww.googleapis.com\u002Fauth\u002Fcloud-platform\"],\n  \"token_uri\": \"https:\u002F\u002Foauth2.googleapis.com\u002Ftoken\"\n}\n```\n\n### 3. 使用 Docker 启动服务\n你可以根据需求选择端口（默认 `8888` 或 Hugging Face 兼容的 `7860`）。\n\n**方式 A：直接运行 Docker 命令**\n```bash\ndocker run -p 8888:8888 \\\n  -e GEMINI_AUTH_PASSWORD=my_secure_password \\\n  -e GEMINI_CREDENTIALS='{\"client_id\":\"...\",\"token\":\"...\"}' \\\n  -e PORT=8888 \\\n  geminicli2api\n```\n*注意：请将 `GEMINI_CREDENTIALS` 的值替换为你实际的 JSON 字符串（需转义引号），并将 `my_secure_password` 替换为你设定的访问密码。*\n\n**方式 B：使用 Docker Compose**\n```bash\n# 默认配置 (端口 8888)\ndocker-compose up -d\n\n# 或者 Hugging Face 配置 (端口 7860)\ndocker-compose --profile hf up -d geminicli2api-hf\n```\n*提示：使用前请编辑 `docker-compose.yml` 或在同目录下创建 `.env` 文件来配置 `GEMINI_AUTH_PASSWORD` 和 `GEMINI_CREDENTIALS`。*\n\n## 基本使用\n\n启动成功后，服务将监听指定端口。你可以选择 **OpenAI 兼容模式** 或 **原生 Gemini 模式**。\n\n### 模式一：OpenAI 兼容接口（推荐）\n适用于已集成 OpenAI SDK 的项目，只需修改 `base_url` 和 `api_key`。\n\n```python\nimport openai\n\n# 初始化客户端\nclient = openai.OpenAI(\n    base_url=\"http:\u002F\u002Flocalhost:8888\u002Fv1\",  # 若使用 HF 部署则改为 7860\n    api_key=\"my_secure_password\"          # 对应 GEMINI_AUTH_PASSWORD\n)\n\n# 调用对话接口\nresponse = client.chat.completions.create(\n    model=\"gemini-2.5-pro-maxthinking\",   # 支持 -search, -nothinking 等后缀\n    messages=[\n        {\"role\": \"user\", \"content\": \"用简单的语言解释相对论。\"}\n    ],\n    stream=True\n)\n\n# 处理流式响应\nfor chunk in response:\n    if chunk.choices[0].delta.reasoning_content:\n        print(f\"思考过程：{chunk.choices[0].delta.reasoning_content}\")\n    if chunk.choices[0].delta.content:\n        print(chunk.choices[0].delta.content, end=\"\", flush=True)\n```\n\n### 模式二：原生 Gemini 接口\n直接通过 HTTP 请求调用 Gemini 原生格式。\n\n```python\nimport requests\n\nheaders = {\n    \"Authorization\": \"Bearer my_secure_password\",\n    \"Content-Type\": \"application\u002Fjson\"\n}\n\ndata = {\n    \"contents\": [\n        {\n            \"role\": \"user\",\n            \"parts\": [{\"text\": \"用简单的语言解释相对论。\"}]\n        }\n    ],\n    \"thinkingConfig\": {\n        \"thinkingBudget\": 32768,\n        \"includeThoughts\": True\n    }\n}\n\nresponse = requests.post(\n    \"http:\u002F\u002Flocalhost:8888\u002Fv1beta\u002Fmodels\u002Fgemini-2.5-pro:generateContent\",\n    headers=headers,\n    json=data\n)\n\nprint(response.json())\n```\n\n### 常用模型变体\n在模型名称后添加后缀即可启用特殊功能：\n- **联网搜索**：`gemini-2.5-pro-search`\n- **关闭深度思考**：`gemini-2.5-flash-nothinking`\n- **最大深度思考**：`gemini-2.5-pro-maxthinking`","某初创团队正在开发一款多模态客服机器人，急需低成本接入具备谷歌搜索增强能力的大模型，但现有代码库完全基于 OpenAI 接口构建。\n\n### 没有 geminicli2api 时\n- **重构成本高昂**：为了调用免费的 Google Gemini API，开发人员必须重写所有聊天接口代码，将原本适配 OpenAI 格式的请求逻辑全部推翻。\n- **功能集成困难**：难以直接利用 Gemini 特有的“谷歌搜索接地（Grounding）”和“思维链控制”功能，因为这些特性在原生 CLI 中才容易配置，API 层缺乏统一入口。\n- **部署流程繁琐**：团队需要在本地管理复杂的 Google OAuth 凭证文件，且无法通过标准的 Docker 容器快速在不同环境间迁移服务。\n- **流式响应缺失**：自行搭建代理时往往忽略 Streaming 支持，导致用户等待回复时界面卡顿，体验远不如实时生成的流畅感。\n\n### 使用 geminicli2api 后\n- **零代码迁移**：只需将 OpenAI 客户端的 `base_url` 指向 geminicli2api 的服务地址，原有业务代码无需任何修改即可无缝切换至 Gemini 后端。\n- **高级特性即开即用**：通过简单的模型名称后缀（如 `-search` 或 `-nothinking`），即可在标准 API 调用中直接激活谷歌搜索验证和思维深度控制。\n- **容器化一键部署**：利用内置的 Docker 镜像和 Hugging Face Spaces 支持，团队几分钟内即可完成包含身份认证和环境变量的服务上线。\n- **完美流式体验**：geminicli2api 原生支持双格式流式传输，确保前端能实时接收并渲染每一个生成的字符，大幅提升交互流畅度。\n\ngeminicli2api 成功打破了模型厂商间的接口壁垒，让开发者能以最低成本免费享用谷歌最强模型的全部高级特性。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgzzhongqi_geminicli2api_936e0bab.png","gzzhongqi","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fgzzhongqi_b48b8dd4.png","https:\u002F\u002Fgithub.com\u002Fgzzhongqi",[79,83],{"name":80,"color":81,"percentage":82},"Python","#3572A5",99.1,{"name":84,"color":85,"percentage":86},"Dockerfile","#384d54",0.9,571,626,"2026-04-09T06:52:53","MIT","Linux, macOS, Windows","未说明",{"notes":94,"python":92,"dependencies":95},"该工具是一个基于 Docker 的代理服务器，用于将 Gemini CLI 转换为 API。运行环境主要依赖 Docker，无需直接配置 Python 环境或 GPU。必须设置 GEMINI_AUTH_PASSWORD 环境变量进行认证，并提供 Google OAuth 凭证（通过环境变量或文件）以访问 Gemini API。支持在 Hugging Face Spaces 上部署，默认端口可配置为 8888 或 7860。",[96,97],"FastAPI","Docker",[15,25],"2026-03-27T02:49:30.150509","2026-04-10T15:55:38.994363",[102,107,112],{"id":103,"question_zh":104,"answer_zh":105,"source_url":106},27940,"如何在 Cursor 编辑器中使用此项目？遇到警告或 400 错误怎么办？","出现的警告通常不影响使用（例如在 Cherry Studio 中测试正常）。关键的 400 错误通常是因为 Cursor 的请求格式不符合预期，建议进行调试。注意：Cursor 官方接口目前要求充值才能使用第三方模型接口。如果需要在 VS Code Copilot 中使用，目前它不支持除几家国外大厂外的第三方接口，可能需要对项目进行 patch（补丁）修改以兼容。","https:\u002F\u002Fgithub.com\u002Fgzzhongqi\u002Fgeminicli2api\u002Fissues\u002F6",{"id":108,"question_zh":109,"answer_zh":110,"source_url":111},27941,"使用 Gemini 3 系列模型时出现 404 Not Found 或 'Requested entity was not found' 错误是什么原因？","该问题通常不是模型名称错误，而是订阅（subscription）权限问题。请检查您的 Google AI 账户订阅状态，确保您有权访问所请求的特定预览版模型（如 gemini-3-pro-image-preview 等）。","https:\u002F\u002Fgithub.com\u002Fgzzhongqi\u002Fgeminicli2api\u002Fissues\u002F18",{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},27942,"部署时遇到 'Proxy error: Failed to discover project ID' 错误该如何解决？","如果遇到无法发现项目 ID (cloudaicompanionProject) 的代理错误，尝试不使用 Docker 部署，改为直接使用 Python 环境进行部署，这通常可以规避该问题。","https:\u002F\u002Fgithub.com\u002Fgzzhongqi\u002Fgeminicli2api\u002Fissues\u002F4",[]]