Esta es una versión antigua de CodeRabbit y ahora se encuentra en modo de mantenimiento. Recomendamos instalar la versión Pro de CodeRabbit. La versión Pro es un rediseño total y ofrece revisiones significativamente mejores que aprenden de su uso y mejoran con el tiempo. CodeRabbit Pro es gratuito para proyectos de código abierto.
CodeRabbit ai-pr-reviewer
es un revisor y resumidor de código basado en IA para solicitudes de extracción de GitHub que utilizan los modelos gpt-3.5-turbo
y gpt-4
de OpenAI. Está diseñado para usarse como una acción de GitHub y se puede configurar para ejecutarse en cada solicitud de extracción y revisar comentarios.
gpt-3.5-turbo
) y un modelo de revisión "pesado" (por ejemplo, gpt-4
). Para obtener mejores resultados, utilice gpt-4
como modelo "pesado", ya que una revisión exhaustiva del código necesita fuertes capacidades de razonamiento.review_simple_changes
y review_comment_lgtm
en true
.system_message
, summarize
y summarize_release_notes
para centrarse en aspectos específicos del proceso de revisión o incluso cambiar el objetivo de la revisión. Para utilizar esta herramienta, debe agregar el archivo YAML proporcionado a su repositorio y configurar las variables de entorno requeridas, como GITHUB_TOKEN
y OPENAI_API_KEY
. Para obtener más información sobre el uso, ejemplos, contribuciones y preguntas frecuentes, puede consultar las secciones siguientes.
ai-pr-reviewer
se ejecuta como una acción de GitHub. Agregue el siguiente archivo a su repositorio en .github/workflows/ai-pr-reviewer.yml
name : Code Review
permissions :
contents : read
pull-requests : write
on :
pull_request :
pull_request_review_comment :
types : [created]
concurrency :
group :
${{ github.repository }}-${{ github.event.number || github.head_ref ||
github.sha }}-${{ github.workflow }}-${{ github.event_name ==
' pull_request_review_comment ' && 'pr_comment' || 'pr' }}
cancel-in-progress : ${{ github.event_name != 'pull_request_review_comment' }}
jobs :
review :
runs-on : ubuntu-latest
steps :
- uses : coderabbitai/ai-pr-reviewer@latest
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
OPENAI_API_KEY : ${{ secrets.OPENAI_API_KEY }}
with :
debug : false
review_simple_changes : false
review_comment_lgtm : false
GITHUB_TOKEN
: Esto ya debería estar disponible para el entorno de GitHub Action. Esto se utiliza para agregar comentarios a la solicitud de extracción.OPENAI_API_KEY
: use esto para autenticarse con la API de OpenAI. Puedes conseguir uno aquí. Agregue esta clave a sus secretos de GitHub Action.OPENAI_API_ORG
: (opcional) use esto para usar la organización especificada con la API OpenAI si tiene varias. Agregue esta clave a sus secretos de GitHub Action.gpt-4
y gpt-3.5-turbo
Se recomienda usar gpt-3.5-turbo
para tareas más ligeras, como resumir los cambios ( openai_light_model
en configuración) y gpt-4
para tareas más complejas de revisión y comentarios ( openai_heavy_model
en configuración).
Costos: gpt-3.5-turbo
es muy barato. gpt-4
es mucho más caro, pero los resultados son muy superiores. Normalmente gastamos $20 por día para un equipo de 20 desarrolladores con revisión y comentarios basados en gpt-4
.
Ver: acción.yml
Consejo: Puede cambiar la personalidad del bot configurando el valor system_message
. Por ejemplo, para revisar documentos/publicaciones de blog, puede utilizar el siguiente mensaje:
system_message : |
You are `@coderabbitai` (aka `github-actions[bot]`), a language model
trained by OpenAI. Your purpose is to act as a highly experienced
DevRel (developer relations) professional with focus on cloud-native
infrastructure.
Company context -
CodeRabbit is an AI-powered Code reviewer.It boosts code quality and cuts manual effort. Offers context-aware, line-by-line feedback, highlights critical changes,
enables bot interaction, and lets you commit suggestions directly from GitHub.
When reviewing or generating content focus on key areas such as -
- Accuracy
- Relevance
- Clarity
- Technical depth
- Call-to-action
- SEO optimization
- Brand consistency
- Grammar and prose
- Typos
- Hyperlink suggestions
- Graphics or images (suggest Dall-E image prompts if needed)
- Empathy
- Engagement
Puede responder a un comentario de revisión realizado por esta acción y obtener una respuesta basada en el contexto de diferencia. Además, puedes invitar al bot a una conversación etiquetándolo en el comentario ( @coderabbitai
).
Ejemplo:
@coderabbitai Genere un plan de prueba para este archivo.
Nota: Un comentario de revisión es un comentario realizado en una diferencia o un archivo en la solicitud de extracción.
A veces es útil ignorar un PR. Por ejemplo, si utiliza esta acción para revisar la documentación, puede ignorar las PR que solo cambian la documentación. Para ignorar un PR, agregue la siguiente palabra clave en la descripción del PR:
@coderabbitai: ignore
Algunas de las revisiones realizadas por ai-pr-reviewer
Cualquier sugerencia o solicitud de extracción para mejorar las indicaciones es muy apreciada.
Primero, necesitará tener a mano una versión razonablemente moderna de
node
, probada con node 17+.
Instalar las dependencias
$ npm install
Construya el texto mecanografiado y empaquetelo para su distribución.
$ npm run build && npm run package
GitHub Actions limita el acceso a secretos de repositorios bifurcados. Para habilitar esta función, debe utilizar el evento pull_request_target
en lugar de pull_request
en su archivo de flujo de trabajo. Tenga en cuenta que con pull_request_target
, necesita una configuración adicional para garantizar la verificación del compromiso correcto:
name : Code Review
permissions :
contents : read
pull-requests : write
on :
pull_request_target :
types : [opened, synchronize, reopened]
pull_request_review_comment :
types : [created]
concurrency :
group :
${{ github.repository }}-${{ github.event.number || github.head_ref ||
github.sha }}-${{ github.workflow }}-${{ github.event_name ==
' pull_request_review_comment ' && 'pr_comment' || 'pr' }}
cancel-in-progress : ${{ github.event_name != 'pull_request_review_comment' }}
jobs :
review :
runs-on : ubuntu-latest
steps :
- uses : coderabbitai/ai-pr-reviewer@latest
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
OPENAI_API_KEY : ${{ secrets.OPENAI_API_KEY }}
with :
debug : false
review_simple_changes : false
review_comment_lgtm : false
Ver también: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target
Establezca debug: true
en el archivo de flujo de trabajo para habilitar el modo de depuración, que mostrará los mensajes