Systemanforderungen
GOGIES IDE ist extrem leichtgewichtig und schnell. Sie läuft nativ auf Standard-Webservern ohne komplexe Node.js-Runtime-Bindungen auf dem Produktionshost.
- Webserver: Apache, Nginx oder integrierter PHP-Server.
- PHP-Version: PHP 7.4 oder höher (PHP 8.x empfohlen).
- PHP-Erweiterungen:
curl,sqlite3,zipund Schreibzugriff auf den Ordnerdata/. - Client-Browser: Moderner Webbrowser (Chrome, Firefox, Safari, Edge) mit aktiviertem ES6-Javascript.
- Optionale KI-Agent-Abhängigkeiten: Installieren Sie diese auf Ihrem Host-System, um die vollen Funktionen des GOGIES KI-Agenten freizuschalten:
- Node.js: Schaltet Build-Tools (wie npm/vite), Entwicklungsserver und Automatisierungs-Runtimes frei.
- Docker: Ermöglicht sicheres, isoliertes Testen von Code und Diensten in einer Sandbox.
- ImageMagick: Ermöglicht dem Agenten, Bilder für die Web-Performance zu optimieren, zuschneiden und konvertieren.
Installation
Befolgen Sie diese Schritte, um GOGIES IDE in Ihrer selbstgehosteten Serverumgebung bereitzustellen:
1. Codebase klonen
Klonen Sie das Repository direkt in das öffentliche Dokumentenverzeichnis Ihres Webservers:
git clone https://github.com/alhelalat/GOGIES-AI-IDE.git /var/www/html/ide
2. Verzeichnisberechtigungen konfigurieren
Die IDE schreibt Sitzungsverläufe, Einstellungen, Datenbankbackups und Konfigurationsdateien im Verzeichnis data/. Gewähren Sie dem Webserver-Benutzer Schreibrechte (normalerweise www-data unter Ubuntu/Debian):
cd /var/www/html/ide
chmod -R 775 data
chown -R www-data:www-data data
Da die IDE autorisierten Benutzern Terminalausführungsfunktionen bietet, sollten Sie Ihren Webserver an localhost (127.0.0.1) statt an 0.0.0.0 binden, um externen Zugriff aus Ihrem lokalen Netzwerk zu verhindern.
Ersteinrichtung
Sobald die Verzeichnisse konfiguriert sind, öffnen Sie Ihren Webbrowser und navigieren Sie zum integrierten Installer:
http://localhost/ide/install.php
Der Installationsassistent führt Sie durch die folgenden Konfigurationsschritte:
- Pfadvalidierung: Erkennt automatisch Ihr Stammverzeichnis und überprüft die Schreibberechtigungen im Datenordner.
- Admin-Konto: Erstellen Sie Ihren primären Administrator-Benutzernamen und Ihr Passwort.
- Erster Arbeitsbereich: Erstellen Sie Ihren ersten Arbeitsbereich. Sie müssen einen Namen und den absoluten Pfad zu einem Ordner auf Ihrem Server angeben, in dem Sie codieren möchten.
Nach Abschluss generiert der Installer die Datei config.php und Sie werden zum Login-Panel weitergeleitet.
Arbeitsbereichsverwaltung
Arbeitsbereiche ermöglichen es Ihnen, verschiedene Code-Verzeichnisse zu trennen. Sie können beispielsweise separate Arbeitsbereiche für verschiedene Kundenprojekte oder Microservices erstellen.
Verwenden Sie das Dropdown-Menü in der linken unteren Ecke des IDE-Einstellungsbereichs, um zwischen aktiven Arbeitsbereichen zu wechseln. Dadurch werden Ihre aktiven Arbeitsbereichspfade in der Sitzung geändert und der Dateibrowserbaum wird automatisch neu geladen.
Dateiverwaltung
Der Dateibrowser auf der linken Seite des IDE-Panels ermöglicht die direkte Interaktion mit der Dateistruktur des aktiven Arbeitsbereichs:
- Neue Dateien/Verzeichnisse: Klicken Sie oben im Browserbaum auf die Schaltflächen für neue Datei oder neuen Ordner, um leere Ressourcen zu erstellen.
- Aktionen des Kontextmenüs: Klicken Sie mit der rechten Maustaste auf eine Datei oder einen Ordner im Baum, um Kontextaktionen auszulösen:
Rename:Ausgewählte Ressource umbenennen.Copy:Sofortige Kopie im aktuellen Ordner erstellen.Download:Dateien direkt aus dem Browser herunterladen.Decompress:ZIP-Archive direkt auf dem Server entpacken.Delete:Dateien und Ordner rekursiv löschen (erfordert Bestätigung).
Code-Editor
Das Kern-Editiererlebnis basiert auf Ace Editor. Es bietet Syntax-Hervorhebung für CSS, JS, HTML, PHP, Markdown, JSON und Python.
Dateien, die schreibgeschützt sind oder aus nicht editierbaren Verzeichnissen geöffnet wurden, werden automatisch im Schreibgeschützten Modus geladen. Die Schaltfläche Speichern ist für diese ausgeblendet.
Benutzerberechtigungen
Benutzer und Berechtigungen werden im Array data/users/users.php gespeichert. Ein Administrator hat das Recht *, das die volle Kontrolle über Dateien, Terminalbefehle und das Benutzermanagement gewährt.
Standard-Entwicklerkonten können auf bestimmte Arbeitsbereichsberechtigungen beschränkt werden, um sicherzustellen, dass sie Konfigurationsdateien nicht lesen oder auf nicht zugewiesene Arbeitsbereiche zugreifen können.
Datenbankmanager
GOGIES IDE enthält einen vollständig integrierten, webbasierten Datenbankmanager, mit dem Sie physische Datenbanken direkt neben Ihrem Code untersuchen und ändern können.
Unterstützte Datenbanken
Der Datenbankmanager unterstützt SQLite-, MySQL- und PostgreSQL-Verbindungsprofile. Zugangsdaten werden sicher auf dem Server gespeichert.
Inspektion und Abfragen
- Tabelleninspektor: Durchsuchen Sie Schemastrukturen, Tabellendefinitionen, Indizes und Primärschlüsseleinstellungen.
- Interaktive SQL-Konsole: Schreiben und führen Sie SQL-Abfragen direkt aus, mit formatierten Datenrastern und Paginierungssteuerungen.
Arbeitsbereich-Backup & Wiederherstellung
Die IDE bietet Backup- und Wiederherstellungsaktionen, um Ihre Fortschritte und Datenbankzustände zu sichern.
Einheitliche Arbeitsbereich-Backups
Wenn Sie auf Arbeitsbereich sichern klicken, führt GOGIES IDE eine Routine aus, um Folgendes zu archivieren:
- Alle Quellcodedateien und Konfigurationen in Ihrem aktiven Arbeitsbereich.
- Ihre Datenbankverbindungsprofile.
- Physische SQLite-Datenbanken und aktive MySQL/PostgreSQL-Strukturen und -Einträge (exportiert als SQL-Dump-Dateien).
Die Ergebnisse werden in einem komprimierten ZIP-Archiv im Datenverzeichnis gespeichert.
Einfache Wiederherstellung
Um das System zurückzusetzen, wählen Sie ein Backup und klicken Sie auf Wiederherstellen. GOGIES IDE entpackt die Dateien und stellt die Datenbanken über PDO-Transaktionen im vorherigen Zustand wieder her.
GOGIES KI-Agent
GOGIES IDE enthält einen vollständig integrierten **autonomen KI-Codierungsagenten**, der mit Ihnen im Arbeitsbereich zusammenarbeitet.
Wie es funktioniert
Dem Agenten wird Zugriff auf Tools gewährt, die durch XML-Tags dargestellt werden. Wenn das Modell diese ausgibt, fängt die IDE sie ab, führt sie aus und sendet die Ergebnisse zurück.
Sequenzielle Ausführung mehrerer Aktionen
Wenn die KI mehrere Tools generiert, führt die IDE diese nacheinander über eine asynchrone Warteschlange aus und bündelt die Ergebnisse.
Benutzerdefinierte Regeln (agent_rules.md)
Sie können projektspezifische Verhaltensregeln für den Agenten definieren. Erstellen Sie eine Datei namens agent_rules.md im Stammverzeichnis Ihres Arbeitsbereichs.
Genehmigungsmodi
Im KI-Einstellungsmenü können Sie die Autorisierung konfigurieren:
- Fragen (Standard): Die IDE zeigt Genehmigungskarten an. Die Ausführung erfolgt erst nach Bestätigung.
- Auto-Genehmigung: Führt Befehle und Dateiänderungen direkt aus.
- Auto-Ablehnung: Blockiert alle Aktionen.
KI-Anbieterintegration (Lokal & Cloud)
GOGIES IDE unterstützt eine Vielzahl von KI-Modellkonfigurationen, sodass Sie nahtlos wechseln können.
1. Setup für Cloud-KI-Anbieter
Verbinden Sie den Assistenten über den Einstellungsbereich mit Cloud-APIs:
- OpenAI: Anbieter auf
openai, API-URL aufhttps://api.openai.com/v1, Modell aufgpt-4osetzen und Key eingeben. - Anthropic: Anbieter auf
anthropic, API-URL aufhttps://api.anthropic.com, Modell aufclaude-3-5-sonnet-latestsetzen und Key eingeben. - Google Gemini: Anbieter auf
gemini, API-URL aufhttps://generativelanguage.googleapis.com/v1beta/openai, Modell aufgemini-2.5-flashsetzen und Key eingeben.
2. Setup für lokalen LLM-Anbieter (Ollama)
Für vollständig private Entwicklung können Sie Ollama nutzen:
- Ollama installieren: Führen Sie das Skript auf Ihrem System aus:
curl -fsSL https://ollama.com/install.sh | sh - Entwicklungsmodell herunterladen: Pull z. B.
qwen2.5-coder:7b:ollama pull qwen2.5-coder:7b - GOGIES IDE konfigurieren: Wählen Sie die Vorlage für das lokale Ollama und überprüfen Sie die Verbindung zu
http://localhost:11434/v1.
API-Referenz
Interagieren Sie programmgesteuert über POST-Anfragen an api.php mit dem Backend.
Verfügbare Aktionen
- get_file_content: Holt den Quellcode einer Datei.
POST api.php?action=get_file_content&path=index.php - save_file_content: Speichert Quellcode in einen Pfad.
POST api.php?action=save_file_content Body parameters: path=index.php, content=your_code - list_files: Listet Dateien und Ordner auf.
POST api.php?action=list_files&path=assets/css