codecamp

OpenClaw SGLang 提供商配置指南

SGLang 可以通过兼容 OpenAI 的 HTTP API 来托管开源模型。OpenClaw 可以通过 openai-completions API 连接到 SGLang。当你通过 SGLANG_API_KEY 启用该功能(如果你的服务器未启用鉴权,任意值均可),且未显式定义 models.providers.sglang 条目时,OpenClaw 还可以自动发现 SGLang 上的可用模型。

快速开始

  1. 启动 SGLang,开启兼容 OpenAI 的服务端。

你的基础 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 下显式配置提供商。
在 OpenClaw 中使用 Qwen OAuth(免费层)
在 OpenClaw 中使用 Synthetic 的 Anthropic 兼容 API
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OpenClaw 消息渠道

OpenClaw 工具

OpenClaw 模型

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }