基于 Kimi K2.5 的 GitHub PR 自动代码审查机器人。当仓库有新 PR 创建或更新时,自动读取 diff 并通过 AI 给出 review comments。
- Runtime: Bun
- Web Framework: Hono
- GitHub SDK: Octokit
- AI Model: Kimi K2.5 (Moonshot API, OpenAI 兼容)
- 部署: Docker
cp .env.example .env编辑 .env 文件,填入:
| 变量 | 说明 |
|---|---|
GITHUB_TOKEN |
GitHub Personal Access Token(需要 repo 权限) |
GITHUB_WEBHOOK_SECRET |
自定义随机字符串,和 GitHub Webhook 配置一致 |
KIMI_API_KEY |
Moonshot API Key(从 platform.moonshot.cn 获取) |
bun install
bun run dev使用 smee.io 转发 Webhook 到本地:
npx smee-client --url https://smee.io/YOUR_CHANNEL --target http://localhost:3000/webhookdocker compose up -d- 进入你的 GitHub 仓库 → Settings → Webhooks → Add webhook
- Payload URL:
https://your-server.com/webhook - Content type:
application/json - Secret: 和
.env中的GITHUB_WEBHOOK_SECRET一致 - Events: 选择
Pull requests
GitHub PR Created/Updated
↓
Webhook POST /webhook
↓
验证签名 (HMAC SHA-256)
↓
获取 PR Diff (Octokit)
↓
发送给 Kimi K2.5 审查
↓
提交 Review Comments
| 环境变量 | 默认值 | 说明 |
|---|---|---|
GITHUB_TOKEN |
(必填) | GitHub Token |
GITHUB_WEBHOOK_SECRET |
(必填) | Webhook 签名密钥 |
KIMI_API_KEY |
(必填) | Moonshot API Key |
KIMI_BASE_URL |
https://api.moonshot.cn/v1 |
Moonshot API 地址 |
KIMI_MODEL |
kimi-k2.5 |
使用的模型 |
PORT |
3000 |
服务端口 |