Saltar a contenido

Instalación

La opción de instalación depende de tu caso de uso y objetivos.


1. CI/CD — Revisión Automatizada

El escenario más común: AI Code Reviewer se ejecuta automáticamente cuando se crea o actualiza un PR/MR.

Configura en 5 minutos:

Para ajuste fino, consulta Configuración →


2. Despliegue Autónomo: CLI/Docker

CLI y la imagen Docker permiten ejecutar AI Code Reviewer fuera del pipeline CI estándar.

Escenarios de uso

Escenario Cómo implementar
Ejecución manual Terminal local — debugging, demo, evaluación
Scheduled review GitLab Scheduled Pipeline / GitHub Actions schedule / cron
Batch review Script que itera sobre PR/MR abiertos
Servidor propio Docker en servidor con acceso a Git API
On-demand review Webhook → ejecutar contenedor

Variables de Entorno Requeridas

Variable Descripción Cuándo se necesita Cómo obtener
AI_REVIEWER_GOOGLE_API_KEY Clave API de Gemini Siempre Google AI Studio
AI_REVIEWER_GITHUB_TOKEN GitHub Personal Access Token Para GitHub Instrucciones
AI_REVIEWER_GITLAB_TOKEN GitLab Personal Access Token Para GitLab Instrucciones

Fallback

Los nombres antiguos sin prefijo (p. ej., GOOGLE_API_KEY) siguen funcionando como fallback.


Ejecución Manual

Para debugging, demo, evaluación antes del despliegue, análisis retrospectivo de PR/MR.

Docker (recomendado)

No requiere instalación de Python — todo está en el contenedor.

Paso 1: Descargar la imagen

docker pull ghcr.io/konstziv/ai-code-reviewer:1

Paso 2: Ejecutar la revisión

docker run --rm \
  -e AI_REVIEWER_GOOGLE_API_KEY=your_api_key \
  -e AI_REVIEWER_GITHUB_TOKEN=your_token \
  ghcr.io/konstziv/ai-code-reviewer:1 \
  --repo owner/repo --pr 123
docker run --rm \
  -e AI_REVIEWER_GOOGLE_API_KEY=your_api_key \
  -e AI_REVIEWER_GITLAB_TOKEN=your_token \
  ghcr.io/konstziv/ai-code-reviewer:1 \
  --provider gitlab --repo owner/repo --pr 123

Imágenes Docker

Disponibles en dos registros:

  • ghcr.io/konstziv/ai-code-reviewer:1 — GitHub Container Registry
  • koszivdocker/ai-reviewbot:1 — DockerHub

pip / uv

Instalación como paquete Python.

Paso 1: Instalar

pip install ai-reviewbot
uv tool install ai-reviewbot
pipx install ai-reviewbot

Versión de Python

Requiere Python 3.13+

Paso 2: Configurar variables

export AI_REVIEWER_GOOGLE_API_KEY=your_api_key
export AI_REVIEWER_GITHUB_TOKEN=your_token  # o AI_REVIEWER_GITLAB_TOKEN para GitLab

Paso 3: Ejecutar

ai-review --repo owner/repo --pr 123
ai-review --provider gitlab --repo owner/repo --pr 123

Variables Opcionales

Variables adicionales disponibles para ajuste fino:

Variable Por defecto Efecto
AI_REVIEWER_LANGUAGE en Idioma de respuesta (ISO 639)
AI_REVIEWER_LANGUAGE_MODE adaptive Modo de detección de idioma
AI_REVIEWER_GEMINI_MODEL gemini-2.5-flash Modelo Gemini
AI_REVIEWER_LOG_LEVEL INFO Nivel de logging

👉 Lista completa de variables →


Scheduled reviews

Ejecución de revisiones programadas — para ahorrar recursos o cuando no se necesita feedback inmediato.

# .gitlab-ci.yml
ai-review-scheduled:
  image: ghcr.io/konstziv/ai-code-reviewer:1
  script:
    - |
      # Obtener lista de MR abiertos
      MR_LIST=$(curl -s --header "PRIVATE-TOKEN: $AI_REVIEWER_GITLAB_TOKEN" \
        "$CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/merge_requests?state=opened" \
        | jq -r '.[].iid')

      # Ejecutar revisión para cada MR
      for MR_IID in $MR_LIST; do
        echo "Reviewing MR !$MR_IID"
        ai-review --provider gitlab --repo $CI_PROJECT_PATH --pr $MR_IID || true
      done
  rules:
    - if: $CI_PIPELINE_SOURCE == "schedule"

