❗️⚠️ Due to cost considerations, BOT is only used for testing purposes and is currently deployed on AWS Lambda with ratelimit restrictions. Therefore, unstable situations are completely normal. It is recommended to deploy an app by yourself.
Go to the repo homepage which you want integrate this bot
click settings
click actions under secrets and variables
Change to Variables tab, create a new variable OPENAI_API_KEY with the value of your open api key (For Github Action integration, set it in secrets)
Start using
The robot will automatically do the code review when you create a new Pull request, the review information will show in the pr timeline / file changes part.
After git push update the pull request, cr bot will re-review the changed files
name: Code Review
permissions:
contents: read
pull-requests: write
models: true # if you choose use github models, set this to be true
on:
pull_request:
types: [opened, reopened, synchronize]
jobs:
test:
# if: ${{ contains(github.event.*.labels.*.name, 'gpt review') }} # Optional; to run only when a label is attached
runs-on: ubuntu-latest
steps:
- uses: anc95/ChatGPT-CodeReview@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# if use github models https://github.com/marketplace/models
USE_GITHUB_MODELS: true
MODEL: openai/gpt-4o
# else if use azure deployment
AZURE_API_VERSION: xx
AZURE_DEPLOYMENT: xx
# else use standard llm model
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
OPENAI_API_ENDPOINT: https://api.openai.com/v1
MODEL: gpt-3.5-turbo # https://platform.openai.com/docs/models
# common
LANGUAGE: Chinese
PROMPT: # example: Please check if there are any confusions or irregularities in the following code diff:
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
# REASONING_EFFORT: low # optional; only for reasoning models (e.g. gpt-5.4, gpt-5.5), values (model support varies): none, minimal, low, medium, high, xhigh
MAX_PATCH_LENGTH: 10000 # if the patch/diff length is large than MAX_PATCH_LENGTH, will be ignored and won't review. By default, with no MAX_PATCH_LENGTH set, there is also no limit for the patch/diff length.
IGNORE_PATTERNS: /node_modules/**/*,*.md # glob pattern or regex pattern to ignore files, separated by comma
INCLUDE_PATTERNS: *.js,*.ts # glob pattern or regex pattern to include files, separated by comma
Self-hosting
clone code
copy .env.example to .env, and fill the env variables
install deps and run
npm i
npm i -g pm2
npm run build
pm2 start pm2.config.cjs