前言¶
DeepSeek Harness (DSH) 是一个基于插件架构的 LLM 调用框架。在使用 Kiro (AWS CodeWhisperer/Q 的继任者) 作为后端模型时,开发者通常需要手动处理凭证存储、令牌刷新以及与 Kiro API 的交互细节。dsh-llm-aws-kiro 插件旨在解决这些问题,它将 Kiro 整合进 DSH,接管凭证拾取、静默刷新和模型调用逻辑,使开发者能直接通过 DSH 的接口访问 Kiro 的模型服务。
核心功能¶
该插件作为独立的 Cordis 插件挂载,通过 cordis.yml 注册 kiro provider 路由到 ctx.llm,无需修改 Harness 本身。核心能力包括:
- 凭证管理:自动拾取现有的
kiro-cli登录凭证(包括 SQLite store 中的auth_kv表、IDC 和社交 token)以及 Kiro IDE token(~/.aws/sso/cache/kiro-auth-token.json)。支持通过bearerTokenEnv环境变量指定静态 Token 以绕过环境发现,适用于 CI 或机器人场景。 - 静默刷新:通过 AWS SSO OIDC 或 Kiro 桌面认证服务处理过期 Token 的自动刷新,并回写到
kiro-clistore 中,确保所有消费者状态同步。如果遇到 403 错误,会尝试重新读取共享 store 或调用kiro-cli debug refresh-auth-token。 - 后端处理:负责区域/端点解析(SSO 区域到 Kiro API 区域)、管理控制平面(如获取 Profile 和模型列表)以及运行时的
generateAssistantResponse调用,使用 AWS 事件流协议。 - 模型目录:提供引导目录用于快速解析模型,并支持已认证的发现机制,能获取最新发布的模型元数据并更新缓存。
- 推理能力:支持 Thinking markers 和 reasoning effort mapping,将 DSH 的 effort 词汇(off/low/high/max)映射到 Kiro 的 effort schema。
安装与启用¶
该插件声明了 Harness 包作为 peer dependencies,需要 DSH 主进程提供相应的包版本。安装时请确保环境已满足依赖要求。
执行以下命令安装插件:
dsh plugin --profile <profile> add @joshryandavis/dsh-llm-kiro
安装后,在 cordis.yml 中挂载插件配置:
- id: llm-kiro
name: '@joshryandavis/dsh-llm-kiro'
config:
region: us-east-1 # 可选;省略时使用凭证区域
reasoningEffort: high # 可选;off | low | high | max
配置参考¶
所有配置项均为可选,修改后无需重启即可在下一个请求中生效。
| 字段 | 默认值 | 说明 |
|---|---|---|
region |
凭证区域 / us-east-1 |
Kiro API 区域覆盖。 |
runtimeURL |
https://runtime.<region>.kiro.dev |
运行时端点覆盖。 |
profileArn |
管理发现 | Profile ARN 覆盖。 |
bearerTokenEnv |
— | 静态 Token 引用,绕过环境发现。 |
reasoningEffort |
high |
默认推理努力程度;off 可禁用思考。 |
maxTokens |
8192 |
默认单次输出上限。 |
kiroCliDbPath |
平台应用支持目录 | kiro-cli SQLite store 路径覆盖。 |
ssoCacheDir |
~/.aws/sso/cache |
Kiro IDE token 目录覆盖。 |
注意事项¶
- 凭证要求:插件不包含交互式登录功能。如果未检测到环境凭证,将报错
MISSING_CREDENTIAL。请确保本地已通过kiro-cli login或 Kiro IDE 完成登录。 - Peer Dependencies:需要安装同版本的
@deepseek-ai系列包,否则无法运行。 - 模型列表:模型列表分为引导目录和已认证发现。默认情况下会使用引导目录,并在后台刷新已认证发现的数据,确保模型选择器可用。
总结¶
dsh-llm-aws-kiro 是将 Kiro 服务接入 DeepSeek Harness 的实用插件,它通过环境凭证拾取和静默刷新机制,降低了 Kiro API 的接入门槛,同时提供了完整的模型管理和推理能力支持。