Cerințe de sistem

GOGIES IDE este optimizat pentru a fi extrem de ușor și rapid. Rulează nativ pe servere web standard fără runtime-uri complexe Node.js pe gazda de producție.

  • Server Web: Apache, Nginx sau serverul PHP integrat.
  • Versiune PHP: PHP 7.4 sau mai mare (recomandat PHP 8.x).
  • Extensii PHP: curl, sqlite3, zip și permisiuni de scriere pentru directorul data/.
  • Browser Client: Browser web modern (Chrome, Firefox, Safari, Edge) cu Javascript ES6 activat.
  • Dependențe opționale pentru Agentul IA: Instalează aceste componente pe sistemul gazdă pentru a debloca toate capabilitățile Agentului IA GOGIES:
    • Node.js: Deblochează instrumente de build (cum ar fi npm/vite), servere de dezvoltare și runtime-uri de automatizare.
    • Docker: Permite testarea sigură și izolată a codului și serviciilor în sandbox.
    • ImageMagick: Permite agentului să optimizeze, să decupeze și să convertească imagini pentru performanța web.

Instalare

Urmează acești pași pentru a desfășura GOGIES IDE pe serverul tău găzduit local:

1. Clonează codul sursă

Clonează depozitul direct în folderul public al serverului tău web:

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

2. Configurează permisiunile directoarelor

IDE-ul scrie istoricul sesiunilor, setările, arhivele de baze de date și configurațiile în interiorul directorului data/. Acordă drepturi de scriere utilizatorului serverului web (de obicei www-data pe Ubuntu/Debian):

cd /var/www/html/ide
chmod -R 775 data
chown -R www-data:www-data data
Sfat de securitate locală

Deoarece IDE-ul oferă capabilități de execuție a terminalului utilizatorilor autorizați, ar trebui să legi serverul web de localhost (127.0.0.1) în loc de 0.0.0.0 pentru a preveni accesul extern de la alte mașini din rețeaua locală.

Configurare inițială

Odată ce directoarele sunt configurate, deschide browserul web și navighează la instalatorul integrat:

http://localhost/ide/install.php

Asistentul de instalare te va ghida prin următoarele configurări:

  1. Validare cale: Detectează automat directorul rădăcină al aplicației și verifică permisiunile de scriere în folderul de date.
  2. Cont Administrator: Creează-ți numele de utilizator și parola principală de administrator.
  3. Primul spațiu de lucru: Creează primul tău spațiu de lucru. Trebuie să specifici un nume și calea absolută către un folder de pe serverul tău în care dorești să programezi.

După finalizare, instalatorul generează fișierul config.php și vei fi redirecționat către panoul de autentificare.

Managementul spațiilor de lucru

Spațiile de lucru îți permit să compartimentezi diferite directoare de cod. De exemplu, poți crea spații de lucru separate pentru proiecte de clienți sau microservicii diferite.

Pentru a comuta între spațiile de lucru active, utilizează selectorul situat în panoul de setări din stânga jos al IDE-ului. Aceasta modifică calea spațiului de lucru activ în sesiunea curentă și reîncarcă automat structura de fișiere.

Ecran de management al spațiilor de lucru și al utilizatorilor

Management fișiere

Structura de fișiere din partea stângă a panoului IDE îți permite să interacționezi direct cu directoarele spațiului de lucru activ:

  • Fișiere/Directoare noi: Fă clic pe butoanele de fișier nou sau folder nou din partea de sus a structurii pentru a crea resurse goale.
  • Acțiuni din meniul contextual: Fă clic dreapta pe orice fișier sau director din structură pentru a declanșa acțiuni contextuale:
    • Rename: Redenumește resursa selectată.
    • Copy: Creează o copie instantanee în folderul curent.
    • Download: Descarcă fișiere direct din browser.
    • Decompress: Decomprimă arhivele zip direct pe server.
    • Delete: Șterge recursiv fișierele și folderele (necesită confirmare din partea utilizatorului).

Editor de cod

Experiența principală de editare este construită pe Ace Editor. Dispune de evidențiere de sintaxă pentru CSS, JS, HTML, PHP, Markdown, JSON și Python.

Fișierele care sunt protejate la scriere sau deschise din locații needitabile se încarcă automat în Modul Read-Only (marcat cu o insignă). Butonul de salvare este ascuns pentru fișierele Read-Only pentru a preveni erorile de scriere.

Interfața și setările Ace Editor

Permisiuni utilizatori

Utilizatorii și permisiunile sunt salvate în tabloul data/users/users.php. Un administrator are permisiunea *, care oferă control deplin pentru a citi și scrie fișiere, a executa comenzi în terminal și a accesa consola de administrare a utilizatorilor.

Conturile de dezvoltatori standard pot fi restricționate la permisiuni specifice ale spațiului de lucru, asigurând că nu pot citi fișierele de configurare sau accesa directoarele spațiilor de lucru care nu le sunt atribuite.

Manager de baze de date

GOGIES IDE include un manager de baze de date integrat web, care îți permite să inspectezi și să modifici baze de date fizice direct alături de codul tău.

Consola de administrare a bazelor de date integrată

Baze de date suportate

Managerul de baze de date acceptă profile de conexiune SQLite, MySQL și PostgreSQL. Datele de conexiune ale bazei de date sunt stocate în siguranță pe server.

Inspecție și Interogări

  • Inspector de tabele: Explorează structurile de scheme, definițiile de tabele, indicii și configurările cheilor primare.
  • Consolă SQL interactivă: Scrie și execută interogări SQL direct în browser, afișând grile de date formatate și controale de paginare.

