kiro-gateway
把 Amazon Q Developer 的 Claude 模型通过 OpenAI/Anthropic 兼容接口暴露,让任意编程工具免费使用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
把 Amazon Q Developer 的 Claude 模型通过 OpenAI/Anthropic 兼容接口暴露,让任意编程工具免费使用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你习惯用 Claude Code 或者 Cursor 写代码,突然发现公司网络无法访问 Anthropic 的服务器,或者你想要一个统一的 API 接口来同时调用多个 AI 服务——这时候,你就需要 Kiro Gateway。它本质上是一个"翻译层":一头对接 Kiro(Amazon Q Developer / AWS CodeWhisperer)的后端 API,另一头暴露成 OpenAI 或者 Anthropic 兼容的接口,让任何支持这两种协议的编程工具都能直接使用 AWS 提供的免费 Claude 模型。
Kiro Gateway 由独立开发者 @Jwadow 创建,项目托管于 GitHub。Kiro 是 Amazon Q Developer(即原 AWS CodeWhisperer)的品牌演进版,为开发者提供 AI 辅助编程功能。和 Claude Code 一样,Kiro IDE 登录后可以免费使用 Claude Sonnet 等模型——但这些模型的访问入口被绑定在 Kiro IDE 内部,CLI 工具需要繁琐的 AWS IAM Identity Center(SSO/OIDC)授权才能单独使用。
Kiro Gateway 的核心价值在于打破这个绑定。它运行一个本地 FastAPI 服务器,模拟 OpenAI Chat Completions 和 Anthropic Messages API 的接口规范,接收开发者的请求后,通过 Kiro 账号认证将请求转发到 Kiro 后端,再把响应转译成标准格式返回。这样一来,Claude Code、OpenCode、Cline、Roo Code、Cursor、Continue、LangChain 等数十款主流 AI 编程工具,都可以在不修改任何配置的情况下,通过 Kiro Gateway 使用 Kiro 提供的免费 Claude 模型。
项目采用 AGPL-3.0 开源许可证,代码主要由 Python 编写,依赖 FastAPI + uvicorn + httpx + loguru,架构清晰,模块化程度高。
Kiro Gateway 提供的核心能力可以归结为四个字:协议兼容。
OpenAI 兼容接口是最常用的模式。开发者将 base_url 设置为 http://localhost:8000/v1,在 API Key 字段填入任意值(网关不做验证),就能用 OpenAI SDK、LangChain、Continue 插件等标准工具直接调用 Kiro 提供的 Claude Sonnet 4.5、Claude Haiku 4.5、DeepSeek-V3.2、GLM-5 等免费模型。网关内部维护 token 刷新逻辑(Refresh Token 过期前自动续期),用户无需关心会话管理。
Anthropic 原生接口通过 /v1/messages 端点暴露。对于使用 Anthropic SDK 或者 Claude Code 这类直接调用 /v1/messages 的工具,网关也能正确处理。
多账户智能切换是进阶功能。通过配置文件支持同时注册多个 Kiro 账号(Refresh Token、Profile ARN、JSON 凭证文件、kiro-cli SQLite 数据库四种认证方式),网关会在某个账号触发速率限制(403/429/5xx)时自动切换到下一个可用账号,实现近乎无缝的故障转移。
**扩展思维(Extended Thinking)和工具调用(Tool Calling)**也被支持,前者是推理过程的可见化,后者允许模型调用预定义的函数。此外还有 Web 搜索(实时联网查资料)、图片理解(Vision)、SSE 流式响应等完整能力。
代码结构采用经典的分层设计,核心目录为 kiro/,包含约 30 个 Python 模块:
| 模块 | 职责 |
|---|---|
main.py | FastAPI 应用入口,路由注册,生命周期管理 |
config.py | 环境变量解析,配置管理(26KB,最大的模块) |
auth.py | 认证流程,Refresh Token 刷新逻辑(41KB,最大的文件) |
account_manager.py | 多账号注册、切换、状态维护 |
http_client.py | httpx 客户端封装,处理代理/VPN |
model_resolver.py | 模型名称标准化(如 claude-sonnet-4-5 转换为 claude-sonnet-4.5) |
converters_core.py | 最核心的协议转换模块(61KB),处理请求/响应的格式映射 |
converters_anthropic.py | Anthropic 特定格式转换 |
converters_openai.py | OpenAI 特定格式转换 |
models_anthropic.py | Anthropic 请求/响应 Pydantic 模型 |
models_openai.py | OpenAI 请求/响应 Pydantic 模型 |
parsers.py | 响应解析,处理流式/非流式 |
cache.py | Token 缓存,避免频繁刷新 |
mcp_tools.py | MCP(Model Context Protocol)工具支持 |
debug_logger.py | 调试日志,记录原始请求/响应 |
技术栈极为精简:fastapi(Web 框架)、uvicorn[standard](ASGI 服务器)、httpx(异步 HTTP 客户端)、loguru(结构化日志)、python-dotenv(环境变量)、tiktoken(token 计数)。测试依赖:pytest、pytest-asyncio、hypothesis。没有任何重型 ML 依赖,部署门槛极低。
容器化方面,项目提供了单阶段 Dockerfile(基于 python:3.10-slim,安全地使用非 root kiro 用户运行)和 docker-compose.yml(一行命令即可启动,包含所有环境变量配置模板)。
Docker 部署是最推荐的方式,全程约 5-10 分钟:
# 克隆代码
git clone https://github.com/Jwadow/kiro-gateway.git
cd kiro-gateway
# 配置环境变量
export KIRO_REGION=us-east-1
export REFRESH_TOKEN=你的Kiro刷新令牌
# 一键启动
docker compose up -d
# 验证运行
curl http://localhost:8000/health
启动后,http://localhost:8000 就是 OpenAI 兼容的 API 端点。以 Claude Code 为例,只需配置 CLAUDE_API_KEY=sk-dummy 和 CLAUDE_BASE_URL=http://localhost:8000/v1,就能用上 Kiro 的免费 Claude Sonnet。整个过程完全透明,Claude Code 以为自己连的是 OpenAI,实际背后走的是 Kiro Gateway → Kiro 后端。
硬件需求极低:无需 GPU,普通笔记本即可运行。内存占用约 512MB,磁盘约 200MB。
合规性灰色地带是最核心的问题。Kiro 的免费模型是 AWS 提供给 Kiro IDE/CLI 用户的福利,Kiro Gateway 通过接口适配暴露这些能力,存在被 AWS 检测和封禁账号的风险。项目文档也明确建议:仅用于个人学习研究,生产环境请谨慎。
模型可用性不稳定。Claude Opus 4.5 已于 2026 年 1 月从免费套餐移除,DeepSeek 系列和 GLM 系列作为第三方模型随时可能调整。网关本身无法保证模型列表的实时性。
Refresh Token 的安全存储。REFRESH_TOKEN 是长期有效凭证,泄露后等同于账号被盗用。生产部署需要配合 Vault 或秘钥管理服务,而非明文写在 .env 文件中。
无原生 Web UI,对于不熟悉命令行的用户有一定门槛。
Kiro Gateway 代表了开源社区的一种典型创新模式:协议适配层。当商业服务提供方通过专有接口绑定用户时,开源社区通过反向工程和标准化封装,创造出一个透明层,让用户重新获得对工具链的控制权。这种模式在历史上反复出现——从各种 OpenAI API 兼容层,到 Twitter/X API 的第三方替代品,皆属此类。
从技术角度看,这个项目也是学习 FastAPI 高级用法(中间件、生命周期管理、协议转换)的优秀参考样本,特别是 converters_core.py(61KB)中处理各种边界条件的逻辑,对想深入理解 AI API 生态的开发者很有价值。
如果你在寻找一种不花钱又能用上高质量 Claude 模型的方式,同时愿意接受一定的合规风险,Kiro Gateway 是目前最成熟的解决方案之一。