すべてのプロダクト
Search
ドキュメントセンター

AI Coding Assistant Lingma:クラウド環境

最終更新日:Jun 07, 2026

環境はセッションのコンテナーテンプレートを定義し、オペレーティングシステム、ネットワークポリシー、プリインストールパッケージを指定します。セキュリティ監査用の高度に分離された環境、データサイエンスライブラリがプリインストールされた分析環境、またはネットワークアクセスが無制限の汎用開発環境など、さまざまなユースケースに応じて異なる環境を作成できます。

環境とは

環境は、セッションのインフラストラクチャレイヤーとして機能します。

  • コンテナータイプ:現在、cloud (クラウドホスト型コンテナー) をサポートしています。

  • ネットワークポリシー:コンテナーのアウトバウンドネットワークアクセスを制御します。

  • パッケージ:システム、Python、Node.js のパッケージをプリインストールします。

セッションが開始されるたびに、指定された環境テンプレートに基づいて分離されたインスタンスが作成されます。

フィールド

パラメーター

タイプ

必須

説明

id

文字列

システムが生成する ID で、env_ プレフィックスが付きます。

type

文字列

"environment" に固定されます。

name

文字列

はい

環境の名前。

description

文字列

いいえ

任意の説明。デフォルトは "" です。

config

オブジェクト

はい

環境設定 (タイプ、ネットワーク、パッケージ)。

config.type

文字列

はい

コンテナータイプ。現在は "cloud" に固定されています。

config.networking

オブジェクト

いいえ

ネットワークポリシーを定義します。 type プロパティの値が "unrestricted""limited"、または "allowed_hosts" のいずれかであるオブジェクトを指定する必要があります。

config.packages

オブジェクト

いいえ

プリインストールパッケージの設定。

status

文字列

環境のステータス。常に ready です。

archived

ブール値

環境がアーカイブされているかどうかを示します。デフォルトは false です。

archived_at

string|null

アーカイブのタイムスタンプ (ISO 8601)。アーカイブされていない場合は null です。

created_at

文字列

作成のタイムスタンプ (ISO 8601)。

updated_at

文字列

最終更新のタイムスタンプ (ISO 8601)。

ネットワークポリシー

config.networking フィールドは 3 つのモードをサポートしています。 すべてのモードでオブジェクト形式を使用する必要があります。 "unrestricted" のような文字列のショートハンドはサポートされておらず、400 エラーが発生します。

モード

説明

無制限

{"type": "unrestricted"}

コンテナーは任意の外部アドレスにアクセスできます。

制限付き

{"type": "limited", "allow_package_managers": true}

既知の安全なパブリックサービスとパッケージマネージャーへのアクセスのみを許可します。

許可リスト

{"type": "allowed_hosts", "allowed_hosts": [...]}

指定されたホスト名のリストへのアクセスを制限します。

networking フィールド

パラメーター

タイプ

説明

networking.type

文字列

ネットワークポリシーのタイプ:unrestrictedlimited、または allowed_hosts

networking.allow_package_managers

ブール値

limited モードでパッケージマネージャー (pip、npm、apt など) のアクセスを許可するかどうか。

networking.allowed_hosts

配列

allowed_hosts モードで許可されるホスト名のリスト。

無制限モード

{
  "config": {
    "type": "cloud",
    "networking": {"type": "unrestricted"}
  }
}

依存関係のダウンロードや外部 API へのアクセスが必要な一般的な開発タスクに使用します。

制限付きモード

{
  "config": {
    "type": "cloud",
    "networking": {
      "type": "limited",
      "allow_package_managers": true
    }
  }
}

任意のインターネットアクセスは不要でも、パッケージマネージャー経由で依存関係を取得する必要があるタスクに使用します。

許可リストモード

{
  "config": {
    "type": "cloud",
    "networking": {
      "type": "allowed_hosts",
      "allowed_hosts": [
        "api.github.com",
        "registry.npmjs.org",
        "pypi.org"
      ]
    }
  }
}

到達可能な外部サービスを厳密に制御する必要がある、高度なセキュリティやコンプライアンスのシナリオに使用します。

プリインストールパッケージ

コンテナーの起動時にプリインストールするパッケージを指定するには、config.packages を使用します。

{
  "config": {
    "type": "cloud",
    "networking": {"type": "unrestricted"},
    "packages": {
      "apt": ["git", "build-essential", "libssl-dev"],
      "pip": ["pandas", "numpy", "scikit-learn"],
      "npm": ["typescript", "eslint", "prettier"]
    }
  }
}

パッケージマネージャー

パラメーター

説明

apt

packages.apt

Debian/Ubuntu のシステムパッケージ。

pip

packages.pip

Python パッケージ。

npm

packages.npm

Node.js パッケージ (グローバルにインストールされます)。

