npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ww-komi/kiro-claw-router

v0.7.6

Published

OpenClaw plugin: use AWS Kiro (CodeWhisperer) models via Builder ID or Kiro CLI

Readme

kiro-claw-router

OpenClaw Provider Plugin — 在 OpenClaw 中使用 AWS Kiro (CodeWhisperer) 模型。

功能

  • 双认证方式:AWS Builder ID (Device Code OAuth) 和 Kiro CLI 令牌导入
  • 多模型支持:auto、claude-sonnet-4.5、claude-haiku-4.5、deepseek-3.2、glm-5、minimax-m2.1/m2.5、qwen3-coder-next
  • 多账号管理:支持 sticky、round-robin、lowest-usage 三种轮换策略
  • 令牌自动刷新:支持 IDC OIDC 和 Desktop 两种刷新路径
  • 协议转换:pi-ai Context → CodeWhisperer generateAssistantResponse,支持 AWS SDK JSON / REST 双协议可配置切换
  • 原生事件流:通过 createStreamFn hook 直接返回 pi-ai AssistantMessageEventStream,与 OpenClaw 原生协议无缝对接
  • 结构化日志:JSONL 文件日志,按天轮转,自动清理,可配置 API 调用日志详细程度

安装

openclaw plugins install @ww-komi/kiro-claw-router

或手动安装:

npm install @ww-komi/kiro-claw-router

认证

方式一:AWS Builder ID (推荐)

openclaw models auth login --provider kiro

会自动打开浏览器进行 AWS Builder ID 授权。免费版可用。

方式二:从 Kiro CLI 导入

如果你已经安装并登录了 Kiro IDE,可以直接导入凭据:

openclaw models auth login --provider kiro --method kiro-cli

使用

# 使用自动选择模型
openclaw agent --message "hello" --model kiro/auto

# 指定具体模型
openclaw agent --message "hello" --model kiro/claude-sonnet-4.5
openclaw agent --message "hello" --model kiro/deepseek-3.2

配置

配置文件位于 ~/.config/openclaw/kiro/kiro.json(首次运行自动创建)。

默认配置

以下是推荐的默认配置,复制到 kiro.json 即可直接使用:

{
  "$schema": "./config-schema.json",
  "default_region": "us-east-1",
  "auto_sync_kiro_cli": true,
  "account_selection_strategy": "lowest-usage",
  "api_transport_mode": "aws-sdk",
  "rate_limit_retry_delay_ms": 5000,
  "rate_limit_max_retries": 3,
  "max_request_iterations": 20,
  "request_timeout_ms": 120000,
  "token_expiry_buffer_ms": 300000,
  "log_retain_days": 7,
  "log_api_level": "basic",
  "log_api_body_max_chars": 2000
}

提示$schema 字段提供 JSON Schema 支持,在支持的编辑器中可以获得配置项自动补全和校验。config-schema.json 在安装时自动复制到 kiro.json 同级目录。

IDC / SSO 认证配置(可选)

如果使用 AWS IAM Identity Center(企业 SSO)而不是个人 Builder ID,在上述默认配置基础上追加以下字段:

{
  "idc_start_url": "https://d-xxxxxxxxxx.awsapps.com/start",
  "idc_region": "us-west-2",
  "idc_profile_arn": "arn:aws:codewhisperer:us-west-2:123456789:profile/my-team"
}

| 配置项 | 说明 | 个人 Builder ID 是否需要 | |--------|------|------------------------| | idc_start_url | SSO Start URL(身份源入口)。不填则默认 https://view.awsapps.com/start(Builder ID 公共入口)。企业用户填写组织的 https://d-xxxxxxxxxx.awsapps.com/start,在 AWS IAM Identity Center → Settings 页面获取 | 不需要 | | idc_region | SSO OIDC 服务所在区域。不填则取 default_region | 不需要 | | idc_profile_arn | CodeWhisperer Profile ARN。从管理员处获取,格式 arn:aws:codewhisperer:{region}:{account}:profile/{name} | 不需要 |

以上三项仅在通过 openclaw models auth login --provider kiro 进行交互式认证时生效。通过 Kiro CLI 导入凭据时不使用。详细说明见 docs/guide.md

配置项说明

| 配置项 | 类型 | 默认值 | 说明 | |--------|------|--------|------| | $schema | string | - | JSON Schema 路径,用于编辑器自动补全 | | default_region | string | us-east-1 | AWS 区域 | | auto_sync_kiro_cli | boolean | true | 启动时自动从 Kiro CLI 同步凭据 | | api_transport_mode | string | aws-sdk | API 传输协议:aws-sdk(匹配 Kiro CLI)/ rest(匹配 kiro-opencode-auth) | | account_selection_strategy | string | lowest-usage | 多账号选择策略:sticky/round-robin/lowest-usage | | idc_start_url | string | https://view.awsapps.com/start | SSO Start URL(身份源入口),个人用户无需配置,企业 SSO 填 https://d-xxx.awsapps.com/start | | idc_region | string | 取 default_region | SSO OIDC 服务所在区域,企业 SSO 时填写 Identity Center 实例区域 | | idc_profile_arn | string | - | CodeWhisperer Profile ARN,仅企业 SSO 需要,从管理员处获取 | | rate_limit_retry_delay_ms | number | 5000 | 限流后默认等待时间(毫秒) | | rate_limit_max_retries | number | 3 | 限流最大重试次数 | | max_request_iterations | number | 20 | 单次请求最大迭代次数 | | request_timeout_ms | number | 120000 | 请求超时时间(毫秒) | | token_expiry_buffer_ms | number | 300000 | 令牌提前刷新缓冲时间(毫秒) | | log_retain_days | number | 7 | 日志文件保留天数(1-90),超过后自动清理 | | log_api_level | string | none | API 调用日志级别:none/basic/detailed/full | | log_api_body_max_chars | number | 2000 | full 模式下请求/响应 body 截断长度 |

