用 Kimi 聊天助手 Vibe Coding:秘诀是 GitHub MCP
我用 Kimi 智能助手(App 和网页版)从零做完了一个真实网站:Astro + Cloudflare Workers + D1 + R2,带数据库迁移和端到端测试,CI 全绿。全程没打开 IDE,没碰终端,代码由它直接推上 main。
注意,这不是 Kimi Code(官方的命令行编程工具),就是那个聊天的 Kimi。它本来不是代码 Agent,能干活靠两点:
- GitHub MCP:挂上之后它能直接读写仓库、提交 commit、开关 issue,代码不用我复制粘贴
- Linux 沙盒:它的会话背后有真实可执行命令的 Linux 环境,能装依赖、跑脚本、做验证
好处简单说:我在手机上也能随时推进;不用养一台服务器跑 Agent;它没有臃肿的 Agent 框架,讨论起来像跟同事聊天。不是说它比专门的 coding Agent 强,只是多一种形态。
重点在后面——它有三个硬限制,以及对应的解法。
限制一:看不到 CI 日志
CI 红了,它没有接口读 Actions 日志,只能我截图喂给它。自动化形同虚设。
解法:让 CI 把结果送到它能看到的地方。 在 CI 里加一个汇报任务:
- 失败 → 自动开一个带
ci-failure标签的 issue,标题写明 commit 和失败步骤,正文附完整日志 - 转绿 → 自动评论所有 open 的
ci-failureissue 并关闭
规则就一句话:open 的 ci-failure issue 列表 = 当前所有未解决的 CI 问题。 它干活前和推送后自己查这个列表,自己修,自己关,绝不允许"凭沉默推断成功"。跑通之后,几次故障都是它自己发现、修完、关掉的,我一次 Actions 页面都没打开过。
限制二:它没有可靠的项目记忆
严格说它有记忆功能(记忆空间,跨会话记住一些用户偏好和事实),但那是围绕"用户"的零散记忆,承载不了项目状态——它不会知道 CI 现在红不红、上次改到哪、我们之间定过什么约定。而且长会话本身会被压缩,它也不会像专业代码 Agent 那样自动去读仓库里的 AGENTS.md。
解法分两步,缺一不可:
第一步,以仓库为中心存状态。 约定写在 AGENTS.md,当前未解决的问题就是 open issue 列表,历史就是 commit 记录。这些东西不依赖任何会话记忆,永远是最新的。
第二步,把"读记忆"变成规定动作。 每次新会话的第一条消息告诉它:先读 AGENTS.md + open issue 列表 + 最近几条 commit,重建现场再干活,不许问"我们做到哪了"。它读了 AGENTS.md,里面的工作方式(包括这条规定本身)就对它生效了。
所以 AGENTS.md 的定位要清楚:它不是给"会自动读取的 Agent"看的配置,而是这个健忘搭档的交接文档,也是整个工作流的中心。里面只写该做什么、不该做什么;具体技术细节写在对应代码的注释里——改哪段代码,就看哪段的注释。
限制三:没有本地环境,容易拿 CI 试错
它猜一个修复推上去,等八分钟,红了,再猜。每猜一次烧一轮 CI,还留下一堆噪音 issue。
解法:CI 是验证,不是实验室。 推测性修复先在沙盒里做最小复现,假设验证了再推;CI 只用来确认有把握的改动。沙盒在这里起了决定性作用。
最后
接受"agent 的能力边界由工具决定",把工具配好、把约定写成机制,聊天窗口就是一个够用的开发环境。想照搬就两样东西:AGENTS.md(工作方式 + CI 闭环职责 + 测试原则),和 CI 里的汇报任务(失败开 issue、转绿自动关)。一两个小时能搭起来。
7月24日:还有一个坑是,它不能上传大文件。用NPM的项目,里面的lock file就没办法上传。