RichardAtCT/claude-code-openai-wrapper

OpenAI API-compatible wrapper for Claude Code

Claude Code OpenAI API Wrapper

是什么 – 一个自托管服务器,使 Anthropic 的 Claude Code 模型看起来像 OpenAI API。通过运行此封装器,您可以继续使用任何现有的 OpenAI 客户端库(Python SDK、curl 等),而请求实际上会通过官方的 Claude Agent SDK 路由到 Claude Code。

为什么重要 – 许多工具、笔记本和集成都是为 OpenAI 端点 (/v1/chat/completions) 构建的。为 Claude 重新实现它们会很繁琐。此封装器让您只需更改一个配置即可切换到 Claude Code,同时仍能获得:

  • 来自 Claude SDK 的实时成本和 Token 使用量
  • 跨调用的对话连续性(对话记忆)
  • 可选的工具使用(文件读写、bash 等)
  • 多提供商验证(Anthropic API key、AWS Bedrock、Google Vertex AI 或 Claude CLI)

主要功能

  • 兼容 OpenAI 的端点 – /v1/chat/completions 和 /v1/messages (Anthropic 风格) 支持流式或非流式响应。
  • 实时模型发现 – 当 ANTHROPIC_API_KEY 存在时,封装器会抓取 Anthropic 目前的模型列表(缓存一小时)并自动选择最新的 Sonnet 模型作为默认。
  • 快速默认模式 – 工具默认禁用,纯聊天使用时速度提升 5-10 倍。工具可按请求启用。
  • 会话管理 – 包含 session_id 以保留对话历史;提供列出、检查和删除会话的端点。会话在闲置 1 小时后过期。
  • 多提供商验证 – 无需额外代码即可检测并使用 Claude CLI 验证、原始 API key、AWS Bedrock 或 Google Vertex AI。
  • 交互式登录页面 – 内置于 http://localhost:8000/ 的 UI 让您可以探索 API、复制命令并切换亮/暗模式。
  • 速率限制与可选的 API-key 保护 – 防止滥用并让您保护服务器以供远程访问。
  • Docker 支持 – 官方 Dockerfile 和 Docker-Compose 示例,便于快速部署。

入门指南(2 分钟内)

# Clone and install
git clone https://github.com/RichardAtCT/claude-code-openai-wrapper
cd claude-code-openai-wrapper
poetry install   # creates a venv and pulls the Claude Agent SDK

# Authenticate (pick one)
export ANTHROPIC_API_KEY=your-key   # or `claude auth login`

# Run the server (development mode with hot-reload)
poetry run uvicorn src.main:app --reload --port 8000

# Test with curl
curl http://localhost:8000/v1/models

服务器现在将在 http://localhost:8000/v1/chat/completions 接受 OpenAI 风格的调用。

使用 OpenAI Python SDK 的典型用法

from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1")
resp = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "Write a Python hello-world script"}],
    stream=False,
)
print(resp.choices[0].message.content)

加入 extra_body={"enable_tools": True} 让 Claude 实际读写文件,或传递 extra_body={"session_id": "my-session"} 以保留上下文。

生产环境考量

  • 使用 Docker 镜像 (docker build -t claude-wrapper .) 进行隔离部署。
  • 设置 API_KEY 或启用交互式密钥提示,以在 localhost 之外暴露端点时保护它。
  • 根据需要调整速率限制环境变量 (RATE_LIMIT_CHAT_PER_MINUTE 等)。
  • 对于企业设置,您可以透过设置 CLAUDE_AUTH_METHOD 将封装器指向 AWS Bedrock 或 Google Vertex AI。

状态 – 标记为 Production Ready。所有核心端点皆已测试,流式功能运作正常,且封装器包含健康状态、版本和验证状态检查。


所有细节均直接取自仓库的 README;未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目