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 carpetadata/. - 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
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:
- 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.
- Cuenta de Administrador: Cree su nombre de usuario y contraseña del administrador principal.
- 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.
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.
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.
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.
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:
- Todos los archivos de código fuente y configuraciones de directorio dentro de su espacio de trabajo activo.
- Sus perfiles de conexión a la base de datos.
- 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.
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.
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 enhttps://api.openai.com/v1, modelo establecido engpt-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 enhttps://api.anthropic.com, modelo establecido enclaude-3-5-sonnet-lateste ingrese su clave de API de Anthropic. - Google Gemini: Proveedor establecido en
gemini, URL de la API establecida enhttps://generativelanguage.googleapis.com/v1beta/openai, modelo establecido engemini-2.5-flashe 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:
- Instalar Ollama: Ejecute el script de instalación en su sistema host:
curl -fsSL https://ollama.com/install.sh | sh - Descargar Modelo de Codificación: Descargue un modelo de desarrollo recomendado como
qwen2.5-coder:7bodeepseek-coder:ollama pull qwen2.5-coder:7b - 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/v1y 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