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 directoruldata/. - 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
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:
- Validare cale: Detectează automat directorul rădăcină al aplicației și verifică permisiunile de scriere în folderul de date.
- Cont Administrator: Creează-ți numele de utilizator și parola principală de administrator.
- 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.
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.
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.
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.
Copii de siguranță unificate
Când faci clic pe Backup Workspace, GOGIES IDE rulează o rutină pe server pentru a arhiva:
- Toate fișierele de cod sursă și configurările directoarelor din spațiul tău de lucru activ.
- Profilurile tale de conexiune la bazele de date.
- 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.
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ă.
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 pehttps://api.openai.com/v1, model setat pegpt-4o(sau alte modele OpenAI de raționament) și introdu cheia ta API OpenAI. - Anthropic: Furnizor setat pe
anthropic, API URL setat pehttps://api.anthropic.com, model setat peclaude-3-5-sonnet-latestși introdu cheia ta API Anthropic. - Google Gemini: Furnizor setat pe
gemini, API URL setat pehttps://generativelanguage.googleapis.com/v1beta/openai, model setat pegemini-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:
- Instalează Ollama: Rulează scriptul de instalare pe sistemul tău gazdă:
curl -fsSL https://ollama.com/install.sh | sh - Descarcă modelul de codare: Descarcă un model de dezvoltare recomandat precum
qwen2.5-coder:7bsaudeepseek-coder:ollama pull qwen2.5-coder:7b - 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