Requisitos del Sistema

GOGIES IDE está optimizado para ser extremadamente ligero y rápido. Se ejecuta de forma nativa en servidores web estándar sin enlaces complejos de ejecución de Node.js en el host de producción.

  • Servidor Web: Apache, Nginx, o Servidor PHP incorporado.
  • Versión de PHP: PHP 7.4 o superior (se recomienda PHP 8.x).
  • Extensiones de PHP: curl, sqlite3, zip, y permisos de escritura en la carpeta data/.
  • Navegador del Cliente: Navegador web moderno (Chrome, Firefox, Safari, Edge) con Javascript ES6 habilitado.
  • Dependencias Opcionales del Agente de IA: Instale estas en su sistema host para desbloquear todas las capacidades del Agente de IA GOGIES:
    • Node.js: Desbloquea herramientas de construcción (como npm/vite), servidores de desarrollo y entornos de automatización.
    • Docker: Permite pruebas seguras y aisladas de código y servicios en sandbox.
    • ImageMagick: Permite al agente optimizar, recortar y convertir imágenes para el rendimiento web.

Instalación

Siga estos pasos para implementar GOGIES IDE en su entorno de servidor autohospedado:

1. Clonar el Código Fuente

Clone el repositorio directamente en la raíz de documentos públicos de su servidor web:

git clone https://github.com/alhelalat/GOGIES-AI-IDE.git /var/www/html/ide

2. Configurar Permisos de Directorio

El IDE escribe historiales de sesiones, ajustes, archivos de copias de seguridad de bases de datos y configuraciones dentro del directorio data/. Conceda permisos de escritura al usuario del servidor web (normalmente www-data en Ubuntu/Debian):

cd /var/www/html/ide
chmod -R 775 data
chown -R www-data:www-data data
Consejo de Seguridad Local

Dado que el IDE proporciona capacidades de ejecución de terminal a los usuarios autorizados, debe vincular su servidor web a localhost (127.0.0.1) en lugar de 0.0.0.0 para evitar el acceso externo desde otras máquinas en su red local.

Configuración Inicial

Una vez configurados los directorios, abra su navegador web y navegue al instalador integrado:

http://localhost/ide/install.php

El asistente de instalación lo guiará a través de las siguientes configuraciones:

  1. Validación de Ruta: Detecta automáticamente el directorio raíz de la aplicación y verifica los permisos de escritura en la carpeta de datos.
  2. Cuenta de Administrador: Cree su nombre de usuario y contraseña del administrador principal.
  3. Primer Espacio de Trabajo: Cree su espacio de trabajo inicial. Debe proporcionar un nombre y la ruta absoluta a una carpeta en su servidor en la que desee programar.

Al finalizar, el instalador genera el archivo config.php y será redirigido al panel de inicio de sesión.

Gestión de Espacios de Trabajo

Los espacios de trabajo le permiten compartimentar diferentes directorios de código. Por ejemplo, puede crear espacios de trabajo separados para diferentes proyectos de clientes o microservicios.

Para cambiar entre espacios de trabajo activos, use el selector desplegable ubicado en el panel de configuración inferior izquierdo del IDE. Esto cambia las rutas de su espacio de trabajo activo en el entorno de la sesión y recarga automáticamente el árbol del explorador de archivos.

Pantalla de gestión de espacios de trabajo y usuarios

Gestión de Archivos

El árbol del explorador de archivos en el lado izquierdo del panel del IDE le permite interactuar directamente con la estructura de directorios del espacio de trabajo activo:

  • Nuevos Archivos/Directorios: Haga clic en los botones de nuevo archivo o nueva carpeta en la parte superior del árbol del explorador para crear recursos vacíos.
  • Acciones del Menú Contextual: Haga clic derecho en cualquier archivo o directorio en el árbol para activar acciones contextuales:
    • Rename: Cambiar el nombre del recurso seleccionado.
    • Copy: Crear una copia instantánea en la carpeta actual.
    • Download: Descargar archivos directamente desde el navegador.
    • Decompress: Descomprimir archivos zip directamente en el host del servidor.
    • Delete: Eliminar de forma recursiva archivos y carpetas (requiere confirmación del usuario).

