前言¶
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 的接入門檻,同時提供了完整的模型管理和推理能力支持。