Kilo Code 本地构建实战:Bun 3 条路径跑通 CLI、VS Code 扩展与 Nix 环境
【免费下载链接】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
Kilo Code 是开源的 AI 编码智能体平台,你可以在本地把它构建出来:命令行里的 Kilo CLI、VS Code 里的 Kilo Code 扩展,或者用 Nix 锁定版本的开发环境。本文给你一套可直接复制的本地部署与构建命令,装完依赖、构建产物、验证运行,每一步都告诉你"应该看到什么"。
先把 CLI 跑起来:最快路径
不管最后走哪条路,第一步都一样:装 Bun,装依赖,启动。Kilo Code 的包管理器是 Bun(根目录package.json里写死bun@1.3.14),不是 pnpm 也不是 npm,别装错。
# 安装 Bun 1.3.14 curl -fsSL https://bun.sh/install | bash # 克隆仓库 git clone https://gitcode.com/GitHub_Trending/ki/kilocode cd kilocode # 安装依赖(postinstall 会自动修复 node-pty 并初始化 git 钩子) bun install # 启动本地 CLI bun devbun dev会在packages/opencode目录下启动 Kilo CLI 的终端界面(TUI)。看到 TUI 启动、可以输入对话,就说明本地环境已经可用了。
原理说明:
bun dev是本地开发版的kilo命令,两者跑的是同一套 CLI 接口。改完代码直接bun dev就能看到效果,不需要重新打包。
选你的路:按人群分
- 你主要用终端写代码 →路径 A:CLI 终端路径(上面的命令就是它)
- 你要改 VS Code 扩展的代码 →路径 B:VS Code 扩展路径
- 你是 NixOS / 用 Nix 管理工具链 →路径 C:Nix Flake 路径
三条路径共享同一个前提:仓库已经 clone、依赖已经装好。下面的版本要求对三条路径通用。
环境与版本要求
| 依赖项 | 版本 | 为什么是这个版本 | 验证命令 |
|---|---|---|---|
| Bun | 1.3.14 | 根package.json的packageManager字段锁定,lockfile 与之配套 | bun --version |
| Java | 21 | JetBrains 插件(packages/kilo-jetbrains/)的 typecheck 和测试依赖它 | java -version |
| VS Code | 1.105.1+ | packages/kilo-vscode/package.json的engines.vscode要求 | code --version |
| Nix | 支持 Flakes | flake.nix声明的开发环境入口,仅路径 C 需要 | nix --version |
不碰 JetBrains 插件可以跳过 Java,后面会给你一条绕过命令。
路径 A:CLI 终端路径(适合日常开发与贡献者)
适用谁:想跑起 Kilo CLI、改packages/opencode/里的智能体逻辑、或者提交 PR 的贡献者。
原理一句话:Bun 直接把 TypeScript 源码当入口跑,跳过编译步骤,装依赖即可运行。
命令就是"最快路径"那四步。装完后做两个自检:
# 自检 1:查看 CLI 全部命令,应列出 dev/serve 等子命令 bun dev --help # 自检 2:对另一个目录运行,例如让 CLI 指向仓库根目录 bun dev .两个自检点:--help输出了命令列表、TUI 能正常拉起,路径 A 就通了。想以后在任意目录都能用这个本地版本,仓库提供了一键注册脚本:
./bin/kilodev dev-setup它会检测你的 shell,确认后往 rc 文件写入别名(可重复执行,只改一次)。之后在任何项目目录里敲kilodev就能打开 TUI。
坑点提醒:不要在仓库根目录跑
bun test。根目录的 test 脚本是故意失败退出的——所有测试都在各自拥有它的包里跑,例如 CLI 的测试要进packages/opencode/再执行bun test。
路径 B:VS Code 扩展路径(适合扩展开发者)
适用谁:要改packages/kilo-vscode/里的扩展代码或 webview 界面的人。
原理一句话:仓库自带一个启动脚本launch.ts,它先构建扩展、再自动拉起一个独立的 VS Code 开发宿主实例加载本地扩展,免去手工装 VSIX 和配 F5。
先确认本机 VS Code 满足engines要求(1.105.1+),然后:
# 一键构建 + 启动开发宿主(自动检测 macOS/Linux/Windows 上的 VS Code) bun run extension如果不想污染自己主用的 VS Code 配置,用隔离模式。它会用.kilo-dev/目录里独立的 IDE 实例和 Kilo 状态,装的扩展、登录、会话、缓存都只留在仓库里:
# 隔离模式,状态跨次启动保留 bun run extension:isolated # 清掉 .kilo-dev/ 再启动,模拟全新安装 bun run extension:isolated:clean也可以指定要打开的目录:bun run extension:isolated -- ../sample-project。
需要发布用的 VSIX 时,在扩展包目录里构建:
cd packages/kilo-vscode bun run package自检点:开发宿主窗口自动弹出后,活动栏出现 Kilo Code 图标,侧边栏能看到 Kilo Code 面板;bun run package结束时终端输出.vsix文件路径。构建脚本内部会先准备本地 CLI 二进制和 SDK,再跑类型检查、lint 和生产 bundle,全绿才算构建完成。
路径 C:Nix Flake 路径(适合 NixOS 与可复现环境需求)
适用谁:NixOS 用户,或希望所有工具链(Bun、Node、JDK、Playwright、ripgrep……)都锁定到仓库flake.lock版本、换台机器也能原样重建的人。
原理一句话:仓库根目录的flake.nix声明了一个 devShell,进入 shell 时 Nix 把 Bun、Node 20、Java 21 等工具一次性装好,并自动设好KILO_ROOT等环境变量。
首次使用先在/etc/nix/nix.conf打开 flakes:
# 启用 flake 实验特性 echo 'experimental-features = nix-command flakes' | sudo tee -a /etc/nix/nix.conf sudo systemctl restart nix-daemon然后在仓库根目录进入开发环境:
# 进入 flake dev shell(首次会按 flake.lock 解析依赖) nix develop进入后做自检:
# 应输出 flake 里构建的 Bun 版本,而不是你系统里的 bun --version # devShell 内置的开发入口,等价于 bun dev,但跑在 flake 环境里 kilo-dev --help坑点提醒:在 dev shell 里直接
bun dev会报KILO_ROOT is not set。kilo-dev这个入口脚本依赖 shell 启动时设置的KILO_ROOT,所以优先用它;或者手动export KILO_ROOT=$PWD后再跑。
卡住了?对着这张表自查
| 现象 | 原因一句话 | 修复命令 |
|---|---|---|
bun install报 lockfile 相关错误 | 本机 Bun 版本和packageManager锁定的 1.3.14 不一致 | curl -fsSL https://bun.sh/install | bash && bun --version |
安装卡在node-pty等原生模块编译 | 编译工具链缺失或缓存损坏 | bun install --force |
根目录跑bun test直接失败退出 | 根 test 脚本是故意失败的,测试必须进包内跑 | cd packages/opencode && bun test |
| 全量 typecheck 在 JetBrains 包上报 Java 错误 | 本机没有 Java 21,而 turbo 默认包含该包 | bun turbo typecheck --filter=!@kilocode/kilo-jetbrains |
bun run extension提示找不到 VS Code | 未装 VS Code 或不在自动检测范围 | 安装 VS Code(≥1.105.1)后重试,或给launch.ts传--app-path PATH |
bun run package卡在 bundle/类型检查 | 扩展包内部依赖未构建完整 | 回仓库根目录重跑bun install,再cd packages/kilo-vscode && bun run package |
nix develop 后跑bun dev报KILO_ROOT is not set | dev shell 的入口脚本依赖该环境变量 | kilo-dev,或export KILO_ROOT=$PWD后再运行 |
收尾
三条路径其实就一件事:Bun 装依赖,然后选一个入口(bun dev、bun run extension、kilo-dev)跑起来。跑通之后,建议从这几处继续:
- 贡献规范与检查清单:CONTRIBUTING.md
- 本地后端与 curl 验证方法:TESTING.md
- 开发环境官方文档:packages/kilo-docs/pages/contributing/development-environment.md
- CLI 核心源码:packages/opencode/src/
【免费下载链接】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),仅供参考