环境变量覆盖

所有配置项都可以通过大写蛇形环境变量覆盖,前缀为 KIRO_

KIRO_DEFAULT_REGION=eu-west-1
KIRO_AUTO_SYNC_KIRO_CLI=false
KIRO_RATE_LIMIT_RETRY_DELAY_MS=10000
KIRO_LOG_API_LEVEL=detailed
KIRO_API_TRANSPORT_MODE=rest

日志系统

插件使用结构化 JSONL 文件日志,日志文件位于 ~/.config/openclaw/kiro/kiro-logs/ 目录下:

  • 按天轮转:每天一个文件(如 2026-04-14.log
  • 自动清理:超过 log_retain_days 天的日志自动删除
  • 控制台最小化:仅 warnerror 输出到控制台,其他级别仅写入文件

API 调用日志级别:

| 级别 | 记录内容 | |------|---------| | none | 不记录 API 调用 | | basic | 模型名、响应状态码、耗时(推荐日常使用) | | detailed | basic + 账号、URL、重试次数、错误详情 | | full | detailed + 请求/响应 body(截断到 log_api_body_max_chars) |

API 日志会带 traceId,可串联同一次 OpenClaw 流式调用的请求上下文、HTTP 请求/响应和解析结果;解析结果包含 parsedStopReasondoneReasontoolCallCountrawStopEventCountstopEventWithoutToolCalls 等排障字段。

查看日志:

# 查看今天的日志
cat ~/.config/openclaw/kiro/kiro-logs/$(date +%Y-%m-%d).log

# 过滤 API 调用日志
cat ~/.config/openclaw/kiro/kiro-logs/$(date +%Y-%m-%d).log | jq 'select(.cat=="api")'

# 过滤错误
cat ~/.config/openclaw/kiro/kiro-logs/$(date +%Y-%m-%d).log | jq 'select(.level=="error")'

调试模式:

设置 KIRO_DEBUG=1 环境变量可以将 debug 级别日志也写入文件(不输出到控制台)。

支持的模型

| 模型 ID | 说明 | |---------|------| | kiro/auto | 自动选择最佳模型 | | kiro/claude-sonnet-4.5 | Claude Sonnet 4.5 | | kiro/claude-haiku-4.5 | Claude Haiku 4.5 | | kiro/deepseek-3.2 | DeepSeek 3.2 | | kiro/glm-5 | GLM-5 | | kiro/minimax-m2.1 | MiniMax M2.1 | | kiro/minimax-m2.5 | MiniMax M2.5 | | kiro/qwen3-coder-next | Qwen3 Coder Next |

数据存储

| 文件 | 路径 | 说明 | |------|------|------| | 配置文件 | ~/.config/openclaw/kiro/kiro.json | JSON 格式,可手动编辑 | | JSON Schema | ~/.config/openclaw/kiro/config-schema.json | 配置校验 schema,安装时自动复制 | | 账号数据库 | ~/.config/openclaw/kiro/kiro.db | SQLite,存储认证令牌 | | 日志目录 | ~/.config/openclaw/kiro/kiro-logs/ | JSONL 按天轮转日志 |

Windows 上路径为 %APPDATA%/openclaw/kiro/

故障排除

认证失败

  1. 确保网络可以访问 oidc.us-east-1.amazonaws.com
  2. 如果使用 Kiro CLI 导入,确保 Kiro IDE 已登录且 ~/.kiro/data.sqlite3 存在
  3. 尝试删除 ~/.config/openclaw/kiro/kiro.db 后重新认证

请求失败 (400)

上下文可能过大。插件会自动递减 reductionFactor 截断历史。如果持续失败,请尝试更短的对话。

限流 (429)

免费版 Builder ID 有用量限制。插件支持多账号轮换来缓解此问题。可以通过多次运行 openclaw models auth login --provider kiro 添加多个账号。

令牌过期 (401/403)

插件会自动刷新令牌。如果持续出现此错误,请重新认证:

openclaw models auth login --provider kiro

开发

npm install
npm run typecheck   # 类型检查
npm test            # 运行测试
npm run test:live   # 端到端真实 API 调用测试
npm run build       # 构建

本地测试

test:live 脚本使用本机 Kiro CLI 令牌直接调用 AWS Q API,不依赖 OpenClaw:

# 基本测试
npm run test:live

# 带工具定义测试
npm run test:live -- --with-tools

# 指定模型和传输协议
npm run test:live -- --model claude-sonnet-4.5 --transport rest

技术栈

  • TypeScript (ESM)
  • Node.js 22+
  • sql.js — 令牌和账号持久化(纯 JS/WASM SQLite,无需原生编译)
  • zod — 配置校验
  • vitest — 测试

详细文档

完整的使用指南请参阅 docs/guide.md,包含:

  • 认证流程详解(Builder ID OAuth / Kiro CLI 导入)
  • 所有模型的使用方法与特点
  • 完整配置参考与环境变量覆盖
  • 多账号管理与轮换策略详解
  • 架构原理(请求转换、事件流处理、错误重试)
  • 故障排除与常见问题

许可

MIT