基于 Amazon Q Developer 的 AI API 代理服务,提供 OpenAI 和 Claude 兼容接口。
本项目站在 q2api 的肩膀上开发,感谢原作者的贡献。
本项目仅供学习和研究使用,严禁用于任何商业用途。
使用本项目即表示您同意:
- 仅将其用于个人学习、技术研究目的
- 不得用于任何形式的商业活动或盈利行为
- 对于因违规使用造成的任何后果,使用者自行承担全部责任
- API 兼容 - 支持 OpenAI
/v1/chat/completions和 Claude/v1/messages接口 - 多账号管理 - 支持添加多个账号,自动负载均衡
- 自动刷新 - 后台自动刷新 Token,保持账号可用
- Web 控制台 - 可视化管理界面,支持账号管理和聊天测试
- Tool Use - 完整支持 Claude 格式的工具调用
# 克隆项目
git clone <your-repo-url>
cd bhabgs
# 配置环境变量
cp .env.example .env
# 编辑 .env 设置 ADMIN_PASSWORD 等
# 启动服务
docker-compose up -d# 安装依赖
pip install -r requirements.txt
# 配置环境变量
cp .env.example .env
# 启动服务
uvicorn app:app --host 0.0.0.0 --port 8000启动后访问 http://localhost:8000 进入管理控制台。
| 变量 | 说明 | 默认值 |
|---|---|---|
DATABASE_URL |
数据库连接(留空用 SQLite) | 空 |
OPENAI_KEYS |
API Key 白名单(逗号分隔) | 空(不校验) |
ADMIN_PASSWORD |
管理控制台密码 | admin |
VIEWER_PASSWORD |
只读用户密码(留空禁用) | 空 |
HTTP_PROXY |
HTTP 代理地址 | 空 |
MAX_ERROR_COUNT |
错误次数阈值(超过自动禁用) | 100 |
PORT |
服务端口 | 8000 |
import openai
client = openai.OpenAI(
base_url="http://localhost:8000/v1",
api_key="your-api-key"
)
response = client.chat.completions.create(
model="claude-sonnet-4",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)from anthropic import Anthropic
client = Anthropic(
base_url="http://localhost:8000/v1",
api_key="your-api-key"
)
message = client.messages.create(
model="claude-sonnet-4.5",
max_tokens=1024,
messages=[{"role": "user", "content": "你好"}]
)
print(message.content[0].text)| 端点 | 说明 |
|---|---|
POST /v1/chat/completions |
OpenAI Chat API |
POST /v1/messages |
Claude Messages API |
GET /healthz |
健康检查 |
GET /docs |
API 文档 |
- q2api - 本项目基于此开发
本项目仅供学习使用,禁止商业用途。