CodeReview 机器人
一个由ChatGPT驱动的代码审查机器人
翻译版本:ENGLISH | 简体中文 | 繁體中文 | 한국어 | 日本語
机器人使用方法
❗️⚠️ 由于成本考虑,该机器人仅用于测试目的,目前部署在AWS Lambda上,有速率限制。因此,不稳定的情况完全正常。建议自行部署应用程序。
安装
安装:apps/cr-gpt;
配置
- 进入你想要集成该机器人的仓库主页
- 点击"settings"
- 点击"actions"下的"secrets and variables"
- 切换到"Variables"选项卡,创建一个新变量"OPENAI_API_KEY",值为你的OpenAI API密钥(对于Github Action集成,请在secrets中设置)
开始使用
- 当你创建新的Pull request时,机器人会自动进行代码审查,审查信息将显示在PR时间线/文件变更部分。
- 在
git push
更新pull request后,CR机器人会重新审查已更改的文件
示例:
使用Github Actions
- 将
OPENAI_API_KEY
添加到你的github actions secrets中 - 创建
.github/workflows/cr.yml
并添加以下内容
name: Code Review
permissions:
contents: read
pull-requests: write
on:
pull_request:
types: [opened, reopened, synchronize]
jobs:
test:
# if: ${{ contains(github.event.*.labels.*.name, 'gpt review') }} # 可选;仅在添加标签时运行
runs-on: ubuntu-latest
steps:
- uses: anc95/ChatGPT-CodeReview@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
# 可选
LANGUAGE: Chinese
OPENAI_API_ENDPOINT: https://api.openai.com/v1
MODEL: gpt-3.5-turbo # https://platform.openai.com/docs/models
PROMPT: # 示例:请检查以下代码差异是否存在任何混淆或不规范之处:
top_p: 1 # https://platform.openai.com/docs/api-reference/chat/create#chat/create-top_p
temperature: 1 # https://platform.openai.com/docs/api-reference/chat/create#chat/create-temperature
max_tokens: 10000
MAX_PATCH_LENGTH: 10000 # 如果补丁/差异长度大于MAX_PATCH_LENGTH,将被忽略且不会进行审查。默认情况下,如果未设置MAX_PATCH_LENGTH,则补丁/差异长度没有限制。
自托管
- 克隆代码
- 将
.env.example
复制为.env
,并填写环境变量 - 安装依赖并运行
npm i
npm i -g pm2
npm run build
pm2 start pm2.config.cjs
更多详情请参考probot
开发
设置
# 安装依赖
npm install
# 构建代码
npm run build
# 运行机器人
npm run start
Docker
# 1. 构建容器
docker build -t cr-bot .
# 2. 启动容器
docker run -e APP_ID=<app-id> -e PRIVATE_KEY=<pem-value> cr-bot
贡献
如果你对cr-bot有改进建议,或想报告bug,请开一个issue!我们欢迎任何形式的贡献。
更多信息,请查看贡献指南。
致谢
本项目受到codereview.gpt的启发
许可证
ISC © 2023 anc95