feat(ci): 新增AI代码审查Bot(扣子原生API) #426
Reference in New Issue
Block a user
Delete Branch "feature/ai-code-review"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
变更内容
scripts/ci_code_review.py- AI代码审查脚本,支持扣子原生Bot API.gitea/workflows/code-review.yml- 独立的Code Review workflow功能
前置依赖
需要在仓库Secrets中配置:
GITEA_TOKEN- Gitea访问令牌(用于回写评论)LLM_API_KEY- 扣子SAT tokenCOZE_BOT_ID- 扣子Bot ID代码审查结果 - PR #426
⚠️ 问题(3个需要修改)
diff_text中实际移除这些文件的内容。后果是 LLM 仍然会消耗 Token 审查这些二进制或非关键文件,甚至可能产生幻觉。get_existing_review_comments函数用于查找旧评论,但在main函数中并未调用它。后果是每次 PR 更新都会发布一条新的评论,导致 PR 页面充斥着重复的审查记录,而不是更新旧评论。sys.exit(0)(正常退出),配合 YAML 中的continue-on-error: true,会导致 CI 任务永远显示绿色(成功)。后果是当配置错误或 API 调用失败时,开发者难以从 CI 状态中发现机器人已失效。建议脚本在遇到错误时应返回非 0 状态码,由 YAML 层面控制是否阻断 CI。💡 建议(3个可选)
actions/checkout@v3升级到v4,以获得最新的安全补丁和功能支持。get_env_or_fail函数定义后未被使用,建议删除或在main函数中复用该逻辑以简化代码。"问题" in review_result)较为脆弱,如果 LLM 返回“没有发现问题”,该判断也会误判为包含问题。建议结合正则表达式或更严格的格式解析来判断。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能无明显问题
🤖 由 AI 代码审查机器人自动生成 | 2026-07-17 00:48:54 | 模型: