Skip to content

SGLang

SGLang 可通过 OpenAI 兼容 HTTP API 部署开源模型。OpenClaw 使用 openai-completions API 连接 SGLang。

设置 SGLANG_API_KEY 后(如果你的服务器不要求鉴权,随便填个值即可),OpenClaw 还能自动发现 SGLang 上的可用模型——无需手动配置 models.providers.sglang

快速上手

  1. 启动带 OpenAI 兼容端点的 SGLang 服务器。

base URL 需要暴露 /v1 系列接口(如 /v1/models/v1/chat/completions)。SGLang 默认运行在:

  • http://127.0.0.1:30000/v1
  1. 设置 API Key(如服务器未启用鉴权,随便填):
bash
export SGLANG_API_KEY="sglang-local"
  1. 运行 onboarding 选择 SGLang,或直接指定模型:
bash
openclaw onboard
json5
{
  agents: {
    defaults: {
      model: { primary: "sglang/your-model-id" },
    },
  },
}

模型自动发现(隐式 Provider)

SGLANG_API_KEY 已设置(或存在 auth profile),且你没有显式定义 models.providers.sglang 时,OpenClaw 会自动查询:

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

并将返回的模型 ID 转换为可用的模型条目。

一旦显式配置了 models.providers.sglang,自动发现就会关闭,需要手动定义模型。

手动配置(显式指定模型)

以下情况建议使用手动配置:

  • SGLang 运行在非默认的主机或端口
  • 需要固定 contextWindow / maxTokens
  • 服务器需要真实 API Key,或需要控制请求头
json5
{
  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,
          },
        ],
      },
    },
  },
}

故障排查

  • 检查服务器是否可访问:
bash
curl http://127.0.0.1:30000/v1/models
  • 如果请求因鉴权失败,请设置与服务器配置一致的 SGLANG_API_KEY,或在 models.providers.sglang 下显式配置 provider。