Ir al contenido principal

Puntos de Control

Los Puntos de Control versionan automáticamente los archivos de tu espacio de trabajo durante las tareas de AI Cockpit Reasoning, permitiendo la exploración no destructiva de las sugerencias de IA y una fácil recuperación de cambios no deseados.

Los Puntos de Control te permiten:

  • Experimentar de forma segura con los cambios sugeridos por la IA
  • Recuperarte fácilmente de modificaciones no deseadas
  • Comparar diferentes enfoques de implementación
  • Revertir a estados anteriores del proyecto sin perder trabajo
Notas Importantes
  • Los Puntos de Control están habilitados de forma predeterminada.
  • Git debe estar instalado para que los puntos de control funcionen - ver instrucciones de instalación
  • No se requiere cuenta de GitHub ni repositorio
  • No se necesita configuración de información personal de Git
  • El repositorio Git oculto opera de forma independiente de la configuración Git existente de tu proyecto

Opciones de Configuración

Accede a la configuración de puntos de control en la configuración de AI Cockpit Reasoning bajo la sección "Puntos de Control":

  1. Abre Configuración haciendo clic en el ícono de engranaje → Puntos de Control

  2. Marca o desmarca la casilla de verificación "Habilitar puntos de control automáticos"

    Configuración de puntos de control en la configuración de AI Cockpit Reasoning

Cómo Funcionan los Puntos de Control

AI Cockpit Reasoning captura instantáneas del estado de tu proyecto usando un repositorio Git oculto, separado de tu sistema de control de versiones principal. Estas instantáneas, llamadas puntos de control, registran automáticamente los cambios durante tu flujo de trabajo asistido por IA, ya sea cuando comienzan las tareas, cambian los archivos o se ejecutan comandos.

Los puntos de control se almacenan como commits de Git en el repositorio oculto, capturando:

  • Cambios en el contenido de los archivos
  • Nuevos archivos agregados
  • Archivos eliminados
  • Archivos renombrados
  • Cambios en archivos binarios

Trabajar con Puntos de Control

Los puntos de control están integrados directamente en tu flujo de trabajo a través de la interfaz de chat.

Los puntos de control aparecen directamente en tu historial de chat en dos formas:

  • Punto de control inicial marca el estado inicial de tu proyecto

    Indicador de punto de control inicial en el chat
  • Puntos de control regulares aparecen después de modificaciones de archivos o ejecución de comandos

    Indicador de punto de control regular en el chat

Cada punto de control proporciona dos funciones principales:

Ver Diferencias

Para comparar tu espacio de trabajo actual con un punto de control anterior:

  1. Localiza el punto de control en tu historial de chat

  2. Haz clic en el botón Ver Diferencias del punto de control

    Interfaz del botón Ver Diferencias
  3. Revisa las diferencias en la vista de comparación:

    • Las líneas agregadas se resaltan en verde
    • Las líneas eliminadas se resaltan en rojo
    • Los archivos modificados se listan con cambios detallados
    • Los archivos renombrados y movidos se rastrean con sus cambios de ruta
    • Los archivos nuevos o eliminados están claramente marcados
Opción de ver diferencias para puntos de control

Restaurar Puntos de Control

Para restaurar un proyecto a un estado de punto de control anterior:

  1. Localiza el punto de control en tu historial de chat

  2. Haz clic en el botón Restaurar Punto de Control del punto de control

    Interfaz del botón Restaurar Punto de Control
  3. Elige una de estas opciones de restauración:

    Opción de restaurar punto de control
    • Restaurar Solo Archivos - Revierte solo los archivos del espacio de trabajo al estado del punto de control sin modificar el historial de conversación. Ideal para comparar implementaciones alternativas mientras se mantiene el contexto del chat, permitiéndote cambiar sin problemas entre diferentes estados del proyecto. Esta opción no requiere confirmación y te permite cambiar rápidamente entre diferentes implementaciones.

    • Restaurar Archivos y Tarea - Revierte tanto los archivos del espacio de trabajo COMO elimina todos los mensajes de conversación posteriores. Úsalo cuando quieras restablecer completamente tanto tu código como la conversación al punto en el tiempo del punto de control. Esta opción requiere confirmación en un diálogo ya que no se puede deshacer.

      Diálogo de confirmación para restaurar punto de control con archivos y tarea

Limitaciones y Consideraciones

  • Alcance: Los puntos de control solo capturan los cambios realizados durante las tareas activas de AI Cockpit Reasoning
  • Cambios externos: Las modificaciones realizadas fuera de las tareas (ediciones manuales, otras herramientas) no están incluidas
  • Archivos grandes: Los archivos binarios muy grandes pueden afectar el rendimiento
  • Trabajo no guardado: La restauración sobrescribirá cualquier cambio no guardado en tu espacio de trabajo

Implementación Técnica

Arquitectura de Puntos de Control

