dsh-llm-kiro:複用既有 Kiro 憑據的 DeepSeek Harness LLM Provider 插件

前言

DSH(DeepSeek Harness)的理念是一切皆插件,模型接入也不例外:LLM seam 上掛什麼 provider,由 harness composition 決定。實際接入一個新後端時,開發者要處理的通常是三件事——憑據從哪來、token 過期怎麼刷新、後端協議細節誰來封裝。

如果你已經在用 kiro-cli 或 Kiro IDE,本機其實已經有一套有效的登錄憑據。爲 DSH 再單獨登錄一次,不僅多一步操作,還會造成兩處 token 狀態各自維護、互不同步。

下面介紹 @joshryandavis/dsh-llm-kiro。它是 DeepSeek Harness 的 Kiro(AWS CodeWhisperer/Q successor)provider,思路是拾取既有憑據、靜默刷新,再把 Kiro 的 runtime 與 management API 封裝成標準的 provider 路由。

這是什麼

dsh-llm-kiro 由 joshryandavis 維護,MIT 許可證,當前版本 0.1.1。它是一個 standalone Cordis 插件:通過 cordis.yml 掛載到任意 harness composition,在 ctx.llm 上註冊 kiro provider 路由,不需要改動 harness 本身。包內帶有 cordis.patch.yml,因此也可以作爲 profile bundle 掛載。

核心功能

複用既有憑據

插件會自動拾取兩類既有登錄,無需二次登錄:

1、kiro-cli 登錄:讀取 kiro-cli SQLite 存儲中的 auth_kv 表,覆蓋 IDC 與社交 token;
2、Kiro IDE token:讀取 ~/.aws/sso/cache/kiro-auth-token.json 及其附帶的 OIDC client registration。

對 CI / bot 場景,可以在配置中設置 bearerTokenEnv 引用靜態 bearer token,繞過環境憑據發現。

Token 靜默刷新

token 過期後,插件經 AWS SSO OIDC /token 端點(Builder ID / IAM Identity Center)或 Kiro 桌面 auth 服務(Google/GitHub 社交登錄)靜默刷新,並回寫 kiro-cli store,保證兩個消費方保持同步。

流式請求中途收到 403 時,插件先重讀共享 store,再回退到 kiro-cli debug refresh-auth-token;最終仍失敗則以 MISSING_CREDENTIAL / AUTH 呈現。

後端協議與穩定性

region 解析從 SSO region 推導 Kiro API region;管理控制面覆蓋 List-Available-Profiles 與 List-Available-Models,目錄緩存寫入共享的 ~/.kiro-management-models-cache.json。運行時調用走 AWS event-stream 協議上的 generateAssistantResponse(經 @smithy/core 的 Smithy framing),並處理容量退避、首 token 超時與 harness 空閒看門狗。

每個運行時請求攜帶 harness attribution User-Agent(來自 @deepseek-ai/dsh-llm 的 attributionHeaders())以及 AWS SDK 風格的 x-amz-user-agent。

模型目錄與推理力度

插件內置 15 個模型的 bootstrap catalog,包含上下文窗口、輸出上限、推理能力與圖像模態;dashed harness id 與 dotted wire id 之間做精確解析;管理發現支持 Models 頁。

harness 的 off / low / high / max 推理力度詞彙會映射到各模型的 authenticated effort schema,系統提示帶上 Kiro thinking 標記。

安裝與啓用

包爲 ESM,harness 相關包聲明爲 peer dependencies(dsh 系列包 >=0.0.1-rc.1,cordis 與 schemastery >=3.0.0),由宿主 DSH 安裝提供。安裝命令:

dsh plugin --profile <profile> add @joshryandavis/dsh-llm-kiro

把 <profile> 換成目標 profile。安裝後在 cordis.yml 中掛載:

- id: llm-kiro
  name: '@joshryandavis/dsh-llm-kiro'
  config:
    region: us-east-1        # 可選;省略時以憑據的 region 爲準
    reasoningEffort: high    # 可選;off | low | high | max(默認 high)

對本機已有 kiro-cli 或 Kiro IDE 登錄的用戶,這就是全部配置:憑據自動拾取、靜默刷新並回寫。

典型用法

經過上面的步驟,插件已經在 ctx.llm 上註冊了 kiro 路由。下面是兩個常見場景。

CI / bot 使用靜態 bearer token

- id: llm-kiro
  name: '@joshryandavis/dsh-llm-kiro'
  config:
    bearerTokenEnv: KIRO_BEARER_TOKEN   # 經 harness credentials service 存儲

這樣憑據不來自環境發現,而來自 harness credentials service 中存儲的 KIRO_BEARER_TOKEN,適合無人值守環境。

運行時改配置

所有配置項均可選。llm-kiro 的 user-settings 段使用同一 schema,可運行時編輯,改動無需重啓即作用於下一個請求。

適用場景與注意事項

適合兩類使用者:

1、本機已有 kiro-cli 或 Kiro IDE 登錄的 DSH 用戶,希望零額外登錄接入 Kiro 後端;
2、CI / bot,通過 bearerTokenEnv 提供靜態憑據。

使用前注意:

1、插件不內置交互式登錄:無環境憑據時以 MISSING_CREDENTIAL 失敗並指向 kiro-cli login 或 Kiro IDE;設備碼流程可在 management seam 上後續添加。
2、Legacy inline thinking dialect:推理經原生 thinkingText 事件送達;模型若在內容中輸出 <thinking> 標籤,會保留在可見文本塊中。
3、不發出 replay state;follow-up 時歷史以 provider-neutral 內容重發。
4、管理目錄刷新爲 pull-based(discovery 或緩存年齡觸發),非後臺預熱;目錄緩存 ~/.kiro-management-models-cache.json 與 pi-provider-kiro 共享。
5、項目使用 vitest 測試套件,共 95 個測試,憑據測試與宿主機真實的 kiro-cli / Kiro IDE 存儲完全隔離。

最後一點安全提醒:插件以當前 dsh 進程的權限運行,安裝前建議先檢查源碼與許可證(本項目爲 MIT)。

結語

dsh-llm-kiro 解決的是一個具體問題:讓 DSH 直接複用你已有的 Kiro 登錄,把憑據拾取、token 靜默刷新與 Kiro runtime / management API 的協議細節收進一個插件,配置全部可選、運行時可改。如果你同時在用 kiro-cli 或 Kiro IDE 與 DSH,它可以讓兩者共享同一份憑據狀態。

  • 社區目錄頁:https://www.skillhub.cn/plugins/joshryandavis/dsh-llm-kiro
  • GitHub 倉庫:https://github.com/joshryandavis/dsh-llm-kiro

SkillHub 是社區維護的獨立插件目錄,與 DeepSeek / 幻方無官方從屬關係。

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

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

小夜