パッケージをプリインストールすると、環境の初期化時間が長くなります。必要なものだけを追加し、他のパッケージはセッション中にオンデマンドでインストールしてください。

環境の作成

# データサイエンス専用の環境を作成する
curl -s -X POST https://api.qoder.com.cn/api/v1/cloud/environments \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "data-science",
    "config": {
      "type": "cloud",
      "networking": {"type": "unrestricted"},
      "packages": {
        "apt": ["build-essential"],
        "pip": ["pandas", "numpy", "matplotlib", "scikit-learn", "jupyter"]
      }
    }
  }' | jq .

成功すると、API は 201 Created ステータスを返します。

{
  "id": "env_019e44eb66bb748cabcd1489f6fa4428",
  "type": "environment",
  "name": "data-science",
  "description": "",
  "config": {
    "type": "cloud",
    "networking": {"type": "unrestricted"},
    "packages": {
      "apt": ["build-essential"],
      "pip": ["pandas", "numpy", "matplotlib", "scikit-learn", "jupyter"]
    }
  },
  "status": "ready",
  "archived": false,
  "archived_at": null,
  "created_at": "2026-05-18T10:00:00Z",
  "updated_at": "2026-05-18T10:00:00Z"
}

セキュアな環境の作成

# 内部 API へのアクセスのみを許可するセキュアな環境を作成する
curl -s -X POST https://api.qoder.com.cn/api/v1/cloud/environments \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "secure-internal",
    "config": {
      "type": "cloud",
      "networking": {
        "type": "allowed_hosts",
        "allowed_hosts": ["internal-api.mycompany.com", "git.mycompany.com"]
      },
      "packages": {
        "apt": ["git", "curl"]
      }
    }
  }' | jq .

環境の取得

# すべての環境を一覧表示する
curl -s https://api.qoder.com.cn/api/v1/cloud/environments \
  -H "Authorization: Bearer $QODER_PAT"
# 単一の環境の詳細を取得する
curl -s https://api.qoder.com.cn/api/v1/cloud/environments/env_ds456 \
  -H "Authorization: Bearer $QODER_PAT"

環境の更新

# 既存の環境に新しいパッケージを追加する
curl -s -X PUT https://api.qoder.com.cn/api/v1/cloud/environments/env_ds456 \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "data-science",
    "config": {
      "type": "cloud",
      "networking": {"type": "unrestricted"},
      "packages": {
        "apt": ["build-essential", "libpq-dev"],
        "pip": ["pandas", "numpy", "matplotlib", "scikit-learn", "jupyter", "sqlalchemy"]
      }
    }
  }' | jq .

環境を更新しても、実行中のセッションには影響しません。新しい設定は、更新後に作成されたセッションにのみ適用されます。

環境の削除

# カスタム環境を削除する
curl -s -X DELETE https://api.qoder.com.cn/api/v1/cloud/environments/env_ds456 \
  -H "Authorization: Bearer $QODER_PAT"

アクティブなセッションで使用中の環境がある場合、DELETE リクエストは 409 Conflict エラーとなり、メッセージ "Environment is in use and cannot be deleted" が返されます。これを解決するには、関連するセッションをアーカイブまたは削除します。または、POST /environments/{id}/archive を使用して環境を論理削除することで、この制限を回避できます。

推奨構成

シナリオ

推奨構成

一般的な開発

default 環境を使用します。追加の設定は不要です。

データ分析

pandas/numpy をプリインストールし、無制限のネットワークを使用します。

セキュリティ監査

ネットワークに許可リストを使用し、最小限のパッケージをインストールします。

フロントエンド開発

Node.js エコシステムツールをプリインストールし、npm レジストリへのアクセスを許可します。

CI/CD 統合

Git と Docker CLI をプリインストールし、許可リストモードを使用します。

よくある質問

Q: 環境を作成してから使用できるようになるまで、どのくらい待つ必要がありますか? A: 環境が作成されると、そのステータスはすぐに ready に設定され、直ちにセッションを作成するために使用できます。依存関係のインストールを含む実際のコンテナーの初期化は、セッションの開始時に行われます。 Q: プリインストールするパッケージのバージョンを指定できますか? A: はい、pip と npm パッケージについては、"pandas==2.1.0""typescript@5.0.0" のようにバージョンを指定できます。apt パッケージは、システムのリポジトリからデフォルトのバージョンを使用します。 Q: ネットワーク設定が正しくないためにエージェントの実行に失敗した場合はどうすればよいですか? A: 新しい環境を作成するか、既存の環境を更新してネットワークポリシーを変更し、セッションを再起動してください。 Q: 1 つのアカウントで作成できる環境の最大数はいくつですか? A: ハードリミットはありません。しかし、管理上の問題を避けるため、実際のニーズに基づいて環境を作成することを推奨します。整理のために命名規則を使用することをお勧めします。