El sistema de puntos de control consta de:

  1. Repositorio Git Oculto: Un repositorio Git separado creado específicamente para el seguimiento de puntos de control que funciona como el mecanismo de almacenamiento persistente para el estado de los puntos de control.

  2. Servicio de Puntos de Control: Maneja las operaciones de Git y la gestión de estado a través de:

    • Inicialización del repositorio
    • Creación y almacenamiento de puntos de control
    • Cálculo de diferencias
    • Restauración de estado
  3. Componentes de UI: Elementos de interfaz mostrados en el chat que permiten la interacción con los puntos de control.

Proceso de Restauración

Cuando se ejecuta la restauración, AI Cockpit Reasoning:

  • Realiza un restablecimiento completo al commit del punto de control especificado
  • Copia todos los archivos del repositorio oculto a tu espacio de trabajo
  • Actualiza el estado interno de seguimiento de puntos de control

Tipo de Almacenamiento

Los puntos de control tienen alcance de tarea, lo que significa que son específicos de una sola tarea.

Cálculo de Diferencias

La comparación de puntos de control usa las capacidades de diferencias subyacentes de Git para producir diferencias de archivos estructuradas:

  • Los archivos modificados muestran cambios línea por línea
  • Los archivos binarios se detectan y manejan correctamente
  • Los archivos renombrados y movidos se rastrean correctamente
  • La creación y eliminación de archivos se identifican claramente

Exclusión de Archivos y Patrones de Ignorar

El sistema de puntos de control usa exclusión inteligente de archivos para rastrear solo los archivos relevantes:

Exclusiones Integradas

El sistema tiene patrones de exclusión integrados completos que ignoran automáticamente:

  • Artefactos de compilación y directorios de dependencias (node_modules/, dist/, build/)
  • Archivos multimedia y activos binarios (imágenes, videos, audio)
  • Archivos de caché y temporales (.cache/, .tmp/, .bak)
  • Archivos de configuración con información sensible (.env)
  • Archivos de datos grandes (archivos comprimidos, ejecutables, binarios)
  • Archivos de base de datos y registros

Estos patrones se escriben en el archivo .git/info/exclude del repositorio oculto durante la inicialización.

Soporte de .gitignore

El sistema de puntos de control respeta los patrones .gitignore en tu espacio de trabajo:

  • Los archivos excluidos por .gitignore no activarán la creación de puntos de control
  • Los archivos excluidos no aparecerán en las diferencias de puntos de control
  • Las reglas estándar de ignorar de Git se aplican al preparar cambios de archivos

Comportamiento de .aicockpitcodeignore

El archivo .aicockpitcodeignore (que controla el acceso de la IA a los archivos) es independiente del seguimiento de puntos de control:

  • Los archivos excluidos por .aicockpitcodeignore pero no por .gitignore seguirán siendo incluidos en los puntos de control
  • Los cambios en archivos inaccesibles para la IA aún pueden restaurarse a través de los puntos de control

Esta separación es intencional, ya que .aicockpitcodeignore limita qué archivos puede acceder la IA, no qué archivos deben rastrearse para el historial de versiones.

Repositorios Git Anidados

El sistema de puntos de control incluye manejo especial para repositorios Git anidados:

  • Renombra temporalmente los directorios .git anidados a .git_disabled durante las operaciones
  • Los restaura después de que se completan las operaciones
  • Permite el seguimiento adecuado de archivos en repositorios anidados
  • Garantiza que los repositorios anidados permanezcan funcionales y sin afectarse

Control de Concurrencia

Las operaciones se ponen en cola para evitar operaciones Git concurrentes que podrían corromper el estado del repositorio. Esto garantiza que las operaciones rápidas de puntos de control se completen de forma segura incluso cuando se solicitan en rápida sucesión.

Instalación de Git

Los puntos de control requieren que Git esté instalado en tu sistema. La implementación usa la biblioteca simple-git, que depende de las herramientas de línea de comandos de Git para crear y gestionar repositorios ocultos.

macOS

  1. Instalar con Homebrew (recomendado):

    brew install git
  2. Alternativa: Instalar con Xcode Command Line Tools:

    xcode-select --install
  3. Verificar la instalación:

    • Abre Terminal
    • Escribe git --version
    • Deberías ver un número de versión como git version 2.40.0

Windows

  1. Descargar Git para Windows:

  2. Ejecutar el instalador:

    • Acepta el acuerdo de licencia
    • Elige la ubicación de instalación (se recomienda la predeterminada)
    • Selecciona los componentes (las opciones predeterminadas suelen ser suficientes)
    • Elige el editor predeterminado
    • Elige cómo usar Git desde la línea de comandos (recomendado: Git desde la línea de comandos y también desde software de terceros)
    • Configura las conversiones de fin de línea (recomendado: Checkout estilo Windows, commit estilo Unix)
    • Completa la instalación
  3. Verificar la instalación:

    • Abre el Símbolo del sistema o PowerShell
    • Escribe git --version
    • Deberías ver un número de versión como git version 2.40.0.windows.1

Linux

Debian/Ubuntu:

sudo apt update
sudo apt install git

Fedora:

sudo dnf install git

Arch Linux:

sudo pacman -S git

Verificar la instalación:

  • Abre Terminal
  • Escribe git --version
  • Deberías ver un número de versión