3 步跑通 Kilo Code 本地开发环境:从 clone 到 CLI 与 VS Code 扩展全可用
【免费下载链接】kilocodeKilo is the all-in-one agentic engineering platform. Build, ship, and iterate faster with the most popular open source coding agent.项目地址: https://gitcode.com/GitHub_Trending/ki/kilocode
场景切入:clone 完仓库之后做什么
你刚把仓库拉到本地——Kilo Code 是一个 AI 编码智能体(coding agent)平台,同一个仓库里同时维护 CLI(packages/opencode)和 VS Code 扩展(packages/kilo-vscode)。接下来的目标很明确:依赖装好、CLI 能在终端跑起来、扩展能在开发宿主里加载。整条链路只需要一个运行时Bun,不需要 pnpm,也不需要 Node 作为主运行时(Node 20 只被 Nix flake 顺带打包)。
环境体检:开工前核对这几项
| 依赖 | 版本线 | 用在哪 | 自查命令 |
|---|---|---|---|
| Bun | ≥ 1.3.14 | 运行时代码、装依赖、跑全部脚本(根package.json锁定packageManager: bun@1.3.14) | bun --version |
| Git | 任意较新版 | 版本控制;Husky 的 pre-push 钩子会校验 Bun 版本并跑 typecheck | git --version |
| VS Code | ≥ 1.105.1 | 仅开发 VS Code 扩展时需要(扩展engines.vscode字段约束) | code --version |
| Java 21 | 21 | 仅当你要跑 JetBrains 插件检查才需要,VS Code/CLI 开发可跳过 | java -version |
| Nix(可选) | 启用 flakes | 走声明式环境路线时用 | nix --version |
兼容性方面:macOS、Linux、Windows 都能走原生路线,扩展启动脚本会自动探测三个平台的 VS Code;Nix flake 声明了aarch64-linux、x86_64-linux、aarch64-darwin、x86_64-darwin四个系统的 devShell,也就是说 Nix 路线覆盖 macOS 和 Linux,Windows 用户建议直接走原生路线。
选路指南:按你的场景挑一条
💡 判断只有一条主线:你是否需要把依赖版本"钉死"在声明式环境里。
如果你是 macOS/Linux 日常写代码,原生 Bun 路线最短;如果你希望"新机器上一分钟进同一个环境",走 Nix 路线,仓库根目录的.envrc配了use flake,装了 direnv 的话cd进仓库会自动进壳。
实施路线
路线 A:原生 Bun 路线(日常开发,全平台)
准备:安装 Bun 1.3.14 及以上。装完顺手确认版本对得上,后面 pre-push 钩子会拿它和package.json比对。
执行:克隆仓库并安装依赖,一条命令链走完:
git clone https://gitcode.com/GitHub_Trending/ki/kilocode cd kilocode bun installbun install的 postinstall 会自动执行packages/core的 node-pty 修复脚本和script/setup-git.ts(挂 Husky 钩子),不需要你手动补步骤。
确认:跑仓库级检查,确认工具链完整:
bun run lint bun run typecheck不碰 JetBrains 的话,第二条可加过滤器跳过它对 Java 21 的依赖:bun turbo typecheck --filter=!@kilocode/kilo-jetbrains。
路线 B:Nix 声明式环境路线(macOS / Linux)
准备:启用 flakes(在 nix 配置里加experimental-features = nix-command flakes)。仓库 flake 已把 Bun、Node 20、ripgrep、Playwright 浏览器、JDK 21 全部打进 devShell,机器上不用单独装任何一项。
执行:进仓库即进壳:
git clone https://gitcode.com/GitHub_Trending/ki/kilocode cd kilocode nix develop依赖已在 flake 中固化,进壳后可直接跑命令;没有 direnv 就手动nix develop一次。
确认:在 shell 里核对关键二进制就位:
bun --version which kilo-dev ripgrepkilo-dev是 flake 提供的入口脚本,等价于bun dev,指向packages/opencode源码。
冒烟验证:最小三个动作
🔧 验证目标是"环境能用",不是测功能。按顺序做三个动作:
- CLI 能起来:在仓库根目录运行
bun dev --help,输出完整的子命令列表即通过;直接bun dev会启动 TUI,方向键能移动就是活的。 - 扩展能加载:
bun run extension会在一个独立的 Extension Development Host 里构建并启动 VS Code 扩展。通过标准:宿主窗口里 Kilo Code 侧边栏正常渲染,Output 面板选 "Kilo Code" 通道无红色报错。嫌它污染主配置就改用bun run extension:isolated:clean,状态全部隔离在仓库内.kilo-dev/。 - 检查能过:
bun run typecheck无错误,即为绿灯。
⚠️ 不要在仓库根目录直接跑bun test——根脚本被故意设计成直接失败退出(bunfig.toml的 test root 指向不存在目录),测试一律去归属包内跑,比如cd packages/opencode && bun test。
故障速查:现象在前,五条高频错误
现象:
bun install中途在 node-pty 相关原生编译处报错定位:Bun 版本低于 1.3.14,或 lockfile 与实际版本错位修复:升级 Bun 到 1.3.14+,删掉node_modules后重新bun install现象:根目录
bun test秒退且返回非零定位:这是预期行为,不是环境坏了修复:进对应包目录跑,如cd packages/opencode && bun test ./path/to/file.test.ts现象:
bun run typecheck结果和源码现状对不上(改了没报错/没改却报错)定位:Turbo 缓存未失效修复:bun turbo typecheck --force强制绕过缓存现象:
bun run extension起不来开发宿主,或宿主里扩展静默失败定位:本机 VS Code 低于 1.105.1,或上一次隔离状态残留修复:升级 VS Code;仍不行就bun run extension:isolated:clean清掉.kilo-dev/重来,再查 Output 面板的 Kilo Code 通道现象:typecheck 挂在
@kilocode/kilo-jetbrains上,提示 Java 相关错误定位:没装 Java 21,而你跑的是包含 JetBrains 包的默认过滤修复:不碰 JetBrains 就加--filter=!@kilocode/kilo-jetbrains;要碰就按 CONTRIBUTING.md 装 Java 21
收尾
到这里,Bun 装好、依赖装好、CLI 和扩展都能在本地跑起来,环境就搭完了。想改代码前,先读一遍 CONTRIBUTING.md 里的护栏约定(Kilo 改动要打// kilocode_change标记、服务端端点变更要重新生成 SDK);要验证后端行为看 TESTING.md,扩展相关实现都集中在 packages/kilo-vscode/。
【免费下载链接】kilocodeKilo is the all-in-one agentic engineering platform. Build, ship, and iterate faster with the most popular open source coding agent.项目地址: https://gitcode.com/GitHub_Trending/ki/kilocode
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考