# anthropic-proxy **Repository Path**: zhikee/anthropic-proxy ## Basic Information - **Project Name**: anthropic-proxy - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-12 - **Last Updated**: 2026-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Anthropic-OpenAI Proxy 将 Anthropic 协议转换为 OpenAI 协议的代理服务,让 Claude 桌面版可直接使用任意 OpenAI 兼容接口。 ## 快速开始 ### 1. 配置 复制环境变量模板并编辑: ```bash cp .env.example .env ``` 修改 `.env` 中的配置: ```env # 你的 OpenAI 兼容接口地址(必填) OPENAI_BASE_URL=https://your-endpoint.com/v1 OPENAI_API_KEY=sk-your-key # 要使用的模型名(可选,默认 gpt-4o) OPENAI_MODEL=gpt-4o # 代理服务监听地址(可选) HOST=0.0.0.0 PORT=8080 ``` ### 2. 启动 ```bash uv run python -m anthropic_proxy ``` 服务启动后监听在 `http://localhost:8080`。 ### 3. 接入 Claude 桌面版 在 Claude 桌面版设置中: | 设置项 | 值 | |---|---| | API URL | `http://localhost:8080` | | API Key | 任意值(不会被验证) | Claude 桌面版原生使用 Anthropic 协议通信,代理会自动转换为 OpenAI 协议发送到你配置的后端。 ## 环境变量说明 | 变量 | 必填 | 默认值 | 说明 | |---|---|---|---| | `OPENAI_BASE_URL` | 是 | `https://api.openai.com/v1` | OpenAI 兼容接口的地址 | | `OPENAI_API_KEY` | 是 | 空 | API 密钥 | | `OPENAI_MODEL` | 否 | `gpt-4o` | 转发时使用的模型名 | | `HOST` | 否 | `0.0.0.0` | 监听地址 | | `PORT` | 否 | `8080` | 监听端口 | ## 支持的接口 - `POST /v1/messages` — 非流式聊天 - `POST /v1/messages`(`stream: true`)— SSE 流式聊天 - `GET /health` — 健康检查 ## 协议转换 | Anthropic | OpenAI | |---|---| | `POST /v1/messages` | → `POST /v1/chat/completions` | | `system` 字段 | → `system` 角色消息 | | `messages[{role, content}]` | → `messages[{role, content}]` | | `max_tokens`, `temperature`, `top_p` | → 同名参数 | | `stop_sequences` | → `stop` | | 流式 SSE 事件 | → 逐事件转换 | ## 自定义转发目标 除了环境变量,你还可以在请求体中通过以下字段临时覆盖转发的目标地址、密钥和模型,适用于多后端场景: | 请求体字段 | 覆盖的环境变量 | 优先级 | |---|---|---| | `x_base_url` | `OPENAI_BASE_URL` | 请求体字段 > 环境变量 | | `x_api_key` | `OPENAI_API_KEY` | 请求体字段 > 环境变量 | | `x_model` | `model` > `OPENAI_MODEL` | `x_model` > `model` > 环境变量 | 示例(自定义转发到另一个后端): ```json { "model": "claude-sonnet-4-20250514", "max_tokens": 100, "messages": [ {"role": "user", "content": "你好"} ], "x_base_url": "https://another-endpoint.com/v1", "x_api_key": "sk-another-key", "x_model": "gpt-4o" } ``` 不传这些字段时,使用环境变量的默认配置。 ## 验证 ```bash # 健康检查 curl http://localhost:8080/health # 发送消息(使用环境变量配置的后端) curl http://localhost:8080/v1/messages \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet-4-20250514", "max_tokens": 100, "messages": [ {"role": "user", "content": "你好"} ] }' # 发送消息(自定义后端,覆盖环境变量) curl http://localhost:8080/v1/messages \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet-4-20250514", "max_tokens": 100, "messages": [ {"role": "user", "content": "你好"} ], "x_base_url": "https://your-custom-api.com/v1", "x_api_key": "sk-your-key", "x_model": "gpt-4o-mini" }' ```