VibeCoding 的项目部署工具:Kite
我服务器上有几十个 Web 站点,因为服务器配置较低,都是在本地完成构建后通过 scp 推到服务器,每个项目里就维护了一个shell脚本。
大概下面这样:(zx 脚本)
await $`scp ${compressPkgName} ${user}@${fullOrigin}:./` await $`ssh -p22 ${user}@${fullOrigin} "tar -xf ${compressPkgName} -C ${destDir}"`这个样子持续了差不多好多年,但始终感觉不优雅,最近刚好 AI 够强,就把一直想实现的一个部署的 CLI 实现了。
服务器只管收 + 解压 + 重启(如果带后端服务)。
于是有了 Kite —— 装一个 CLI 就能跑起 Web 管理端 + Server 后端 + 一键上传。
快速开始
npm install -g @kitecd/cli kite serve启动后浏览器打开http://127.0.0.1:5431就是管理后台。
Starting Kite Server... Runtime: bun v1.3.12 Host: 127.0.0.1 Port: 5431 Web Dir: /Users/sugar/Documents/fe/Kite/packages/cli/dist/web DB Dir: /Users/sugar/.kite Admin Token: admin_fb3635137 🦊 Server is running on bun at http://127.0.0.1:5431 🔑 Login Token: admin_fb3635137线上部署可以通过 pm2,使用 NG 反向代理站点。
kite serve --pm2新建项目
只需要录入项目名和部署目即可
部署
项目概览页提供了部署的指令复制即可。
本地项目里执行初始化指令,生成kite.config.json。
kite init --project proj_669571accfa5 --out ./dist --server http://127.0.0.1:5431 --token kt_a6029f276c354caca86b65960804d22c{ "projectId": "proj_669571accfa5", "serverUrl": "http://127.0.0.1:5431", "outputDir": "./dist", "files": [ "**/*" ] }部署,执行kite push即可。
kite push会自动完成:合并配置 → 打包outputDir→ 上传到 Server → 依次执行preDeploy/ 解压 /postDeploy。
kite push多环境支持
如果一个项目需要推到多个服务器或者不同项目目录。
会自动扫描符合kite.config.xx.json的配置。kite push --env xx即可,或者交互式选择。
使用的技术栈
- 前端:Vue 3 + Vite + Pinia + Vue Router
- 后端:Bun / Node + Elysia + libSQL(Drizzle ORM)
- CLI: cac + ora + chalk
GPT + MiMo 一起写出来的
MiMo 完成了大概 80% 的代码,15% 是 GPT。
这个CLI服务端 支持 Bun 和 Node两个运行时,部分适配靠 GPT 搞定
流程:先使用 plan 模式把需求和实现的核心功能确定下来。
然后拆好 step ,让它挨着执行,然后配合给到的测试用例,验收一下。
然后就是 case by case 的修复问题。