前言¶
DeepSeek Harness(DSH)的理念是“一切皆插件”。当需要将 LLM 接缝(ctx.llm)路由到本机运行的工具时,dsh-llm-kiro 插件通过注册 kiro provider 路由,复用本地 kiro-cli 的登录态和功能。它基于 kiro-cli 自带的 ACP(Agent Client Protocol,JSON-RPC 2.0 over stdio)。
核心功能¶
- 无配置接入:完全复用本机 kiro-cli 登录态(IAM Identity Center / Builder ID),不需要 API key 或 settings 段。
- 零运行时依赖:不依赖任何 agent SDK,纯 Node
child_process+ 手写 JSON-RPC。 - 长驻会话:每个宿主 session id 对应一个 warm kiro-cli acp 子进程,对话延续、工具轮次都发生在会话内部;
maxSessions上限内按插入序 LRU 淘汰。 - 工具桥接:宿主工具通过每会话一个 loopback HTTP MCP server(
dsh-host)暴露给内层模型。 - 原生工具隔离:kiro 以
--trust-tools=(零信任)启动,只有@dsh-host MCP工具被放行。 - 真实上下文占用:kiro 流中通过
_kiro.dev/metadata上报contextUsagePercentage,插件按模型窗口折算成inputTokens上报。 - 实时模型目录拉取:
kiro-cli chat --list-models --format json实时拉取。 - 思考档位:每个模型支持 low / medium / high / xhigh / max 五档。
- 旁路请求:标题生成、compaction 等 side-channel 请求走冷启动一次性 ACP 会话。
- 代理自动接入:自动探测已安装的 kiro-proxy 进程级代理包装器。
- 溢出可恢复:内层报错文本经分类为 CONTEXT_WINDOW_EXCEEDED / QUOTA_EXCEEDED 上报。
安装与前置¶
前置条件:本机已安装并登录 kiro-cli(kiro-cli whoami 可运行)。插件完全复用 kiro-cli 登录态,不需要 API key 或 settings 段。
安装命令:
dsh plugin --profile <profile> add lizheng1992123-dsh-llm-kiro-<version>.tgz
重启服务后模型选择器会出现 kiro。
配置¶
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
maxSessions |
number | 8 | 同时保持 warm 的内层 kiro-cli 会话上限(超出按插入序 LRU 淘汰) |
modelCacheTtlSeconds |
number | 300 | CLI 模型目录的缓存保鲜秒数 |
cliPath |
string | kiro-cli | kiro-cli 可执行文件名或绝对路径。默认值会自动探测 kiro-proxy 包装器;填真实 CLI 的绝对路径则强制直连 |
典型用法¶
手动挂载配置:
- id: llm-kiro
name: '@lizheng1992123/dsh-llm-kiro'
上下文管理:加载 dsh-compaction-basic 与 dsh-token-meter,并把 thresholdRatio 调低到 0.6:
- id: compaction-basic
config:
auto: true
thresholdRatio: 0.6
retainRatio: 0.16
注意事项¶
- 会话重建:模型/思考档位切换会重建内层会话(kiro-cli 的
--model/--effort是进程启动参数)。 - 持久化:kiro 会话在 CLI 侧持久化,可用
kiro-cli chat --list-sessions/--delete-session 清理。 - 图片渲染:图片消息渲染为
[图片附件]占位符。 - 静默窗口:turn 结束依赖 400ms 静默窗口(ACP 没有工具等待事件)。
作者:LiZheng1992123
许可证:MIT
GitHub:https://github.com/LiZheng1992123/dsh-llm-kiro
目录页:https://www.skillhub.cn/plugins/LiZheng1992123/dsh-llm-kiro