Editor de Código

La experiencia de edición central se basa en Ace Editor. Cuenta con resaltado de sintaxis para CSS, JS, HTML, PHP, Markdown, JSON y Python.

Los archivos protegidos contra escritura o abiertos desde ubicaciones no editables se cargan automáticamente en Modo de solo lectura (marcado con una insignia). El botón de guardar está oculto para los archivos de solo lectura para evitar errores de escritura.

Interfaz y configuración de Ace Editor

Permisos de Usuario

Los usuarios y permisos se guardan en la matriz data/users/users.php. Un administrador tiene el permiso *, que otorga control total para leer y escribir archivos, ejecutar comandos a través de la terminal y acceder a la consola del administrador de usuarios.

Las cuentas de desarrollador estándar pueden restringirse a permisos específicos del espacio de trabajo, lo que garantiza que no puedan leer archivos de configuración ni acceder a directorios del espacio de trabajo que no tengan asignados.

Gestor de Bases de Datos

GOGIES IDE incluye un gestor de bases de datos web totalmente integrado que le permite inspeccionar y modificar bases de datos físicas directamente junto a su código.

Consola de gestión de base de datos integrada

Bases de Datos Compatibles

El gestor de bases de datos admite perfiles de conexión SQLite, MySQL y PostgreSQL. Las credenciales de la base de datos y los parámetros de conexión se guardan de forma segura en el servidor.

Inspección y Consultas

  • Inspector de Tablas: Explore estructuras de esquemas, definiciones de tablas, índices y configuraciones de claves primarias.
  • Consola SQL Interactiva: Escriba y ejecute consultas arbitrarias directamente en el panel del navegador, mostrando cuadrículas de datos con formato y controles de paginación.

Copia de Seguridad y Restauración

El IDE proporciona acciones de copia de seguridad y restauración de alta fidelidad para asegurar el progreso de su desarrollo y los estados de la base de datos.

Panel de historial de copia de seguridad y restauración

Copias de Seguridad Unificadas

Cuando hace clic en Copia de seguridad del espacio de trabajo, GOGIES IDE ejecuta una rutina del lado del servidor para archivar:

  1. Todos los archivos de código fuente y configuraciones de directorio dentro de su espacio de trabajo activo.
  2. Sus perfiles de conexión a la base de datos.
  3. Bases de datos SQLite físicas y estructuras de tablas y entradas de fila de MySQL/PostgreSQL activas (exportadas como archivos de volcado SQL en streaming).

Los resultados se empaquetan en un único archivo ZIP altamente comprimido almacenado dentro del directorio de datos para facilitar su descarga.

Restauración Fácil

Para restaurar su sistema, simplemente elija una copia de seguridad del panel de historial de copias de seguridad y haga clic en Restaurar. GOGIES IDE extraerá los archivos del espacio de trabajo y volverá a ejecutar automáticamente la estructura de tablas y las inserciones de datos en bloques transaccionales (utilizando transacciones PDO) para restaurar sus bases de datos a su estado anterior exacto.

Agente de IA GOGIES

GOGIES IDE incluye un **Agente de codificación de IA autónomo** multipaso totalmente integrado que programa en pareja con usted dentro de su espacio de trabajo.

Consola de chat e historial del agente de IA autónomo

Cómo Funciona

El agente tiene acceso a herramientas representadas por etiquetas XML. Cuando el modelo genera estas etiquetas en su texto conversacional, el IDE las intercepta, procesa y ejecuta, enviando el resultado de vuelta al modelo automáticamente.

Ejecución Secuencial de Múltiples Acciones