Copie de siguranță și restaurare spațiu de lucru

IDE-ul oferă acțiuni de copie de siguranță și restaurare de înaltă fidelitate pentru a securiza progresul dezvoltării și stările bazei de date.

Panoul de istoric de backup și restaurare

Copii de siguranță unificate

Când faci clic pe Backup Workspace, GOGIES IDE rulează o rutină pe server pentru a arhiva:

  1. Toate fișierele de cod sursă și configurările directoarelor din spațiul tău de lucru activ.
  2. Profilurile tale de conexiune la bazele de date.
  3. Bazele de date SQLite fizice și structurile de tabele MySQL/PostgreSQL active împreună cu înregistrările lor (exportate ca fișiere SQL dump).

Rezultatele sunt împachetate într-o singură arhivă ZIP foarte comprimată, stocată în directorul de date pentru o descărcare ușoară.

Restaurare simplă

Pentru a restaura sistemul, alege pur și simplu o copie de siguranță din istoricul de backup și fă clic pe Restore. GOGIES IDE va extrage fișierele spațiului de lucru și va rula automat structura tabelelor și inserțiile de date în blocuri tranzacționale (folosind tranzacții PDO) pentru a restaura bazele de date la starea lor anterioară exactă.

Agent IA GOGIES

GOGIES IDE include un **Agent autonom de codare cu IA** complet integrat, care colaborează cu tine în cadrul spațiului de lucru.

Consola de chat și istoricul agentului autonom de IA

Cum funcționează

Agentului i se oferă acces la instrumente reprezentate prin etichete XML. Când modelul generează aceste etichete în textul conversațional, IDE-ul le interceptează, le procesează și le execută, trimițând automat rezultatul înapoi la model.

Execuție secvențială a mai multor acțiuni

Dacă IA generează mai multe instrumente (de exemplu, rularea unei comenzi și crearea mai multor fișiere), IDE-ul le execută secvențial folosind o coadă asincronă. Rezultatele sunt agregate și trimise înapoi la model într-un singur răspuns unificat, menținând execuția curată și eficientă.

Reguli personalizate (agent_rules.md)

Poți defini reguli de comportament specifice proiectului pentru agent. Pur și simplu creează un fișier numit agent_rules.md în rădăcina spațiului tău de lucru. IDE-ul va citi automat acest fișier și va adăuga conținutul său la promptul sistemului, ghidând agentul să urmeze regulile de codare ale proiectului tău.

Moduri de aprobare

În meniul de setări IA din partea de jos, poți configura modul în care IDE-ul autorizează operațiunile de scriere și execuția comenzilor:

  • Întreabă (Implicit): IDE-ul afișează carduri de aprobare cu previzualizări diff și controale de așteptare. Instrumentul rulează doar dacă faci clic pe "Aprobă".
  • Auto-Aprobare: Execută instantaneu comenzile din terminal și modificările de fișiere pentru fluxuri de lucru autonome mai rapide.
  • Auto-Respingere: Blochează toate acțiunile de scriere și comenzile.

Integrarea furnizorilor de IA (Local și Cloud)

GOGIES IDE acceptă o mare varietate de configurații de modele IA, permițându-ți să comuți fără probleme între runtime-uri locale offline și API-uri comerciale cloud puternice, în funcție de fluxul de lucru și confidențialitatea dorită.

Configurarea setărilor agentului IA și ale furnizorului

1. Configurare furnizor IA în cloud

Poți conecta asistentul de codare la principalele API-uri comerciale de IA prin introducerea credențialelor în panoul de setări IA:

  • OpenAI: Furnizor setat pe openai, API URL setat pe https://api.openai.com/v1, model setat pe gpt-4o (sau alte modele OpenAI de raționament) și introdu cheia ta API OpenAI.
  • Anthropic: Furnizor setat pe anthropic, API URL setat pe https://api.anthropic.com, model setat pe claude-3-5-sonnet-latest și introdu cheia ta API Anthropic.
  • Google Gemini: Furnizor setat pe gemini, API URL setat pe https://generativelanguage.googleapis.com/v1beta/openai, model setat pe gemini-2.5-flash și introdu cheia ta API Google AI Studio.

2. Configurare furnizor local LLM (Ollama)

Pentru dezvoltare complet privată și offline, poți rula LLM-uri local folosind Ollama:

  1. Instalează Ollama: Rulează scriptul de instalare pe sistemul tău gazdă:
    curl -fsSL https://ollama.com/install.sh | sh
  2. Descarcă modelul de codare: Descarcă un model de dezvoltare recomandat precum qwen2.5-coder:7b sau deepseek-coder:
    ollama pull qwen2.5-coder:7b
  3. Configurează GOGIES IDE: În meniul de setări IA, selectează șablonul local Ollama, verifică dacă URL-ul API indică spre http://localhost:11434/v1 și potrivește numele modelului cu eticheta descărcată (de exemplu, qwen2.5-coder:7b). Lasă câmpul API Key gol.

Referință API

Poți interacționa cu backend-ul IDE-ului în mod programatic trimitând solicitări POST către fișierul api.php. Toate solicitările trebuie să conțină cookie-ul de sesiune pentru autentificare.

Acțiuni disponibile

  • get_file_content: Obține textul sursă al unui fișier.
    POST api.php?action=get_file_content&path=index.php
  • save_file_content: Salvează textul sursă într-o cale.
    POST api.php?action=save_file_content
    Body parameters: path=index.php, content=your_code
  • list_files: Returnează fișierele și folderele dintr-o cale.
    POST api.php?action=list_files&path=assets/css