시스템 요구 사양
GOGIES IDE는 매우 가볍고 신속하게 동작하도록 최적화되어 있습니다. 복잡한 런타임 빌드 없이 표준 웹 서버 환경에서 직접 구동할 수 있습니다.
- 웹 서버: Apache, Nginx 또는 PHP 내장 서버.
- PHP 버전: PHP 7.4 이상 (PHP 8.x 권장).
- PHP 확장 기능:
curl,sqlite3,zip및data/폴더의 쓰기 권한. - 클라이언트 브라우저: ES6 Javascript가 활성화된 최신 웹 브라우저.
- 선택적 AI 에이전트 종속성: 에이전트 기능을 활성화하려면 아래 패키지를 설치해 주세요:
- Node.js: 빌드 도구(npm/vite) 및 자동화 실행을 제공합니다.
- Docker: 샌드박스 내부에서 안전하게 실행 테스트를 수행할 수 있게 합니다.
- ImageMagick: 이미지 변환 및 성능 최적화를 제공합니다.
설치 안내
시스템에 GOGIES IDE를 설치하려면 다음 단계를 수행해 주세요.
1. 소스 코드 가져오기
서버의 공개 웹 루트 폴더에 직접 리포지토리를 복제합니다.
git clone https://github.com/alhelalat/GOGIES-AI-IDE.git /var/www/html/ide
2. 폴더 쓰기 권한 설정
세션 및 설정 데이터는 data/ 폴더에 기록됩니다. 웹 서버 실행 권한(일반적으로 www-data)에 쓰기 권한을 부여해 주세요.
cd /var/www/html/ide
chmod -R 775 data
chown -R www-data:www-data data
IDE 내부에서 터미널 명령어 실행이 가능하므로, 외부망 접근을 원천적으로 차단하기 위해 웹 서버 바인딩 주소를 localhost (127.0.0.1) 주소로 지정할 것을 적극 권장합니다.
초기 설정
폴더 권한 구성이 완료되면 설치 페이지를 실행합니다.
http://localhost/ide/install.php
설치 마법사가 다음과 같이 단계별 설정을 도와줍니다.
- 경로 확인: 설치 폴더의 쓰기 권한을 자동으로 스캔하여 확인합니다.
- 관리자 계정 구성: 최고 관리자용 이름과 비밀번호를 정의합니다.
- 첫 작업 공간: 서버 내에서 편집 대상이 될 실제 절대 경로 및 이름을 제공합니다.
설치가 완료되면 config.php가 생성되고 로그인 화면으로 전환됩니다.
작업 공간 관리
여러 프로젝트 폴더를 작업 공간으로 분류하여 손쉽게 관리할 수 있습니다.
좌측 하단의 메뉴를 통해 즉시 다른 프로젝트 폴더로 세션을 변경하여 파일 브라우저를 갱신할 수 있습니다.
파일 관리
좌측 파일 탐색기 트리를 활용하여 다음과 같은 동작을 손쉽게 수행할 수 있습니다.
- 리소스 신규 생성: 새 파일 및 새 폴더 생성이 가능합니다.
- 우클릭 동작: 마우스 우클릭을 통해 파일 속성을 바로 정의할 수 있습니다.
Rename:이름 변경.Copy:복제본 생성.Download:바로 다운로드.Decompress:ZIP 아카이브의 서버 내 직접 압축 해제.Delete:파일 제거 (확인 팝업 노출).
코드 에디터
주요 에디터 동작은 Ace Editor를 기반으로 구동됩니다. CSS, JS, HTML, PHP, Markdown, JSON, Python 등의 하이라이팅을 지원합니다.
읽기 전용 모드로 로드된 파일은 저장 버튼이 비활성화됩니다.
사용자 권한
회원 계정은 data/users/users.php에 저장됩니다. 관리자는 * 권한을 획득하여 모든 영역에 액세스할 수 있습니다.
일반 개발자는 할당되지 않은 작업 공간 폴더에 접근하는 것을 제한할 수 있습니다.
데이터베이스
웹에서 SQLite, MySQL, PostgreSQL 구조 검증 및 SQL 구문 실행을 지원합니다.
지원되는 데이터베이스
접속 계정 정보는 서버 내에 안전하게 보관됩니다.
스키마 검사 및 쿼리
- 구조 확인: 테이블 레이아웃, 인덱스, 기본키의 정보 노출.
- SQL 콘솔: 임의의 쿼리 결과 검토 및 페이징 스크롤 제공.
백업 및 복구
코드 소스와 연동 데이터베이스 레코드를 한 번에 ZIP 아카이브로 내보내거나 가져올 수 있습니다.
통합 백업
백업 실행 시 보존되는 항목:
- 활성 프로젝트의 전체 소스 코드.
- 연결 프로필 계정 정보.
- 트랜잭션을 활용한 데이터베이스 레코드.
아카이브는 서버의 데이터 저장소에 보존됩니다.
쉬운 복구
이력 리스트에서 ZIP 파일을 선택하여 복구를 트리거합니다.
AI 에이전트
AI 코딩 도구와 페어 프로그래밍을 수행합니다.
동작 원리
에이전트가 제공하는 XML 테그 신호를 파싱하여 자동으로 작업을 처리합니다.
비동기 큐
요청들은 백그라운드에서 순차적으로 안전하게 처리됩니다.
규칙 파일 구성 (agent_rules.md)
프로젝트용 규칙을 마크다운 파일로 구성하여 프로젝트 루트 폴더에 구성해 두세요.
승인 방식
에이전트가 코드를 쓰거나 수정하는 권한의 승인 범위를 조절합니다:
- 확인: 변경 부분(diff)을 화면에 표시하고 승인 확인을 요구합니다.
- 자동 승인: 승인 절차 없이 즉시 코드를 변경합니다.
- 기능 제한: AI에 의한 코드 쓰기 동작을 원천 차단합니다.
AI 모델 연동
클라우드 서비스 또는 오프라인 환경을 위한 로컬 LLM을 선택하여 구동할 수 있습니다.
1. 클라우드 연결 설정
각 API 키를 저장합니다:
- OpenAI:
gpt-4o등의 연결 키 설정. - Anthropic:
claude-3-5-sonnet-latest등의 연결 키 설정. - Google Gemini:
gemini-2.5-flash등의 연결 키 설정.
2. 로컬 Ollama 설정
외부 인터넷망을 쓰지 않고 오프라인 상태로 로컬 모델을 구동합니다:
- Ollama 설치: 공식 소프트웨어 다운로드:
curl -fsSL https://ollama.com/install.sh | sh - 모델 다운로드: 명령어를 통해 모델 파일을 취득합니다. 예:
qwen2.5-coder:7b:ollama pull qwen2.5-coder:7b - IDE 연동: 로컬 API 주소
http://localhost:11434/v1를 저장합니다.
API 레퍼런스
api.php를 거쳐 통신 처리가 완료됩니다.
제공 API
- get_file_content: 파일 내용을 가져옵니다.
POST api.php?action=get_file_content&path=index.php - save_file_content: 코드를 보존합니다.
POST api.php?action=save_file_content Body parameters: path=index.php, content=your_code - list_files: 리소스를 탐색합니다.
POST api.php?action=list_files&path=assets/css