作者分享在多个 Kiro CLI 会话中通过固定项目结构、workspace 隔离和上下文约定,使 AI 在跨天、多项目场景下保持理解连续性的工程经验。
我日常开发任务和 POC 一直用 Kiro,通常不会只开一个 IDE,而是同时开着五六个 Kiro CLI 会话,分布在不同终端里。每个会话可以跑不同的项目,有时候也跑同一个项目的不同部分。CLI 消耗资源很少,没有风扇噪音,没有内存压力,只有轻量级会话在安静运转。
我可以在不同文件夹里放不同的工作区,甚至可以在一个文件夹里放多个工作区,共同处理同一个模块。我每天的终端布局大概是这样的:
Terminal 1: ~/vishal/projects/user-service → API 开发 Terminal 2: ~/vishal/projects/user-service → 写测试 Terminal 3: ~/vishal/projects/order-service → 功能开发 Terminal 4: ~/vishal/projects/shared-libs → 依赖更新 Terminal 5: ~/vishal/projects/infra → Terraform 变更 Terminal 6: ~/vishal/projects/docs → 文档
这种配置已经让我感觉很高效了。但有一个痛点一直存在。

没人谈论的问题
上个月我在做一个大型任务:把一个单体 Node.js 服务迁移到微服务架构。三个代码仓库,一个要拆分的共享 Postgres 数据库,每一步都可能出 47 种问题。
第一天,那些终端里的任务进展很顺利。我把架构、约束条件、命名规范都解释清楚了。生成出来的代码非常漂亮。
第二天?全新的会话,零记忆。每个终端里我要花 15 分钟重新解释一遍相同的上下文。"不,user-service 拥有 auth 表。""是的,标记任务完成前总要运行 npm run lint。""数据库迁移脚本放在 db/migrations/ 下,不是 scripts/。"
到了第四天,我花在初始化会话上的时间比实际写代码的时间还多。多终端设置带来了并行性,但每个会话每次都是全新的。关掉终端,大脑就丢失了。每天早上我都要从头开始,AI 犯着和昨天一模一样的错误。
我需要的是:能让上下文跨越多天保持连贯、从我的修正中学习、在我关掉电脑后依然能继续运行任务的东西。一种能尊重我现有多工作区方式的工具,但同时加上持久化和学习能力。
Kiro Crew 登场了!
Kiro Crew 是一个开源的、持久化的开发工作区,运行在你本地机器上。这里的关键词是持久化。会话在重启后依然存活。修正变成持久的经验。重复的模式变成可复用的技能。长时间运行的任务会自动打检查点,从中断的地方恢复。

