跳到正文

kiro-provider让你常用的 Agent 直接使用 Kiro 账号

运行在你自己机器上的网关。它登录 AWS Kiro,以 OpenAI Responses 和 Anthropic Messages 接口提供你的账号,Codex CLI、Claude Code 等 Agent 只需配置一个地址和一个密钥。

运行平台
Linux、macOS 和 Windows,可用单个可执行文件或 Bun 包安装,默认只监听 127.0.0.1。
你的账号
通过 AWS Builder ID 或 IAM Identity Center 登录。令牌保存在本地数据库中,只会发送给 AWS 和 Kiro。
export KP=http://127.0.0.1:8787/v1 KEY=$KIRO_GATEWAY_API_KEYcurl -s $KP/responses -H "Authorization: Bearer $KEY" --json '{    "model": "gpt-5.6-sol", "store": false,    "input": "Reply with exactly: KIRO_OK"}' |  jq -r '.output[-1].content[0].text'KIRO_OKcurl -s $KP/messages -H "x-api-key: $KEY" --json '{    "model": "claude-opus-5-5", "max_tokens": 1024,    "messages": [{"role": "user",      "content": "Reply with exactly: KIRO_OK"}]}' |  jq -r '.content[0].text'KIRO_OK

kiro-provider 能做什么

联网搜索和 Chat Completions 路由默认关闭,其余功能在登录账号后即可使用。

接口

  • 流式与非流式响应,支持工具、图片和推理等级;保存的响应可以取回、列出输入项并继续对话。

  • 支持 thinking、工具和图片的 Messages 接口,以及 /v1/messages/count_tokens 的 token 估算。

  • 联网搜索需开启

    两种接口的托管联网搜索工具由 kiro-provider 通过处理该请求的账号执行,回答中带有引用。

  • 较早的 OpenAI 路由,供只支持它的客户端使用。只有开启 enable_legacy_chat_completions 后才会响应。

账号

  • 直接登录已发布

    以设备码方式登录 AWS Builder ID 和 IAM Identity Center。kiro-provider 自行查找 Kiro profile,不需要 Kiro CLI。

  • 请求交给当前最空闲的可用账号。额度用完的账号会暂停使用,直到 Kiro 报告新的额度。

  • 访问令牌在过期前自动续期,用量在后台刷新;accounts list 显示每个账号的状态。

客户端

  • Codex CLI已发布

    配置一个 wire_api = "responses" 的自定义 model_provider,支持在 /model 中切换模型和推理等级。

  • Claude Code已发布

    kiroclaude 启动器让 Claude Code 连接网关,不修改你的 Claude 设置。

  • 在各个 Agent 自己的配置文件中写一个 provider 条目,加上各自需要的少数几项设置。

  • Zuno已发布

    使用 Zuno 自带的 Responses 传输,并根据其会话元数据路由。

  • 模型列表已发布

    GET /v1/models 列出已登录账号可用的模型,并附带 Codex 模型菜单读取的推理等级。

运维

  • 后台服务已发布

    Linux 上的 systemd 用户服务或 Windows 上的计划任务,并提供供自动化使用的健康与就绪检查。

  • 供服务管理器使用的 GET /health 和 GET /ready,以及只含计数、枚举值和哈希、不含提示词或凭据的 JSON 日志。

  • 更新已发布

    self-update 只有在新版本与发布的 SHA256SUMS 一致时才会替换独立二进制。

从安装到第一个回答

  1. 安装

    curl -fsSL https://raw.githubusercontent.com/sunerpy/kiro-provider/main/scripts/install.sh | sh

    Windows 上使用 PowerShell 脚本,也可以运行 bun add -g @sunerpy/kiro-provider。

  2. 登录

    kiro-provider login

    以设备码方式登录 AWS Builder ID。使用 IAM Identity Center 时加上 --start-url。

  3. 启动网关

    kiro-provider serve

    先在 config.json 的 api_keys 中写入一个私有密钥,没有密钥时网关拒绝启动。

  4. 连接客户端

    http://127.0.0.1:8787/v1

    这是 Codex CLI、OpenCode、Pi、Zuno 和 OpenAI SDK 的基础 URL;Claude Code、Crush 和 Anthropic SDK 使用不带 /v1 的 http://127.0.0.1:8787。

两种接口,一个网关 ​

