Rfym21/Qwen2API
让 QwenLM 物尽其用
Qwen‑Proxy (Qwen2API)
是什么 – 一个自托管代理,将阿里云的 Qwen 聊天服务(https://chat.qwen.ai 和 Qwen CLI)转换为 OpenAI 兼容(部分 Anthropic 兼容)的 HTTP API。任何与 OpenAI API 通信的客户端(例如 ChatGPT‑Next‑Web、LobeChat、LangChain、Claude‑Code 等)无需修改代码即可使用 Qwen 模型。
核心功能
- OpenAI API 表面 –
/v1/models、/v1/chat/completions、/v1/images/*、/v1/videos,以及 Anthropic 风格的/v1/messages端点。 - 函数调用 / 工具 – 完全支持 OpenAI
tools和 Anthropictool_use,包括流式增量arguments和严格tool_choice=required处理。 - 多账户轮转 – 可配置多个 Qwen 账户;代理将轮询使用它们(每个账户可有独立的出站代理),以避免基于 IP 的封禁。
- 账户级出站代理 – 可为单个账户绑定 HTTP、HTTPS、SOCKS5/SOCKS5H 代理。
- 256 K 上下文 CLI 端点 –
/cli路由暴露 Qwen CLI 模型,支持超大上下文窗口和工具调用。 - 多模态 – 图像/视频生成、图像编辑、视频理解通过 OpenAI 风格端点提供支持。
- Web UI – 内置管理仪表板,用于添加账户、设置账户级代理、监控使用情况、编辑模型映射。
- 持久化选项 – 内存(默认)、JSON 文件或 Redis 存储账户数据、设置和日志。
- Docker 与二进制分发 – 提供官方 Docker 镜像、Docker‑Compose 文件,以及一个包含运行时、后端、前端和分词器的单文件 Bun 二进制文件。
快速上手
- Docker(最快)
docker run -d \ -p 3000:3000 \ -e API_KEY=sk-admin123,sk-user456 \ -e ACCOUNTS=user1@mail.com:pass1|http://proxy:8080 \ -e DATA_SAVE_MODE=none \ -v $(pwd)/caches:/app/caches \ --name qwen2api rfym21/qwen2api:latest - Docker‑Compose – 拉取提供的
docker-compose.yml并运行docker compose up -d。 - 本地源码 – 克隆仓库,使用 Bun 安装(
bun install --frozen-lockfile),复制.env.example为.env,编辑变量,然后运行bun run start。 - 独立二进制文件 – 运行
bun run build:binary生成单个可执行文件(qwen2api‑windows‑x64.exe、qwen2api‑linux‑x64等),放置.env文件后可直接启动。
配置亮点
| 变量 | 用途 |
|---|---|
API_KEY |
逗号分隔的 API 密钥列表。第一个密钥为 管理员 密钥(访问 UI);其余为普通 API 调用密钥。 |
ACCOUNTS |
Qwen 账户列表,格式为 email:password,可选后接 ` |
PROXY_URL |
当账户未定义自身代理时使用的全局出站代理。 |
DATA_SAVE_MODE |
none(默认)、file 或 redis – 账户数据和设置的持久化位置。 |
CACHE_MODE |
default(内存)或 file – 图像缓存文件的存储位置。 |
QWEN_CHAT_PROXY_URL / QWEN_CLI_PROXY_URL |
若运行自己的镜像,可覆盖上游 Qwen 端点。 |
AGENT_TURN_MAX_ATTEMPTS |
在返回错误前工具调用回合的最大重试次数。 |
MODELS_CACHE_TTL |
缓存上游模型列表的秒数(0 = 永不失效)。 |
典型用法(OpenAI 兼容客户端)
curl -H "Authorization: Bearer sk-admin123" \
-H "Content-Type: application/json" \
-d '{"model":"Qwen3.6-Plus","messages":[{"role":"user","content":"你好"}],"stream":false}' \
http://localhost:3000/v1/chat/completions
响应遵循 OpenAI 模式(id、object、choices、usage)。
为何需要它
- 在复用现有 OpenAI 工具链的同时,访问 Qwen 强大的多模态和 256 K 上下文模型。
- 共享单个 Qwen 订阅给多个用户或服务,而无需暴露原始凭证。
- 通过轮换账户和账户级代理,绕过基于 IP 的速率限制。
- 本地或容器内运行,确保所有流量在可信网络内。
限制 / 注意事项
- 代理 不提供 原始 Qwen SDK;仅转发请求并适配响应。
- 部分 Anthropic 字段仅 部分支持;桥接旨在实现最佳兼容性,而非完整 Anthropic 实现。
- 持久化存储(文件或 Redis)为可选;若无,则账户令牌仅在内存中保留,重启后丢失。
- 服务假设为可信环境 – 代理 URL 会在 API 响应中原样返回。
TL;DR – Qwen‑Proxy 是一个基于 Bun 的服务器,让任何 OpenAI 兼容客户端都能与阿里云的 Qwen 模型通信,支持函数调用、多模态生成、账户轮转和 Web UI。通过 Docker、Docker‑Compose 或单个二进制文件部署,配置 Qwen 账户和 API 密钥,即可开始使用熟悉的 OpenAI 端点。
相关
- 项目
- 项目
- 项目
- 项目
- 项目