对于我的迁移项目,我没有下载打包好的可执行文件,而是克隆了仓库从源码构建,因为我想自己探索:
git clone https://github.com/kirodotdev/KiroCrew.git
cd KiroCrew
make build
source .venv/bin/activate
kirocrew setup
kirocrew doctor
kirocrew gateway
kirocrew doctor 真心有用。它会检查 kiro-cli 是否在 PATH 里、你是否已登录、MCP 服务器是否在响应、以及 embedding 模型是否已下载。第一次它就发现了我一个过期的配置,还告诉我要跑什么命令来修复。
迁移,第二轮
Kiro Crew 跑起来后,我用和之前一样的终端布局启动了同一个迁移项目。但这次我把它组织成一个任务:
<!-- migrate-user-service.md -->
# Migrate User Service
## Steps
1. Extract user-related tables from the monolith schema
2. Create the user-service repo with the standard template
3. Generate Prisma schema from extracted tables
4. Write migration scripts in `db/migrations/`
5. Add API routes matching the existing monolith endpoints
6. Run `npm run lint` and `npm test`
7. If tests pass, create the PR description
## Constraints
- Naming convention: kebab-case for files, PascalCase for types
- Always validate with lint before marking a step complete
- Stop and report if any test fails
kirocrew run migrate-user-service.md
然后我就走开了。真的去拿了一杯 chai ☕。
等我回来的时候,它已经完成了第 1 到 4 步,在第 5 步遇到了测试失败(一个外键引用缺失),停下来,并给我留了一份清晰的报告,说明哪里出了问题、停在了哪里。检查点意味着我可以修复问题后从第 5 步恢复,不用从头跑一遍整个流程。
我最喜欢的部分:它真的在学习
这就是让我停下来、真心欣赏它幕后运作方式的东西。
在用 Kiro Crew 的第二天,我纠正了它:"不,完成之前总要跑一下前端检查。"我就说了一次。只有一次。
从那以后,每个会话、每个任务,它在标记完成前都会跑前端检查。不是因为我提醒它,不是因为我把它加到了任务说明里,而是因为那条纠正变成了一条持久经验,作用域是我的工作区。
还记得我那六个终端的设置吗?现在我在一个终端里做的纠正,会自动同步到同一个文件夹下其他终端。migration 工作区和 test-runner 工作区在 ~/projects/user-service 里共享学到的上下文。但 infra 工作区有自己关于 Terraform 规范的经验,不会渗透到 Node.js 项目里。隔离是刻意设计的,保持了整洁。
但真正的魔法在于日积月累。记忆系统在进程内运行 embedding(检索时不调用外部 API),维护着偏好、活跃项目上下文、衰减的历史摘要,以及那些持久经验。一周后,我的 Kiro Crew 实例知道了:
我横跨三个代码仓库的命名规范 我更喜欢 Prisma 而不是原生 SQL 来写新服务 db/migrations/ 才是脚本该去的地方(不是 scripts/db/) 测试失败意味着停下来,不要尝试自己修复而不问我 还有自我演进的部分?"提取表、生成 Prisma schema、写迁移、加路由、lint、测试"这个重复模式,变成了一项合成技能。到了第三个微服务提取的时候,它已经把工作流模板化了。
你可以在 dashboard 里查看所有这些。每条经验、每项技能、每个记忆条目都是可见且可编辑的。没有什么是黑箱。
像管理基础设施一样运行它
看到这招在迁移项目上效果这么好,我给一件我老忘的事设了个定时任务:检查我各个仓库的依赖漏洞。
kirocrew cron "Every weekday at 9am, check for critical npm audit findings in the user-service and order-service repos and summarize what needs attention"
就这样。自然语言调度。它把摘要投到 Slack(或者 Telegram、Discord,任何你接入的地方)。每天早上我有一份简报,不用自己动手。

对于有戒心的人(我把自己算进去),安全模型不是事后补救。内置了 137 条拒绝模式来拦截破坏性命令。Linux 和 macOS 上有 OS 级沙箱。凭证清理从输出中剥离敏感模式。每一次工具调用都要经过你控制的审批流程:
kirocrew security events # see what happened
kirocrew security audit # review the audit trail
kirocrew security verify # validate integrity
approval_mode: "interactive" 设置意味着工具请求在执行前我会先在 dashboard 里审查。一旦我在某个会话里信任了某个模式,就可以批准它在会话范围内复用,而不用改底层的拒绝规则。信任是按会话积累的,不是全局授予的。
子 Agent 用于并行研究
还有一个场景彻底让我掏钱了。我在评估三种消息队列方案用于事件驱动架构:SQS、EventBridge 和自托管的 Redis Streams。
kirocrew spawn run "Research SQS for our event pipeline. Evaluate cost, latency, DLQ handling, and integration complexity with our Node.js services."
kirocrew spawn run "Research EventBridge for our event pipeline. Same criteria."
kirocrew spawn run "Research self-hosted Redis Streams. Same criteria."
三个独立的子 Agent 并行运行,每个有各自的上下文。它们完成后,父会话把权衡综合成一份对比。原本要花一下午切换标签页的工作,变成了一个 20 分钟的后台任务。
如果你在做的事跨越多个会话(迁移、重构、周期性 review、事件响应手册),试试 Kiro Crew:
curl -fsSL https://download.crew.kiro.dev/cli.sh | sh
打开 http://localhost:5476,开始对话,教它点东西。纠正它一次,看它明天还记得。
GitHub: github.com/kirodotdev/KiroCrew Docs: kiro.dev/docs/crew Download: kiro.dev/crew Discord: discord.gg/kirodotdev
我一直回想的是:我的多终端、多工作区设置本来就不错了。Kiro Crew 让它拥有了记忆。这把我解放出来,能专注于真正的工程决策,而不是围绕它们的那些仪式。
如果你试了,告诉我你第一个交接出去的工作流是什么。我真的很好奇。同时,我还在体验 Kiro Crew 的其他功能!