一、背景
我目前使用Kiro IDE开发,并且公司对代码安全具体非常高的要求,所以在断绝物联网的机器上开发。但是在指定AI开发的过程中,不可避免要安装一些好用的工具来提高开发效率和质量。今天就记录一下,如何在断网的情况下,安装Grill-me、Trellis,并且在Kiro IDE进行使用。
二、使用grill-me
2.1 grill-me是什么?
grill-me的官方定义是A relentless interview to sharpen a plan or design(一场为完善计划或设计而展开的严苛访谈)。它是一个skill工具,grill-me没有实质性内容,它会调用另一个skill工具:grilling,实现对用户的计划、决策或想法穷追不舍地追问。适用于用户想要对自身思路进行压力测试,或使用了任何“拷问”类触发短语的情况。
2.2 为什么要用grill-me?
要在开始代码编程之前使用grill-me。
- 在需求评审阶段,使用grill-me,会通过多轮拷问的方式让用户完全了解系统现状,指出需求不明确的地方、需求与现实冲突的地方。
- 在开发设计阶段,grill-me会走过所有的决策分支,并拷问用户设计中遗漏、错误、不明确的地方。通过多轮拷问,确定开发设计。
2.3 安装grill-me
2.3.1 下载grill-me的SKILL
先把grill-me的SKILL文件下载到本地。
2.3.2 下载grilling的SKILL
grill-me的SKILL文件中,只是一个入口描述。实际上的工作内容是在grilling的SKILL文件中。把grilling的SKILL文件下载到本地。
2.3.3 安装到Kiro IDE中
- 使用U盘等设备将这两个SKILL文件拷贝到断网的物理机上。
- 在Kiro IDE中,打开提问对话框,将这两个SKILL文件喂给Kiro,并让它给安装grill-me的skill。
- 等待一会,kiro会告诉你安装成功。
2.4 怎么使用grill-me?
安装成功之后,找个LLD设计文档进行验证。如果Kiro能成功根据当前文档对你进行提问,就是安装成功了。在提问对话框中输入下面的提示语:
这是XXX需求的LLD文件,拷问我,就可以看到引用了grill-me的skill进行提问。
下图是我使用grill-me之后对我的提问:
回答grill-me提出的所有问题(可能经过多轮)直至方案完全清晰,就可以进行下一步了:编程实现。
三、使用Trellis
3.1 Trellis是什么?
官网解释:AI 的能力像藤蔓一样生长,充满活力但四处蔓延。Trellis 是 AI 的脚手架,引导它沿着规范的路径前进。Trellis 是 AI 编码助手的辅助轮:通过自动化机制注入项目规范,让 AI 每次都按你的标准写代码,而不是随机发挥。
Trellis的本质
Trellis是仓库里.trellis/目录下的一套独立任务管理+多智能体调度框架。
核心是三段式流程:
- Plan(规划):用trellis-brainstorm skill交互式收集需求(,落地为prd.md(需求)、design.md (技术设计)、 implement.md(执行清单),复杂任务这三份都要有。
- Execute(执行):task.pystart把任务状态切到in_progress后,派发 trellis-implement sub-agent按implement.md编码,再派发 trellis-check sub-agent做质量校验(lint/type-check/测试)。
- Finish(收尾):更新 .trellis/spec/里的编码规范知识、commit、task.py archive归档。 它不是"喂需求自动出代码"的黑盒,而是强制"先落地规划文档、再执行、再校验"的流程管控,实际编码仍由sub-agent按文档执行。
3.2 为什么要用Trellis?
| 功能 | 解决什么问题 |
|---|---|
| 自动注入 | 规范和工作流自动注入每次对话,写一次,永久生效 |
| 自更新规范库 | 最佳实践存在自更新的 spec 文件中,用得越多,AI 越懂你 |
| Skill 优先 | 大部分操作是 auto-trigger 的 skill,AI 自己挑正确的那个,不用手动敲命令 |
| 团队共享 | 团队共享规范,团队里有一个高人搞一版好的规范,拉高全员的 AI coding 水平 |
| 会话持久化 | 工作记录持久化到仓库,AI 跨会话记住项目上下文,不用每次再费劲告诉 AI 你的项目情况是什么 |
3.3 安装Trellis?
系统要求:Mac、Linux、Windows 全部支持。需要 Node.js 18+ 和 Python 3.9+。.
3.3.1 安装 Node.js 18+
- 从Node.js官网下载版本18以上的安装包。我们直接下载免安装的。
- 将下载的.zip文件复制到断网的物理机上。
- 解压.zip,并重命名最外层文件为
nodejs。这就是nodejs的安装目录。 - 配置系统环境变量,在
Path中添加nodejs的安装目录。比如我的是:D:\Programs\nodejs\。 这一步非常重要,配置Path环境变量可以让命令行识别新安装的软件,命令才能正确执行。 - 验证安装结果:
使用--version 查询版本号,能正确打印出版本号,即安装成功。
3.3.2 安装Python 3.9+
- 从python下载页中下载适配Windows 平台的最新稳定发布版本。找到与自己的系统匹配的安装包并下载。
- 将下载到的安装包拷贝到断网的物理机上。
- 双击安装包按照引导一步步设置并完成安装。勾选
添加到Path,这样就可以自动将Python的安装信息配置到系统环境变量Path中。 - 如果在上一步没有勾选
添加到Path,需要配置系统环境变量。如下图所示。
- 验证安装结果: 使用--version 查询版本号,能正确打印出版本号,即安装成功。
3.3.3 安装 Trellis
如果自己机器上的Node.js和Python版本不符合要求,可以按照上面【3.3.1】、【3.3.2】两个小节有选择的进行安装。
前提是要在断网的物理机上安装Trellis,所以无法按照Trellis官网给的教程安装。 核心思路只有一条:在联网机器上把 trellis 连同整棵依赖树一起准备好,再整体搬到断网机器,让它完全不需要联网。
第一步:在联网机器上准备好完整包
关键点:两台机器的操作系统和 Node 大版本要一致(比如都是 Windows x64 + Node 20),否则带原生模块(.node)的依赖会不兼容。
在联网机器上找个空目录,把 trellis 作为本地依赖装进去(这样 node_modules 里会有全部依赖):
mkdir trellis-bundle
cd /d trellis-bundle
npm init -y
npm install @mindfoldhq/trellis@latest
装完后,trellis-bundle\node_modules 里就是完整的依赖树。
第二步:整个目录打包搬过去
把整个 trellis-bundle 文件夹(必须包含 node_modules)压缩,通过 U 盘等介质拷到断网机器,比如放到 D:\trellis-bundle。
第三步:在断网机器上做成全局命令
有两种方式,任选其一:
方式 A:npm link(推荐,最像全局安装)
cd /d D:\trellis-bundle\node_modules\@mindfoldhq\trellis
npm link
npm link 只是在本地建软链接,不联网。完成后就能直接用 trellis 命令了。
方式 B:直接调用可执行文件
trellis 的可执行文件在:
D:\trellis-bundle\node_modules\.bin\trellis.cmd
你可以直接运行它,或把 D:\trellis-bundle\node_modules\.bin 加到系统 PATH 环境变量里,然后就能在任意位置敲 trellis。
第四步:验证
trellis --version
能打印版本号就说明离线部署成功了。
补充:如果 npm link 也报网络错
老版本 npm 的 link 有时会顺带校验 registry。如果遇到,改用最直接的办法——方式 B,完全不碰 npm 命令,直接把 .bin 目录加进 PATH,零联网。
一个提醒:先在联网机器上跑一次 trellis --version 确认它能独立运行(有些工具首次运行还会下载额外资源或做 postinstall 联网操作)。如果 trellis 本身运行时还要联网拉东西,那即使装上了在断网机器也用不了,这点最好先验证。
第五步: 检测已安装的平台并询问要配置哪些
trellis init 会自动检测已安装的平台,也可以用 flag 显式指定。每一个平台都需要最少 init 一次。随意组合:
# 进入你的项目目录 cd your-project
cd your-project
# 交互式:检测已安装的平台并询问要配置哪些
trellis init -u your-name
# 显式:配置一个或多个平台。因为我使用Kiro,所以直接指定kiro
trellis init -u your-name --kiro
your-name 会成为你的开发者身份,在 .trellis/workspace/your-name/ 创建个人工作区。
支持的 flag:--claude、--cursor、--opencode、--codex、--kiro、--gemini、--qoder、--codebuddy、--copilot、--droid、--pi、--antigravity、--devin(别名:--windsurf,已废弃)、--kilo、--reasonix、--zcode、--omp、--trae、--grok、--kimi、--snow、--dsh。
3.4 怎么使用Trellis?
基本流程
描述你要做什么即可。AI 会先判断当前 turn。简单对话和小型 inline 任务不会 自动创建 Trellis task;AI 只会询问本回合是否需要创建任务。复杂工作会先 单独确认是否可以创建 Trellis task 并进入 planning。
# 1. 描述你要做什么
"新增用户登录功能"
# 2. AI 判断当前 turn,必要时询问是否创建任务
# 3. 如果这是 Trellis task,AI 按 workflow.md 走 Plan → Execute → Finish
# 4. 工作 commit 已存在后
/trellis:finish-work