Skip to main content
エディター

ターミナルとサンドボックス

コマンドの実行

Editor には統合ターミナルがあり、Agent モードからもターミナルツールでビルドやテストを実行できます。 手動で実行する場合は、コマンドパレットで Terminal: Create New Terminal を選択し、作業ディレクトリを確認してからコマンドを入力します。Agent の会話ではコマンドカードと作業ディレクトリを確認し、表示された操作で実行またはキャンセルします。

実行設定

Qoder IDE 設定 → チャット → 自動実行 → ターミナル で実行方針とコマンド一覧を確認します。「毎回確認」では確認が必要です。自動実行の動作は設定によって異なります。 実行時の問題はターミナル実行のトラブルシューティングを参照してください。

サンドボックス

サンドボックスは Experts モードで使用される隔離された実行環境です。潜在的に危険なコマンドの実行時にファイルシステムへのアクセスを制限し、システムファイルへの意図しない変更を抑えます。

プラットフォーム要件

  • macOS: 追加の設定なしでそのまま使用できます。システムに組み込まれた Seatbelt フレームワークに基づくカーネルレベルの隔離を実装しています。
  • Windows: IDE とともに配布される独自のサンドボックスエンジンによって実装されています。Windows 7 以降のすべてのバージョンをサポートします。WSL やその他の依存関係をインストールすることなく、ネイティブの Windows ターミナルで直接動作します。
  • Linux: bubblewrap(bwrap)のインストールが必要です。カーネルの user namespace に基づいて軽量な隔離環境を構築します。初回使用時に bwrap が未インストールの場合、Qoder IDE はプロンプトを表示し、ワンクリックインストール(apt / dnf / yum / pacman / zypper を自動検出)を案内します。インストールしない場合、サンドボックスなしの実行にダウングレードされ、プロンプトが表示されます。

サンドボックスの動作方式

サンドボックスは、ワークスペースの操作を許可しつつ、不正なアクセスをブロックします:
  • ファイルシステム: ワークスペースディレクトリは書き込み可能で、その他のディレクトリは読み取り専用です。~/.ssh などの機密パスは、サンドボックス内のプロセスからは見えません。

サンドボックスのエスカレーションワークフロー

Experts モードでコマンドがサンドボックスで実行された場合、以下の事象が発生する可能性があります:
  1. コマンドがサンドボックスで実行され、失敗する。
  2. AI が失敗の原因を分析し、サンドボックスの制限によるものか判断する。
  3. サンドボックスの制限が原因である場合、AI は権限の昇格を要求する。
  4. Qoder IDE が一時停止し、承認するかどうかを尋ねる。
  5. 承認後、コマンドはターミナルで直接実行される(サンドボックスの制限なし)。
コマンドをキャンセルして Agent に別のアプローチを試させるか、サンドボックスの制限なしにターミナルでコマンドを再実行するかを選択できます。

注意事項

  • ドメインレベルのネットワークフィルタリング: 現在のネットワーク制御は粗いオン/オフのモードです。
  • Linux コンテナ環境: Docker などのコンテナ内で Qoder IDE を使用する場合、サンドボックスの隔離機能は制限され、現在はファイルシステムとネットワークの隔離のみとなります。
  • Windows サンドボックスはユーザーモードメカニズム: 誤った書き込みや意図しない外部接続を防ぐことを目的としており、敵対的な攻撃(例:プロセスがすでに昇格された権限を取得している場合など)を完全に防ぐことはできません。
  • シェルテーマの互換性: 一部のシェルテーマ(Powerlevel9k/Powerlevel10k など)は、ターミナル出力に干渉する場合があります。コマンドの出力が途切れたり文字化けしたりする場合は、Agent 実行中はテーマを無効にするか、よりシンプルなプロンプトに切り替えることをお勧めします。