vLLM

vLLM 可以通过 OpenAI 兼容 HTTP API 提供开源(和一些自定义)模型。OpenClaw 可以使用 openai-completions API 连接到 vLLM。

当你的服务器不强制认证时,你可以通过设置 VLLM_API_KEY(任何值都可以)来选择加入,并且你没有定义显式 models.providers.vllm 条目,OpenClaw 也可以自动发现 vLLM 可用的模型。

快速开始

  1. 使用 OpenAI 兼容服务器启动 vLLM。

你的基础 URL 应该暴露 /v1 端点(例如 /v1/models/v1/chat/completions)。vLLM 通常运行在:

  • http://127.0.0.1:8000/v1
  1. 选择加入(如果未配置认证,任何值都可以):
export VLLM_API_KEY="vllm-local"
  1. 选择一个模型(替换为你的 vLLM 模型 ID 之一):
{
  agents: {
    defaults: {
      model: { primary: "vllm/your-model-id" },
    },
  },
}

模型发现(隐式提供商)

VLLM_API_KEY 已设置(或存在认证配置)且你定义 models.providers.vllm 时,OpenClaw 会查询:

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

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

如果你显式设置 models.providers.vllm,跳过自动发现,你必须手动定义模型。

显式配置(手动模型)

在以下情况下使用显式配置:

  • vLLM 在不同主机/端口上运行。
  • 你想固定 contextWindow/maxTokens 值。
  • 你的服务器需要真正的 API 密钥(或你想控制头)。
{
  models: {
    providers: {
      vllm: {
        baseUrl: "http://127.0.0.1:8000/v1",
        apiKey: "${VLLM_API_KEY}",
        api: "openai-completions",
        models: [
          {
            id: "your-model-id",
            name: "Local vLLM Model",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 128000,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

故障排除

  • 检查服务器是否可达:
curl http://127.0.0.1:8000/v1/models
  • 如果请求因认证错误失败,设置与你的服务器配置匹配的真实 VLLM_API_KEY,或在 models.providers.vllm 下显式配置提供商。