Responses 和 Messages 由同一个进程、同一组账号提供服务。Kiro 自己的 Responses 操作能原样接收的 Responses 请求会直接发往那里;其余请求(包括 store: false 的请求)由 kiro-provider 自行转换。两条路径都无法保留某个字段时,请求会失败,错误中写明这个字段,而不是悄悄丢掉它。

协议兼容性 · 配置参考

路由协议默认状态
POST /v1/responsesOpenAI Responses开启
POST /v1/messagesAnthropic Messages开启
POST /v1/messages/count_tokensAnthropic token 估算开启
GET /v1/models模型列表开启
POST /v1/chat/completionsOpenAI Chat Completions开启后可用

除 /health 外,每个路由都要求提供 api_keys 中的一个密钥,可放在 Authorization Bearer 或 x-api-key 中。

客户端无需改动 ​

Codex CLI、Pi 和 Zuno 使用 Responses,Claude Code、OpenCode 和 Crush 使用 Messages。每个客户端只需配置一个地址和你的一个密钥,不需要插件,也不需要修改客户端。启动器会在你现有命令旁边增加一个单独的 kirocodex 或 kiroclaude 命令。

选择客户端 · 客户端启动器

客户端接口配置方式
Codex CLIResponsesconfig.toml 中的 model_provider
Claude CodeMessageskiroclaude 启动器
OpenCodeMessagesopencode.json 中的 provider
PiResponsesmodels.json 中的 provider
CrushMessagescrush.json 中的 provider
ZunoResponsesZuno 配置中的 provider
OpenAI 与 Anthropic SDKResponses 或 Messages一个地址和一个 API 密钥

用你自己的账号联网搜索 ​

开启 web_search_enabled 后,kiro-provider 自己执行两种接口的托管搜索工具:通过 Kiro 的搜索,使用处理该请求的账号。回答按该接口定义的格式返回,包含客户端需要的搜索结果和引用。此功能默认关闭。

联网搜索

接口工具回答中包含
Responsesweb_searchweb_search_call 条目和 url_citation 标注
Messagesweb_search_20250305web_search_tool_result 块和带引用的文本

搜索只在 gpt-5.6-sol 或 claude-opus-5.5 下、在 Kiro profile 位于 us-east-1 的账号上执行。其他模型会在执行任何操作前被拒绝。

支持的平台

每个版本都为下列平台提供一个独立二进制、一个 SHA256SUMS 文件和构建证明。

平台发布文件安装脚本
Linux x64已发布kiro-provider-linux-x64install.sh
Linux ARM64已发布kiro-provider-linux-arm64install.sh
macOS Intel已发布kiro-provider-darwin-x64install.sh
macOS Apple Silicon已发布kiro-provider-darwin-arm64install.sh
Windows x64已发布kiro-provider-windows-x64.exeinstall.ps1

npm 包 @sunerpy/kiro-provider 使用 Bun 的 API,需要用 Bun 安装,不能在 Node.js 或 npx 下运行。

哪些数据留在本机

kiro-provider 只为你的账号连接 AWS,只在你查询更新时连接 GitHub。

模型请求

发往Kiro,包括你的提示词

每个请求由处理它的账号发往 Kiro。日志只记录计数、长度和哈希,从不记录提示词、工具参数或凭据。

账号

发往AWS 登录服务与 Kiro

登录、令牌续期和用量查询。令牌保存在配置目录的 accounts.db 中,只有你的用户可以读取。

更新

发往GitHub Releases

只有 kiro-provider --version --check 和 self-update 会连接 GitHub,网关本身从不连接。

安装 ​

sh
curl -fsSL https://raw.githubusercontent.com/sunerpy/kiro-provider/main/scripts/install.sh | sh
powershell
irm https://raw.githubusercontent.com/sunerpy/kiro-provider/main/scripts/install.ps1 | iex
sh
bun add -g @sunerpy/kiro-provider

安装脚本会先用该版本的 SHA256SUMS 校验二进制,再进行安装。安装指南介绍了如何固定版本、从源码构建以及卸载。

它不做什么

  • 不共享、不转售访问权限。只用于你自己控制的 Kiro 账号。
  • 不绕过用量限制。额度用完的账号会等待 Kiro 报告新的额度。
  • 不伪造结果。联网搜索以外的托管工具、后台响应和 conversation 对象都会以带类型的错误拒绝,不会模拟。
  • 除非你把 host 设为 127.0.0.1 以外的地址,否则不监听网络。

反馈 ​

问题报告和功能建议请提交到 GitHub Issues。kiro-provider 以 MIT 许可证发布,不是 AWS 的产品。