Claude Proxy 是一个开源的代理工具,托管在 GitHub 上,旨在帮助开发者将 Anthropic 的 Claude API 请求转换为 OpenAI API 格式。它通过简单的配置,让用户能够无缝使用 Claude 模型,同时兼容 OpenAI 支持的客户端和前端工具。该工具适合需要跨平台调用大语言模型的开发者,提供了灵活的模型映射和流式响应支持。项目由 tingxifa 维护,采用 Bash 脚本实现,配置简单,适合快速部署到生产环境。用户只需设置 API 密钥和代理地址,即可通过命令行调用 Claude 模型,操作直观且高效。
功能列表
- 转换 Claude API 请求到 OpenAI API 格式,兼容 OpenAI 支持的客户端。
- 支持流式和非流式响应,确保与 Claude 客户端的完全兼容。
- 提供灵活的模型映射,可自定义模型名称(如
gemini-1.5-pro
)。 - 支持通过 Bash 脚本快速部署代理服务。
- 允许用户配置 API 密钥和代理服务地址,适配多种后端模型。
- 开源免费,代码透明,适合开发者自定义和扩展。
使用帮助
安装流程
要使用 Claude Proxy,用户需要按照以下步骤在本地或服务器上配置并运行项目。以下是详细的安装和使用指南:
- 克隆项目仓库
打开终端,运行以下命令将项目克隆到本地:git clone https://github.com/tingxifa/claude_proxy.git
克隆完成后,进入项目目录:
cd claude_proxy
- 编辑配置文件
在项目目录中,找到claude_proxy.sh
脚本文件,使用文本编辑器(如nano
或vim
)打开:nano claude_proxy.sh
找到脚本中标有“重点: 需要替换的内容”的部分,修改以下变量:
API_KEY
:替换为你的 API 密钥,例如:API_KEY="your_api_key_here"
OPEN_AI_URL
:设置代理服务地址(不带https://
),例如:OPEN_AI_URL="api.example.com/v1"
OPEN_MODEL
:指定模型名称,例如:OPEN_MODEL="gemini-1.5-pro"
保存并退出编辑器。
- 添加执行权限
为脚本添加可执行权限,运行:chmod +x claude_proxy.sh
- 运行代理服务
运行脚本以启动代理服务:./claude_proxy.sh
启动成功后,代理服务将开始监听,准备处理 Claude API 请求。
使用方法
配置完成后,用户可以通过命令行或支持 OpenAI API 的客户端调用 Claude 模型。以下是具体操作流程:
- 命令行调用
在终端中,使用curl
命令测试代理服务。例如:curl http://localhost:port/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your_api_key_here" \ -d '{ "model": "gemini-1.5-pro", "messages": [ {"role": "system", "content": "你是一个智能助手"}, {"role": "user", "content": "请告诉我今天的天气"} ] }'
上述命令向代理发送请求,代理将 Claude API 转换为 OpenAI 格式并返回响应。
- 使用前端工具
Claude Proxy 兼容支持 OpenAI API 的前端工具(如 LibreChat 或 SillyTavern)。在前端配置中,将 API 地址设置为代理服务的 URL(例如http://localhost:port/v1
),并输入你的 API 密钥。之后,前端工具即可通过代理调用 Claude 模型。 - 流式响应支持
如果需要实时流式响应(如在聊天应用中),确保前端或客户端支持 Server-Sent Events (SSE)。代理会自动处理流式数据,保持与 Claude 客户端的兼容性。
特色功能操作
- 模型映射
用户可以根据需求自定义模型映射。例如,将 Claude 的 Haiku 模型映射到gpt-4o-mini
,或将 Sonnet 模型映射到gemini-1.5-pro
。修改OPEN_MODEL
变量即可实现。例如:OPEN_MODEL="gpt-4o"
重新运行脚本后,代理会使用指定的模型处理请求。
- 多后端支持
Claude Proxy 支持连接多个后端模型(如 OpenAI、Gemini 或本地模型)。通过修改OPEN_AI_URL
和API_KEY
,用户可以切换不同的 API 提供商。例如,连接到本地 Ollama 模型:OPEN_AI_URL="http://localhost:11434/v1" API_KEY="dummy-key"
- 调试与日志
运行脚本时,代理会输出日志到终端,显示请求和响应的详细信息。如果遇到问题,检查日志以定位错误,例如 API 密钥无效或模型名称错误。
注意事项
- 确保网络环境稳定,代理服务需要访问外部 API。
- API 密钥需妥善保存,避免泄露。
- 如果使用本地模型(如 Ollama),确保本地服务器已启动并监听正确端口。
通过以上步骤,用户可以快速配置并运行 Claude Proxy,实现 Claude API 到 OpenAI API 的无缝转换,适合多种开发场景。
应用场景
- 跨平台模型调用
开发者希望在支持 OpenAI API 的工具中使用 Claude 模型。Claude Proxy 将 API 请求转换为 OpenAI 格式,让用户无需修改前端代码即可调用 Claude。 - 本地开发测试
在本地环境中测试 Claude 模型的性能。开发者可以配置代理连接本地模型(如 Ollama),进行低成本的开发和调试。 - 聊天应用集成
聊天应用开发者希望集成 Claude 模型,但前端只支持 OpenAI API。Claude Proxy 提供代理服务,确保实时聊天功能流畅运行。 - 模型切换与优化
企业需要根据成本或性能需求切换不同模型(如从 Claude 切换到 Gemini)。Claude Proxy 的模型映射功能支持快速切换,降低开发成本。
QA
- Claude Proxy 支持哪些模型?
支持任何 OpenAI 兼容的模型,如gpt-4o
、gemini-1.5-pro
等。用户可通过OPEN_MODEL
变量自定义模型。 - 如何处理 API 密钥泄露?
如果密钥泄露,立即更换新的 API 密钥,并在claude_proxy.sh
中更新API_KEY
变量。 - 代理服务支持流式响应吗?
是的,Claude Proxy 支持流式和非流式响应,兼容所有 Claude 客户端的 SSE 功能。 - 是否需要 Anthropic API 密钥?
不一定。如果使用其他后端(如 OpenAI 或 Gemini),只需提供相应后端的 API 密钥即可。