Openclaw与Kiro集成:在Openclaw上使用Kiro-CLI完成开发工作
本文介绍如何在Openclaw上集成Kiro-CLI完成开发工作。解决Openclaw内置Coding Agent不支持Kiro的问题,通过禁用默认Skill、创建自定义Skill、配置Hook回调等方式实现集成。
一、背景
Openclaw作为个人助手,在外部大模型的辅助下,具有多种能力,包括调用日历、收发邮件等等。其中也有软件开发能力,自身带有几十个Skill能力,其中有一个是Coding-agent能力。在2026年2月这个时间点,从Github官方下载的版本中,Coding Agent仅支持Claude Code、Codex、opencode、PI四个开发工具,尚未集成Kiro。因此本文介绍如何配置Openclaw的Skill使其可以通过Kiro CLI完成开发。
注意:本文讲解的是如何将Kiro CLI集成到一个已经能正常工作的Openclaw上。为了使用Openclaw,您必须首先为Openclaw配置某个大模型的API接入,Openclaw本身可以支持许多大模型,包括OpenAI的GPT,Anthropic的Claude,MiniMAX,Kimi,Google Gemini,xAI的Grok,Qwen,Mimo等。这些模型都可以使用。当Openclaw配置好以上大模型后,他可以理解您的对话,然后把开发任务转发给Kiro CLI。Kiro CLI接收到开发任务后,将使用Kiro CLI的Claude Opus或者Sonnet模型进行开发。
二、在AWS EC2 Ubuntu上部署Openclaw
请参考本文完成部署:
https://blog.bitipcman.com/post/openclaw-on-aws-ec2-ubuntu-and-feishu-integration/
注:上文部署步骤中的飞书为可选,只要完成Openclaw基础配置即可,并确保Openclaw可以正常和人对话,然后再开始Kiro CLI的集成。
三、Openclaw集成Kiro CLI的思路
1、查看当前Coding Agent的定义配置
Openclaw新装好之后,在几十个内置的Skill中有一个叫做coding-agent,可以从Openclaw的dashboard中看到。如下截图。
在2026年2月的Openclaw版本,这个默认内置skill很清晰的说明仅支持Claude Code、Codex、opencode、PI四个,没有Kiro CLI支持。这个文件的原始文件在如下目录,其中$(node -v)是本机安装的node的版本号,例如24.13.0。
/home/ubuntu/.nvm/versions/node/$(node -v)/lib/node_modules/openclaw/skills/coding-agent/
这个文件默认内容如下:
这个文件的原始内容在Openclaw的Github的仓库的网址如下:
https://github.com/openclaw/openclaw/blob/main/skills/coding-agent/SKILL.md
由此就定位到了当前Coding Agent的配置文件。
2、修改默认能力 or 增加新能力
下一步让Openclaw使用Kiro CLI作为开发工具有两种做法:
- 修改Openclaw默认的coding-agent,在其中添加Kiro CLI
- 禁用内置的coding-agent,新增一个自定义Skill,使用Kiro CLI作为开发工具
这两种办法技术上都可以跑通,但是从执行效果来说存在差异。根据OpenClaw官方文档,skill 的优先级从高到低是:
- Workspace skills(工作区 skill) —
/skills — 优先级最高 - Managed/local skills(本地管理 skill) — ~/.openclaw/skills
- Bundled skills(内置 skill) — 随安装包附带
- Extra dirs(额外目录) — 通过 skills.load.extraDirs 配置的目录
可以看出,Openclaw安装包内置的Coding Agent位于第三级,不是优先级最高,因此建议禁用内置的Coding Agent,并显式的添加新的Skill。
3、任务完成后的通知获得机制
对于长时间执行的Shell脚本任务(Kiro CLI脚本),Openclaw上有两种方式可以实现获取任务完成通知:
- 调用Shell脚本退出时候自动触发的
exec completed,当Openclaw启动一个shell脚本执行任务时候,这个脚本退出,会自动触发exec completed事件,这个事件触发Openclaw后续对话 - 用户或者应用主动触发System event,命令是
openclaw system event --text "xxxxxxx" --mode now即可触发系统通知
以上两种触发方式,都要求Openclaw的Heartbeat心跳服务处于启用状态。区别是exec complete不需要额外配置,脚本运行完毕就会触发,会在下一次心跳响应;而system event --mode now需要人为触发,且触发后立刻获得Openclaw响应。
4、Kiro CLI如何触发Openclaw system event
Kiro CLI从Openclaw接收指令时,在现有任务指令后边增加一段要求Kiro CLI在任务执行完毕后自动执行openclaw system event,这种指令实测是不生效的。在Kiro CLI 1.26.0的版本上,Kiro CLI在Thinking过程中会认为任务后强制运行某shell脚本的行为是不安全的,因此会拒绝执行。
另一种操作办法,是将Kiro CLI封装在一个wrapper脚本中,这个脚本第一条写执行Kiro CLI,第二条写执行openclaw system event。这样在Kiro CLI执行完毕后,将会调用这条system event指令。不过,这种方法不够优雅。
符合最佳架构实践的办法是,使用Kiro CLI的Hook功能。Kiro CLI的Hook在Agent运行的不同阶段触发特定的动作,包括调用外部命令、执行外部脚本等,因此可在Kiro CLI上增加Hook要求任务执行完毕后通知Openclaw。
四、Openclaw集成Kiro-CLI配置流程
下面开始配置。
1、禁用内置Coding Agent
进入Openclaw的dashboard,从左侧点击的Skill菜单,从右侧搜索框中输入coding,即可看到coding-agent,默认是Enable状态的,点击右侧的Disable按钮禁用。禁用成功后,这个Skill下方会出现一个新的标签disabled表示处于停止服务状态。如下截图。
禁用服务完成。
2、配置新的Skill
在Workspaces目录下,新建skills目录。执行如下命令:
mkdir -p /home/ubuntu/.openclaw/workspace/skills/coding-kiro-cli/
在这个目录下,新建一个文件SKILL.md,这个markdown文件的内容可从Github上如下地址获取:
https://github.com/aobao32/kiro-cli-coding-skill-for-openclaw/blob/main/coding-kiro-cli/SKILL.md
将这个文件保存到/home/ubuntu/.openclaw/workspace/skills/coding-kiro-cli/SKILL.md。
在Openclaw的节点上,重启服务:
openclaw gateway restart
现在再度去Skills菜单下查看,可看到上一步新添加的Workspace Skills完成。如下截图。
Skill添加完成。
3、设置Openclaw的Agent Session超时
默认Openclaw启动sub-agent任务只允许10分钟,超过就会视为失败而杀掉任务。因此要修改默认生效时间。最大可设置为24.8天,本文设置为24小时。
openclaw config set agents.defaults.timeoutSeconds 86400
openclaw gateway restart
Agent超时修改完成。
4、配置Tool工具偏好设置
接下来还需要强制Openclaw使用新增加的Skill来做开发。编辑配置文件/home/ubuntu/.openclaw/workspace/TOOLS.md,在第二段Preferences中加入如下几行:
## Preferences
- 先检查 available_skills,匹配了就读 SKILL.md 再动手
- 任何涉及写代码、编译、构建的任务 → coding-kiro-cli
- 不要用模型知识直接写代码或 sessions_spawn 普通子agent,而是要用coding-kiro-cli来执行
- 使用Kiro-CLI时候,不要自己拆解任务步骤,而是要直接把提示词整段发给Kiro-CLI,Kiro-CLI在理解软件开发方面比你好
- 任务完成后记录kiro-cli本次运行消耗了多少Kiro Credit
- 开发任务完成后你会收到system event --mode now形式的通知,你要立刻通知我,不要等我来问你
以上几行的意义在于,让Openclaw将原始信息交给Kiro CLI去执行,而不是让Openclaw调用模型自己拆解任务,这样Kiro CLI只收到破碎的需求,效果大打折扣。
在Openclaw的节点上,重启服务:
openclaw gateway restart
5、开启Heartbeat确保任务完成后的回调成功
编辑~/.openclaw/openclaw.json,找到其中agents一段,加入heartbeat一段的设置。效果如下。其中60m表示每60分钟检查,target表示上次最后一次说话的通道(例如飞书)。
"agents": {
"defaults": {
"model": {
"primary": "amazon-bedrock/global.anthropic.claude-opus-4-6-v1"
},
"models": {
"amazon-bedrock/global.anthropic.claude-opus-4-6-v1": {}
},
"workspace": "/home/ubuntu/.openclaw/workspace",
"compaction": {
"mode": "safeguard"
},
"timeoutSeconds": 86400,
"heartbeat": {
"every": "60m",
"target": "last"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
编辑~/.openclaw/workspace/HEARTBEAT.md,在其中加入:
# HEARTBEAT.md
- 检查是否有新的 Kiro CLI 任务完成通知
- 监控后台进程状态
- 检查待处理的消息
在Openclaw的节点上,重启服务:
openclaw gateway restart
五、Kiro CLI配置 - 创建自定义Agent并添加hook配置
为Kiro执行任务完毕后回调,还需要在Kiro的自定义Agnet中,配置Hook,实现回调。这里要创建Kiro的自定义Agent的原因是需要为Kiro-CLI设置特定的MCP/Tools/Skill/Hooks等,为了让其精确运行可控,因此需要创建一个自定义Agent。
编辑~/.kiro/agents/dev.json,创建一个名为dev的agent。
{
"name": "dev",
"description": "Full-featured agent with all built-in tools and MCP servers, auto-trusted for seamless usage",
"tools": ["*"],
"allowedTools": [
"@builtin",
"@*"
],
"includeMcpJson": true,
"resources": [
"file://.kiro/steering/**/*.md",
"file://.kiro/skills/**/*.md"
],
"hooks": {
"stop": [
{
"command": "openclaw system event --text \"Kiro-CLI task completed\" --mode now",
"description": "Notify OpenClaw when task completes"
}
]
}
}
将这个名为dev的agent其设置为默认的对话agent。
kiro-cli settings chat.defaultAgent <agent-name>
至此配置完成。
六、执行开发任务的例子
配置完成后,要新开一个对话Session,才会加载最新的skill。现在向Openclaw提问:
为我用rust写一个程序,叫做ec2power,作用是将AWS云上的ec2的状态打开或者关闭。
输入命令和参数是ec2power on --instance-id=i-xxxxxx --region=ap-northeast-1
程序放在 ~/Documents/ec2power 目录下,为我编译和测试。用ap-northeast-1区域的ec2 i-0131c02e7d910cfe8做测试。
开始吧。
即可看到Openclaw让Kiro-CLI去执行开发了。如下截图。
任务已经在执行中。如下截图。
任务执行时间较长,可以询问Openclaw现在进度。如下截图。
如果担心是Openclaw自己调用模型来干活,可以问Openclaw让他给出证据,是Kiro-cli再执行。如下截图。
还可以要求Kiro-CLI给出本次任务Kiro Credit使用情况(即使不用询问任务结束后也会自动给出)。如下截图。
等待一段时间后,任务完成。如下截图。
由此实现了让Openclaw指挥Kiro-CLI干活。
七、最佳实践
以上配置已经可以让Kiro CLI完成工作。如果您还需要更多工具对接,请注意:
- 将Skill部署在Kiro CLI上,而不是部署在Openclaw上
- 将MCP等调用外部系统/代码/知识库的功能部署在Kiro CLI上,而不是Openclaw上
- 确保Openclaw接到开发相关指令后,完全将指令要求转发给Kiro CLI,由Kiro CLI进行后续Plan和分布拆解
- 确保Openclaw只作为任务转发、任务执行监控的工具,不要承担开发相关别的任务
- 不要让Openclaw自己解读任务/自己调用模型完成部分任务,这样会带来很多与Kiro不兼容的问题,如果遇到,可进一步在Openclaw上设置约束性提示词,提高其遵从性。
八、参考文档
Coding-agent skill 定义原始文件
https://github.com/openclaw/openclaw/blob/main/skills/coding-agent/SKILL.md
最后修改于 2026-02-13