Skip to content

bhabgs/q2api-v2

Repository files navigation

Bhabgs

基于 Amazon Q Developer 的 AI API 代理服务,提供 OpenAI 和 Claude 兼容接口。

本项目站在 q2api 的肩膀上开发,感谢原作者的贡献。

声明

本项目仅供学习和研究使用,严禁用于任何商业用途。

使用本项目即表示您同意:

  • 仅将其用于个人学习、技术研究目的
  • 不得用于任何形式的商业活动或盈利行为
  • 对于因违规使用造成的任何后果,使用者自行承担全部责任

功能特性

  • API 兼容 - 支持 OpenAI /v1/chat/completions 和 Claude /v1/messages 接口
  • 多账号管理 - 支持添加多个账号,自动负载均衡
  • 自动刷新 - 后台自动刷新 Token,保持账号可用
  • Web 控制台 - 可视化管理界面,支持账号管理和聊天测试
  • Tool Use - 完整支持 Claude 格式的工具调用

快速开始

Docker 部署

# 克隆项目
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

使用方式

OpenAI 兼容

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)

Claude 兼容

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)

API 端点

端点 说明
POST /v1/chat/completions OpenAI Chat API
POST /v1/messages Claude Messages API
GET /healthz 健康检查
GET /docs API 文档

致谢

  • q2api - 本项目基于此开发

许可

本项目仅供学习使用,禁止商业用途。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors