feat(adapters): 新增 Kiro CLI 适配器#431
Conversation
|
辛苦接 Kiro CLI 适配,整体方向看起来是对的: 我这边主要看到两个需要先补的点:
我验证了一下:
所以主要不是编译或基础注册问题,而是 Kiro 接入后“会话恢复”这条链路还差最后一段。 |
|
@deepcoldy 已处理 review 反馈,并同步最新
Review 反馈修复针对 Kiro 会话恢复链路补齐了两块:
冲突解决随后同步了最新 处理方式是保留双方改动:
新增/更新测试
验证pnpm test -- test/kiro-session.test.ts test/cli-adapters.test.ts test/write-input.test.ts test/workflow-attempt-resume.test.ts test/dashboard-workflow-resume.test.ts test/card-builder.test.ts test/bot-config-editor.test.ts test/dashboard-sessions-ui.test.ts test/grok-transcript.test.ts test/structured-bridge-clis.test.ts
pnpm build结果:
|
|
辛苦,最新这版我重新看了一轮。之前提的两条主线基本补上了:
我这边还看到一个需要补的小缺口:
|
|
我让agent直接修了吧 |
概述
支持 Kiro CLI (
kiro-cli) 作为 botmux CLI 后端。新增cliId: "kiro-cli",展示名为Kiro,默认执行kiro-cli chat,并保留现有cliPathOverride机制用于覆盖实际启动路径。关键设计决策
chat子命令:根据 Kiro 官方文档,交互会话入口为kiro-cli chat,裸kiro-cli虽会默认进入 chat,但适配器里显式写出子命令,避免依赖默认路由。kiro-cli chat "prompt",因此设置passesInitialPromptViaArgs: true,让首条消息随启动参数传入,减少首轮 stdin race。--resume-id:仅当 botmux 已持有 Kiro 原生cliSessionId时传--resume-id <ID>。没有明确 ID 时不使用--resume,避免目录级“最近会话”在多 bot 并发下串会话。--model:Kirochat命令没有--model参数,模型切换通过/model或kiro-cli settings chat.defaultModel完成;adapter 会忽略 botmux 的model字段,防止 unknown flag 导致启动失败。--trust-tools=read,write,shell:不使用--trust-all-tools,因为 Kiro terminal UI 会弹风险确认,可能卡住无人值守的 botmux 会话。disableCliBypass: true时不注入 trust 参数。Ctrl+J软换行:Kiro 文档说明Ctrl+J在 tmux 等终端中可作为换行输入;adapter 在 tmux 写入多行消息时逐行发送并用C-j插入软换行,最后Enter提交。~/.kiro:Kiro 的认证、settings、skills 和 SQLite 会话库都位于~/.kiro,文件沙盒下将该目录真实绑定,避免登录态丢失或 SQLite 在 overlayfs 下异常。skillsDir: "~/.kiro/skills",让 botmux 的技能发现/安装机制能识别 Kiro 的 Agent Skills 标准目录。测试
test/cli-adapters.test.tskiro-clifactory、lazy resolve、id、display 相关基础矩阵kiro-cli chat参数生成--trust-tools=read,write,shell与disableCliBypassinitialPromptpositional input--resume-id <cliSessionId>精确恢复--modelauthPaths: ["~/.kiro"]与skillsDir: "~/.kiro/skills"test/write-input.test.tssendText,中间用C-j软换行,最后Enter提交test/bot-config-editor.test.ts22 -> kiro-clikiro-cli可解析test/card-builder.test.tskiro-cli -> Kiro展示名test/dashboard-sessions-ui.test.tskiro-cli文档与脚手架
README.md/README.en.md增加 Kiro /kiro-cli到支持列表docs-site/docs/zh/adapters.md/docs-site/docs/en/adapters.md增加kiro-cli适配器说明src/setup/bot-config-editor.tssetup 菜单追加第 22 项,遵守“新增 CLI 只追加到尾部”的稳定序号约定src/worker.ts/src/im/lark/card-builder.ts增加Kiro展示名映射src/core/session-discovery.ts增加kiro-cli进程名识别验证步骤
pnpm test -- test/cli-adapters.test.ts test/write-input.test.ts test/card-builder.test.ts test/bot-config-editor.test.ts test/dashboard-sessions-ui.test.ts pnpm build验证结果:
545 passedpnpm daemon:restart:当前机器未找到 botmux 配置文件,提示需先运行botmux setup,因此未完成 live daemon 重启影响范围
CliId、adapter registry、setup CLI 选项、worker/card 展示名、dashboard CLI 过滤项。kiro-cli的~/.kirocarve-out,不影响现有 CLI 的authPaths。