将 Amazon Q API 转换为 Claude API 格式的代理服务
POST /v1/messages- Claude Messages API 兼容端点- 支持的模型:
claude-sonnet-4.5,claude-haiku-4.5 - 在
Cherry Studio, 等客户端中使用时可能会因为apiKey格式问题导致无法传递正确apiKey, 建议配合其他轮询程序使用
cd go
go mod downloadcp .env.example .env
# 编辑 .env 文件配置端口等参数# 开发模式
go run cmd/server/main.go
# 编译运行
go build -o amazonq-proxy cmd/server/main.go
./amazonq-proxy# Windows
go build -o amazonq-proxy.exe cmd/server/main.go
# Linux
GOOS=linux GOARCH=amd64 go build -o amazonq-proxy cmd/server/main.go
# macOS
GOOS=darwin GOARCH=amd64 go build -o amazonq-proxy cmd/server/main.goToken 格式:clientId:clientSecret:refreshToken
参考项目的 auth 文件夹 或 点我 获取凭据。
curl -X POST http://localhost:8000/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_CLIENT_ID:YOUR_CLIENT_SECRET:YOUR_REFRESH_TOKEN" \
-d '{
"model": "claude-sonnet-4.5",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello, Claude!"}
]
}'| 变量名 | 说明 | 默认值 |
|---|---|---|
PORT |
服务器端口 | 8000 |
HTTP_PROXY |
HTTP 代理地址 | 无 |
- 克隆仓库
git clone https://github.com/MamoWorks/AmazonQ
cd AmazonQ- 创建环境变量文件
cp .env.example .env
# 编辑 .env 文件配置端口等参数- 启动服务
cd docker
docker compose up -d- 查看日志
docker compose logs -f- 停止服务
docker compose down- 运行容器
docker run -d \
--name amazonq-proxy \
-p 8000:8000 \
--env-file .env \
ghcr.io/mamoworks/amazonq:latest- 查看日志
docker logs -f amazonq-proxy- 停止容器
docker stop amazonq-proxy
docker rm amazonq-proxy.
├── cmd/
│ └── server/ # 主程序入口
├── internal/
│ ├── api/ # API 路由和处理器
│ ├── amazonq/ # Amazon Q 客户端
│ ├── config/ # 配置管理
│ ├── core/ # 核心转换逻辑
│ └── utils/ # 工具函数
├── auth/ # 认证工具
│ ├── generate_auth_url.go # 生成授权链接
│ └── extract_token.go # 提取令牌
├── docker/ # Docker 配置
│ ├── Dockerfile
│ └── docker-compose.yml
└── .github/
└── workflows/ # CI/CD 配置
├── release.yml # 发布工作流
└── docker-build-push.yml # Docker 构建推送