Requisiti di Sistema

GOGIES IDE è ottimizzato per essere veloce e leggero. Funziona nativamente su server web standard senza richiedere runtime Node.js complessi in produzione.

  • Server Web: Apache, Nginx o server PHP integrato.
  • Versione PHP: PHP 7.4 o superiore (consigliato PHP 8.x).
  • Estensioni PHP: curl, sqlite3, zip e permessi di scrittura nella cartella data/.
  • Browser Client: Browser moderno (Chrome, Firefox, Safari, Edge) con Javascript ES6 attivo.
  • Dipendenze opzionali dell'Agente IA: Installa questi pacchetti sul sistema per sbloccare le piene funzionalità dell'Agente IA GOGIES:
    • Node.js: Consente l'uso di tool di build (npm/vite), server di sviluppo e runtime di automazione.
    • Docker: Consente test sicuri e isolati in sandbox.
    • ImageMagick: Permette all'agente di elaborare e convertire immagini.

Installazione

Segui questa procedura per distribuire l'applicazione sul tuo server:

1. Clona il Repository

Clona il codice direttamente nella cartella root del tuo server web:

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

2. Configura i Permessi

I dati e i file di sessione vengono salvati in data/. Concedi i permessi di scrittura all'utente web (solitamente www-data su Ubuntu/Debian):

cd /var/www/html/ide
chmod -R 775 data
chown -R www-data:www-data data
Consiglio per la Sicurezza

Poiché l'IDE permette l'esecuzione di comandi terminale, associa il server a localhost (127.0.0.1) invece di 0.0.0.0 per escludere accessi esterni.

Configurazione

Una volta impostati i permessi delle cartelle, apri il browser sul setup guidato:

http://localhost/ide/install.php

L'installazione guidata guiderà l'utente nei seguenti passaggi:

  1. Verifica dei percorsi: Verifica l'accesso in scrittura alla cartella data.
  2. Account Amministratore: Crea nome utente e password.
  3. Prima Area di Lavoro: Indica il nome e il percorso assoluto alla cartella sul server.

Al termine verrà creato il file config.php e verrai reindirizzato al login.

Gestione Aree di Lavoro

Le aree di lavoro permettono di tenere separati diversi progetti. Puoi creare configurazioni per progetti o clienti differenti.

Usa il selettor in basso a sinistra nell'IDE per passare da un'area di lavoro all'altra. Le cartelle attive verranno ricaricate.

Schermata di gestione aree di lavoro e utenti

Gestione File

L'albero dei file a sinistra permette di gestire le risorse attive:

  • Creazione elementi: Nuovi file e nuove cartelle creano risorse vuote.
  • Azioni veloci: Fai click destro su una risorsa per visualizzare le opzioni:
    • Rename: Rinomina la risorsa.
    • Copy: Crea una copia istantanea.
    • Download: Scarica direttamente.
    • Decompress: Estrai file ZIP sul server.
    • Delete: Elimina risorsa (richiede conferma).

Editor

Basato su Ace Editor. Supporta l'evidenziazione per CSS, JS, HTML, PHP, Markdown, JSON e Python.

I file aperti in modalità di sola lettura nascondono il pulsante di salvataggio.

Interfaccia e impostazioni di Ace Editor

Permessi Utenti

I permessi sono salvati in data/users/users.php. Gli amministratori possiedono l'opzione *, abilitando il controllo completo.

Gli utenti standard possono essere limitati alle sole cartelle che sono state loro assegnate.

Database

Include un pannello SQL per gestire SQLite, MySQL e PostgreSQL direttamente dall'editor.

Console SQL integrata

Database Supportati

I parametri di connessione e le chiavi vengono crittografati sul server.

Esplorazione e Query

  • Visualizzazione Struttura: Analizza tabelle, chiavi e indici.
  • Console SQL Esegui codice query SQL con impaginazione dei risultati.

Backup e Ripristino

Salva il tuo progetto e i dati correlati in file ZIP compressi.

Storico dei backup e ripristini

Backup Completo

Durante la procedura vengono archiviati:

  1. Tutto il codice del progetto attivo.
  2. Le chiavi e credenziali database.
  3. Le strutture e dati SQL.

Il backup viene salvato nella cartella dati sul server.

Ripristino Semplice

Scegli un file ZIP per effettuare il ripristino di file e tabelle database.

Agente IA GOGIES

Lavora in tempo reale con un assistente autonomo.

Console di chat con l'Agente IA

Come Funziona

L'agente esegue azioni intercettando tag XML nella chat.

Fila di Lavoro

Le azioni vengono elaborate asincronamente in background.

Regole Customizzate (agent_rules.md)

Crea regole locali per istruire l'agente sullo stile di codifica.

Modalità di Approvazione

Configura le autorizzazioni di scrittura del codice da parte dell'assistente:

  • Chiedi: Visualizza la notifica di conferma diff.
  • Auto-Approva: Esegui le modifiche di file direttamente.
  • Auto-Rifiuta: Impedisci qualsiasi scrittura.

Integrazione dei Proveditori di IA (Locale e Cloud)

Usa API commerciali cloud o modelli locali offline.

Pannello dei proveditori di IA

1. Configurazione Cloud

Associa le chiavi di accesso corrispondenti:

  • OpenAI: Configura URL e chiave per gpt-4o.
  • Anthropic: Configura URL e chiave per claude-3-5-sonnet-latest.
  • Google Gemini: Configura la connessione per gemini-2.5-flash.

2. Configurazione con Ollama Locale

Esegui modelli offline per mantenere la riservatezza:

  1. Installa Ollama: Ottieni il software ufficiale:
    curl -fsSL https://ollama.com/install.sh | sh
  2. Scarica Modello: Esegui il download via riga di comando e.g. qwen2.5-coder:7b:
    ollama pull qwen2.5-coder:7b
  3. Configura IDE: Configura l'indirizzo dell'API locale http://localhost:11434/v1.

Riferimenti API

Comunica con il sistema tramite chiamate al file api.php.

Azioni Disponibili

  • get_file_content: Restituisce il testo di un file.
    POST api.php?action=get_file_content&path=index.php
  • save_file_content: Salva i dati.
    POST api.php?action=save_file_content
    Body parameters: path=index.php, content=your_code
  • list_files: Ritorna la lista dei file.
    POST api.php?action=list_files&path=assets/css