dsh-kiro-proxy:在 DSH 里走 Kiro 账号,并对外提供 OpenAI / Anthropic 兼容代理

前言

在 DeepSeek Harness(DSH)里接第三方模型,常见做法是自备 API Key、改 cordis.yml 或单独维护一套鉴权。若你本机已经用 Kiro IDE 或 Kiro CLI 登录过 AWS CodeWhisperer / Amazon Q(Kiro)体系,同一套会话能否直接变成 DSH 的 provider,并顺带给 Claude Code、curl 等 OpenAI / Anthropic 协议客户端用,是不少智能体开发者会关心的问题。

下面介绍社区插件 dsh-kiro-proxy(维护者 liujiesmart):它为 DSH 注册 kiro-proxy 路由,并在同一 Kiro 账号前挂一层兼容反向代理。插件归类为「模型推理」,仓库当前 GitHub 星标为 1;与 AWS 无隶属关系,Kiro 为 Amazon 商标(详见仓库 NOTICE.md)。

这是什么

dsh-kiro-proxy 做两件事:

  1. 作为 DeepSeek Harness 的 provider 路由 kiro-proxy:在会话里选 Kiro 侧模型,请求直连 Kiro,支持流式文本、带外 reasoning、工具调用与 token 统计。
  2. 提供 OpenAI / Anthropic 兼容反向代理:POST /v1/chat/completions、POST /v1/messages、GET /v1/models,让只懂这两种协议的 CLI 共用同一 Kiro 账号。

安装 bundle 后路由会出现,无需预先填 API Key、无需手改 cordis.yml。若本机 Kiro IDE 或 Kiro CLI 已登录,聊天通常可立即使用。包版本在 package.json 中为 0.1.4,许可证 MIT,运行时要求 Node ^22.19 || >=24;无构建步骤,安装即用。

核心功能

Provider 路由

在 DSH 会话中选择 Kiro 模型,单轮对话从 Kiro 流式返回,能力范围与 README 描述一致:正文、reasoning、tool call、用量统计。

反向代理

同一插件进程内暴露 HTTP 端点,映射到 Kiro 后端。设置页 Settings → Kiro Proxy 会展示 base URL 与生成的代理密钥(形如 kr-xxxx)。默认监听 loopback,密钥默认不强制校验;若要把 Harness 暴露到本机以外,需先将 requireProxyKey 设为 true(见下文配置)。

设置页

Settings → Kiro Proxy 按 README 顺序组织:用量、账号、模型白名单、代理 URL/密钥、连接与高级项。页面写入 $DSH_HOME/storages/kiro-proxy/settings.json;若在 profile 里为 kiro-proxy 配置了 config,profile 行优先于页面。

凭证与账号

插件不在代码里写死密钥。优先级为:

  1. 本插件存储的账号:$DSH_HOME/storages/kiro-proxy/accounts.json
  2. Kiro IDE / CLI 已有登录:~/.aws/sso/cache/kiro-auth-token.json

Kiro 自有文件只读不写;插件自行写入的文件权限为 0600。

在 Settings → Kiro Proxy → 连接 中,README 列出七种添加方式,包括 AWS Builder ID、IAM Identity Center(需 portal URL 与 region)、Google / GitHub 社交设备码、Refresh token、以 ksk_ 开头的 API key、External IdP JSON 等。不同 authMethod 对应不同的 refresh 端点与聊天面(q.<region>.amazonaws.com 或 codewhisperer.<region>.amazonaws.com);OIDC 注册使用 Kiro 固定的 Identity Center issuer,否则 AWS 门户可能对设备码返回无法验证凭据。

安装与启用

DSH 生态采用「一切皆插件」;社区目录页在 skillhub.cn,与 DeepSeek / 幻方无官方从属关系,安装前请自行查看源码与许可证。

桌面版(Electron) 在侧栏打开 Plugins → Add plugin,粘贴下列 spec,然后 Enable now。桌面 profile 设计上不支持 dsh plugin --profile desktop …,只能通过对话框安装。

github:liujiesmart/dsh-kiro-proxy

web / tui / headless 等 profile 用 CLI,spec 相同:

dsh plugin --profile web add github:liujiesmart/dsh-kiro-proxy
dsh --profile web

需要固定版本时,可 pin release 或 commit,例如:

github:liujiesmart/dsh-kiro-proxy#v0.1.1
github:liujiesmart/dsh-kiro-proxy#eb223f4

本地 checkout 也可把绝对路径填进同一对话框或传给 dsh plugin add;本地安装为链接,改代码后 reload 即生效。

典型用法

在 DSH 内

安装并启用后,在模型选择里使用 kiro-proxy 路由下的 Kiro 模型即可。若本机已有 Kiro 登录态,一般无需再配 Key。

在 Harness 外调用代理

设置页会给出 base URL 与 kr-… 密钥。README 示例:

# OpenAI-compatible
curl http://127.0.0.1:PORT/v1/chat/completions \
  -H "authorization: Bearer kr-xxxx" -H 'content-type: application/json' \
  -d '{"model":"claude-sonnet-4.5","stream":true,"messages":[{"role":"user","content":"hi"}]}'

# Anthropic-compatible (Claude Code and friends)
ANTHROPIC_BASE_URL=http://127.0.0.1:PORT ANTHROPIC_API_KEY=kr-xxxx claude

将 PORT 与 kr-xxxx 换成你环境中的实际值。

配置示例

可在 profile 中固定行为,例如:

- id: kiro-proxy
  config:
    proxyUrl: http://127.0.0.1:1082
    region: us-east-1
    profileArn: arn:aws:codewhisperer:us-east-1:...:profile/...
    maxContextWindow: 300000
    enabledModels: [claude-sonnet-4.5, glm-5]
    requireProxyKey: true
    fallbackOnEmpty: true
    fallbackModels: [claude-sonnet-4.5, glm-5]
    maxConcurrency: 2
    retryAttempts: 3
    maxRequestChars: 320000

README 配置表中的要点:proxyUrl 为 Kiro 请求的 HTTP(S) CONNECT 出口;maxContextWindow 默认 200000(目录虽标 1M,数据面过长会报 Input is too long.,故默认不报满);enabledModels 过滤选择器与 /v1/models,但未禁用模型的请求仍可通过;fallbackOnEmpty 在空流时尝试 fallbackModels;限流与空响应等行为在 README「Failure semantics」中有实测说明。

适用场景与注意

适合谁: 已在 Kiro / CodeWhisperer 体系内有账号或 IDE/CLI 登录态,希望在 DSH 里统一对话,或让现有 OpenAI / Anthropic 工具链接到同一 Kiro 配额的用户。

务必注意:

  • 插件以当前 DSH 进程的权限运行,安装前请阅读 GitHub 仓库 源码与 MIT 许可证。
  • 独立集成,非 AWS 官方背书;使用 Kiro 服务须遵守 Amazon 与您组织的相关条款。
  • 代理默认仅 loopback;对外暴露前设置 requireProxyKey: true 并评估网络安全。
  • 不同模型对拒答、空流、固定拒答文案等行为不一致,插件通过 fallback 链等方式处理;具体模型列表以 README 实测表为准。

结尾

dsh-kiro-proxy 把 Kiro 账号接进 DSH 的 kiro-proxy 路由,并在同一账号上提供 OpenAI / Anthropic 兼容 HTTP 面,减少重复登录与手改 Cordis 配置。目录与文档:

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