SGLang
使用 SGLang 运行 OpenClaw(兼容 OpenAI 的自托管服务器)
SGLang 通过与 OpenAI 兼容的 HTTP API 提供开放权重模型。OpenClaw 使用 openai-completions 提供商系列连接到 SGLang,并自动发现可用模型。
| 属性 | 值 |
|---|---|
| 提供商 ID | sglang |
| 插件 | 内置,enabledByDefault: true |
| 身份验证环境变量 | SGLANG_API_KEY(如果服务器未配置身份验证,可使用任意非空值) |
| 新手引导标志 | --auth-choice sglang |
| API | 与 OpenAI 兼容(openai-completions) |
| 默认基础 URL | http://127.0.0.1:30000/v1 |
| 默认模型占位符 | sglang/Qwen/Qwen3-8B |
| 流式用量信息 | 是(supportsStreamingUsage: true) |
| 定价 | 标记为外部免费(modelPricing.external: false) |
当你通过 SGLANG_API_KEY 选择启用时,OpenClaw 还会自动发现 SGLang 提供的可用模型。如果还配置了自定义 SGLang 基础 URL,请在 agents.defaults.models 中使用 sglang/*,以保持动态发现。请参阅下文的模型发现(隐式提供商)。
入门指南
启动 SGLang
启动带有 OpenAI 兼容服务器的 SGLang。基础 URL 应公开
/v1 端点(例如 /v1/models、/v1/chat/completions)。SGLang
通常运行于:
http://127.0.0.1:30000/v1
设置 API 密钥
如果服务器未配置身份验证,可以使用任意值:
export SGLANG_API_KEY="sglang-local"运行新手引导或直接设置模型
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,OpenClaw 默认使用你声明的
模型。如果希望 OpenClaw 查询所配置提供商的 /models 端点并包含
其公布的所有 SGLang 模型,请将 "sglang/*": {} 添加到 agents.defaults.models。
显式配置(手动模型)
在以下情况下使用显式配置:
- 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,
},
],
},
},
},
}高级配置
代理式行为
SGLang 被视为代理式 OpenAI 兼容的 /v1 后端,而非
原生 OpenAI 端点。
| 行为 | SGLang |
|---|---|
| 仅限 OpenAI 的请求调整 | 不应用 |
service_tier、Responses store、提示词缓存提示 | 不发送 |
| 推理兼容载荷调整 | 不应用 |
隐藏的归属标头(originator、version、User-Agent) | 不会注入到自定义 SGLang 基础 URL |
故障排查
无法访问服务器
验证服务器是否正在运行并响应:
curl http://127.0.0.1:30000/v1/models身份验证错误
如果请求因身份验证错误而失败,请设置与
服务器配置匹配的真实 SGLANG_API_KEY,或在
models.providers.sglang 下显式配置提供商。
如果运行 SGLang 时未启用身份验证,只需为
SGLANG_API_KEY 设置任意非空值,即可选择启用模型发现。