[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-fuergaosi233--claude-code-proxy":3,"tool-fuergaosi233--claude-code-proxy":64},[4,17,26,36,44,56],{"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 真正成长为懂上",144730,2,"2026-04-07T23:26:32",[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},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":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"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,35,14,13],"图像",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":10,"last_commit_at":42,"category_tags":43,"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":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85013,"2026-04-06T11:09:19",[35,52,53,25,14,54,15,13,55],"数据工具","视频","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":32,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[14,35,13,15,54],{"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":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":94,"forks":95,"last_commit_at":96,"license":97,"difficulty_score":10,"env_os":98,"env_gpu":99,"env_ram":99,"env_deps":100,"category_tags":111,"github_topics":83,"view_count":10,"oss_zip_url":83,"oss_zip_packed_at":83,"status":16,"created_at":112,"updated_at":113,"faqs":114,"releases":140},5439,"fuergaosi233\u002Fclaude-code-proxy","claude-code-proxy","Claude Code to OpenAI API Proxy","claude-code-proxy 是一款轻量级代理服务器，旨在打通 Claude Code 命令行工具与各类 OpenAI 兼容 API 之间的壁垒。它核心解决了用户希望在使用官方 Claude Code 界面时，能够灵活调用 OpenAI、Azure、Ollama 本地模型或其他第三方大模型服务的需求，无需修改原始客户端代码。\n\n通过智能协议转换，该工具能将 Claude 特有的 API 请求实时映射为标准的 OpenAI 格式，完美支持流式输出、函数调用（Tool Use）以及图片输入等高级特性。其独特的“智能模型映射”功能允许用户通过环境变量自由指定不同规模的模型（如将 Claude Opus 请求指向 GPT-4o），并支持自动注入自定义 HTTP 头以满足特定鉴权或追踪需求。\n\n这款工具特别适合开发者、技术研究人员及热衷于本地部署大模型的极客用户。如果你希望在不放弃 Claude Code 优秀交互体验的前提下，低成本地测试不同模型效果或利用本地算力，claude-code-proxy 提供了一个配置灵活、开箱即用的桥梁方案，让模型切换变得简单高效。","# Claude Code Proxy\n\nA proxy server that enables **Claude Code** to work with OpenAI-compatible API providers. Convert Claude API requests to OpenAI API calls, allowing you to use various LLM providers through the Claude Code CLI.\n\n![Claude Code Proxy](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffuergaosi233_claude-code-proxy_readme_1ef7ec1aa2be.png)\n\n## Features\n\n- **Full Claude API Compatibility**: Complete `\u002Fv1\u002Fmessages` endpoint support\n- **Multiple Provider Support**: OpenAI, Azure OpenAI, local models (Ollama), and any OpenAI-compatible API\n- **Smart Model Mapping**: Configure BIG and SMALL models via environment variables\n- **Function Calling**: Complete tool use support with proper conversion\n- **Streaming Responses**: Real-time SSE streaming support\n- **Image Support**: Base64 encoded image input\n- **Custom Headers**: Automatic injection of custom HTTP headers for API requests\n- **Error Handling**: Comprehensive error handling and logging\n\n## Quick Start\n\n### 1. Install Dependencies\n\n```bash\n# Using UV (recommended)\nuv sync\n\n# Or using pip\npip install -r requirements.txt\n```\n\n### 2. Configure\n\n```bash\ncp .env.example .env\n# Edit .env and add your API configuration\n# Note: Environment variables are automatically loaded from .env file\n```\n\n### 3. Start Server\n\n```bash\n# Direct run\npython start_proxy.py\n\n# Or with UV\nuv run claude-code-proxy\n\n# Or with docker compose\ndocker compose up -d\n```\n\n### 4. Use with Claude Code\n\n```bash\n# If ANTHROPIC_API_KEY is not set in the proxy:\nANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:8082 ANTHROPIC_API_KEY=\"any-value\" claude\n\n# If ANTHROPIC_API_KEY is set in the proxy:\nANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:8082 ANTHROPIC_API_KEY=\"exact-matching-key\" claude\n```\n\n## Configuration\n\nThe application automatically loads environment variables from a `.env` file in the project root using `python-dotenv`. You can also set environment variables directly in your shell.\n\n### Environment Variables\n\n**Required:**\n\n- `OPENAI_API_KEY` - Your API key for the target provider\n\n**Security:**\n\n- `ANTHROPIC_API_KEY` - Expected Anthropic API key for client validation\n  - If set, clients must provide this exact API key to access the proxy\n  - If not set, any API key will be accepted\n\n**Model Configuration:**\n\n- `BIG_MODEL` - Model for Claude opus requests (default: `gpt-4o`)\n- `MIDDLE_MODEL` - Model for Claude opus requests (default: `gpt-4o`)\n- `SMALL_MODEL` - Model for Claude haiku requests (default: `gpt-4o-mini`)\n\n**API Configuration:**\n\n- `OPENAI_BASE_URL` - API base URL (default: `https:\u002F\u002Fapi.openai.com\u002Fv1`)\n\n**Server Settings:**\n\n- `HOST` - Server host (default: `0.0.0.0`)\n- `PORT` - Server port (default: `8082`)\n- `LOG_LEVEL` - Logging level (default: `WARNING`)\n\n**Performance:**\n\n- `MAX_TOKENS_LIMIT` - Token limit (default: `4096`)\n- `REQUEST_TIMEOUT` - Request timeout in seconds (default: `90`)\n\n**Custom Headers:**\n\n- `CUSTOM_HEADER_*` - Custom headers for API requests (e.g., `CUSTOM_HEADER_ACCEPT`, `CUSTOM_HEADER_AUTHORIZATION`)\n  - Uncomment in `.env` file to enable custom headers\n\n### Custom Headers Configuration\n\nAdd custom headers to your API requests by setting environment variables with the `CUSTOM_HEADER_` prefix:\n\n```bash\n# Uncomment to enable custom headers\n# CUSTOM_HEADER_ACCEPT=\"application\u002Fjsonstream\"\n# CUSTOM_HEADER_CONTENT_TYPE=\"application\u002Fjson\"\n# CUSTOM_HEADER_USER_AGENT=\"your-app\u002F1.0.0\"\n# CUSTOM_HEADER_AUTHORIZATION=\"Bearer your-token\"\n# CUSTOM_HEADER_X_API_KEY=\"your-api-key\"\n# CUSTOM_HEADER_X_CLIENT_ID=\"your-client-id\"\n# CUSTOM_HEADER_X_CLIENT_VERSION=\"1.0.0\"\n# CUSTOM_HEADER_X_REQUEST_ID=\"unique-request-id\"\n# CUSTOM_HEADER_X_TRACE_ID=\"trace-123\"\n# CUSTOM_HEADER_X_SESSION_ID=\"session-456\"\n```\n\n### Header Conversion Rules\n\nEnvironment variables with the `CUSTOM_HEADER_` prefix are automatically converted to HTTP headers:\n\n- Environment variable: `CUSTOM_HEADER_ACCEPT`\n- HTTP Header: `ACCEPT`\n\n- Environment variable: `CUSTOM_HEADER_X_API_KEY`\n- HTTP Header: `X-API-KEY`\n\n- Environment variable: `CUSTOM_HEADER_AUTHORIZATION`\n- HTTP Header: `AUTHORIZATION`\n\n### Supported Header Types\n\n- **Content Type**: `ACCEPT`, `CONTENT-TYPE`\n- **Authentication**: `AUTHORIZATION`, `X-API-KEY`\n- **Client Identification**: `USER-AGENT`, `X-CLIENT-ID`, `X-CLIENT-VERSION`\n- **Tracking**: `X-REQUEST-ID`, `X-TRACE-ID`, `X-SESSION-ID`\n\n### Usage Example\n\n```bash\n# Basic configuration\nOPENAI_API_KEY=\"sk-your-openai-api-key-here\"\nOPENAI_BASE_URL=\"https:\u002F\u002Fapi.openai.com\u002Fv1\"\n\n# Enable custom headers (uncomment as needed)\nCUSTOM_HEADER_ACCEPT=\"application\u002Fjsonstream\"\nCUSTOM_HEADER_CONTENT_TYPE=\"application\u002Fjson\"\nCUSTOM_HEADER_USER_AGENT=\"my-app\u002F1.0.0\"\nCUSTOM_HEADER_AUTHORIZATION=\"Bearer my-token\"\n```\n\nThe proxy will automatically include these headers in all API requests to the target LLM provider.\n\n### Model Mapping\n\nThe proxy maps Claude model requests to your configured models:\n\n| Claude Request                 | Mapped To     | Environment Variable   |\n| ------------------------------ | ------------- | ---------------------- |\n| Models with \"haiku\"            | `SMALL_MODEL` | Default: `gpt-4o-mini` |\n| Models with \"sonnet\"           | `MIDDLE_MODEL`| Default: `BIG_MODEL`   |\n| Models with \"opus\"             | `BIG_MODEL`   | Default: `gpt-4o`      |\n\n### Provider Examples\n\n#### OpenAI\n\n```bash\nOPENAI_API_KEY=\"sk-your-openai-key\"\nOPENAI_BASE_URL=\"https:\u002F\u002Fapi.openai.com\u002Fv1\"\nBIG_MODEL=\"gpt-4o\"\nMIDDLE_MODEL=\"gpt-4o\"\nSMALL_MODEL=\"gpt-4o-mini\"\n```\n\n#### Azure OpenAI\n\n```bash\nOPENAI_API_KEY=\"your-azure-key\"\nOPENAI_BASE_URL=\"https:\u002F\u002Fyour-resource.openai.azure.com\u002Fopenai\u002Fdeployments\u002Fyour-deployment\"\nBIG_MODEL=\"gpt-4\"\nMIDDLE_MODEL=\"gpt-4\"\nSMALL_MODEL=\"gpt-35-turbo\"\n```\n\n#### Local Models (Ollama)\n\n```bash\nOPENAI_API_KEY=\"dummy-key\"  # Required but can be dummy\nOPENAI_BASE_URL=\"http:\u002F\u002Flocalhost:11434\u002Fv1\"\nBIG_MODEL=\"llama3.1:70b\"\nMIDDLE_MODEL=\"llama3.1:70b\"\nSMALL_MODEL=\"llama3.1:8b\"\n```\n\n#### Other Providers\n\nAny OpenAI-compatible API can be used by setting the appropriate `OPENAI_BASE_URL`.\n\n## Usage Examples\n\n### Basic Chat\n\n```python\nimport httpx\n\nresponse = httpx.post(\n    \"http:\u002F\u002Flocalhost:8082\u002Fv1\u002Fmessages\",\n    json={\n        \"model\": \"claude-3-5-sonnet-20241022\",  # Maps to MIDDLE_MODEL\n        \"max_tokens\": 100,\n        \"messages\": [\n            {\"role\": \"user\", \"content\": \"Hello!\"}\n        ]\n    }\n)\n```\n\n## Integration with Claude Code\n\nThis proxy is designed to work seamlessly with Claude Code CLI:\n\n```bash\n# Start the proxy\npython start_proxy.py\n\n# Use Claude Code with the proxy\nANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:8082 claude\n\n# Or set permanently\nexport ANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:8082\nclaude\n```\n\n## Testing\n\nTest proxy functionality:\n\n```bash\n# Run comprehensive tests\npython src\u002Ftest_claude_to_openai.py\n```\n\n## Development\n\n### Using UV\n\n```bash\n# Install dependencies\nuv sync\n\n# Run server\nuv run claude-code-proxy\n\n# Format code\nuv run black src\u002F\nuv run isort src\u002F\n\n# Type checking\nuv run mypy src\u002F\n```\n\n### Project Structure\n\n```\nclaude-code-proxy\u002F\n├── src\u002F\n│   ├── main.py                     # Main server\n│   ├── test_claude_to_openai.py    # Tests\n│   └── [other modules...]\n├── start_proxy.py                  # Startup script\n├── .env.example                    # Config template\n└── README.md                       # This file\n```\n\n## Performance\n\n- **Async\u002Fawait** for high concurrency\n- **Connection pooling** for efficiency\n- **Streaming support** for real-time responses\n- **Configurable timeouts** and retries\n- **Smart error handling** with detailed logging\n\n## License\n\nMIT License\n","# Claude Code 代理\n\n一个代理服务器，使 **Claude Code** 能够与兼容 OpenAI 的 API 提供商协同工作。它会将 Claude API 请求转换为 OpenAI API 调用，从而允许您通过 Claude Code CLI 使用各种 LLM 提供商。\n\n![Claude Code 代理](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffuergaosi233_claude-code-proxy_readme_1ef7ec1aa2be.png)\n\n## 功能特性\n\n- **完全兼容 Claude API**：完整支持 `\u002Fv1\u002Fmessages` 端点\n- **多提供商支持**：OpenAI、Azure OpenAI、本地模型（Ollama）以及任何兼容 OpenAI 的 API\n- **智能模型映射**：通过环境变量配置 BIG 和 SMALL 模型\n- **函数调用**：完整支持工具使用，并进行正确转换\n- **流式响应**：实时 SSE 流式传输支持\n- **图像支持**：Base64 编码的图像输入\n- **自定义头部**：自动注入用于 API 请求的自定义 HTTP 头部\n- **错误处理**：全面的错误处理和日志记录\n\n## 快速开始\n\n### 1. 安装依赖\n\n```bash\n# 使用 UV（推荐）\nuv sync\n\n# 或者使用 pip\npip install -r requirements.txt\n```\n\n### 2. 配置\n\n```bash\ncp .env.example .env\n# 编辑 .env 文件并添加您的 API 配置\n# 注意：环境变量会自动从 .env 文件加载\n```\n\n### 3. 启动服务器\n\n```bash\n# 直接运行\npython start_proxy.py\n\n# 或者使用 UV\nuv run claude-code-proxy\n\n# 或者使用 Docker Compose\ndocker compose up -d\n```\n\n### 4. 与 Claude Code 一起使用\n\n```bash\n# 如果代理中未设置 ANTHROPIC_API_KEY：\nANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:8082 ANTHROPIC_API_KEY=\"any-value\" claude\n\n# 如果代理中设置了 ANTHROPIC_API_KEY：\nANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:8082 ANTHROPIC_API_KEY=\"exact-matching-key\" claude\n```\n\n## 配置说明\n\n应用程序会使用 `python-dotenv` 自动从项目根目录下的 `.env` 文件加载环境变量。您也可以直接在 shell 中设置环境变量。\n\n### 环境变量\n\n**必填项：**\n\n- `OPENAI_API_KEY` - 您的目标提供商的 API 密钥\n\n**安全性：**\n\n- `ANTHROPIC_API_KEY` - 用于客户端验证的预期 Anthropic API 密钥\n  - 如果已设置，客户端必须提供此确切的 API 密钥才能访问代理\n  - 如果未设置，任何 API 密钥都将被接受\n\n**模型配置：**\n\n- `BIG_MODEL` - 用于 Claude opus 请求的模型（默认：`gpt-4o`）\n- `MIDDLE_MODEL` - 用于 Claude opus 请求的模型（默认：`gpt-4o`）\n- `SMALL_MODEL` - 用于 Claude haiku 请求的模型（默认：`gpt-4o-mini`）\n\n**API 配置：**\n\n- `OPENAI_BASE_URL` - API 基础 URL（默认：`https:\u002F\u002Fapi.openai.com\u002Fv1`）\n\n**服务器设置：**\n\n- `HOST` - 服务器主机（默认：`0.0.0.0`）\n- `PORT` - 服务器端口（默认：`8082`）\n- `LOG_LEVEL` - 日志级别（默认：`WARNING`）\n\n**性能：**\n\n- `MAX_TOKENS_LIMIT` - 令牌限制（默认：`4096`）\n- `REQUEST_TIMEOUT` - 请求超时时间，单位为秒（默认：`90`）\n\n**自定义头部：**\n\n- `CUSTOM_HEADER_*` - 用于 API 请求的自定义头部（例如：`CUSTOM_HEADER_ACCEPT`、`CUSTOM_HEADER_AUTHORIZATION`）\n  - 在 `.env` 文件中取消注释以启用自定义头部\n\n### 自定义头部配置\n\n通过设置以 `CUSTOM_HEADER_` 为前缀的环境变量，您可以为 API 请求添加自定义头部：\n\n```bash\n# 取消注释以启用自定义头部\n# CUSTOM_HEADER_ACCEPT=\"application\u002Fjsonstream\"\n# CUSTOM_HEADER_CONTENT_TYPE=\"application\u002Fjson\"\n# CUSTOM_HEADER_USER_AGENT=\"your-app\u002F1.0.0\"\n# CUSTOM_HEADER_AUTHORIZATION=\"Bearer your-token\"\n# CUSTOM_HEADER_X_API_KEY=\"your-api-key\"\n# CUSTOM_HEADER_X_CLIENT_ID=\"your-client-id\"\n# CUSTOM_HEADER_X_CLIENT_VERSION=\"1.0.0\"\n# CUSTOM_HEADER_X_REQUEST_ID=\"unique-request-id\"\n# CUSTOM_HEADER_X_TRACE_ID=\"trace-123\"\n# CUSTOM_HEADER_X_SESSION_ID=\"session-456\"\n```\n\n### 头部转换规则\n\n以 `CUSTOM_HEADER_` 为前缀的环境变量会自动转换为 HTTP 头部：\n\n- 环境变量：`CUSTOM_HEADER_ACCEPT`\n- HTTP 头部：`ACCEPT`\n\n- 环境变量：`CUSTOM_HEADER_X_API_KEY`\n- HTTP 头部：`X-API-KEY`\n\n- 环境变量：`CUSTOM_HEADER_AUTHORIZATION`\n- HTTP 头部：`AUTHORIZATION`\n\n### 支持的头部类型\n\n- **内容类型**：`ACCEPT`、`CONTENT-TYPE`\n- **认证**：`AUTHORIZATION`、`X-API-KEY`\n- **客户端标识**：`USER-AGENT`、`X-CLIENT-ID`、`X-CLIENT-VERSION`\n- **追踪**：`X-REQUEST-ID`、`X-TRACE-ID`、`X-SESSION-ID`\n\n### 使用示例\n\n```bash\n# 基本配置\nOPENAI_API_KEY=\"sk-your-openai-api-key-here\"\nOPENAI_BASE_URL=\"https:\u002F\u002Fapi.openai.com\u002Fv1\"\n\n# 启用自定义头部（根据需要取消注释）\nCUSTOM_HEADER_ACCEPT=\"application\u002Fjsonstream\"\nCUSTOM_HEADER_CONTENT_TYPE=\"application\u002Fjson\"\nCUSTOM_HEADER_USER_AGENT=\"my-app\u002F1.0.0\"\nCUSTOM_HEADER_AUTHORIZATION=\"Bearer my-token\"\n```\n\n代理会自动将这些头部包含在所有针对目标 LLM 提供商的 API 请求中。\n\n### 模型映射\n\n代理会将 Claude 模型请求映射到您配置的模型：\n\n| Claude 请求                 | 映射到     | 环境变量   |\n| ------------------------------ | ------------- | ---------------------- |\n| 包含 \"haiku\" 的模型            | `SMALL_MODEL` | 默认：`gpt-4o-mini` |\n| 包含 \"sonnet\" 的模型           | `MIDDLE_MODEL`| 默认：`BIG_MODEL`   |\n| 包含 \"opus\" 的模型             | `BIG_MODEL`   | 默认：`gpt-4o`      |\n\n### 提供商示例\n\n#### OpenAI\n\n```bash\nOPENAI_API_KEY=\"sk-your-openai-key\"\nOPENAI_BASE_URL=\"https:\u002F\u002Fapi.openai.com\u002Fv1\"\nBIG_MODEL=\"gpt-4o\"\nMIDDLE_MODEL=\"gpt-4o\"\nSMALL_MODEL=\"gpt-4o-mini\"\n```\n\n#### Azure OpenAI\n\n```bash\nOPENAI_API_KEY=\"your-azure-key\"\nOPENAI_BASE_URL=\"https:\u002F\u002Fyour-resource.openai.azure.com\u002Fopenai\u002Fdeployments\u002Fyour-deployment\"\nBIG_MODEL=\"gpt-4\"\nMIDDLE_MODEL=\"gpt-4\"\nSMALL_MODEL=\"gpt-35-turbo\"\n```\n\n#### 本地模型（Ollama）\n\n```bash\nOPENAI_API_KEY=\"dummy-key\"  # 必需，但可以是假的\nOPENAI_BASE_URL=\"http:\u002F\u002Flocalhost:11434\u002Fv1\"\nBIG_MODEL=\"llama3.1:70b\"\nMIDDLE_MODEL=\"llama3.1:70b\"\nSMALL_MODEL=\"llama3.1:8b\"\n```\n\n#### 其他提供商\n\n只需设置相应的 `OPENAI_BASE_URL`，即可使用任何兼容 OpenAI 的 API。\n\n## 使用示例\n\n### 基本聊天\n\n```python\nimport httpx\n\nresponse = httpx.post(\n    \"http:\u002F\u002Flocalhost:8082\u002Fv1\u002Fmessages\",\n    json={\n        \"model\": \"claude-3-5-sonnet-20241022\",  # 映射到 MIDDLE_MODEL\n        \"max_tokens\": 100,\n        \"messages\": [\n            {\"role\": \"user\", \"content\": \"Hello!\"}\n        ]\n    }\n)\n```\n\n## 与 Claude Code 的集成\n\n该代理专为与 Claude Code CLI 无缝协作而设计：\n\n```bash\n# 启动代理\npython start_proxy.py\n\n# 使用 Claude Code 并连接代理\nANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:8082 claude\n\n# 或者永久设置\nexport ANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:8082\nclaude\n```\n\n## 测试\n\n测试代理功能：\n\n```bash\n# 运行全面测试\npython src\u002Ftest_claude_to_openai.py\n```\n\n## 开发\n\n### 使用 UV\n\n```bash\n# 安装依赖\nuv sync\n\n# 运行服务器\nuv run claude-code-proxy\n\n# 格式化代码\nuv run black src\u002F\nuv run isort src\u002F\n\n# 类型检查\nuv run mypy src\u002F\n```\n\n### 项目结构\n\n```\nclaude-code-proxy\u002F\n├── src\u002F\n│   ├── main.py                     # 主服务器\n│   ├── test_claude_to_openai.py    # 测试脚本\n│   └── [其他模块...]\n├── start_proxy.py                  # 启动脚本\n├── .env.example                    # 配置模板\n└── README.md                       # 本文档\n```\n\n## 性能\n\n- 使用 **async\u002Fawait** 实现高并发\n- 采用 **连接池** 提升效率\n- 支持 **流式传输**，实现实时响应\n- 可配置的 **超时** 和 **重试机制**\n- 具备 **智能错误处理** 并记录详细日志\n\n## 许可证\n\nMIT 许可证","# Claude Code Proxy 快速上手指南\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows (WSL 推荐)\n*   **Python 版本**：Python 3.8+\n*   **包管理工具**：推荐使用 `uv` (速度更快)，也可使用 `pip`\n*   **API Key**：拥有一个 OpenAI 兼容的 API Key（如 OpenAI 官方、Azure OpenAI、Ollama 本地模型等）\n\n## 安装步骤\n\n### 1. 克隆项目并安装依赖\n\n推荐使用 `uv` 进行依赖管理，以获得更快的安装速度。\n\n```bash\n# 使用 UV (推荐)\ngit clone \u003Crepository-url>\ncd claude-code-proxy\nuv sync\n\n# 或者使用 pip\npip install -r requirements.txt\n```\n\n### 2. 配置环境变量\n\n复制示例配置文件并根据您的需求进行修改。\n\n```bash\ncp .env.example .env\n```\n\n编辑 `.env` 文件，填入必要的配置信息：\n\n```bash\n# .env 文件示例内容\n\n# [必填] 目标提供商的 API Key\nOPENAI_API_KEY=\"sk-your-api-key-here\"\n\n# [可选] 目标提供商的基础 URL (默认为 OpenAI 官方)\n# OpenAI: https:\u002F\u002Fapi.openai.com\u002Fv1\n# Azure: https:\u002F\u002Fyour-resource.openai.azure.com\u002Fopenai\u002Fdeployments\u002Fyour-deployment\n# Ollama: http:\u002F\u002Flocalhost:11434\u002Fv1\nOPENAI_BASE_URL=\"https:\u002F\u002Fapi.openai.com\u002Fv1\"\n\n# [可选] 模型映射配置 (将 Claude 模型映射到实际可用的模型)\nBIG_MODEL=\"gpt-4o\"        # 对应 Claude Opus\u002FSonnet 请求\nMIDDLE_MODEL=\"gpt-4o\"     # 对应 Claude Sonnet 请求\nSMALL_MODEL=\"gpt-4o-mini\" # 对应 Claude Haiku 请求\n\n# [可选] 客户端验证密钥 (若设置，调用代理时必须提供此密钥)\n# ANTHROPIC_API_KEY=\"any-secret-key\"\n```\n\n## 基本使用\n\n### 1. 启动代理服务\n\n您可以选择直接运行 Python 脚本或使用 `uv` 启动。\n\n```bash\n# 方式一：直接运行\npython start_proxy.py\n\n# 方式二：使用 UV\nuv run claude-code-proxy\n\n# 方式三：使用 Docker Compose (如果已安装 Docker)\ndocker compose up -d\n```\n\n默认情况下，服务将运行在 `http:\u002F\u002F0.0.0.0:8082`。\n\n### 2. 配合 Claude Code CLI 使用\n\n启动代理后，通过设置环境变量将 `claude` 命令指向本地代理服务。\n\n**场景 A：未在 `.env` 中设置 `ANTHROPIC_API_KEY`**\n此时代理接受任意 Key，只需指定 Base URL：\n\n```bash\nANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:8082 ANTHROPIC_API_KEY=\"any-value\" claude\n```\n\n**场景 B：已在 `.env` 中设置了 `ANTHROPIC_API_KEY`**\n此时必须提供完全匹配的 Key 才能通过验证：\n\n```bash\nANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:8082 ANTHROPIC_API_KEY=\"exact-matching-key\" claude\n```\n\n### 3. 验证功能\n\n您也可以通过简单的 HTTP 请求测试代理是否正常工作（需安装 `httpx` 或使用 `curl`）：\n\n```python\nimport httpx\n\nresponse = httpx.post(\n    \"http:\u002F\u002Flocalhost:8082\u002Fv1\u002Fmessages\",\n    json={\n        \"model\": \"claude-3-5-sonnet-20241022\",  # 会自动映射为配置的 MIDDLE_MODEL\n        \"max_tokens\": 100,\n        \"messages\": [\n            {\"role\": \"user\", \"content\": \"Hello!\"}\n        ]\n    }\n)\nprint(response.json())\n```\n\n现在，您可以像使用原生 Claude 一样，通过该代理调用各种 OpenAI 兼容的大模型服务了。","某初创团队希望利用功能强大的 Claude Code CLI 进行自动化代码重构，但受限于预算无法承担 Anthropic 官方 API 的高昂费用，只能使用自建的本地 Ollama 模型或低价的 OpenAI 兼容接口。\n\n### 没有 claude-code-proxy 时\n- **工具链断裂**：Claude Code CLI 强制绑定 Anthropic 官方接口，无法直接连接团队已有的本地大模型或第三方低成本 API。\n- **开发流程受阻**：工程师被迫放弃熟悉的命令行工作流，转而使用功能残缺的网页版或其他不支持复杂工具调用的客户端。\n- **成本与性能两难**：若要维持原有工作流必须购买昂贵的官方 Token，若改用其他模型则需重新编写大量适配脚本，维护成本极高。\n- **功能缺失**：本地模型虽免费，但因缺乏标准的函数调用（Function Calling）转换层，无法执行文件读写等核心自动化任务。\n\n### 使用 claude-code-proxy 后\n- **无缝接入多源模型**：通过简单的环境变量配置，将 `BIG_MODEL` 映射为本地 Ollama 运行的 Qwen2.5-Coder，让 Claude Code 直接“以为”在调用官方服务。\n- **保留完整工作流**：团队无需更改任何操作习惯，继续在终端中使用 `claude` 命令，即可享受流式输出和实时交互体验。\n- **大幅降低运营成本**：利用开源模型替代商业 API，将单次重构任务的 Token 成本从数美元降至几乎为零，同时支持自定义 Header 对接企业内部鉴权。\n- **激活高级能力**：proxy 自动处理协议转换，使本地模型也能完美支持工具调用（Tool Use），成功执行批量代码修复和单元测试生成。\n\nclaude-code-proxy 的核心价值在于打破了专有客户端与模型供应商的强绑定，让开发者能以最低成本自由组合最合适的算力资源与最高效的开发工具。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffuergaosi233_claude-code-proxy_1ef7ec1a.png","fuergaosi233","Holegots","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffuergaosi233_17aa6922.jpg","ML-SYS at day, SRE at night.\r\nJust For Fun","Alibaba","Beijing","fuergaosi@gmail.com","holegots",null,"https:\u002F\u002Fgithub.com\u002Ffuergaosi233",[86,90],{"name":87,"color":88,"percentage":89},"Python","#3572A5",99.7,{"name":91,"color":92,"percentage":93},"Dockerfile","#384d54",0.3,2359,331,"2026-04-08T02:30:27","MIT","Linux, macOS, Windows","未说明",{"notes":101,"python":102,"dependencies":103},"该工具是一个代理服务器，用于将 Claude API 请求转换为 OpenAI 兼容的 API 调用，本身不运行大型模型，因此对 GPU 和内存无特殊高要求。推荐使用 UV 管理依赖。支持通过 Docker Compose 部署。主要配置通过 .env 文件完成，需设置目标提供商的 API Key。","未说明 (需支持 uv 或 pip)",[104,105,106,107,108,109,110],"uv (推荐)","pip","python-dotenv","httpx","black","isort","mypy",[15,25],"2026-03-27T02:49:30.150509","2026-04-08T17:32:10.799760",[115,120,125,130,135],{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},24678,"为什么 Gemini 模型（如 gemini-2.5-flash）无法成功调用工具（tool calling），只能进行纯对话？","这是由于底层依赖 LiteLLM 的转换层存在 Bug，导致 thinking 模式下签名混合报错、图片被丢弃或不支持流式参数。如果需要稳定的 Gemini 工具调用功能，建议改用直接调用 Gemini API 的替代方案 `gemini-claude-bridge`，它不走 LiteLLM 且已通过端到端测试。\n\n安装和使用步骤如下：\n1. 安装依赖：`pip install \"gemini-claude-bridge[proxy]\"`\n2. 启动代理服务：`GEMINI_API_KEY=your-key python examples\u002Fproxy_server.py`\n3. 配置 Claude Code 使用新代理：`ANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:8082 claude`","https:\u002F\u002Fgithub.com\u002Ffuergaosi233\u002Fclaude-code-proxy\u002Fissues\u002F13",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},24679,"运行项目时遇到 ImportError 提示缺少 'socksio' 包，或者在使用 SOCKS 代理时报错怎么办？","如果终端设置了 HTTP_PROXY 环境变量，运行 `uv run claude-code-proxy` 可能会因为缺少 SOCKS 支持库而报错。解决方法是安装带有 socks 支持的 httpx 库。\n\n请执行以下命令添加依赖：\n`uv add httpx[socks]`\n\n或者根据错误提示重新同步环境：`uv sync`。如果不需要代理，也可以取消终端的代理设置后再运行。","https:\u002F\u002Fgithub.com\u002Ffuergaosi233\u002Fclaude-code-proxy\u002Fissues\u002F5",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},24680,"如何在部署到云端（如 render.com）时为代理服务添加访问令牌（AUTH_KEY）保护，防止接口被公开滥用？","项目已支持服务端设置 `ANTHROPIC_AUTH_TOKEN` 环境变量来进行认证保护。部署时请在服务器端（如 render.com 的环境变量设置中）配置该变量（例如设为 \"sk-123456\"）。\n\n客户端使用时，必须在命令中携带相同的令牌才能通过验证：\n`ANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:8082 ANTHROPIC_AUTH_TOKEN=sk-123456 claude`\n\n确保客户端使用的令牌与服务端配置完全一致。","https:\u002F\u002Fgithub.com\u002Ffuergaosi233\u002Fclaude-code-proxy\u002Fissues\u002F19",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},24681,"程序突然无法工作，启动后调用 claude-code 没有响应或报错，但之前是正常的，该如何解决？","这种情况通常是由于本地开发环境不干净或依赖状态异常导致的。最有效的解决方法是重新安装项目以重置环境。\n\n尝试删除现有的虚拟环境或构建缓存，然后重新安装依赖并启动项目。许多用户在执行重新安装操作后问题即得到解决。","https:\u002F\u002Fgithub.com\u002Ffuergaosi233\u002Fclaude-code-proxy\u002Fissues\u002F33",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},24682,"这个项目与 \"Claude Code Router\" 有什么区别？","关于本项目与 \"Claude Code Router\" 的具体差异和详细信息，可以参考官方对比文档或相关讨论页面：https:\u002F\u002Fgithub.com\u002Fmusistudio\u002Fclaude-code-router。本项目主要专注于作为 Claude Code 的本地代理转发服务。","https:\u002F\u002Fgithub.com\u002Ffuergaosi233\u002Fclaude-code-proxy\u002Fissues\u002F40",[]]