動作環境

GOGIES IDE は非常に軽量かつ高速に動作するように最適化されています。Node.js などの複雑な環境を必要とせず、標準的な Web サーバー上でネイティブに動作します。

  • Webサーバー: Apache、Nginx、または内蔵 PHP サーバー。
  • PHPバージョン: PHP 7.4 以上(PHP 8.x 推奨)。
  • PHP拡張機能: curlsqlite3zip、および data/ フォルダへの書き込み権限。
  • クライアントブラウザ: ES6 Javascript が有効なモダンブラウザ(Chrome、Firefox、Safari、Edge)。
  • オプション(AIエージェント機能用依存関係): ホストシステムに以下をインストールすると、GOGIES AI エージェントのすべての機能が有効になります。
    • Node.js: ビルdツール(npm/viteなど)や開発サーバー、自動化を実行するために必要です。
    • Docker: サンドボックス内での安全で隔離されたコード実行とテストを可能にします。
    • ImageMagick: エージェントによる画像最適化、切り抜き、変換機能を提供します。

インストール

自ホスト環境に GOGIES IDE を導入するには、以下の手順に従ってください。

1. コードの取得(クローン)

Web サーバーの公開ドキュメントルートに直接クローンします。

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

2. ディレクトリ権限の設定

セッション履歴、設定、バックアップ等は data/ ディレクトリに書き込まれます。Web サーバー実行ユーザー(通常は Ubuntu/Debian では www-data)に書き込み権限を付与してください。

cd /var/www/html/ide
chmod -R 775 data
chown -R www-data:www-data data
セキュリティに関するアドバイス

この IDE はターミナル実行機能を有するため、外部ネットワークからの不正アクセスを防ぐため、Web サーバーを 0.0.0.0 ではなく localhost (127.0.0.1) にバインドして運用することを強く推奨します。

初期設定

フォルダの権限設定が完了したら、ブラウザでセットアップ画面を開きます。

http://localhost/ide/install.php

セットアップウィザードが以下の設定手順を案内します。

  1. パスの確認: システムフォルダの書き込み権限が正しく設定されているか自動的に確認します。
  2. 管理者アカウントの作成: 管理用のユーザー名とパスワードを決定します。
  3. 最初のワークスペースの作成: 開発対象となるサーバー上のフォルダパスと名前を入力します。

完了すると config.php が生成され、ログイン画面へ移動します。

ワークスペース管理

複数のプロジェクトやサービスを個別のワークスペースとして管理し、切り替えて使用することができます。

左下のメニューから瞬時に有効なワークスペースを変更可能です。パス設定が動的に更新され、ファイルツリーが再読込されます。

ワークスペースおよびユーザー管理画面

ファイル管理

左側のファイルツリーを使用して以下の操作が直感的に行えます。

  • 新規作成: 新規ファイル、フォルダの作成が可能です。
  • 右クリックメニュー: 対象のファイルを右クリックしてアクションを実行します。
    • Rename: 名前の変更。
    • Copy: コピーファイルの作成。
    • Download: 直接ダウンロード。
    • Decompress: サーバー上でのZIP解凍。
    • Delete: ファイルの削除(確認画面を表示)。

エディタ

主要なコード編集には Ace Editor が採用されています。CSS、JS、HTML、PHP、Markdown、JSON、Python などの構文ハイライトに対応しています。

読み取り専用モードで開かれたファイルは、編集および保存ボタンが無効化されます。

Ace Editor の設定画面

ユーザー権限

ユーザー権限設定は data/users/users.php に保存されます。管理者には * の権限が付与され、すべての機能へのアクセスが許可されます。

一般のコーダーは、指定されたワークスペース以外へのアクセスが制限されます。

データベース

SQLite、MySQL、PostgreSQL データベースのテーブル構成の確認やクエリ実行を行えます。

統合データベース管理コンソール

対応データベース

接続プロファイル情報は暗号化され、サーバー上に安全に保管されます。

テーブル確認と操作

  • 構造確認: テーブル構造、インデックス、キーの確認。
  • SQL実行コンソール: 任意のSQL実行と結果の表示。

バックアップと復元

コードとデータベース情報をまとめてZIP形式でエクスポート・インポート可能です。

バックアップと復元履歴画面

一元化バックアップ

実行時にバックアップされる内容:

  1. ワークスペース内の全ソースコード。
  2. データベース接続設定。
  3. PDOトランザクションを利用したデータベースのレコード情報。

バックアップはサーバーのデータフォルダに格納されます。

簡単な復元

履歴一覧からZIPを選択して復元を実行します。

GOGIES AI エージェント

AIとのペアコーディング機能を提供します。

AIチャット画面

仕組み

チャット中のXMLタグ情報を元に、AIが指示を実行します。

非同期処理

処理はバックグラウンドで非同期に実行され、進捗が表示されます。

個別ルールの設定 (agent_rules.md)

プロジェクト用のルールをマークダウンファイルとしてルートに配置できます。

実行モード

AIによる書き込みや実行権限の設定:

  • 確認(推奨): 変更履歴(diff)を表示し、実行確認を求めます。
  • 自動実行: 確認を行わずに即時実行します。
  • 無効化: AIによる書き込みを禁止します。

AIプロバイダとの統合

クラウドの商業APIまたはローカルLLMを選択可能です。

プロバイダ設定画面

1. クラウドAPIの設定

各APIキーを設定します:

  • OpenAI: gpt-4o などのAPIキーを設定。
  • Anthropic: claude-3-5-sonnet-latest などのAPIキーを設定。
  • Google Gemini: gemini-2.5-flash などのAPIキーを設定。

2. ローカル Ollama の設定

ネットワーク不要のローカルモデルで実行します:

  1. Ollamaの準備: 公式クライアントを用意します:
    curl -fsSL https://ollama.com/install.sh | sh
  2. モデル取得: コマンドでモデルをダウンロードします。例: qwen2.5-coder:7b:
    ollama pull qwen2.5-coder:7b
  3. IDE設定: ローカルAPIアドレス(通常は http://localhost:11434/v1)を設定します。

APIリファレンス

api.php 経由でシステムと通信を行います。

対応アクション

  • 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