Providers
SGLang
SGLang udostępnia modele o otwartych wagach przez HTTP API zgodne z OpenAI. OpenClaw łączy się z SGLang przy użyciu rodziny dostawców openai-completions z automatycznym wykrywaniem dostępnych modeli.
| Właściwość | Wartość |
|---|---|
| Identyfikator dostawcy | sglang |
| Plugin | dołączony, enabledByDefault: true |
| Zmienna środowiskowa uwierzytelniania | SGLANG_API_KEY (dowolna niepusta wartość, jeśli serwer nie ma uwierzytelniania) |
| Flaga wdrażania | --auth-choice sglang |
| API | zgodne z OpenAI (openai-completions) |
| Domyślny bazowy URL | http://127.0.0.1:30000/v1 |
| Domyślny symbol zastępczy modelu | sglang/Qwen/Qwen3-8B |
| Użycie strumieniowania | Tak (supportsStreamingUsage: true) |
| Cennik | oznaczone jako bezpłatne zewnętrznie (modelPricing.external: false) |
OpenClaw również automatycznie wykrywa dostępne modele z SGLang, gdy włączysz tę funkcję za pomocą SGLANG_API_KEY i nie zdefiniujesz jawnego wpisu models.providers.sglang — zobacz Wykrywanie modelu (dostawca niejawny) poniżej.
Pierwsze kroki
Uruchom SGLang
Uruchom SGLang z serwerem zgodnym z OpenAI. Bazowy URL powinien udostępniać
punkty końcowe /v1 (na przykład /v1/models, /v1/chat/completions). SGLang
zwykle działa pod adresem:
http://127.0.0.1:30000/v1
Ustaw klucz API
Jeśli na serwerze nie skonfigurowano uwierzytelniania, działa dowolna wartość:
export SGLANG_API_KEY="sglang-local"
Uruchom wdrażanie lub ustaw model bezpośrednio
openclaw onboard
Albo skonfiguruj model ręcznie:
{
agents: {
defaults: {
model: { primary: "sglang/your-model-id" },
},
},
}
Wykrywanie modelu (dostawca niejawny)
Gdy ustawiono SGLANG_API_KEY (lub istnieje profil uwierzytelniania) i nie
zdefiniowano models.providers.sglang, OpenClaw wyśle zapytanie do:
GET http://127.0.0.1:30000/v1/models
i przekształci zwrócone identyfikatory w wpisy modeli.
Jawna konfiguracja (modele ręczne)
Użyj jawnej konfiguracji, gdy:
- SGLang działa na innym hoście/porcie.
- Chcesz przypiąć wartości
contextWindow/maxTokens. - Twój serwer wymaga prawdziwego klucza API (lub chcesz kontrolować nagłówki).
{
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,
},
],
},
},
},
}
Konfiguracja zaawansowana
Zachowanie w stylu proxy
SGLang jest traktowany jako backend /v1 w stylu proxy zgodny z OpenAI, a nie jako
natywny punkt końcowy OpenAI.
| Zachowanie | SGLang |
|---|---|
| Kształtowanie żądań tylko dla OpenAI | Nie stosuje się |
service_tier, Responses store, wskazówki pamięci podręcznej promptów |
Nie są wysyłane |
| Kształtowanie payloadu zgodne z rozumowaniem | Nie stosuje się |
Ukryte nagłówki atrybucji (originator, version, User-Agent) |
Nie są wstrzykiwane dla niestandardowych bazowych URL SGLang |
Rozwiązywanie problemów
Serwer nieosiągalny
Sprawdź, czy serwer działa i odpowiada:
curl http://127.0.0.1:30000/v1/models
Błędy uwierzytelniania
Jeśli żądania kończą się błędami uwierzytelniania, ustaw prawdziwy SGLANG_API_KEY, który odpowiada
konfiguracji serwera, albo jawnie skonfiguruj dostawcę w
models.providers.sglang.