Si la IA genera múltiples herramientas (por ejemplo, ejecutar un comando y crear múltiples archivos), el IDE las ejecuta secuencialmente mediante una cola asincrónica. Los resultados se agregan y se envían de vuelta al modelo en un solo turno unificado, manteniendo la ejecución limpia y eficiente.

Reglas Personalizadas (agent_rules.md)

Puede definir reglas de comportamiento específicas del proyecto para el agente. Simplemente cree un archivo llamado agent_rules.md en la raíz de su espacio de trabajo. El IDE leerá automáticamente este archivo y agregará su contenido al mensaje del sistema, indicando al agente que siga sus pautas de codificación, bibliotecas o arquitecturas.

Modos de Aprobación

En el menú de configuración de IA inferior, puede configurar cómo el IDE autoriza las operaciones de escritura y la ejecución de comandos:

  • Preguntar (Predeterminado): El IDE muestra tarjetas de aprobación con vistas previas de diferencias y controles de espera. La herramienta solo se ejecuta si hace clic explícitamente en "Aprobar".
  • Auto-Aprobar: Ejecuta instantáneamente comandos de terminal y modificaciones de archivos para flujos de trabajo autónomos más rápidos.
  • Auto-Rechazar: Bloquea todas las acciones de escritura y comandos.

Integración de Proveedores de IA (Local y Nube)

GOGIES IDE admite una amplia variedad de configuraciones de modelos de IA, lo que le permite alternar sin problemas entre entornos de ejecución locales sin conexión y potentes API de nube comerciales según sus necesidades de flujo de trabajo y privacidad.

Configuración de ajustes del agente de IA y el proveedor

1. Configuración del Proveedor de IA en la Nube

Puede conectar el asistente de codificación a las principales API comerciales de IA ingresando sus credenciales en el panel de configuración de IA:

  • OpenAI: Proveedor establecido en openai, URL de la API establecida en https://api.openai.com/v1, modelo establecido en gpt-4o (u otros modelos de razonamiento de OpenAI) e ingrese su clave de API de OpenAI.
  • Anthropic: Proveedor establecido en anthropic, URL de la API establecida en https://api.anthropic.com, modelo establecido en claude-3-5-sonnet-latest e ingrese su clave de API de Anthropic.
  • Google Gemini: Proveedor establecido en gemini, URL de la API establecida en https://generativelanguage.googleapis.com/v1beta/openai, modelo establecido en gemini-2.5-flash e ingrese su clave de API de Google AI Studio.

2. Configuración del Proveedor de LLM Local (Ollama)

Para un desarrollo completamente privado y sin conexión, puede ejecutar LLM localmente usando Ollama:

  1. Instalar Ollama: Ejecute el script de instalación en su sistema host:
    curl -fsSL https://ollama.com/install.sh | sh
  2. Descargar Modelo de Codificación: Descargue un modelo de desarrollo recomendado como qwen2.5-coder:7b o deepseek-coder:
    ollama pull qwen2.5-coder:7b
  3. Configurar GOGIES IDE: En el menú de configuración de IA, seleccione la plantilla de proveedor Ollama local, verifique que la URL de la API apunte a http://localhost:11434/v1 y haga coincidir el nombre del modelo con su etiqueta descargada (por ejemplo, qwen2.5-coder:7b). Deje el campo API Key vacío.

Referencia de la API

Puede interactuar con el backend del IDE mediante programación enviando solicitudes POST al archivo api.php. Todas las solicitudes deben contener la cookie de sesión para la autenticación.

Acciones Disponibles

  • get_file_content: Obtiene el texto fuente de un archivo.
    POST api.php?action=get_file_content&path=index.php
  • save_file_content: Guarda el texto fuente en una ruta.
    POST api.php?action=save_file_content
    Body parameters: path=index.php, content=your_code
  • list_files: Recupera archivos y carpetas en una ruta.
    POST api.php?action=list_files&path=assets/css