{"_id":"@b-yp/ai-code-reviewer","_rev":"1-e5b40e983a82b9546c240d30fab1a40b","name":"@b-yp/ai-code-reviewer","dist-tags":{"latest":"1.2.4"},"versions":{"1.2.3":{"name":"@b-yp/ai-code-reviewer","version":"1.2.3","license":"MIT","_id":"@b-yp/ai-code-reviewer@1.2.3","maintainers":[{"name":"cljibl","email":"byapeng@qq.com"}],"homepage":"https://github.com/buxuku/ai-code-reviewer#readme","bugs":{"url":"https://github.com/buxuku/ai-code-reviewer/issues"},"bin":{"ai-code-reviewer":"bin/index.js"},"dist":{"shasum":"db07cc9161b73850b3ed21e793e4346b49d3afb3","tarball":"https://registry.npmjs.org/@b-yp/ai-code-reviewer/-/ai-code-reviewer-1.2.3.tgz","fileCount":12,"integrity":"sha512-+3119uihRkOgkOySR/682K5pHRg9a+MzMjrt/JYuhDbc5gXqHPkxJ4MFU0R5lqaowr62HANNfERV0+eqTOKFJw==","signatures":[{"sig":"MEQCIAuMT1+7JknZCDULwUwnCWnuJCa6+ZSsKitDV1oMvAz0AiA4kcJxUz5WYFCATVjQKAHIKhRY6jJ8eq3mOp1hEvy9Mw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27381},"main":"index.js","gitHead":"6c121baaec7638df291012355b0f7923a50acc60","scripts":{"build":"tsc","start":"tsc --watch"},"_npmUser":{"name":"cljibl","email":"byapeng@qq.com"},"repository":{"url":"git+https://github.com/buxuku/ai-code-reviewer.git","type":"git"},"_npmVersion":"10.7.0","description":"![](preview.png)","directories":{},"_nodeVersion":"20.14.0","dependencies":{"axios":"^1.4.0","commander":"^10.0.1","typescript":"^5.0.4","@types/node":"^20.2.1","@types/axios":"^0.14.0","@types/commander":"^2.12.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-code-reviewer_1.2.3_1731051131571_0.26063526777505386","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"@b-yp/ai-code-reviewer","version":"1.2.4","main":"index.js","bin":{"ai-code-reviewer":"bin/index.js"},"scripts":{"start":"tsc --watch","build":"tsc"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/buxuku/ai-code-reviewer.git"},"dependencies":{"@types/axios":"^0.14.0","@types/commander":"^2.12.2","@types/node":"^20.2.1","axios":"^1.4.0","commander":"^10.0.1","typescript":"^5.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@b-yp/ai-code-reviewer@1.2.4","gitHead":"657231020b02d297b246cae781c526954669c7dc","description":"![](preview.png)","bugs":{"url":"https://github.com/buxuku/ai-code-reviewer/issues"},"homepage":"https://github.com/buxuku/ai-code-reviewer#readme","_nodeVersion":"20.14.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-xaMslfPpEhS7MqB/NYKrqskwLJV0W/+inCaAZXZtXACH+fTtb1yrJ7SjJSVPD4pjAmeiKpF8E/Efzn7oMNBFbg==","shasum":"32d022a93402b3dbc3f91f725ad1df30062b4dd5","tarball":"https://registry.npmjs.org/@b-yp/ai-code-reviewer/-/ai-code-reviewer-1.2.4.tgz","fileCount":12,"unpackedSize":27732,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWsjtnUq4yYlRFyQUZXmTLRoJizWyGtGY4I4R7gBHySwIhAL96qY83YKespHsJBLZKDdWwzTma5/JH7/Pp320StPLC"}]},"_npmUser":{"name":"cljibl","email":"byapeng@qq.com"},"directories":{},"maintainers":[{"name":"cljibl","email":"byapeng@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ai-code-reviewer_1.2.4_1731054451954_0.07558597135654122"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-08T07:32:11.464Z","modified":"2024-11-08T08:27:32.360Z","1.2.3":"2024-11-08T07:32:11.718Z","1.2.4":"2024-11-08T08:27:32.150Z"},"bugs":{"url":"https://github.com/buxuku/ai-code-reviewer/issues"},"license":"MIT","homepage":"https://github.com/buxuku/ai-code-reviewer#readme","repository":{"type":"git","url":"git+https://github.com/buxuku/ai-code-reviewer.git"},"description":"![](preview.png)","maintainers":[{"name":"cljibl","email":"byapeng@qq.com"}],"readme":"# @buxuku/ai-code-reviewer\r\n\r\n## 介绍\r\n\r\n![](preview.png)\r\n\r\n`@buxuku/ai-code-reviewer` 是一款应用于 GitLab Merge Request 代码审查的小工具，支持调用私有化部署的 GitLab API，并使用 OpenAI API 获取审查结果。请注意，在使用它时，需要确保符合公司合规要求。😉\r\n\r\n\r\n## 特点\r\n\r\n- 🛠️ 支持配置 GitLab API 地址\r\n- 🌍 支持配置 OpenAI 代理 API 地址，解决国内可能无法访问 OpenAI API 的问题\r\n- 🆔 支持配置 OpenAI 组织 ID\r\n- ⚙️ 支持配置多个 OpenAI API Key 实现接口调用的负载均衡（多个 Key 以逗号分隔）\r\n- 🚦 超过速率限制时，自动等待并重试\r\n- 💬 审查结果以评论的方式追加到对应的代码块所在位置\r\n\r\n\r\n## 安装\r\n\r\n```sh\r\nnpm i @buxuku/ai-code-reviewer\r\n`````\r\n\r\n## 使用\r\n\r\n### 通过 Shell 脚本使用\r\n\r\n```shell\r\nUsage: ai-code-reviewer [options]\r\n\r\nOptions:\r\n  -g, --gitlab-api-url <string>       GitLab API URL (default: \" https://gitlab.com/api/v4\")\r\n  -t, --gitlab-access-token <string>  GitLab Access Token\r\n  -o, --openai-api-url <string>       OpenAI API URL (default: \"https://api.openai.com\")\r\n  -a, --openai-access-token <string>  OpenAI Access Token\r\n  -p, --project-id <number>           GitLab Project ID\r\n  -m, --merge-request-id <string>     GitLab Merge Request ID\r\n  -org, --organization-id <number>    organization ID\r\n  -h, --help                          display help for command\r\n```\r\n\r\n示例:\r\n\r\n```sh\r\nai-code-reviewer -g https://gitlab.com/api/v4 -t glpat-xxxxxxx -o https://api.openai.com -a skxxxxxxx,skxxxxxxx -p 432288 -m 8\r\n```\r\n\r\n### 在 CI 中使用\r\n\r\n在 GitLab CI/CD 中设置 `GITLAB_TOKEN` 和 `CHATGPT_KEY` 变量，`.gitlab-ci.yml` 如下：\r\n\r\n```yml\r\nstages:\r\n  - merge-request\r\n\r\nCode Review:\r\n  stage: merge-request  \r\n  image: node:latest\r\n  script:\r\n    - npm i @buxuku/ai-code-reviewer -g\r\n    - ai-code-reviewer -t \"$GITLAB_TOKEN\" -a \"$CHATGPT_KEY\"  -p \"$CI_MERGE_REQUEST_PROJECT_ID\" -m \"$CI_MERGE_REQUEST_IID\"\r\n  only:\r\n    - merge_requests\r\n  when: on_success\r\n```\r\n\r\n## 贡献\r\n欢迎贡献代码，提出问题和建议！👏\r\n\r\n## 许可证\r\n本项目基于 MIT 许可证。详细信息请参见 LICENSE 文件。📜","readmeFilename":"README.md"}