Skip to main content

SGLang

SGLang 可以通过 OpenAI 兼容的 HTTP API 提供开源模型服务。 OpenClaw 可以使用 openai-completions API 连接到 SGLang。 当你通过 SGLANG_API_KEY 选择启用时,OpenClaw 还可以从 SGLang 自动发现 可用模型(如果你的服务器不强制认证,任意值都可以),前提是你没有定义显式的 models.providers.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" },
    },
  },
}

模型发现(隐式 provider)

当设置了 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 下显式配置该 provider。

代理式行为

SGLang 被视为一种代理式 OpenAI 兼容 /v1 后端,而不是 原生 OpenAI 端点。
  • 这里不适用仅限原生 OpenAI 的请求塑形
  • 不支持 service_tier、Responses store、提示缓存提示,也不支持 OpenAI 推理兼容负载塑形
  • 在自定义 SGLang 基础 URL 上,不会注入隐藏的 OpenClaw 归因请求头 (originatorversionUser-Agent