SGLang

SGLang は OpenAI 互換 の HTTP API でオープンソースモデルを提供できます。OpenClaw は openai-completions API を使って SGLang に接続します。

SGLANG_API_KEY(サーバーが認証を要求しない場合は任意の値で可)を設定し、明示的な models.providers.sglang エントリを定義しなければ、OpenClaw は SGLang の利用可能なモデルを自動検出することもできます。

クイックスタート

  1. OpenAI 互換サーバーとして SGLang を起動します。

ベース URL は /v1 エンドポイント(例: /v1/models/v1/chat/completions)を公開する必要があります。SGLang は通常以下で動作します:

  • http://127.0.0.1:30000/v1
  1. オプトイン(認証未設定の場合は任意の値で可):
export SGLANG_API_KEY="sglang-local"
  1. オンボーディングを実行して SGLang を選択するか、モデルを直接設定:
openclaw onboard
{
  agents: {
    defaults: {
      model: { primary: "sglang/your-model-id" },
    },
  },
}

モデル自動検出(暗黙的プロバイダー)

SGLANG_API_KEY が設定されている(または認証プロファイルが存在する)状態で、models.providers.sglang定義しない場合、OpenClaw は以下にクエリします:

  • GET http://127.0.0.1:30000/v1/models

返された ID をモデルエントリに変換します。

models.providers.sglang を明示的に設定した場合、自動検出はスキップされ、モデルを手動で定義する必要があります。

明示的設定(手動モデル定義)

以下の場合は明示的な設定を使用します:

  • SGLang が別のホスト/ポートで動作している。
  • contextWindow/maxTokens の値を固定したい。
  • サーバーが実際の API キーを要求する(またはヘッダーを制御したい)。
{
  models: {
    providers: {
      sglang: {
        baseUrl: "http://127.0.0.1:30000/v1",
        apiKey: "${SGLANG_API_KEY}",
        api: "openai-completions",
        models: [
          {
            id: "your-model-id",
            name: "Local SGLang Model",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 128000,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

トラブルシューティング

  • サーバーに到達できるか確認:
curl http://127.0.0.1:30000/v1/models
  • 認証エラーでリクエストが失敗する場合は、サーバー設定に一致する実際の SGLANG_API_KEY を設定するか、models.providers.sglang でプロバイダーを明示的に構成してください。