Configuración del horario: Project → Build → Pipeline schedules → New schedule

# .github/workflows/scheduled-review.yml
name: Scheduled AI Review

on:
  schedule:
    - cron: '0 9 * * *'  # Diariamente a las 9:00 UTC

jobs:
  review-open-prs:
    runs-on: ubuntu-latest
    steps:
      - name: Get open PRs and review
        env:
          AI_REVIEWER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          AI_REVIEWER_GOOGLE_API_KEY: ${{ secrets.AI_REVIEWER_GOOGLE_API_KEY }}
        run: |
          # Obtener lista de PR abiertos
          PRS=$(gh pr list --repo ${{ github.repository }} --state open --json number -q '.[].number')

          for PR in $PRS; do
            echo "Reviewing PR #$PR"
            docker run --rm \
              -e AI_REVIEWER_GOOGLE_API_KEY -e AI_REVIEWER_GITHUB_TOKEN \
              ghcr.io/konstziv/ai-code-reviewer:1 \
              --repo ${{ github.repository }} --pr $PR || true
          done

Servidor propio / entorno privado

Para despliegue en infraestructura propia con acceso a Git API.

Opciones:

  • Docker en servidor — ejecución mediante cron, systemd timer, o como servicio
  • Kubernetes — CronJob para scheduled reviews
  • Self-hosted GitLab — añadir variable GITLAB_URL (ver ejemplo abajo)

Ejemplo de cron job:

# /etc/cron.d/ai-review
# Diariamente a las 10:00 ejecutar revisión para todos los MR abiertos
0 10 * * * reviewer /usr/local/bin/review-all-mrs.sh
#!/bin/bash
# /usr/local/bin/review-all-mrs.sh
export AI_REVIEWER_GOOGLE_API_KEY="your_key"
export AI_REVIEWER_GITLAB_TOKEN="your_token"

MR_LIST=$(curl -s --header "PRIVATE-TOKEN: $AI_REVIEWER_GITLAB_TOKEN" \
  "https://gitlab.company.com/api/v4/projects/123/merge_requests?state=opened" \
  | jq -r '.[].iid')

for MR_IID in $MR_LIST; do
  docker run --rm \
    -e AI_REVIEWER_GOOGLE_API_KEY -e AI_REVIEWER_GITLAB_TOKEN \
    ghcr.io/konstziv/ai-code-reviewer:1 \
    --provider gitlab --repo group/repo --pr $MR_IID
done

Self-hosted GitLab

Para self-hosted GitLab añadir variable AI_REVIEWER_GITLAB_URL:

-e AI_REVIEWER_GITLAB_URL=https://gitlab.company.com

3. Contribuidores / Desarrollo

Si tienes el tiempo e inspiración para ayudar a desarrollar el paquete, o quieres usarlo como base para tu propio desarrollo — ¡sinceramente damos la bienvenida y alentamos tales acciones!

Instalación de Desarrollo

# Clonar el repositorio
git clone https://github.com/KonstZiv/ai-code-reviewer.git
cd ai-code-reviewer

# Instalar dependencias (usamos uv)
uv sync

# Verificar
uv run ai-review --help

# Ejecutar tests
uv run pytest

# Ejecutar verificaciones de calidad
uv run ruff check .
uv run mypy .

uv

Usamos uv para gestión de dependencias.

Instalar: curl -LsSf https://astral.sh/uv/install.sh | sh

Estructura del Proyecto

ai-code-reviewer/
├── src/ai_reviewer/      # Código fuente
│   ├── core/             # Modelos, config, formateo
│   ├── integrations/     # GitHub, GitLab, Gemini
│   └── utils/            # Utilidades
├── tests/                # Tests
├── docs/                 # Documentación
└── examples/             # Ejemplos de configuración CI

👉 Cómo contribuir →


Requisitos

Requisitos del Sistema

Componente Requisito
Python 3.13+ (para instalación con pip)
Docker 20.10+ (para Docker)
SO Linux, macOS, Windows
RAM 256MB+
Red Acceso a generativelanguage.googleapis.com

Claves API

Clave Requerida Cómo obtener
Google Gemini API Google AI Studio
GitHub PAT Para GitHub Instrucciones
GitLab PAT Para GitLab Instrucciones

Límites de API de Gemini

Nivel gratuito

Google Gemini tiene un nivel gratuito:

Límite Valor
Solicitudes por minuto 15 RPM
Tokens por día 1M
Solicitudes por día 1500

Esto es suficiente para la mayoría de los proyectos.


Siguiente Paso

👉 Inicio Rápido →