@hataiit9x/ai-code-reviewer

2.1.0 • Public • Published

@hataiit9x/ai-code-reviewer

Summary

@hataiit9x/ai-code-reviewer It is a small tool used for code review in GitLab Merge Requests. It supports calling the GitLab API for private deployment and uses the OpenAI API to obtain review results. Please note that when using it, ensure compliance with company regulations. 😉

Features

  • 🛠️ Support configuration GitLab API address
  • 🌍 Support configuration OpenAI proxy API address to solve the problem that the OpenAI API may not be accessible in China
  • 🆔 Support configuration OpenAI organization ID
  • ⚙️ Support configuration OpenAI API Key to implement load balancing of interface calls (multiple Keys are separated by commas)
  • 🚦 Automatically wait and try again when the rate limit is exceeded
  • 💬 The review results are appended to the location of the corresponding code block in the form of comments

Install

npm i @hataiit9x/ai-code-reviewer

Use

Use via shell script

Usage: ai-code-reviewer [options]

Options:
  -g, --gitlab-api-url <string>       GitLab API URL (default: " https://gitlab.com/api/v4")
  -t, --gitlab-access-token <string>  GitLab Access Token
  -o, --openai-api-url <string>       OpenAI API URL (default: "https://api.openai.com/v1")
  -a, --openai-access-token <string>  OpenAI Access Token
  -p, --project-id <number>           GitLab Project ID
  -m, --merge-request-id <string>     GitLab Merge Request ID
  -org, --organization-id <number>    organization ID
  -c, ----custom-model <string>       Custom Model ID (default: "gpt-3.5-turbo")
  -mode, --mode <string>              Mode use OpenAI or Gemini (default: openai)
  -h, --help                          display help for command

Example:

ai-code-reviewer -g https://gitlab.com/api/v4 -t glpat-xxxxxxx -o https://api.openai.com -a skxxxxxxx,skxxxxxxx -p  -c gpt-3.5-turbo 432288 -m 8

Use in CI

Set the GITLAB_TOKEN and CHATGPT_KEY variables in GitLab CI/CD, .gitlab-ci.yml is as follows:

stages:
  - merge-request

Code Review:
  stage: merge-request  
  image: node:16
  script:
    - npm i @hataiit9x/ai-code-reviewer -g
    - ai-code-reviewer -t "$GITLAB_TOKEN" -a "$CHATGPT_KEY" -c "$CUSTOM_MODELS" -p "$CI_MERGE_REQUEST_PROJECT_ID" -m "$CI_MERGE_REQUEST_IID"
  only:
    - merge_requests
  when: on_success

contribute

Welcome to contribute code, ask questions and suggestions! 👏

License

This project is based on the MIT license. See the LICENSE file for details. 📜

Package Sidebar

Install

npm i @hataiit9x/ai-code-reviewer

Weekly Downloads

11

Version

2.1.0

License

MIT

Unpacked Size

35.4 kB

Total Files

14

Last publish

Collaborators

  • hataiit9x