这是一个轻量代理层,把上游模型接口统一暴露为 OpenAI 风格的 /v1/* API,让现有 SDK、客户端和工作流系统快速接入。
| 你想完成的事 | 交付成果 |
|---|---|
| 让现有 OpenAI SDK 直接连别的上游 | /v1/* 兼容代理,客户端只需改 base_url |
| 给 Open WebUI、Dify、Cherry Studio 接内部模型 | 稳定的 OpenAI 风格端点,自带 Docker、Compose、systemd 部署 |
| 切换模型供应商但不改下游 | 环境变量配置上游地址与模型列表 |
很多 AI 工具已经默认支持 OpenAI API,但你的真实上游可能是别家的模型服务、自建网关,或者内部统一出口。
这个项目的价值在于:
- 不重写现有客户端
- 不改造现有 OpenAI 集成链路
- 用一层轻代理完成模型接入兼容
- 方便后续做切换、治理和控成本
- 提供
GET /v1/models - 转发
GET/POST /v1/{path}到上游 - 透传大部分请求头,自动移除冲突头
- 可选强制
chat/completions使用stream=true - 支持环境变量配置
- 自带 Docker、Compose、systemd 和使用示例
cp .env.example .env
pip install -r requirements.txt
export $(grep -v '^#' .env | xargs)
uvicorn proxy:app --host 0.0.0.0 --port 9000cp .env.example .env
docker build -t openai-compatible-proxy .
docker run --rm -p 9000:9000 --env-file .env openai-compatible-proxycp .env.example .env
docker compose up -d --buildREAL_BASE:上游 OpenAI-compatible 地址PROXY_MODELS:/v1/models返回的模型列表FORCE_CHAT_STREAM:是否强制聊天接口流式返回PROXY_TIMEOUT:上游超时秒数PROXY_TITLE:根路径显示的服务标题
详情见 .env.example。
返回代理的基础元信息。
返回简单的健康检查响应。
按 PROXY_MODELS 返回模型列表。
将请求转发到:
{REAL_BASE}/{path}
curl http://127.0.0.1:9000/v1/modelscurl http://127.0.0.1:9000/v1/chat/completions \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer your-key' \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "hello"}]
}'- OpenAI Python SDK
- OpenAI Node SDK
- Cherry Studio
- Open WebUI
- Dify
- 任何支持
base_url/api_base的客户端
可在 docs/architecture.md 查看简化后的请求链路和定位说明。
.
├── assets/
│ └── icon.svg
├── proxy.py
├── requirements.txt
├── .env.example
├── Dockerfile
├── docker-compose.yml
├── docs/
│ ├── compatibility.md
│ ├── deployment.md
│ ├── faq.md
│ └── troubleshooting.md
└── examples/
├── python-openai-sdk/
├── cherry-studio/
├── open-webui/
└── dify/
- docs/architecture.md:架构与请求链路
- docs/compatibility.md:兼容性说明
- docs/deployment.md:部署指南
- docs/faq.md:常见问题
- docs/troubleshooting.md:排障手册
- English README
- 把非 OpenAI 上游包装成统一接口
- 给多个内部工具提供稳定的模型出口
- 在不改客户端的情况下切换模型供应商
- 做私有部署、统一网关或模型中转
- 已经依赖 OpenAI SDK 的开发者
- 想摆脱单一模型供应商绑定的团队
- 想先上兼容层、后面再演进到完整 AI 网关的项目
- 需要给工具、自动化和内部平台提供稳定 API 的团队
见 ROADMAP.md。
见 CHANGELOG.md。