chore(i18n): refresh pl translations
This commit is contained in:
parent
13318c265f
commit
f3ba444f84
@ -1,36 +1,36 @@
|
||||
---
|
||||
read_when:
|
||||
- Zmiana reguł wiadomości grupowych lub wzmianek
|
||||
summary: Zachowanie i konfiguracja obsługi wiadomości grupowych w WhatsApp (mentionPatterns są współdzielone między powierzchniami)
|
||||
summary: Zachowanie i konfiguracja obsługi wiadomości grupowych w WhatsApp (`mentionPatterns` są współdzielone między interfejsami)
|
||||
title: Wiadomości grupowe
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T13:43:17Z"
|
||||
generated_at: "2026-04-12T23:28:02Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 2543be5bc4c6f188f955df580a6fef585ecbfc1be36ade5d34b1a9157e021bc5
|
||||
source_hash: 5d9484dd1de74d42f8dce4c3ac80d60c24864df30a7802e64893ef55506230fe
|
||||
source_path: channels/group-messages.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Wiadomości grupowe (kanał internetowy WhatsApp)
|
||||
|
||||
Cel: pozwolić Clawd działać w grupach WhatsApp, wybudzać się tylko po pingnięciu i utrzymywać ten wątek oddzielnie od osobistej sesji DM.
|
||||
Cel: pozwolić Clawd działać w grupach WhatsApp, wybudzać się tylko po wywołaniu i utrzymywać ten wątek oddzielnie od osobistej sesji DM.
|
||||
|
||||
Uwaga: `agents.list[].groupChat.mentionPatterns` jest teraz używane także przez Telegram/Discord/Slack/iMessage; ten dokument koncentruje się na zachowaniu specyficznym dla WhatsApp. W konfiguracjach wieloagentowych ustaw `agents.list[].groupChat.mentionPatterns` dla każdego agenta (lub użyj `messages.groupChat.mentionPatterns` jako globalnego ustawienia zapasowego).
|
||||
Uwaga: `agents.list[].groupChat.mentionPatterns` jest teraz używane również przez Telegram/Discord/Slack/iMessage; ten dokument koncentruje się na zachowaniu specyficznym dla WhatsApp. W konfiguracjach z wieloma agentami ustaw `agents.list[].groupChat.mentionPatterns` dla każdego agenta (lub użyj `messages.groupChat.mentionPatterns` jako globalnego ustawienia zapasowego).
|
||||
|
||||
## Bieżąca implementacja (2025-12-03)
|
||||
|
||||
- Tryby aktywacji: `mention` (domyślnie) lub `always`. `mention` wymaga pingnięcia (rzeczywiste WhatsApp @-wzmianki przez `mentionedJids`, bezpieczne wzorce regex lub numer E.164 bota w dowolnym miejscu tekstu). `always` wybudza agenta przy każdej wiadomości, ale powinien on odpowiadać tylko wtedy, gdy może wnieść sensowną wartość; w przeciwnym razie zwraca dokładny cichy token `NO_REPLY` / `no_reply`. Wartości domyślne można ustawić w konfiguracji (`channels.whatsapp.groups`) i nadpisać dla każdej grupy przez `/activation`. Gdy ustawione jest `channels.whatsapp.groups`, działa to również jako allowlista grup (uwzględnij `"*"`, aby zezwolić na wszystkie).
|
||||
- Polityka grup: `channels.whatsapp.groupPolicy` określa, czy wiadomości grupowe są akceptowane (`open|disabled|allowlist`). `allowlist` używa `channels.whatsapp.groupAllowFrom` (ustawienie zapasowe: jawne `channels.whatsapp.allowFrom`). Domyślnie jest to `allowlist` (zablokowane, dopóki nie dodasz nadawców).
|
||||
- Sesje per grupa: klucze sesji mają postać `agent:<agentId>:whatsapp:group:<jid>`, więc polecenia takie jak `/verbose on` lub `/think high` (wysyłane jako samodzielne wiadomości) są ograniczone do tej grupy; stan osobistego DM pozostaje nietknięty. Heartbeaty są pomijane dla wątków grupowych.
|
||||
- Wstrzykiwanie kontekstu: grupowe wiadomości **tylko oczekujące** (domyślnie 50), które _nie_ uruchomiły wykonania, są poprzedzane sekcją `[Chat messages since your last reply - for context]`, a linia wyzwalająca sekcją `[Current message - respond to this]`. Wiadomości już obecne w sesji nie są wstrzykiwane ponownie.
|
||||
- Ujawnianie nadawcy: każda partia grupowa kończy się teraz `[from: Sender Name (+E164)]`, aby Pi wiedziało, kto mówi.
|
||||
- Ephemeral/view-once: rozpakowujemy je przed wyodrębnieniem tekstu/wzmianek, więc pingnięcia wewnątrz nich nadal wywołują uruchomienie.
|
||||
- Prompt systemowy grupy: przy pierwszej turze sesji grupowej (oraz zawsze, gdy `/activation` zmienia tryb) wstrzykujemy krótki fragment do promptu systemowego, taki jak `You are replying inside the WhatsApp group "<subject>". Group members: Alice (+44...), Bob (+43...), … Activation: trigger-only … Address the specific sender noted in the message context.` Jeśli metadane nie są dostępne, nadal informujemy agenta, że to czat grupowy.
|
||||
- Tryby aktywacji: `mention` (domyślnie) lub `always`. `mention` wymaga wywołania (rzeczywiste wzmianki WhatsApp @ przez `mentionedJids`, bezpieczne wzorce regex lub numer E.164 bota w dowolnym miejscu tekstu). `always` wybudza agenta przy każdej wiadomości, ale powinien on odpowiadać tylko wtedy, gdy może wnieść istotną wartość; w przeciwnym razie zwraca dokładny cichy token `NO_REPLY` / `no_reply`. Ustawienia domyślne można skonfigurować w konfiguracji (`channels.whatsapp.groups`) i nadpisać dla każdej grupy przez `/activation`. Gdy ustawione jest `channels.whatsapp.groups`, działa ono również jako lista dozwolonych grup (uwzględnij `"*"` aby zezwolić na wszystkie).
|
||||
- Zasada dla grup: `channels.whatsapp.groupPolicy` kontroluje, czy wiadomości grupowe są akceptowane (`open|disabled|allowlist`). `allowlist` używa `channels.whatsapp.groupAllowFrom` (ustawienie zapasowe: jawne `channels.whatsapp.allowFrom`). Domyślna wartość to `allowlist` (blokowane, dopóki nie dodasz nadawców).
|
||||
- Sesje per grupa: klucze sesji mają postać `agent:<agentId>:whatsapp:group:<jid>`, więc polecenia takie jak `/verbose on`, `/trace on` lub `/think high` (wysyłane jako samodzielne wiadomości) są ograniczone do tej grupy; stan osobistego DM pozostaje nienaruszony. Heartbeat jest pomijany dla wątków grupowych.
|
||||
- Wstrzykiwanie kontekstu: **tylko oczekujące** wiadomości grupowe (domyślnie 50), które _nie_ uruchomiły wykonania, są poprzedzane sekcją `[Chat messages since your last reply - for context]`, a linia wyzwalająca znajduje się pod `[Current message - respond to this]`. Wiadomości już obecne w sesji nie są wstrzykiwane ponownie.
|
||||
- Ujawnianie nadawcy: każda partia grupowa kończy się teraz znacznikiem `[from: Sender Name (+E164)]`, aby Pi wiedział, kto mówi.
|
||||
- Ephemeral/view-once: rozpakowujemy je przed wyodrębnieniem tekstu/wzmianek, więc wywołania w ich treści nadal uruchamiają działanie.
|
||||
- Prompt systemowy grupy: przy pierwszej turze sesji grupowej (oraz zawsze, gdy `/activation` zmienia tryb) wstrzykujemy krótki opis do promptu systemowego, np. `You are replying inside the WhatsApp group "<subject>". Group members: Alice (+44...), Bob (+43...), … Activation: trigger-only … Address the specific sender noted in the message context.` Jeśli metadane nie są dostępne, nadal informujemy agenta, że jest to czat grupowy.
|
||||
|
||||
## Przykład konfiguracji (WhatsApp)
|
||||
|
||||
Dodaj blok `groupChat` do `~/.openclaw/openclaw.json`, aby pingnięcia nazwą wyświetlaną działały nawet wtedy, gdy WhatsApp usuwa wizualny znak `@` z treści wiadomości:
|
||||
Dodaj blok `groupChat` do `~/.openclaw/openclaw.json`, aby wzmianki po nazwie wyświetlanej działały nawet wtedy, gdy WhatsApp usuwa wizualne `@` z treści tekstu:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -57,8 +57,8 @@ Dodaj blok `groupChat` do `~/.openclaw/openclaw.json`, aby pingnięcia nazwą wy
|
||||
|
||||
Uwagi:
|
||||
|
||||
- Regexy są niewrażliwe na wielkość liter i używają tych samych zabezpieczeń safe-regex co inne powierzchnie konfiguracyjne regexów; nieprawidłowe wzorce i niebezpieczne zagnieżdżone powtórzenia są ignorowane.
|
||||
- WhatsApp nadal wysyła kanoniczne wzmianki przez `mentionedJids`, gdy ktoś stuknie kontakt, więc zapasowe dopasowanie po numerze rzadko jest potrzebne, ale stanowi przydatne zabezpieczenie.
|
||||
- Regexy nie rozróżniają wielkości liter i używają tych samych zabezpieczeń safe-regex co inne powierzchnie regex w konfiguracji; nieprawidłowe wzorce i niebezpieczne zagnieżdżone powtórzenia są ignorowane.
|
||||
- WhatsApp nadal wysyła kanoniczne wzmianki przez `mentionedJids`, gdy ktoś kliknie kontakt, więc zapasowe dopasowanie po numerze jest rzadko potrzebne, ale stanowi przydatne zabezpieczenie.
|
||||
|
||||
### Polecenie aktywacji (tylko właściciel)
|
||||
|
||||
@ -72,20 +72,20 @@ Tylko numer właściciela (z `channels.whatsapp.allowFrom` lub własny numer E.1
|
||||
## Jak używać
|
||||
|
||||
1. Dodaj swoje konto WhatsApp (to, na którym działa OpenClaw) do grupy.
|
||||
2. Napisz `@openclaw …` (lub dołącz numer). Tylko nadawcy z allowlisty mogą to wywołać, chyba że ustawisz `groupPolicy: "open"`.
|
||||
3. Prompt agenta będzie zawierał ostatni kontekst grupy oraz końcowy znacznik `[from: …]`, aby mógł zwrócić się do właściwej osoby.
|
||||
4. Dyrektywy na poziomie sesji (`/verbose on`, `/think high`, `/new` lub `/reset`, `/compact`) dotyczą tylko sesji tej grupy; wysyłaj je jako samodzielne wiadomości, aby zostały zarejestrowane. Twoja osobista sesja DM pozostaje niezależna.
|
||||
2. Napisz `@openclaw …` (lub podaj numer). Tylko nadawcy z listy dozwolonych mogą to uruchomić, chyba że ustawisz `groupPolicy: "open"`.
|
||||
3. Prompt agenta będzie zawierał ostatni kontekst grupy oraz końcowy znacznik `[from: …]`, dzięki czemu będzie mógł zwrócić się do właściwej osoby.
|
||||
4. Dyrektywy na poziomie sesji (`/verbose on`, `/trace on`, `/think high`, `/new` lub `/reset`, `/compact`) dotyczą wyłącznie sesji tej grupy; wysyłaj je jako samodzielne wiadomości, aby zostały zarejestrowane. Twoja osobista sesja DM pozostaje niezależna.
|
||||
|
||||
## Testowanie / weryfikacja
|
||||
|
||||
- Ręczny smoke test:
|
||||
- Wyślij ping `@openclaw` w grupie i potwierdź odpowiedź, która odnosi się do nazwy nadawcy.
|
||||
- Wyślij drugi ping i sprawdź, czy blok historii został dołączony, a potem wyczyszczony w następnej turze.
|
||||
- Sprawdź logi gateway (uruchomione z `--verbose`), aby zobaczyć wpisy `inbound web message` pokazujące `from: <groupJid>` oraz sufiks `[from: …]`.
|
||||
- Wyślij wywołanie `@openclaw` w grupie i potwierdź odpowiedź, która odnosi się do nazwy nadawcy.
|
||||
- Wyślij drugie wywołanie i sprawdź, czy blok historii został dołączony, a następnie wyczyszczony przy kolejnej turze.
|
||||
- Sprawdź logi Gateway (uruchomione z `--verbose`), aby zobaczyć wpisy `inbound web message` pokazujące `from: <groupJid>` oraz sufiks `[from: …]`.
|
||||
|
||||
## Znane kwestie
|
||||
|
||||
- Heartbeaty są celowo pomijane dla grup, aby uniknąć hałaśliwych rozgłoszeń.
|
||||
- Tłumienie echa używa połączonego ciągu partii; jeśli wyślesz identyczny tekst dwa razy bez wzmianek, odpowiedź zostanie wygenerowana tylko na pierwszy.
|
||||
- Wpisy w magazynie sesji będą widoczne jako `agent:<agentId>:whatsapp:group:<jid>` w magazynie sesji (`~/.openclaw/agents/<agentId>/sessions/sessions.json` domyślnie); brak wpisu oznacza tylko, że grupa nie wywołała jeszcze wykonania.
|
||||
- Heartbeat jest celowo pomijany dla grup, aby uniknąć głośnych rozgłoszeń.
|
||||
- Tłumienie echa używa połączonego ciągu partii; jeśli wyślesz ten sam tekst dwa razy bez wzmianek, odpowiedź zostanie wygenerowana tylko za pierwszym razem.
|
||||
- Wpisy magazynu sesji będą widoczne jako `agent:<agentId>:whatsapp:group:<jid>` w magazynie sesji (domyślnie `~/.openclaw/agents/<agentId>/sessions/sessions.json`); brak wpisu oznacza tylko, że grupa nie uruchomiła jeszcze wykonania.
|
||||
- Wskaźniki pisania w grupach są zgodne z `agents.defaults.typingMode` (domyślnie: `message`, gdy nie ma wzmianki).
|
||||
|
||||
@ -2,27 +2,27 @@
|
||||
read_when:
|
||||
- Chcesz zrozumieć, do czego służy Active Memory
|
||||
- Chcesz włączyć Active Memory dla agenta konwersacyjnego
|
||||
- Chcesz dostroić zachowanie Active Memory bez włączania go wszędzie
|
||||
summary: Należący do Plugin podagent blokującej pamięci, który wstrzykuje odpowiednią pamięć do interaktywnych sesji czatu
|
||||
- Chcesz dostroić działanie Active Memory bez włączania go wszędzie
|
||||
summary: Blokujący podagent pamięci należący do Pluginu, który wstrzykuje odpowiednią pamięć do interaktywnych sesji czatu
|
||||
title: Active Memory
|
||||
x-i18n:
|
||||
generated_at: "2026-04-12T09:33:34Z"
|
||||
generated_at: "2026-04-12T23:28:12Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 59456805c28daaab394ba2a7f87e1104a1334a5cf32dbb961d5d232d9c471d84
|
||||
source_hash: 11665dbc888b6d4dc667a47624cc1f2e4cc71e1d58e1f7d9b5fe4057ec4da108
|
||||
source_path: concepts/active-memory.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Active Memory
|
||||
|
||||
Active Memory to opcjonalny należący do Plugin blokujący podagent pamięci, który działa
|
||||
Active Memory to opcjonalny, należący do Pluginu blokujący podagent pamięci, który działa
|
||||
przed główną odpowiedzią dla kwalifikujących się sesji konwersacyjnych.
|
||||
|
||||
Istnieje, ponieważ większość systemów pamięci jest zdolna do działania, ale reaktywna. Polegają one na
|
||||
tym, że główny agent zdecyduje, kiedy przeszukać pamięć, albo na tym, że użytkownik powie
|
||||
coś w rodzaju „zapamiętaj to” lub „przeszukaj pamięć”. Wtedy jednak moment, w którym pamięć
|
||||
sprawiłaby, że odpowiedź brzmiałaby naturalnie, już minął.
|
||||
Istnieje, ponieważ większość systemów pamięci jest skuteczna, ale reaktywna. Polegają
|
||||
na tym, że główny agent decyduje, kiedy przeszukiwać pamięć, albo na tym, że użytkownik mówi
|
||||
rzeczy w rodzaju „zapamiętaj to” lub „przeszukaj pamięć”. Wtedy moment, w którym pamięć
|
||||
sprawiłaby, że odpowiedź byłaby naturalna, już minął.
|
||||
|
||||
Active Memory daje systemowi jedną ograniczoną szansę na wydobycie odpowiedniej pamięci
|
||||
zanim zostanie wygenerowana główna odpowiedź.
|
||||
@ -56,7 +56,7 @@ samowystarczalną konfiguracją z bezpiecznymi ustawieniami domyślnymi:
|
||||
}
|
||||
```
|
||||
|
||||
To włącza plugin dla agenta `main`, domyślnie ogranicza go do sesji
|
||||
To włącza Plugin dla agenta `main`, domyślnie ogranicza go do sesji
|
||||
w stylu wiadomości bezpośrednich, pozwala mu najpierw dziedziczyć bieżący model sesji i
|
||||
używa skonfigurowanego modelu zapasowego tylko wtedy, gdy nie jest dostępny
|
||||
żaden jawny ani dziedziczony model.
|
||||
@ -67,19 +67,20 @@ Następnie uruchom ponownie Gateway:
|
||||
openclaw gateway
|
||||
```
|
||||
|
||||
Aby obserwować to na żywo w rozmowie:
|
||||
Aby sprawdzić to na żywo w rozmowie:
|
||||
|
||||
```text
|
||||
/verbose on
|
||||
/trace on
|
||||
```
|
||||
|
||||
## Włącz Active Memory
|
||||
|
||||
Najbezpieczniejsza konfiguracja to:
|
||||
|
||||
1. włączyć plugin
|
||||
2. wskazać jednego agenta konwersacyjnego
|
||||
3. pozostawić logowanie włączone tylko podczas dostrajania
|
||||
1. włącz Plugin
|
||||
2. wybierz jednego agenta konwersacyjnego
|
||||
3. pozostaw logowanie włączone tylko podczas dostrajania
|
||||
|
||||
Zacznij od tego w `openclaw.json`:
|
||||
|
||||
@ -114,22 +115,22 @@ openclaw gateway
|
||||
|
||||
Co to oznacza:
|
||||
|
||||
- `plugins.entries.active-memory.enabled: true` włącza plugin
|
||||
- `plugins.entries.active-memory.enabled: true` włącza Plugin
|
||||
- `config.agents: ["main"]` włącza active memory tylko dla agenta `main`
|
||||
- `config.allowedChatTypes: ["direct"]` domyślnie utrzymuje active memory tylko dla sesji w stylu wiadomości bezpośrednich
|
||||
- jeśli `config.model` nie jest ustawione, active memory najpierw dziedziczy bieżący model sesji
|
||||
- `config.modelFallback` opcjonalnie zapewnia własny zapasowy dostawcę/model do przywoływania pamięci
|
||||
- `config.promptStyle: "balanced"` używa domyślnego stylu promptu ogólnego przeznaczenia dla trybu `recent`
|
||||
- `config.promptStyle: "balanced"` używa domyślnego prompt style ogólnego przeznaczenia dla trybu `recent`
|
||||
- active memory nadal działa tylko w kwalifikujących się interaktywnych trwałych sesjach czatu
|
||||
|
||||
## Jak to zobaczyć
|
||||
|
||||
Active memory wstrzykuje ukryty kontekst systemowy dla modelu. Nie ujawnia
|
||||
Active Memory wstrzykuje ukryty kontekst systemowy dla modelu. Nie ujawnia
|
||||
surowych tagów `<active_memory_plugin>...</active_memory_plugin>` klientowi.
|
||||
|
||||
## Przełącznik sesji
|
||||
|
||||
Użyj polecenia plugin, gdy chcesz wstrzymać lub wznowić active memory dla
|
||||
Użyj polecenia Pluginu, gdy chcesz wstrzymać lub wznowić active memory dla
|
||||
bieżącej sesji czatu bez edytowania konfiguracji:
|
||||
|
||||
```text
|
||||
@ -139,7 +140,7 @@ bieżącej sesji czatu bez edytowania konfiguracji:
|
||||
```
|
||||
|
||||
To działa w zakresie sesji. Nie zmienia
|
||||
`plugins.entries.active-memory.enabled`, wskazania agenta ani innej globalnej
|
||||
`plugins.entries.active-memory.enabled`, kierowania agentów ani innej globalnej
|
||||
konfiguracji.
|
||||
|
||||
Jeśli chcesz, aby polecenie zapisywało konfigurację oraz wstrzymywało lub wznawiało active memory dla
|
||||
@ -155,21 +156,24 @@ Forma globalna zapisuje `plugins.entries.active-memory.config.enabled`. Pozostaw
|
||||
`plugins.entries.active-memory.enabled` włączone, aby polecenie nadal było dostępne do
|
||||
ponownego włączenia active memory później.
|
||||
|
||||
Jeśli chcesz zobaczyć, co active memory robi w sesji na żywo, włącz tryb verbose
|
||||
dla tej sesji:
|
||||
Jeśli chcesz zobaczyć, co active memory robi w sesji na żywo, włącz
|
||||
przełączniki sesji odpowiadające wyjściu, które chcesz zobaczyć:
|
||||
|
||||
```text
|
||||
/verbose on
|
||||
/trace on
|
||||
```
|
||||
|
||||
Przy włączonym verbose OpenClaw może pokazać:
|
||||
Po ich włączeniu OpenClaw może pokazać:
|
||||
|
||||
- wiersz stanu active memory, taki jak `Active Memory: ok 842ms recent 34 chars`
|
||||
- czytelne podsumowanie debugowania, takie jak `Active Memory Debug: Lemon pepper wings with blue cheese.`
|
||||
- wiersz stanu active memory, taki jak `Active Memory: ok 842ms recent 34 chars`, gdy włączone jest `/verbose on`
|
||||
- czytelne podsumowanie debugowania, takie jak `Active Memory Debug: Lemon pepper wings with blue cheese.`, gdy włączone jest `/trace on`
|
||||
|
||||
Te wiersze pochodzą z tego samego przebiegu active memory, który zasila ukryty
|
||||
kontekst systemowy, ale są sformatowane dla ludzi zamiast ujawniać surowe
|
||||
znaczniki promptu.
|
||||
oznaczenia promptu. Są wysyłane jako diagnostyczna wiadomość uzupełniająca po normalnej
|
||||
odpowiedzi asystenta, aby klienci kanałów, tacy jak Telegram, nie wyświetlali osobnego
|
||||
diagnostycznego dymka przed odpowiedzią.
|
||||
|
||||
Domyślnie transkrypt blokującego podagenta pamięci jest tymczasowy i usuwany
|
||||
po zakończeniu działania.
|
||||
@ -178,10 +182,11 @@ Przykładowy przebieg:
|
||||
|
||||
```text
|
||||
/verbose on
|
||||
/trace on
|
||||
what wings should i order?
|
||||
```
|
||||
|
||||
Oczekiwany kształt widocznej odpowiedzi:
|
||||
Oczekiwany widoczny kształt odpowiedzi:
|
||||
|
||||
```text
|
||||
...normal assistant reply...
|
||||
@ -190,18 +195,18 @@ Oczekiwany kształt widocznej odpowiedzi:
|
||||
🔎 Active Memory Debug: Lemon pepper wings with blue cheese.
|
||||
```
|
||||
|
||||
## Kiedy działa
|
||||
## Kiedy to działa
|
||||
|
||||
Active memory używa dwóch bramek:
|
||||
Active Memory używa dwóch bramek:
|
||||
|
||||
1. **Jawne włączenie w konfiguracji**
|
||||
Plugin musi być włączony, a bieżący identyfikator agenta musi występować w
|
||||
Plugin musi być włączony, a identyfikator bieżącego agenta musi występować w
|
||||
`plugins.entries.active-memory.config.agents`.
|
||||
2. **Ścisła kwalifikacja w czasie działania**
|
||||
Nawet gdy jest włączone i wskazane, active memory działa tylko dla kwalifikujących się
|
||||
interaktywnych trwałych sesji czatu.
|
||||
Nawet gdy jest włączone i skierowane na agenta, active memory działa tylko dla
|
||||
kwalifikujących się interaktywnych trwałych sesji czatu.
|
||||
|
||||
Rzeczywista reguła wygląda tak:
|
||||
Rzeczywista reguła jest następująca:
|
||||
|
||||
```text
|
||||
plugin enabled
|
||||
@ -215,14 +220,14 @@ eligible interactive persistent chat session
|
||||
active memory runs
|
||||
```
|
||||
|
||||
Jeśli którykolwiek z tych warunków nie jest spełniony, active memory nie działa.
|
||||
Jeśli którykolwiek z tych warunków nie zostanie spełniony, active memory nie działa.
|
||||
|
||||
## Typy sesji
|
||||
|
||||
`config.allowedChatTypes` kontroluje, w jakich rodzajach rozmów Active
|
||||
Memory może w ogóle działać.
|
||||
`config.allowedChatTypes` kontroluje, jakie rodzaje rozmów mogą w ogóle uruchamiać Active
|
||||
Memory.
|
||||
|
||||
Domyślna wartość to:
|
||||
Wartość domyślna to:
|
||||
|
||||
```json5
|
||||
allowedChatTypes: ["direct"]
|
||||
@ -245,16 +250,16 @@ allowedChatTypes: ["direct", "group"]
|
||||
allowedChatTypes: ["direct", "group", "channel"]
|
||||
```
|
||||
|
||||
## Gdzie działa
|
||||
## Gdzie to działa
|
||||
|
||||
Active memory to funkcja wzbogacająca rozmowę, a nie ogólnoplatformowa
|
||||
funkcja wnioskowania.
|
||||
funkcja inferencji.
|
||||
|
||||
| Powierzchnia | Czy działa active memory? |
|
||||
| Powierzchnia | Czy uruchamia active memory? |
|
||||
| ------------------------------------------------------------------- | ------------------------------------------------------- |
|
||||
| Trwałe sesje Control UI / czatu webowego | Tak, jeśli plugin jest włączony i agent jest wskazany |
|
||||
| Inne interaktywne sesje kanałowe na tej samej trwałej ścieżce czatu | Tak, jeśli plugin jest włączony i agent jest wskazany |
|
||||
| Bezgłowe uruchomienia jednorazowe | Nie |
|
||||
| Trwałe sesje w interfejsie Control UI / czacie webowym | Tak, jeśli Plugin jest włączony i agent jest wskazany |
|
||||
| Inne interaktywne sesje kanałowe na tej samej ścieżce trwałego czatu | Tak, jeśli Plugin jest włączony i agent jest wskazany |
|
||||
| Bezobsługowe uruchomienia jednorazowe | Nie |
|
||||
| Uruchomienia Heartbeat/w tle | Nie |
|
||||
| Ogólne wewnętrzne ścieżki `agent-command` | Nie |
|
||||
| Wykonanie podagenta/wewnętrznego pomocnika | Nie |
|
||||
@ -264,16 +269,16 @@ funkcja wnioskowania.
|
||||
Używaj active memory, gdy:
|
||||
|
||||
- sesja jest trwała i skierowana do użytkownika
|
||||
- agent ma istotną pamięć długoterminową do przeszukania
|
||||
- agent ma sensowną pamięć długoterminową do przeszukania
|
||||
- ciągłość i personalizacja są ważniejsze niż surowy determinizm promptu
|
||||
|
||||
Działa to szczególnie dobrze dla:
|
||||
|
||||
- trwałych preferencji
|
||||
- powtarzających się nawyków
|
||||
- długoterminowego kontekstu użytkownika, który powinien naturalnie się ujawniać
|
||||
- długoterminowego kontekstu użytkownika, który powinien naturalnie się pojawiać
|
||||
|
||||
Słabo nadaje się do:
|
||||
To słabo nadaje się do:
|
||||
|
||||
- automatyzacji
|
||||
- wewnętrznych workerów
|
||||
@ -282,7 +287,7 @@ Słabo nadaje się do:
|
||||
|
||||
## Jak to działa
|
||||
|
||||
Kształt działania w czasie wykonywania jest następujący:
|
||||
Kształt w czasie działania jest następujący:
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
@ -300,25 +305,25 @@ Blokujący podagent pamięci może używać tylko:
|
||||
|
||||
Jeśli połączenie jest słabe, powinien zwrócić `NONE`.
|
||||
|
||||
## Tryby zapytań
|
||||
## Tryby zapytania
|
||||
|
||||
`config.queryMode` kontroluje, jak dużą część rozmowy widzi blokujący podagent pamięci.
|
||||
|
||||
## Style promptu
|
||||
## Style promptów
|
||||
|
||||
`config.promptStyle` kontroluje, jak chętny lub restrykcyjny jest blokujący podagent pamięci
|
||||
przy podejmowaniu decyzji, czy zwrócić pamięć.
|
||||
`config.promptStyle` kontroluje, jak chętny lub rygorystyczny jest blokujący podagent pamięci
|
||||
podczas podejmowania decyzji, czy zwrócić pamięć.
|
||||
|
||||
Dostępne style:
|
||||
|
||||
- `balanced`: domyślny styl ogólnego przeznaczenia dla trybu `recent`
|
||||
- `balanced`: domyślne ustawienie ogólnego przeznaczenia dla trybu `recent`
|
||||
- `strict`: najmniej chętny; najlepszy, gdy chcesz bardzo małego przenikania z pobliskiego kontekstu
|
||||
- `contextual`: najbardziej sprzyjający ciągłości; najlepszy, gdy historia rozmowy ma większe znaczenie
|
||||
- `recall-heavy`: chętniej wydobywa pamięć przy słabszych, ale nadal prawdopodobnych dopasowaniach
|
||||
- `contextual`: najbardziej sprzyjający ciągłości; najlepszy, gdy historia rozmowy powinna mieć większe znaczenie
|
||||
- `recall-heavy`: bardziej skłonny do wydobywania pamięci przy słabszych, ale nadal prawdopodobnych dopasowaniach
|
||||
- `precision-heavy`: zdecydowanie preferuje `NONE`, chyba że dopasowanie jest oczywiste
|
||||
- `preference-only`: zoptymalizowany pod ulubione rzeczy, nawyki, rutyny, gust i powracające fakty osobiste
|
||||
- `preference-only`: zoptymalizowany pod ulubione rzeczy, nawyki, rutyny, gust i powtarzające się fakty osobiste
|
||||
|
||||
Mapowanie domyślne, gdy `config.promptStyle` nie jest ustawione:
|
||||
Domyślne mapowanie, gdy `config.promptStyle` nie jest ustawione:
|
||||
|
||||
```text
|
||||
message -> strict
|
||||
@ -326,7 +331,7 @@ recent -> balanced
|
||||
full -> contextual
|
||||
```
|
||||
|
||||
Jeśli ustawisz `config.promptStyle` jawnie, to nadpisanie ma pierwszeństwo.
|
||||
Jeśli jawnie ustawisz `config.promptStyle`, to nadpisanie ma pierwszeństwo.
|
||||
|
||||
Przykład:
|
||||
|
||||
@ -353,13 +358,13 @@ Opcjonalny własny model zapasowy:
|
||||
modelFallback: "google/gemini-3-flash"
|
||||
```
|
||||
|
||||
Jeśli nie uda się rozwiązać żadnego jawnego, dziedziczonego ani skonfigurowanego modelu zapasowego, Active Memory
|
||||
Jeśli nie zostanie rozpoznany żaden jawny, dziedziczony ani skonfigurowany model zapasowy, Active Memory
|
||||
pomija przywoływanie pamięci dla tej tury.
|
||||
|
||||
`config.modelFallbackPolicy` jest zachowane wyłącznie jako przestarzałe pole zgodności
|
||||
dla starszych konfiguracji. Nie zmienia już zachowania w czasie działania.
|
||||
|
||||
## Zaawansowane mechanizmy awaryjne
|
||||
## Zaawansowane furtki awaryjne
|
||||
|
||||
Te opcje celowo nie są częścią zalecanej konfiguracji.
|
||||
|
||||
@ -376,7 +381,7 @@ thinking: "off"
|
||||
```
|
||||
|
||||
Nie włączaj tego domyślnie. Active Memory działa na ścieżce odpowiedzi, więc dodatkowy
|
||||
czas myślenia bezpośrednio zwiększa opóźnienie widoczne dla użytkownika.
|
||||
czas myślenia bezpośrednio zwiększa widoczne dla użytkownika opóźnienie.
|
||||
|
||||
`config.promptAppend` dodaje dodatkowe instrukcje operatora po domyślnym prompcie Active
|
||||
Memory i przed kontekstem rozmowy:
|
||||
@ -386,14 +391,14 @@ promptAppend: "Prefer stable long-term preferences over one-off events."
|
||||
```
|
||||
|
||||
`config.promptOverride` zastępuje domyślny prompt Active Memory. OpenClaw
|
||||
nadal dołącza potem kontekst rozmowy:
|
||||
nadal dodaje potem kontekst rozmowy:
|
||||
|
||||
```json5
|
||||
promptOverride: "You are a memory search agent. Return NONE or one compact user fact."
|
||||
```
|
||||
|
||||
Dostosowywanie promptu nie jest zalecane, chyba że celowo testujesz
|
||||
inny kontrakt przywoływania pamięci. Domyślny prompt jest dostrojony tak, aby zwracać albo `NONE`,
|
||||
Dostosowywanie promptu nie jest zalecane, chyba że celowo testujesz inną
|
||||
umowę przywoływania pamięci. Domyślny prompt jest dostrojony tak, aby zwracał `NONE`
|
||||
albo zwięzły kontekst faktów o użytkowniku dla głównego modelu.
|
||||
|
||||
### `message`
|
||||
@ -408,7 +413,7 @@ Użyj tego, gdy:
|
||||
|
||||
- chcesz najszybszego działania
|
||||
- chcesz najsilniejszego ukierunkowania na przywoływanie trwałych preferencji
|
||||
- kolejne tury nie wymagają kontekstu rozmowy
|
||||
- kolejne tury nie potrzebują kontekstu rozmowy
|
||||
|
||||
Zalecany limit czasu:
|
||||
|
||||
@ -416,7 +421,7 @@ Zalecany limit czasu:
|
||||
|
||||
### `recent`
|
||||
|
||||
Wysyłana jest najnowsza wiadomość użytkownika wraz z niewielkim ogonem ostatniej rozmowy.
|
||||
Wysyłana jest najnowsza wiadomość użytkownika wraz z niewielkim ostatnim ogonem rozmowy.
|
||||
|
||||
```text
|
||||
Recent conversation tail:
|
||||
@ -431,7 +436,7 @@ Latest user message:
|
||||
Użyj tego, gdy:
|
||||
|
||||
- chcesz lepszej równowagi między szybkością a osadzeniem w rozmowie
|
||||
- pytania następcze często zależą od kilku ostatnich tur
|
||||
- pytania uzupełniające często zależą od kilku ostatnich tur
|
||||
|
||||
Zalecany limit czasu:
|
||||
|
||||
@ -439,7 +444,7 @@ Zalecany limit czasu:
|
||||
|
||||
### `full`
|
||||
|
||||
Cała rozmowa jest wysyłana do blokującego podagenta pamięci.
|
||||
Do blokującego podagenta pamięci wysyłana jest pełna rozmowa.
|
||||
|
||||
```text
|
||||
Full conversation context:
|
||||
@ -451,13 +456,13 @@ user: ...
|
||||
|
||||
Użyj tego, gdy:
|
||||
|
||||
- najwyższa jakość przywoływania pamięci jest ważniejsza niż opóźnienie
|
||||
- najwyższa jakość przywoływania pamięci ma większe znaczenie niż opóźnienie
|
||||
- rozmowa zawiera ważne przygotowanie daleko wcześniej w wątku
|
||||
|
||||
Zalecany limit czasu:
|
||||
|
||||
- zwiększ go znacząco w porównaniu z `message` lub `recent`
|
||||
- zacznij od około `15000` ms lub więcej w zależności od rozmiaru wątku
|
||||
- zacznij od około `15000` ms lub więcej, zależnie od rozmiaru wątku
|
||||
|
||||
Ogólnie limit czasu powinien rosnąć wraz z rozmiarem kontekstu:
|
||||
|
||||
@ -465,19 +470,19 @@ Ogólnie limit czasu powinien rosnąć wraz z rozmiarem kontekstu:
|
||||
message < recent < full
|
||||
```
|
||||
|
||||
## Trwałość transkryptu
|
||||
## Trwałość transkryptów
|
||||
|
||||
Uruchomienia blokującego podagenta pamięci Active Memory tworzą rzeczywisty transkrypt `session.jsonl`
|
||||
podczas wywołania blokującego podagenta pamięci.
|
||||
Uruchomienia blokującego podagenta pamięci active memory tworzą rzeczywisty
|
||||
transkrypt `session.jsonl` podczas wywołania blokującego podagenta pamięci.
|
||||
|
||||
Domyślnie ten transkrypt jest tymczasowy:
|
||||
|
||||
- jest zapisywany w katalogu tymczasowym
|
||||
- jest używany tylko na potrzeby działania blokującego podagenta pamięci
|
||||
- jest używany tylko do uruchomienia blokującego podagenta pamięci
|
||||
- jest usuwany natychmiast po zakończeniu działania
|
||||
|
||||
Jeśli chcesz zachować te transkrypty blokującego podagenta pamięci na dysku do debugowania lub
|
||||
inspekcji, włącz trwałość jawnie:
|
||||
inspekcji, jawnie włącz trwałość:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -496,11 +501,11 @@ inspekcji, włącz trwałość jawnie:
|
||||
}
|
||||
```
|
||||
|
||||
Po włączeniu active memory zapisuje transkrypty w osobnym katalogu pod
|
||||
folderem sesji docelowego agenta, a nie w głównej ścieżce transkryptu
|
||||
rozmowy użytkownika.
|
||||
Po włączeniu active memory przechowuje transkrypty w oddzielnym katalogu w
|
||||
folderze sesji docelowego agenta, a nie w głównej ścieżce transkryptu rozmowy
|
||||
użytkownika.
|
||||
|
||||
Domyślny układ jest koncepcyjnie następujący:
|
||||
Domyślny układ koncepcyjnie wygląda tak:
|
||||
|
||||
```text
|
||||
agents/<agent>/sessions/active-memory/<blocking-memory-sub-agent-session-id>.jsonl
|
||||
@ -510,13 +515,13 @@ Możesz zmienić względny podkatalog za pomocą `config.transcriptDir`.
|
||||
|
||||
Używaj tego ostrożnie:
|
||||
|
||||
- transkrypty blokującego podagenta pamięci mogą szybko się gromadzić w aktywnych sesjach
|
||||
- tryb zapytań `full` może duplikować dużą część kontekstu rozmowy
|
||||
- transkrypty blokującego podagenta pamięci mogą szybko się gromadzić przy obciążonych sesjach
|
||||
- tryb zapytania `full` może duplikować dużo kontekstu rozmowy
|
||||
- te transkrypty zawierają ukryty kontekst promptu i przywołane wspomnienia
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
Cała konfiguracja active memory znajduje się pod:
|
||||
Cała konfiguracja active memory znajduje się w:
|
||||
|
||||
```text
|
||||
plugins.entries.active-memory
|
||||
@ -526,30 +531,30 @@ Najważniejsze pola to:
|
||||
|
||||
| Klucz | Typ | Znaczenie |
|
||||
| --------------------------- | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
|
||||
| `enabled` | `boolean` | Włącza sam plugin |
|
||||
| `enabled` | `boolean` | Włącza sam Plugin |
|
||||
| `config.agents` | `string[]` | Identyfikatory agentów, które mogą używać active memory |
|
||||
| `config.model` | `string` | Opcjonalne odwołanie do modelu blokującego podagenta pamięci; gdy nie jest ustawione, active memory używa bieżącego modelu sesji |
|
||||
| `config.queryMode` | `"message" \| "recent" \| "full"` | Kontroluje, jak dużą część rozmowy widzi blokujący podagent pamięci |
|
||||
| `config.promptStyle` | `"balanced" \| "strict" \| "contextual" \| "recall-heavy" \| "precision-heavy" \| "preference-only"` | Kontroluje, jak chętny lub restrykcyjny jest blokujący podagent pamięci przy podejmowaniu decyzji, czy zwrócić pamięć |
|
||||
| `config.queryMode` | `"message" \| "recent" \| "full"` | Określa, jak dużą część rozmowy widzi blokujący podagent pamięci |
|
||||
| `config.promptStyle` | `"balanced" \| "strict" \| "contextual" \| "recall-heavy" \| "precision-heavy" \| "preference-only"` | Określa, jak chętny lub rygorystyczny jest blokujący podagent pamięci przy podejmowaniu decyzji, czy zwrócić pamięć |
|
||||
| `config.thinking` | `"off" \| "minimal" \| "low" \| "medium" \| "high" \| "xhigh" \| "adaptive"` | Zaawansowane nadpisanie poziomu myślenia dla blokującego podagenta pamięci; domyślnie `off` dla szybkości |
|
||||
| `config.promptOverride` | `string` | Zaawansowana pełna zamiana promptu; niezalecana do normalnego użycia |
|
||||
| `config.promptAppend` | `string` | Zaawansowane dodatkowe instrukcje dołączane do domyślnego lub nadpisanego promptu |
|
||||
| `config.promptOverride` | `string` | Zaawansowane pełne zastąpienie promptu; niezalecane do normalnego użycia |
|
||||
| `config.promptAppend` | `string` | Zaawansowane dodatkowe instrukcje dołączane do domyślnego lub nadpisanego promptu |
|
||||
| `config.timeoutMs` | `number` | Twardy limit czasu dla blokującego podagenta pamięci |
|
||||
| `config.maxSummaryChars` | `number` | Maksymalna łączna liczba znaków dozwolona w podsumowaniu active-memory |
|
||||
| `config.logging` | `boolean` | Emisja logów active memory podczas dostrajania |
|
||||
| `config.persistTranscripts` | `boolean` | Zachowuje transkrypty blokującego podagenta pamięci na dysku zamiast usuwać pliki tymczasowe |
|
||||
| `config.transcriptDir` | `string` | Względny katalog transkryptów blokującego podagenta pamięci pod folderem sesji agenta |
|
||||
| `config.transcriptDir` | `string` | Względny katalog transkryptów blokującego podagenta pamięci w folderze sesji agenta |
|
||||
|
||||
Przydatne pola do dostrajania:
|
||||
|
||||
| Klucz | Typ | Znaczenie |
|
||||
| ----------------------------- | -------- | ------------------------------------------------------------ |
|
||||
| `config.maxSummaryChars` | `number` | Maksymalna łączna liczba znaków dozwolona w podsumowaniu active-memory |
|
||||
| `config.recentUserTurns` | `number` | Poprzednie tury użytkownika do uwzględnienia, gdy `queryMode` ma wartość `recent` |
|
||||
| `config.recentAssistantTurns` | `number` | Poprzednie tury asystenta do uwzględnienia, gdy `queryMode` ma wartość `recent` |
|
||||
| `config.recentUserTurns` | `number` | Poprzednie tury użytkownika do uwzględnienia, gdy `queryMode` to `recent` |
|
||||
| `config.recentAssistantTurns` | `number` | Poprzednie tury asystenta do uwzględnienia, gdy `queryMode` to `recent` |
|
||||
| `config.recentUserChars` | `number` | Maksymalna liczba znaków na ostatnią turę użytkownika |
|
||||
| `config.recentAssistantChars` | `number` | Maksymalna liczba znaków na ostatnią turę asystenta |
|
||||
| `config.cacheTtlMs` | `number` | Ponowne użycie pamięci podręcznej dla powtarzających się identycznych zapytań |
|
||||
| `config.cacheTtlMs` | `number` | Ponowne użycie pamięci podręcznej dla powtarzanych identycznych zapytań |
|
||||
|
||||
## Zalecana konfiguracja
|
||||
|
||||
@ -575,8 +580,10 @@ Zacznij od `recent`.
|
||||
}
|
||||
```
|
||||
|
||||
Jeśli chcesz obserwować zachowanie na żywo podczas dostrajania, użyj `/verbose on` w
|
||||
sesji zamiast szukać osobnego polecenia debugowania active-memory.
|
||||
Jeśli chcesz sprawdzać zachowanie na żywo podczas dostrajania, użyj `/verbose on` dla
|
||||
normalnego wiersza stanu oraz `/trace on` dla podsumowania debugowania active-memory, zamiast
|
||||
szukać osobnego polecenia debugowania active-memory. W kanałach czatu te
|
||||
wiersze diagnostyczne są wysyłane po głównej odpowiedzi asystenta, a nie przed nią.
|
||||
|
||||
Następnie przejdź do:
|
||||
|
||||
@ -585,15 +592,15 @@ Następnie przejdź do:
|
||||
|
||||
## Debugowanie
|
||||
|
||||
Jeśli active memory nie pojawia się tam, gdzie się go spodziewasz:
|
||||
Jeśli active memory nie pojawia się tam, gdzie się tego spodziewasz:
|
||||
|
||||
1. Potwierdź, że plugin jest włączony pod `plugins.entries.active-memory.enabled`.
|
||||
2. Potwierdź, że bieżący identyfikator agenta jest wymieniony w `config.agents`.
|
||||
1. Potwierdź, że Plugin jest włączony w `plugins.entries.active-memory.enabled`.
|
||||
2. Potwierdź, że identyfikator bieżącego agenta jest wymieniony w `config.agents`.
|
||||
3. Potwierdź, że testujesz przez interaktywną trwałą sesję czatu.
|
||||
4. Włącz `config.logging: true` i obserwuj logi Gateway.
|
||||
5. Sprawdź, czy samo wyszukiwanie pamięci działa przy użyciu `openclaw memory status --deep`.
|
||||
5. Sprawdź, czy samo przeszukiwanie pamięci działa, używając `openclaw memory status --deep`.
|
||||
|
||||
Jeśli trafienia pamięci są zbyt szumne, zaostrz:
|
||||
Jeśli trafienia pamięci są zbyt chaotyczne, zaostrz:
|
||||
|
||||
- `maxSummaryChars`
|
||||
|
||||
@ -604,8 +611,186 @@ Jeśli active memory jest zbyt wolne:
|
||||
- zmniejsz liczbę ostatnich tur
|
||||
- zmniejsz limity znaków na turę
|
||||
|
||||
## Częste problemy
|
||||
|
||||
### Dostawca osadzania zmienił się nieoczekiwanie
|
||||
|
||||
Active Memory używa zwykłego potoku `memory_search` w
|
||||
`agents.defaults.memorySearch`. Oznacza to, że konfiguracja dostawcy osadzania jest wymagana
|
||||
tylko wtedy, gdy Twoja konfiguracja `memorySearch` wymaga osadzań dla oczekiwanego
|
||||
zachowania.
|
||||
|
||||
W praktyce:
|
||||
|
||||
- jawna konfiguracja dostawcy jest **wymagana**, jeśli chcesz dostawcę, który nie jest
|
||||
automatycznie wykrywany, na przykład `ollama`
|
||||
- jawna konfiguracja dostawcy jest **wymagana**, jeśli automatyczne wykrywanie nie rozpoznaje
|
||||
żadnego użytecznego dostawcy osadzania dla Twojego środowiska
|
||||
- jawna konfiguracja dostawcy jest **zdecydowanie zalecana**, jeśli chcesz deterministycznego
|
||||
wyboru dostawcy zamiast zasady „pierwszy dostępny wygrywa”
|
||||
- jawna konfiguracja dostawcy zwykle **nie jest wymagana**, jeśli automatyczne wykrywanie już
|
||||
rozpoznaje dostawcę, którego chcesz, i ten dostawca jest stabilny w Twoim wdrożeniu
|
||||
|
||||
Jeśli `memorySearch.provider` nie jest ustawione, OpenClaw automatycznie wykrywa
|
||||
pierwszego dostępnego dostawcę osadzania.
|
||||
|
||||
Może to być mylące w rzeczywistych wdrożeniach:
|
||||
|
||||
- nowo dostępny klucz API może zmienić dostawcę używanego przez przeszukiwanie pamięci
|
||||
- jedno polecenie lub powierzchnia diagnostyczna może sprawiać, że wybrany dostawca wygląda
|
||||
inaczej niż ścieżka, którą rzeczywiście trafiasz podczas synchronizacji pamięci na żywo lub
|
||||
bootstrapu wyszukiwania
|
||||
- dostawcy hostowani mogą kończyć się błędami limitu przydziału lub limitu szybkości, które pojawiają się
|
||||
dopiero wtedy, gdy Active Memory zaczyna wykonywać wyszukiwania przywoływania przed każdą odpowiedzią
|
||||
|
||||
Active Memory może nadal działać bez osadzań, gdy `memory_search` może działać
|
||||
w zdegradowanym trybie wyłącznie leksykalnym, co zwykle ma miejsce wtedy, gdy nie można
|
||||
rozpoznać żadnego dostawcy osadzania.
|
||||
|
||||
Nie zakładaj takiego samego mechanizmu awaryjnego przy błędach dostawcy w czasie działania, takich jak
|
||||
wyczerpanie limitu przydziału, limity szybkości, błędy sieci/dostawcy lub brakujące modele lokalne/zdalne
|
||||
po tym, jak dostawca został już wybrany.
|
||||
|
||||
W praktyce:
|
||||
|
||||
- jeśli nie można rozpoznać żadnego dostawcy osadzania, `memory_search` może przejść
|
||||
do pobierania wyłącznie leksykalnego
|
||||
- jeśli dostawca osadzania zostanie rozpoznany, a następnie zawiedzie w czasie działania, OpenClaw
|
||||
obecnie nie gwarantuje leksykalnego mechanizmu awaryjnego dla tego żądania
|
||||
- jeśli potrzebujesz deterministycznego wyboru dostawcy, przypnij
|
||||
`agents.defaults.memorySearch.provider`
|
||||
- jeśli potrzebujesz przełączania awaryjnego dostawcy przy błędach w czasie działania, jawnie skonfiguruj
|
||||
`agents.defaults.memorySearch.fallback`
|
||||
|
||||
Jeśli zależysz od przywoływania opartego na osadzaniu, indeksowania multimodalnego lub określonego
|
||||
dostawcy lokalnego/zdalnego, przypnij dostawcę jawnie zamiast polegać na
|
||||
automatycznym wykrywaniu.
|
||||
|
||||
Typowe przykłady przypinania:
|
||||
|
||||
OpenAI:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
memorySearch: {
|
||||
provider: "openai",
|
||||
model: "text-embedding-3-small",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Gemini:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
memorySearch: {
|
||||
provider: "gemini",
|
||||
model: "gemini-embedding-001",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Ollama:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
memorySearch: {
|
||||
provider: "ollama",
|
||||
model: "nomic-embed-text",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Jeśli oczekujesz przełączania awaryjnego dostawcy przy błędach w czasie działania, takich jak wyczerpanie limitu przydziału,
|
||||
samo przypięcie dostawcy nie wystarczy. Skonfiguruj również jawny mechanizm awaryjny:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
memorySearch: {
|
||||
provider: "openai",
|
||||
fallback: "gemini",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
### Debugowanie problemów z dostawcą
|
||||
|
||||
Jeśli Active Memory jest wolne, puste lub wygląda, jakby nieoczekiwanie przełączało dostawców:
|
||||
|
||||
- obserwuj logi Gateway podczas odtwarzania problemu; szukaj wierszy takich jak
|
||||
`active-memory: ... start|done`, `memory sync failed (search-bootstrap)` lub
|
||||
błędów osadzania specyficznych dla dostawcy
|
||||
- włącz `/trace on`, aby wyświetlić należące do Pluginu podsumowanie debugowania Active Memory w
|
||||
sesji
|
||||
- włącz `/verbose on`, jeśli chcesz także widzieć zwykły wiersz stanu
|
||||
`🧩 Active Memory: ...` po każdej odpowiedzi
|
||||
- uruchom `openclaw memory status --deep`, aby sprawdzić bieżący backend
|
||||
wyszukiwania pamięci i stan indeksu
|
||||
- sprawdź `agents.defaults.memorySearch.provider` oraz powiązaną autoryzację/konfigurację, aby
|
||||
upewnić się, że dostawca, którego oczekujesz, jest faktycznie tym, który może zostać rozpoznany w czasie działania
|
||||
- jeśli używasz `ollama`, sprawdź, czy skonfigurowany model osadzania jest zainstalowany, na
|
||||
przykład `ollama list`
|
||||
|
||||
Przykładowa pętla debugowania:
|
||||
|
||||
```text
|
||||
1. Start the gateway and watch its logs
|
||||
2. In the chat session, run /trace on
|
||||
3. Send one message that should trigger Active Memory
|
||||
4. Compare the chat-visible debug line with the gateway log lines
|
||||
5. If provider choice is ambiguous, pin agents.defaults.memorySearch.provider explicitly
|
||||
```
|
||||
|
||||
Przykład:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
memorySearch: {
|
||||
provider: "ollama",
|
||||
model: "nomic-embed-text",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Albo, jeśli chcesz osadzania Gemini:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
memorySearch: {
|
||||
provider: "gemini",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Po zmianie dostawcy uruchom ponownie Gateway i przeprowadź nowy test z
|
||||
`/trace on`, aby wiersz debugowania Active Memory odzwierciedlał nową ścieżkę osadzania.
|
||||
|
||||
## Powiązane strony
|
||||
|
||||
- [Wyszukiwanie w pamięci](/pl/concepts/memory-search)
|
||||
- [Memory Search](/pl/concepts/memory-search)
|
||||
- [Dokumentacja konfiguracji pamięci](/pl/reference/memory-config)
|
||||
- [Konfiguracja Plugin SDK](/pl/plugins/sdk-setup)
|
||||
|
||||
@ -4,22 +4,23 @@ read_when:
|
||||
summary: Cykl życia pętli agenta, strumienie i semantyka oczekiwania
|
||||
title: Pętla agenta
|
||||
x-i18n:
|
||||
generated_at: "2026-04-10T09:44:34Z"
|
||||
generated_at: "2026-04-12T23:28:03Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: b6831a5b11e9100e49f650feca51ab44a2bef242ce1b5db2766d0b3b5c5ba729
|
||||
source_hash: 3c2986708b444055340e0c91b8fce7d32225fcccf3d197b797665fd36b1991a5
|
||||
source_path: concepts/agent-loop.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Pętla agenta (OpenClaw)
|
||||
|
||||
Pętla agenta to pełny, „rzeczywisty” przebieg działania agenta: przyjęcie danych wejściowych → złożenie kontekstu → wnioskowanie modelu →
|
||||
wykonanie narzędzi → strumieniowanie odpowiedzi → utrwalenie. To autorytatywna ścieżka, która zamienia wiadomość
|
||||
w działania i końcową odpowiedź, przy zachowaniu spójnego stanu sesji.
|
||||
Pętla agentowa to pełny, „rzeczywisty” przebieg działania agenta: przyjęcie danych wejściowych → zbudowanie kontekstu → wnioskowanie modelu →
|
||||
wykonanie narzędzi → strumieniowanie odpowiedzi → trwały zapis. To autorytatywna ścieżka, która przekształca wiadomość
|
||||
w działania i końcową odpowiedź, zachowując przy tym spójność stanu sesji.
|
||||
|
||||
W OpenClaw pętla to pojedynczy, serializowany przebieg na sesję, który emituje zdarzenia cyklu życia i zdarzenia strumienia,
|
||||
gdy model analizuje, wywołuje narzędzia i strumieniuje wynik. Ten dokument wyjaśnia, jak ta rzeczywista pętla jest połączona od początku do końca.
|
||||
W OpenClaw pętla to pojedynczy, serializowany przebieg na sesję, który emituje zdarzenia cyklu życia i strumienia,
|
||||
gdy model myśli, wywołuje narzędzia i strumieniuje dane wyjściowe. Ten dokument wyjaśnia, jak ta autentyczna pętla
|
||||
jest połączona od początku do końca.
|
||||
|
||||
## Punkty wejścia
|
||||
|
||||
@ -28,18 +29,18 @@ gdy model analizuje, wywołuje narzędzia i strumieniuje wynik. Ten dokument wyj
|
||||
|
||||
## Jak to działa (wysoki poziom)
|
||||
|
||||
1. RPC `agent` sprawdza poprawność parametrów, rozpoznaje sesję (sessionKey/sessionId), utrwala metadane sesji i natychmiast zwraca `{ runId, acceptedAt }`.
|
||||
1. RPC `agent` weryfikuje parametry, rozwiązuje sesję (`sessionKey`/`sessionId`), zapisuje metadane sesji i natychmiast zwraca `{ runId, acceptedAt }`.
|
||||
2. `agentCommand` uruchamia agenta:
|
||||
- rozpoznaje model + domyślne wartości thinking/verbose
|
||||
- ładuje migawkę Skills
|
||||
- rozwiązuje domyślne wartości modelu + thinking/verbose/trace
|
||||
- wczytuje snapshot Skills
|
||||
- wywołuje `runEmbeddedPiAgent` (środowisko uruchomieniowe pi-agent-core)
|
||||
- emituje **lifecycle end/error**, jeśli osadzona pętla sama go nie emituje
|
||||
- emituje **lifecycle end/error**, jeśli osadzona pętla tego nie zrobi
|
||||
3. `runEmbeddedPiAgent`:
|
||||
- serializuje przebiegi przez kolejki per sesja i globalne
|
||||
- rozpoznaje model + profil uwierzytelniania i buduje sesję Pi
|
||||
- rozwiązuje profil modelu + auth i buduje sesję pi
|
||||
- subskrybuje zdarzenia pi i strumieniuje delty asystenta/narzędzi
|
||||
- wymusza limit czasu -> przerywa przebieg po jego przekroczeniu
|
||||
- zwraca ładunki + metadane użycia
|
||||
- zwraca payloady + metadane użycia
|
||||
4. `subscribeEmbeddedPiSession` mostkuje zdarzenia pi-agent-core do strumienia OpenClaw `agent`:
|
||||
- zdarzenia narzędzi => `stream: "tool"`
|
||||
- delty asystenta => `stream: "assistant"`
|
||||
@ -50,97 +51,97 @@ gdy model analizuje, wywołuje narzędzia i strumieniuje wynik. Ten dokument wyj
|
||||
|
||||
## Kolejkowanie + współbieżność
|
||||
|
||||
- Przebiegi są serializowane dla każdego klucza sesji (pas sesji) i opcjonalnie przez globalny pas.
|
||||
- Zapobiega to wyścigom narzędzi/sesji i utrzymuje spójną historię sesji.
|
||||
- Przebiegi są serializowane per klucz sesji (pas sesji), a opcjonalnie także przez pas globalny.
|
||||
- Zapobiega to wyścigom narzędzi/sesji i utrzymuje spójność historii sesji.
|
||||
- Kanały wiadomości mogą wybierać tryby kolejki (collect/steer/followup), które zasilają ten system pasów.
|
||||
Zobacz [Command Queue](/pl/concepts/queue).
|
||||
Zobacz [Kolejka poleceń](/pl/concepts/queue).
|
||||
|
||||
## Przygotowanie sesji + obszaru roboczego
|
||||
|
||||
- Obszar roboczy jest rozpoznawany i tworzony; przebiegi piaskownicowane mogą zostać przekierowane do katalogu głównego obszaru roboczego sandboxa.
|
||||
- Skills są ładowane (lub ponownie używane z migawki) i wstrzykiwane do środowiska oraz promptu.
|
||||
- Pliki bootstrap/context są rozpoznawane i wstrzykiwane do raportu promptu systemowego.
|
||||
- Uzyskiwana jest blokada zapisu sesji; `SessionManager` jest otwierany i przygotowywany przed rozpoczęciem strumieniowania.
|
||||
- Obszar roboczy jest rozwiązywany i tworzony; przebiegi w sandbox mogą zostać przekierowane do katalogu głównego obszaru roboczego sandbox.
|
||||
- Skills są wczytywane (lub ponownie używane ze snapshotu) i wstrzykiwane do środowiska oraz promptu.
|
||||
- Pliki bootstrap/kontekstu są rozwiązywane i wstrzykiwane do raportu promptu systemowego.
|
||||
- Uzyskiwana jest blokada zapisu sesji; przed rozpoczęciem strumieniowania `SessionManager` jest otwierany i przygotowywany.
|
||||
|
||||
## Składanie promptu + prompt systemowy
|
||||
|
||||
- Prompt systemowy jest budowany na podstawie bazowego promptu OpenClaw, promptu Skills, kontekstu bootstrap i nadpisań dla danego przebiegu.
|
||||
- Wymuszane są limity specyficzne dla modelu oraz rezerwa tokenów na kompaktowanie.
|
||||
- Zobacz [System prompt](/pl/concepts/system-prompt), aby sprawdzić, co widzi model.
|
||||
- Prompt systemowy jest budowany z bazowego promptu OpenClaw, promptu Skills, kontekstu bootstrap i nadpisań dla danego przebiegu.
|
||||
- Wymuszane są limity specyficzne dla modelu oraz tokeny zarezerwowane dla Compaction.
|
||||
- Zobacz [Prompt systemowy](/pl/concepts/system-prompt), aby sprawdzić, co widzi model.
|
||||
|
||||
## Punkty hooków (gdzie można przechwycić)
|
||||
|
||||
OpenClaw ma dwa systemy hooków:
|
||||
|
||||
- **Hooki wewnętrzne** (hooki Gateway): skrypty sterowane zdarzeniami dla poleceń i zdarzeń cyklu życia.
|
||||
- **Hooki pluginów**: punkty rozszerzeń wewnątrz cyklu życia agenta/narzędzi i potoku gateway.
|
||||
- **Hooki Pluginów**: punkty rozszerzeń wewnątrz cyklu życia agenta/narzędzi i potoku Gateway.
|
||||
|
||||
### Hooki wewnętrzne (hooki Gateway)
|
||||
|
||||
- **`agent:bootstrap`**: uruchamia się podczas budowania plików bootstrap, zanim prompt systemowy zostanie ostatecznie sfinalizowany.
|
||||
Użyj tego, aby dodawać/usuwać pliki kontekstu bootstrap.
|
||||
- **Hooki poleceń**: `/new`, `/reset`, `/stop` i inne zdarzenia poleceń (zobacz dokumentację Hooks).
|
||||
- Hooki poleceń: `/new`, `/reset`, `/stop` i inne zdarzenia poleceń (zobacz dokumentację Hooków).
|
||||
|
||||
Zobacz [Hooks](/pl/automation/hooks), aby poznać konfigurację i przykłady.
|
||||
Zobacz [Hooki](/pl/automation/hooks), aby znaleźć konfigurację i przykłady.
|
||||
|
||||
### Hooki pluginów (cykl życia agenta + gateway)
|
||||
### Hooki Pluginów (cykl życia agenta + Gateway)
|
||||
|
||||
Są uruchamiane wewnątrz pętli agenta lub potoku gateway:
|
||||
Są one uruchamiane wewnątrz pętli agenta lub potoku Gateway:
|
||||
|
||||
- **`before_model_resolve`**: uruchamia się przed sesją (bez `messages`), aby deterministycznie nadpisać dostawcę/model przed rozpoznaniem modelu.
|
||||
- **`before_prompt_build`**: uruchamia się po załadowaniu sesji (z `messages`), aby wstrzyknąć `prependContext`, `systemPrompt`, `prependSystemContext` lub `appendSystemContext` przed wysłaniem promptu. Używaj `prependContext` do dynamicznego tekstu dla danego obrotu i pól kontekstu systemowego do stabilnych wskazówek, które powinny znajdować się w obszarze promptu systemowego.
|
||||
- **`before_agent_start`**: hook zgodności wstecznej; może uruchamiać się w obu fazach — preferuj powyższe jawne hooki.
|
||||
- **`before_agent_reply`**: uruchamia się po działaniach inline i przed wywołaniem LLM, pozwalając pluginowi przejąć obrót i zwrócić syntetyczną odpowiedź lub całkowicie wyciszyć obrót.
|
||||
- **`before_model_resolve`**: uruchamiany przed sesją (bez `messages`), aby deterministycznie nadpisać dostawcę/model przed rozstrzygnięciem modelu.
|
||||
- **`before_prompt_build`**: uruchamiany po wczytaniu sesji (z `messages`), aby wstrzyknąć `prependContext`, `systemPrompt`, `prependSystemContext` lub `appendSystemContext` przed wysłaniem promptu. Używaj `prependContext` dla dynamicznego tekstu per tura, a pól kontekstu systemowego dla stabilnych wskazówek, które powinny znajdować się w przestrzeni promptu systemowego.
|
||||
- **`before_agent_start`**: hook zgodności wstecznej; może działać w dowolnej z obu faz — preferuj powyższe hooki jawne.
|
||||
- **`before_agent_reply`**: uruchamiany po działaniach inline i przed wywołaniem LLM, pozwalając Pluginowi przejąć turę i zwrócić odpowiedź syntetyczną lub całkowicie wyciszyć turę.
|
||||
- **`agent_end`**: umożliwia inspekcję końcowej listy wiadomości i metadanych przebiegu po zakończeniu.
|
||||
- **`before_compaction` / `after_compaction`**: obserwują lub opisują cykle kompaktowania.
|
||||
- **`before_compaction` / `after_compaction`**: obserwują lub adnotują cykle Compaction.
|
||||
- **`before_tool_call` / `after_tool_call`**: przechwytują parametry/wyniki narzędzi.
|
||||
- **`before_install`**: umożliwia inspekcję wyników wbudowanego skanowania i opcjonalne blokowanie instalacji Skills lub pluginów.
|
||||
- **`tool_result_persist`**: synchronicznie przekształca wyniki narzędzi przed zapisaniem ich do transkryptu sesji.
|
||||
- **`before_install`**: umożliwia inspekcję wyników wbudowanego skanowania i opcjonalne zablokowanie instalacji Skills lub Pluginów.
|
||||
- **`tool_result_persist`**: synchronicznie przekształca wyniki narzędzi, zanim zostaną zapisane w transkrypcie sesji.
|
||||
- **`message_received` / `message_sending` / `message_sent`**: hooki wiadomości przychodzących i wychodzących.
|
||||
- **`session_start` / `session_end`**: granice cyklu życia sesji.
|
||||
- **`gateway_start` / `gateway_stop`**: zdarzenia cyklu życia gateway.
|
||||
- **`gateway_start` / `gateway_stop`**: zdarzenia cyklu życia Gateway.
|
||||
|
||||
Zasady podejmowania decyzji przez hooki dla zabezpieczeń wiadomości wychodzących/narzędzi:
|
||||
Zasady decyzyjne hooków dla zabezpieczeń wyjścia/narzędzi:
|
||||
|
||||
- `before_tool_call`: `{ block: true }` jest terminalne i zatrzymuje handlery o niższym priorytecie.
|
||||
- `before_tool_call`: `{ block: true }` jest rozstrzygające i zatrzymuje handlery o niższym priorytecie.
|
||||
- `before_tool_call`: `{ block: false }` nic nie robi i nie usuwa wcześniejszej blokady.
|
||||
- `before_install`: `{ block: true }` jest terminalne i zatrzymuje handlery o niższym priorytecie.
|
||||
- `before_install`: `{ block: true }` jest rozstrzygające i zatrzymuje handlery o niższym priorytecie.
|
||||
- `before_install`: `{ block: false }` nic nie robi i nie usuwa wcześniejszej blokady.
|
||||
- `message_sending`: `{ cancel: true }` jest terminalne i zatrzymuje handlery o niższym priorytecie.
|
||||
- `message_sending`: `{ cancel: true }` jest rozstrzygające i zatrzymuje handlery o niższym priorytecie.
|
||||
- `message_sending`: `{ cancel: false }` nic nie robi i nie usuwa wcześniejszego anulowania.
|
||||
|
||||
Zobacz [Plugin hooks](/pl/plugins/architecture#provider-runtime-hooks), aby poznać API hooków i szczegóły rejestracji.
|
||||
Zobacz [Hooki Pluginów](/pl/plugins/architecture#provider-runtime-hooks), aby znaleźć API hooków i szczegóły rejestracji.
|
||||
|
||||
## Strumieniowanie + odpowiedzi częściowe
|
||||
## Strumieniowanie + częściowe odpowiedzi
|
||||
|
||||
- Delty asystenta są strumieniowane z pi-agent-core i emitowane jako zdarzenia `assistant`.
|
||||
- Strumieniowanie bloków może emitować odpowiedzi częściowe przy `text_end` lub `message_end`.
|
||||
- Strumieniowanie rozumowania może być emitowane jako osobny strumień lub jako odpowiedzi blokowe.
|
||||
- Zobacz [Streaming](/pl/concepts/streaming), aby poznać zachowanie fragmentacji i odpowiedzi blokowych.
|
||||
- Strumieniowanie blokowe może emitować częściowe odpowiedzi na `text_end` albo `message_end`.
|
||||
- Strumieniowanie rozumowania może być emitowane jako osobny strumień albo jako odpowiedzi blokowe.
|
||||
- Zobacz [Strumieniowanie](/pl/concepts/streaming), aby poznać zachowanie fragmentacji i odpowiedzi blokowych.
|
||||
|
||||
## Wykonywanie narzędzi + narzędzia wiadomości
|
||||
|
||||
- Zdarzenia start/update/end narzędzi są emitowane w strumieniu `tool`.
|
||||
- Wyniki narzędzi są oczyszczane pod kątem rozmiaru i ładunków obrazów przed logowaniem/emisją.
|
||||
- Zdarzenia rozpoczęcia/aktualizacji/zakończenia narzędzia są emitowane w strumieniu `tool`.
|
||||
- Wyniki narzędzi są oczyszczane pod względem rozmiaru i payloadów obrazów przed logowaniem/emisją.
|
||||
- Wysłania przez narzędzia wiadomości są śledzone, aby tłumić zduplikowane potwierdzenia asystenta.
|
||||
|
||||
## Kształtowanie odpowiedzi + tłumienie
|
||||
|
||||
- Końcowe ładunki są składane z:
|
||||
- Końcowe payloady są składane z:
|
||||
- tekstu asystenta (i opcjonalnie rozumowania)
|
||||
- podsumowań narzędzi inline (gdy `verbose` jest włączone i dozwolone)
|
||||
- tekstu błędu asystenta, gdy model zwróci błąd
|
||||
- Dokładny cichy token `NO_REPLY` / `no_reply` jest odfiltrowywany z wychodzących
|
||||
ładunków.
|
||||
- Duplikaty z narzędzi wiadomości są usuwane z końcowej listy ładunków.
|
||||
- Jeśli nie pozostaną żadne renderowalne ładunki, a narzędzie zwróciło błąd, emitowana jest zapasowa odpowiedź błędu narzędzia
|
||||
(chyba że narzędzie wiadomości wysłało już odpowiedź widoczną dla użytkownika).
|
||||
- Dokładny token wyciszający `NO_REPLY` / `no_reply` jest filtrowany z wychodzących
|
||||
payloadów.
|
||||
- Duplikaty z narzędzi wiadomości są usuwane z końcowej listy payloadów.
|
||||
- Jeśli nie pozostaną żadne renderowalne payloady, a narzędzie zwróciło błąd, emitowana jest awaryjna odpowiedź o błędzie narzędzia
|
||||
(chyba że narzędzie wiadomości już wysłało odpowiedź widoczną dla użytkownika).
|
||||
|
||||
## Kompaktowanie + ponowienia
|
||||
## Compaction + ponowienia
|
||||
|
||||
- Automatyczne kompaktowanie emituje zdarzenia strumienia `compaction` i może wywołać ponowienie.
|
||||
- Auto-Compaction emituje zdarzenia strumienia `compaction` i może uruchomić ponowienie.
|
||||
- Przy ponowieniu bufory w pamięci i podsumowania narzędzi są resetowane, aby uniknąć zduplikowanego wyjścia.
|
||||
- Zobacz [Compaction](/pl/concepts/compaction), aby poznać potok kompaktowania.
|
||||
- Zobacz [Compaction](/pl/concepts/compaction), aby poznać potok Compaction.
|
||||
|
||||
## Strumienie zdarzeń (obecnie)
|
||||
|
||||
@ -150,26 +151,26 @@ Zobacz [Plugin hooks](/pl/plugins/architecture#provider-runtime-hooks), aby pozn
|
||||
|
||||
## Obsługa kanału czatu
|
||||
|
||||
- Delty asystenta są buforowane do komunikatów czatu `delta`.
|
||||
- Końcowy komunikat czatu `final` jest emitowany przy **lifecycle end/error**.
|
||||
- Delty asystenta są buforowane do wiadomości czatu `delta`.
|
||||
- Końcowe `final` czatu jest emitowane przy **lifecycle end/error**.
|
||||
|
||||
## Limity czasu
|
||||
|
||||
- Domyślny `agent.wait`: 30 s (tylko oczekiwanie). Parametr `timeoutMs` go nadpisuje.
|
||||
- Czas działania agenta: domyślnie `agents.defaults.timeoutSeconds` wynosi 172800 s (48 godzin); egzekwowany przez licznik przerwania w `runEmbeddedPiAgent`.
|
||||
- Limit bezczynności LLM: `agents.defaults.llm.idleTimeoutSeconds` przerywa żądanie modelu, gdy przed upływem okna bezczynności nie nadejdą żadne fragmenty odpowiedzi. Ustaw go jawnie dla wolnych modeli lokalnych lub dostawców rozumowania/wywołań narzędzi; ustaw na 0, aby wyłączyć. Jeśli nie jest ustawiony, OpenClaw używa `agents.defaults.timeoutSeconds`, jeśli skonfigurowano, w przeciwnym razie 120 s. Przebiegi wyzwalane przez cron bez jawnego limitu czasu LLM lub agenta wyłączają nadzorcę bezczynności i polegają na zewnętrznym limicie czasu crona.
|
||||
- Czas działania agenta: domyślne `agents.defaults.timeoutSeconds` to 172800 s (48 godzin); wymuszane przez timer przerwania w `runEmbeddedPiAgent`.
|
||||
- Limit bezczynności LLM: `agents.defaults.llm.idleTimeoutSeconds` przerywa żądanie modelu, gdy w oknie bezczynności nie nadejdą żadne fragmenty odpowiedzi. Ustaw tę wartość jawnie dla wolnych modeli lokalnych albo dostawców rozumowania/wywołań narzędzi; ustaw na 0, aby wyłączyć. Jeśli nie jest ustawiona, OpenClaw używa `agents.defaults.timeoutSeconds`, jeśli jest skonfigurowane, w przeciwnym razie 120 s. Przebiegi wyzwalane przez Cron bez jawnego limitu czasu LLM lub agenta wyłączają watchdog bezczynności i polegają na zewnętrznym limicie czasu Cron.
|
||||
|
||||
## Gdzie wszystko może zakończyć się wcześniej
|
||||
|
||||
- Limit czasu agenta (przerwanie)
|
||||
- AbortSignal (anulowanie)
|
||||
- Rozłączenie gateway lub limit czasu RPC
|
||||
- Limit czasu `agent.wait` (tylko oczekiwanie, nie zatrzymuje agenta)
|
||||
- Rozłączenie Gateway lub limit czasu RPC
|
||||
- Limit czasu `agent.wait` (dotyczy tylko oczekiwania, nie zatrzymuje agenta)
|
||||
|
||||
## Powiązane
|
||||
|
||||
- [Tools](/pl/tools) — dostępne narzędzia agenta
|
||||
- [Hooks](/pl/automation/hooks) — skrypty sterowane zdarzeniami, wyzwalane przez zdarzenia cyklu życia agenta
|
||||
- [Compaction](/pl/concepts/compaction) — jak podsumowywane są długie rozmowy
|
||||
- [Exec Approvals](/pl/tools/exec-approvals) — bramki zatwierdzania dla poleceń powłoki
|
||||
- [Narzędzia](/pl/tools) — dostępne narzędzia agenta
|
||||
- [Hooki](/pl/automation/hooks) — skrypty sterowane zdarzeniami, wyzwalane przez zdarzenia cyklu życia agenta
|
||||
- [Compaction](/pl/concepts/compaction) — jak długie rozmowy są podsumowywane
|
||||
- [Zgody na Exec](/pl/tools/exec-approvals) — bramki zatwierdzania poleceń powłoki
|
||||
- [Thinking](/pl/tools/thinking) — konfiguracja poziomu thinking/rozumowania
|
||||
|
||||
@ -1,55 +1,55 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz zrozumieć, co oznacza „kontekst” w OpenClaw
|
||||
- Debugujesz, dlaczego model coś „wie” (albo o czymś zapomniał)
|
||||
- Debugujesz, dlaczego model „wie” coś (albo o tym zapomniał)
|
||||
- Chcesz zmniejszyć narzut kontekstu (`/context`, `/status`, `/compact`)
|
||||
summary: 'Kontekst: co widzi model, jak jest budowany i jak go sprawdzić'
|
||||
summary: 'Kontekst: co widzi model, jak jest zbudowany i jak go sprawdzić'
|
||||
title: Kontekst
|
||||
x-i18n:
|
||||
generated_at: "2026-04-07T09:44:00Z"
|
||||
generated_at: "2026-04-12T23:28:04Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: a75b4cd65bf6385d46265b9ce1643310bc99d220e35ec4b4924096bed3ca4aa0
|
||||
source_hash: 3620db1a8c1956d91a01328966df491388d3a32c4003dc4447197eb34316c77d
|
||||
source_path: concepts/context.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Kontekst
|
||||
|
||||
„Kontekst” to **wszystko, co OpenClaw wysyła do modelu dla danego uruchomienia**. Jest ograniczony przez **okno kontekstu** modelu (limit tokenów).
|
||||
„Kontekst” to **wszystko, co OpenClaw wysyła do modelu dla danego uruchomienia**. Jest on ograniczony przez **okno kontekstowe** modelu (limit tokenów).
|
||||
|
||||
Prosty model mentalny dla początkujących:
|
||||
Model mentalny dla początkujących:
|
||||
|
||||
- **System prompt** (budowany przez OpenClaw): reguły, narzędzia, lista Skills, czas/runtime i wstrzyknięte pliki obszaru roboczego.
|
||||
- **System prompt** (zbudowany przez OpenClaw): reguły, narzędzia, lista Skills, czas/środowisko uruchomieniowe oraz wstrzyknięte pliki workspace.
|
||||
- **Historia rozmowy**: Twoje wiadomości + wiadomości asystenta dla tej sesji.
|
||||
- **Wywołania/wyniki narzędzi + załączniki**: dane wyjściowe poleceń, odczyty plików, obrazy/audio itp.
|
||||
- **Wywołania/wyniki narzędzi + załączniki**: wyniki poleceń, odczyty plików, obrazy/audio itd.
|
||||
|
||||
Kontekst _to nie to samo_ co „pamięć”: pamięć może być przechowywana na dysku i później ponownie wczytana; kontekst to to, co znajduje się w bieżącym oknie modelu.
|
||||
Kontekst _nie jest tym samym_ co „pamięć”: pamięć może być zapisana na dysku i wczytana później; kontekst to to, co znajduje się w bieżącym oknie modelu.
|
||||
|
||||
## Szybki start (sprawdzanie kontekstu)
|
||||
|
||||
- `/status` → szybki widok „jak bardzo zapełnione jest moje okno?” + ustawienia sesji.
|
||||
- `/context list` → co jest wstrzyknięte + przybliżone rozmiary (na plik + sumy).
|
||||
- `/context detail` → bardziej szczegółowy podział: rozmiary per plik, per schemat narzędzia, per wpis Skills i rozmiar system promptu.
|
||||
- `/usage tokens` → dodaje stopkę z użyciem do zwykłych odpowiedzi.
|
||||
- `/context list` → co jest wstrzyknięte + przybliżone rozmiary (dla każdego pliku + łącznie).
|
||||
- `/context detail` → głębszy rozkład: rozmiary dla każdego pliku, dla każdego schematu narzędzia, dla każdego wpisu Skills oraz rozmiar system promptu.
|
||||
- `/usage tokens` → dołącza stopkę z użyciem tokenów do zwykłych odpowiedzi.
|
||||
- `/compact` → podsumowuje starszą historię do zwartego wpisu, aby zwolnić miejsce w oknie.
|
||||
|
||||
Zobacz też: [Polecenia slash](/pl/tools/slash-commands), [Użycie tokenów i koszty](/pl/reference/token-use), [Kompaktowanie](/pl/concepts/compaction).
|
||||
Zobacz też: [Polecenia slash](/pl/tools/slash-commands), [Użycie tokenów i koszty](/pl/reference/token-use), [Compaction](/pl/concepts/compaction).
|
||||
|
||||
## Przykładowe dane wyjściowe
|
||||
|
||||
Wartości różnią się w zależności od modelu, dostawcy, zasad dotyczących narzędzi i tego, co znajduje się w Twoim obszarze roboczym.
|
||||
Wartości różnią się w zależności od modelu, dostawcy, polityki narzędzi i tego, co znajduje się w Twoim workspace.
|
||||
|
||||
### `/context list`
|
||||
|
||||
```
|
||||
🧠 Podział kontekstu
|
||||
Obszar roboczy: <workspaceDir>
|
||||
🧠 Rozkład kontekstu
|
||||
Workspace: <workspaceDir>
|
||||
Maks. bootstrap/plik: 20,000 chars
|
||||
Sandbox: mode=non-main sandboxed=false
|
||||
System prompt (uruchomienie): 38,412 chars (~9,603 tok) (Project Context 23,901 chars (~5,976 tok))
|
||||
|
||||
Wstrzyknięte pliki obszaru roboczego:
|
||||
Wstrzyknięte pliki workspace:
|
||||
- AGENTS.md: OK | raw 1,742 chars (~436 tok) | injected 1,742 chars (~436 tok)
|
||||
- SOUL.md: OK | raw 912 chars (~228 tok) | injected 912 chars (~228 tok)
|
||||
- TOOLS.md: TRUNCATED | raw 54,210 chars (~13,553 tok) | injected 20,962 chars (~5,241 tok)
|
||||
@ -61,18 +61,18 @@ Wstrzyknięte pliki obszaru roboczego:
|
||||
Lista Skills (tekst system promptu): 2,184 chars (~546 tok) (12 skills)
|
||||
Narzędzia: read, edit, write, exec, process, browser, message, sessions_send, …
|
||||
Lista narzędzi (tekst system promptu): 1,032 chars (~258 tok)
|
||||
Schematy narzędzi (JSON): 31,988 chars (~7,997 tok) (wlicza się do kontekstu; nie jest pokazywane jako tekst)
|
||||
Schematy narzędzi (JSON): 31,988 chars (~7,997 tok) (wliczają się do kontekstu; nie są pokazane jako tekst)
|
||||
Narzędzia: (takie same jak powyżej)
|
||||
|
||||
Tokeny sesji (z cache): 14,250 total / ctx=32,000
|
||||
Tokeny sesji (z cache): 14,250 łącznie / ctx=32,000
|
||||
```
|
||||
|
||||
### `/context detail`
|
||||
|
||||
```
|
||||
🧠 Podział kontekstu (szczegółowy)
|
||||
🧠 Rozkład kontekstu (szczegółowy)
|
||||
…
|
||||
Największe Skills (rozmiar wpisu w prompcie):
|
||||
Największe Skills (rozmiar wpisu promptu):
|
||||
- frontend-design: 412 chars (~103 tok)
|
||||
- oracle: 401 chars (~101 tok)
|
||||
… (+10 more skills)
|
||||
@ -83,7 +83,7 @@ Największe narzędzia (rozmiar schematu):
|
||||
… (+N more tools)
|
||||
```
|
||||
|
||||
## Co wlicza się do okna kontekstu
|
||||
## Co wlicza się do okna kontekstowego
|
||||
|
||||
Wlicza się wszystko, co otrzymuje model, w tym:
|
||||
|
||||
@ -91,8 +91,8 @@ Wlicza się wszystko, co otrzymuje model, w tym:
|
||||
- Historia rozmowy.
|
||||
- Wywołania narzędzi + wyniki narzędzi.
|
||||
- Załączniki/transkrypcje (obrazy/audio/pliki).
|
||||
- Podsumowania kompaktowania i artefakty przycinania.
|
||||
- „Wrappery” dostawcy lub ukryte nagłówki (niewidoczne, ale nadal wliczane).
|
||||
- Podsumowania Compaction i artefakty przycinania.
|
||||
- „Opakowania” dostawcy lub ukryte nagłówki (niewidoczne, ale nadal liczone).
|
||||
|
||||
## Jak OpenClaw buduje system prompt
|
||||
|
||||
@ -100,16 +100,16 @@ System prompt jest **własnością OpenClaw** i jest przebudowywany przy każdym
|
||||
|
||||
- Listę narzędzi + krótkie opisy.
|
||||
- Listę Skills (tylko metadane; zobacz niżej).
|
||||
- Lokalizację obszaru roboczego.
|
||||
- Lokalizację workspace.
|
||||
- Czas (UTC + przeliczony czas użytkownika, jeśli skonfigurowano).
|
||||
- Metadane runtime (host/OS/model/thinking).
|
||||
- Wstrzyknięte pliki bootstrap obszaru roboczego w sekcji **Project Context**.
|
||||
- Metadane środowiska uruchomieniowego (host/OS/model/myślenie).
|
||||
- Wstrzyknięte pliki bootstrap workspace w sekcji **Project Context**.
|
||||
|
||||
Pełny podział: [System Prompt](/pl/concepts/system-prompt).
|
||||
Pełny opis: [System Prompt](/pl/concepts/system-prompt).
|
||||
|
||||
## Wstrzyknięte pliki obszaru roboczego (Project Context)
|
||||
## Wstrzyknięte pliki workspace (Project Context)
|
||||
|
||||
Domyślnie OpenClaw wstrzykuje stały zestaw plików obszaru roboczego (jeśli są obecne):
|
||||
Domyślnie OpenClaw wstrzykuje stały zestaw plików workspace (jeśli istnieją):
|
||||
|
||||
- `AGENTS.md`
|
||||
- `SOUL.md`
|
||||
@ -119,68 +119,68 @@ Domyślnie OpenClaw wstrzykuje stały zestaw plików obszaru roboczego (jeśli s
|
||||
- `HEARTBEAT.md`
|
||||
- `BOOTSTRAP.md` (tylko przy pierwszym uruchomieniu)
|
||||
|
||||
Duże pliki są przycinane per plik za pomocą `agents.defaults.bootstrapMaxChars` (domyślnie `20000` znaków). OpenClaw wymusza też łączny limit wstrzyknięcia bootstrap dla wszystkich plików przez `agents.defaults.bootstrapTotalMaxChars` (domyślnie `150000` znaków). `/context` pokazuje rozmiary **raw vs injected** oraz informację, czy nastąpiło przycięcie.
|
||||
Duże pliki są przycinane osobno dla każdego pliku zgodnie z `agents.defaults.bootstrapMaxChars` (domyślnie `20000` znaków). OpenClaw wymusza także łączny limit wstrzykiwania bootstrap dla wszystkich plików przez `agents.defaults.bootstrapTotalMaxChars` (domyślnie `150000` znaków). `/context` pokazuje rozmiary **raw vs injected** oraz to, czy wystąpiło przycięcie.
|
||||
|
||||
Gdy dochodzi do przycięcia, runtime może wstrzyknąć blok ostrzeżenia wewnątrz promptu w sekcji Project Context. Skonfigurujesz to przez `agents.defaults.bootstrapPromptTruncationWarning` (`off`, `once`, `always`; domyślnie `once`).
|
||||
Gdy dochodzi do przycięcia, środowisko uruchomieniowe może wstrzyknąć ostrzeżenie bezpośrednio w prompt w sekcji Project Context. Skonfigurujesz to przez `agents.defaults.bootstrapPromptTruncationWarning` (`off`, `once`, `always`; domyślnie `once`).
|
||||
|
||||
## Skills: wstrzykiwane vs wczytywane na żądanie
|
||||
## Skills: wstrzyknięte vs ładowane na żądanie
|
||||
|
||||
System prompt zawiera zwięzłą **listę Skills** (nazwa + opis + lokalizacja). Ta lista ma realny narzut.
|
||||
System prompt zawiera zwartą **listę Skills** (nazwa + opis + lokalizacja). Ta lista ma realny narzut.
|
||||
|
||||
Instrukcje Skills _nie_ są domyślnie dołączane. Model ma użyć `read` do odczytu `SKILL.md` danego Skill **tylko wtedy, gdy jest to potrzebne**.
|
||||
Instrukcje Skills _nie są_ domyślnie dołączane. Oczekuje się, że model odczyta `SKILL.md` danej umiejętności przez `read` **tylko wtedy, gdy jest to potrzebne**.
|
||||
|
||||
## Narzędzia: są dwa koszty
|
||||
|
||||
Narzędzia wpływają na kontekst na dwa sposoby:
|
||||
|
||||
1. **Tekst listy narzędzi** w system promcie (to, co widzisz jako „Tooling”).
|
||||
1. **Tekst listy narzędzi** w system prompcie (to, co widzisz jako „Tooling”).
|
||||
2. **Schematy narzędzi** (JSON). Są wysyłane do modelu, aby mógł wywoływać narzędzia. Wliczają się do kontekstu, mimo że nie widzisz ich jako zwykłego tekstu.
|
||||
|
||||
`/context detail` pokazuje podział największych schematów narzędzi, dzięki czemu możesz zobaczyć, co dominuje.
|
||||
`/context detail` rozbija największe schematy narzędzi, aby pokazać, co dominuje.
|
||||
|
||||
## Polecenia, dyrektywy i „skróty inline”
|
||||
|
||||
Polecenia slash są obsługiwane przez Gateway. Występuje kilka różnych zachowań:
|
||||
Polecenia slash są obsługiwane przez Gateway. Występuje tu kilka różnych zachowań:
|
||||
|
||||
- **Polecenia samodzielne**: wiadomość zawierająca tylko `/...` jest wykonywana jako polecenie.
|
||||
- **Dyrektywy**: `/think`, `/verbose`, `/reasoning`, `/elevated`, `/model`, `/queue` są usuwane, zanim model zobaczy wiadomość.
|
||||
- Wiadomości zawierające tylko dyrektywę zapisują ustawienia sesji.
|
||||
- Dyrektywy inline w zwykłej wiadomości działają jako wskazówki dla pojedynczej wiadomości.
|
||||
- **Skróty inline** (tylko nadawcy z allowlist): niektóre tokeny `/...` wewnątrz zwykłej wiadomości mogą zostać wykonane od razu (przykład: „hej /status”) i są usuwane, zanim model zobaczy pozostały tekst.
|
||||
- **Polecenia samodzielne**: wiadomość zawierająca wyłącznie `/...` jest uruchamiana jako polecenie.
|
||||
- **Dyrektywy**: `/think`, `/verbose`, `/trace`, `/reasoning`, `/elevated`, `/model`, `/queue` są usuwane, zanim model zobaczy wiadomość.
|
||||
- Wiadomości zawierające wyłącznie dyrektywy utrwalają ustawienia sesji.
|
||||
- Dyrektywy inline w zwykłej wiadomości działają jako wskazówki dla tej konkretnej wiadomości.
|
||||
- **Skróty inline** (tylko dla nadawców z allowlisty): niektóre tokeny `/...` w zwykłej wiadomości mogą zostać uruchomione natychmiast (na przykład: „hej /status”) i są usuwane, zanim model zobaczy pozostały tekst.
|
||||
|
||||
Szczegóły: [Polecenia slash](/pl/tools/slash-commands).
|
||||
|
||||
## Sesje, kompaktowanie i przycinanie (co się utrzymuje)
|
||||
## Sesje, Compaction i przycinanie (co jest trwałe)
|
||||
|
||||
To, co utrzymuje się między wiadomościami, zależy od mechanizmu:
|
||||
To, co pozostaje między wiadomościami, zależy od mechanizmu:
|
||||
|
||||
- **Zwykła historia** utrzymuje się w transkrypcie sesji, dopóki nie zostanie skompaktowana/przycięta zgodnie z zasadami.
|
||||
- **Kompaktowanie** zapisuje podsumowanie do transkryptu i zachowuje ostatnie wiadomości bez zmian.
|
||||
- **Przycinanie** usuwa stare wyniki narzędzi z promptu _w pamięci_ dla danego uruchomienia, ale nie przepisuje transkryptu.
|
||||
- **Zwykła historia** pozostaje w transkrypcie sesji, dopóki nie zostanie skompaktowana/przycięta zgodnie z polityką.
|
||||
- **Compaction** zapisuje podsumowanie w transkrypcie i zachowuje nienaruszone ostatnie wiadomości.
|
||||
- **Pruning** usuwa stare wyniki narzędzi z promptu _w pamięci_ dla danego uruchomienia, ale nie przepisuje transkryptu.
|
||||
|
||||
Dokumentacja: [Sesja](/pl/concepts/session), [Kompaktowanie](/pl/concepts/compaction), [Przycinanie sesji](/pl/concepts/session-pruning).
|
||||
Dokumentacja: [Session](/pl/concepts/session), [Compaction](/pl/concepts/compaction), [Session pruning](/pl/concepts/session-pruning).
|
||||
|
||||
Domyślnie OpenClaw używa wbudowanego silnika kontekstu `legacy` do składania
|
||||
i kompaktowania. Jeśli zainstalujesz plugin, który udostępnia `kind: "context-engine"` i
|
||||
wybierzesz go przez `plugins.slots.contextEngine`, OpenClaw deleguje składanie kontekstu,
|
||||
`/compact` oraz powiązane hooki cyklu życia kontekstu subagenta do tego
|
||||
silnika. `ownsCompaction: false` nie powoduje automatycznego fallbacku do silnika
|
||||
legacy; aktywny silnik nadal musi poprawnie implementować `compact()`. Zobacz
|
||||
Domyślnie OpenClaw używa wbudowanego silnika kontekstu `legacy` do składania kontekstu i
|
||||
Compaction. Jeśli zainstalujesz Plugin, który udostępnia `kind: "context-engine"` i
|
||||
wybierzesz go za pomocą `plugins.slots.contextEngine`, OpenClaw przekaże temu
|
||||
silnikowi składanie kontekstu, `/compact` oraz powiązane hooki cyklu życia
|
||||
kontekstu subagenta. `ownsCompaction: false` nie powoduje automatycznego powrotu
|
||||
do silnika `legacy`; aktywny silnik nadal musi poprawnie implementować `compact()`. Zobacz
|
||||
[Context Engine](/pl/concepts/context-engine), aby poznać pełny
|
||||
interfejs rozszerzalny, hooki cyklu życia i konfigurację.
|
||||
interfejs z możliwością podłączania, hooki cyklu życia i konfigurację.
|
||||
|
||||
## Co faktycznie raportuje `/context`
|
||||
## Co tak naprawdę raportuje `/context`
|
||||
|
||||
`/context` preferuje najnowszy raport system promptu **zbudowanego dla uruchomienia**, gdy jest dostępny:
|
||||
`/context` preferuje najnowszy raport system promptu **zbudowanego podczas uruchomienia**, jeśli jest dostępny:
|
||||
|
||||
- `System prompt (run)` = przechwycony z ostatniego uruchomienia osadzonego (z obsługą narzędzi) i zapisany w magazynie sesji.
|
||||
- `System prompt (estimate)` = obliczony na bieżąco, gdy nie istnieje raport z uruchomienia (lub podczas działania przez backend CLI, który nie generuje raportu).
|
||||
- `System prompt (run)` = przechwycony z ostatniego osadzonego uruchomienia (z obsługą narzędzi) i utrwalony w magazynie sesji.
|
||||
- `System prompt (estimate)` = obliczany na bieżąco, gdy nie istnieje raport z uruchomienia (lub gdy uruchamiasz przez backend CLI, który nie generuje raportu).
|
||||
|
||||
W obu przypadkach raportuje rozmiary i największe składowe; **nie** wypisuje pełnego system promptu ani schematów narzędzi.
|
||||
W obu przypadkach raportuje rozmiary i największe składniki; **nie** zrzuca pełnego system promptu ani schematów narzędzi.
|
||||
|
||||
## Powiązane
|
||||
|
||||
- [Context Engine](/pl/concepts/context-engine) — niestandardowe wstrzykiwanie kontekstu przez pluginy
|
||||
- [Kompaktowanie](/pl/concepts/compaction) — podsumowywanie długich rozmów
|
||||
- [Compaction](/pl/concepts/compaction) — podsumowywanie długich rozmów
|
||||
- [System Prompt](/pl/concepts/system-prompt) — jak budowany jest system prompt
|
||||
- [Pętla agenta](/pl/concepts/agent-loop) — pełny cykl wykonywania agenta
|
||||
- [Agent Loop](/pl/concepts/agent-loop) — pełny cykl działania agenta
|
||||
|
||||
@ -2,31 +2,31 @@
|
||||
read_when:
|
||||
- Chcesz skonfigurować QMD jako backend pamięci
|
||||
- Chcesz korzystać z zaawansowanych funkcji pamięci, takich jak reranking lub dodatkowe indeksowane ścieżki
|
||||
summary: Lokalny sidecar wyszukiwania z BM25, wektorami, rerankingiem i rozwijaniem zapytań
|
||||
summary: Lokalny sidecar wyszukiwania z podejściem local-first, z BM25, wektorami, rerankingiem i rozszerzaniem zapytań
|
||||
title: Silnik pamięci QMD
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T03:06:19Z"
|
||||
generated_at: "2026-04-12T23:28:03Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 36642c7df94b88f562745dd2270334379f2aeeef4b363a8c13ef6be42dadbe5c
|
||||
source_hash: 27afc996b959d71caed964a3cae437e0e29721728b30ebe7f014db124c88da04
|
||||
source_path: concepts/memory-qmd.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Silnik pamięci QMD
|
||||
|
||||
[QMD](https://github.com/tobi/qmd) to lokalny sidecar wyszukiwania, który działa
|
||||
[QMD](https://github.com/tobi/qmd) to sidecar wyszukiwania local-first, który działa
|
||||
obok OpenClaw. Łączy BM25, wyszukiwanie wektorowe i reranking w jednym
|
||||
pliku binarnym oraz może indeksować treści wykraczające poza pliki pamięci w obszarze roboczym.
|
||||
binarium, a także może indeksować treści wykraczające poza pliki pamięci w Twoim obszarze roboczym.
|
||||
|
||||
## Co dodaje względem wbudowanego rozwiązania
|
||||
## Co dodaje w porównaniu z wbudowanym rozwiązaniem
|
||||
|
||||
- **Reranking i rozwijanie zapytań** dla lepszego recall.
|
||||
- **Indeksowanie dodatkowych katalogów** -- dokumentacji projektu, notatek zespołu, wszystkiego na dysku.
|
||||
- **Indeksowanie transkryptów sesji** -- przywoływanie wcześniejszych rozmów.
|
||||
- **W pełni lokalne** -- działa przez Bun + node-llama-cpp, automatycznie pobiera modele GGUF.
|
||||
- **Automatyczny fallback** -- jeśli QMD jest niedostępne, OpenClaw płynnie wraca do
|
||||
wbudowanego silnika.
|
||||
- **Reranking i rozszerzanie zapytań** dla lepszego recall.
|
||||
- **Indeksowanie dodatkowych katalogów** — dokumentacja projektu, notatki zespołu, wszystko na dysku.
|
||||
- **Indeksowanie transkryptów sesji** — przywoływanie wcześniejszych rozmów.
|
||||
- **W pełni lokalne** — działa przez Bun + node-llama-cpp, automatycznie pobiera modele GGUF.
|
||||
- **Automatyczny fallback** — jeśli QMD jest niedostępne, OpenClaw płynnie przełącza się na
|
||||
wbudowany silnik.
|
||||
|
||||
## Pierwsze kroki
|
||||
|
||||
@ -34,8 +34,8 @@ pliku binarnym oraz może indeksować treści wykraczające poza pliki pamięci
|
||||
|
||||
- Zainstaluj QMD: `npm install -g @tobilu/qmd` lub `bun install -g @tobilu/qmd`
|
||||
- Kompilacja SQLite, która pozwala na rozszerzenia (`brew install sqlite` na macOS).
|
||||
- QMD musi być dostępne w `PATH` bramy.
|
||||
- macOS i Linux działają od razu. Windows jest najlepiej obsługiwany przez WSL2.
|
||||
- QMD musi znajdować się w `PATH` bramy.
|
||||
- macOS i Linux działają od razu. Windows jest najlepiej wspierany przez WSL2.
|
||||
|
||||
### Włączanie
|
||||
|
||||
@ -49,29 +49,31 @@ pliku binarnym oraz może indeksować treści wykraczające poza pliki pamięci
|
||||
|
||||
OpenClaw tworzy samowystarczalny katalog domowy QMD w
|
||||
`~/.openclaw/agents/<agentId>/qmd/` i automatycznie zarządza cyklem życia sidecara
|
||||
-- kolekcje, aktualizacje i uruchomienia osadzania są obsługiwane automatycznie.
|
||||
Preferuje bieżące kształty kolekcji QMD i zapytań MCP, ale w razie potrzeby nadal wraca do
|
||||
starszych flag kolekcji `--mask` i starszych nazw narzędzi MCP.
|
||||
— kolekcje, aktualizacje i uruchomienia osadzania są obsługiwane za Ciebie.
|
||||
Preferuje bieżące kształty kolekcji QMD i zapytań MCP, ale nadal wraca do
|
||||
starszych flag kolekcji `--mask` i starszych nazw narzędzi MCP, gdy jest to potrzebne.
|
||||
|
||||
## Jak działa sidecar
|
||||
|
||||
- OpenClaw tworzy kolekcje z plików pamięci w obszarze roboczym oraz ze wszystkich
|
||||
- OpenClaw tworzy kolekcje z plików pamięci Twojego obszaru roboczego oraz wszystkich
|
||||
skonfigurowanych `memory.qmd.paths`, a następnie uruchamia `qmd update` + `qmd embed` przy starcie
|
||||
i okresowo (domyślnie co 5 minut).
|
||||
- Domyślna kolekcja obszaru roboczego śledzi `MEMORY.md` oraz drzewo `memory/`.
|
||||
Małe litery w `memory.md` pozostają fallbackiem bootstrapowym, a nie oddzielną kolekcją QMD.
|
||||
- Odświeżanie przy starcie działa w tle, więc uruchamianie czatu nie jest blokowane.
|
||||
- Wyszukiwania używają skonfigurowanego `searchMode` (domyślnie: `search`; obsługuje też
|
||||
`vsearch` i `query`). Jeśli dany tryb zawiedzie, OpenClaw ponawia próbę za pomocą `qmd query`.
|
||||
- Jeśli QMD całkowicie zawiedzie, OpenClaw wraca do wbudowanego silnika SQLite.
|
||||
- Wyszukiwania używają skonfigurowanego `searchMode` (domyślnie: `search`; obsługiwane są też
|
||||
`vsearch` i `query`). Jeśli dany tryb zawiedzie, OpenClaw ponawia próbę z `qmd query`.
|
||||
- Jeśli QMD całkowicie zawiedzie, OpenClaw przełącza się na wbudowany silnik SQLite.
|
||||
|
||||
<Info>
|
||||
Pierwsze wyszukiwanie może być wolne -- QMD automatycznie pobiera modele GGUF (~2 GB) do
|
||||
rerankingu i rozwijania zapytań przy pierwszym uruchomieniu `qmd query`.
|
||||
Pierwsze wyszukiwanie może być wolne — QMD automatycznie pobiera modele GGUF (~2 GB) do
|
||||
rerankingu i rozszerzania zapytań przy pierwszym uruchomieniu `qmd query`.
|
||||
</Info>
|
||||
|
||||
## Nadpisania modeli
|
||||
|
||||
Zmienne środowiskowe modeli QMD są przekazywane bez zmian z procesu bramy,
|
||||
więc możesz globalnie dostrajać QMD bez dodawania nowej konfiguracji OpenClaw:
|
||||
więc możesz globalnie dostroić QMD bez dodawania nowej konfiguracji OpenClaw:
|
||||
|
||||
```bash
|
||||
export QMD_EMBED_MODEL="hf:Qwen/Qwen3-Embedding-0.6B-GGUF/Qwen3-Embedding-0.6B-Q8_0.gguf"
|
||||
@ -79,12 +81,12 @@ export QMD_RERANK_MODEL="/absolute/path/to/reranker.gguf"
|
||||
export QMD_GENERATE_MODEL="/absolute/path/to/generator.gguf"
|
||||
```
|
||||
|
||||
Po zmianie modelu osadzania uruchom ponownie osadzanie, aby indeks odpowiadał
|
||||
Po zmianie modelu osadzania uruchom ponownie osadzanie, aby indeks pasował do
|
||||
nowej przestrzeni wektorowej.
|
||||
|
||||
## Indeksowanie dodatkowych ścieżek
|
||||
|
||||
Skieruj QMD na dodatkowe katalogi, aby stały się przeszukiwalne:
|
||||
Skieruj QMD na dodatkowe katalogi, aby można było je przeszukiwać:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -98,7 +100,7 @@ Skieruj QMD na dodatkowe katalogi, aby stały się przeszukiwalne:
|
||||
```
|
||||
|
||||
Fragmenty z dodatkowych ścieżek pojawiają się jako `qmd/<collection>/<relative-path>` w
|
||||
wynikach wyszukiwania. `memory_get` rozumie ten prefiks i odczytuje z właściwego
|
||||
wynikach wyszukiwania. `memory_get` rozumie ten prefiks i odczytuje z poprawnego
|
||||
katalogu głównego kolekcji.
|
||||
|
||||
## Indeksowanie transkryptów sesji
|
||||
@ -116,13 +118,13 @@ Włącz indeksowanie sesji, aby przywoływać wcześniejsze rozmowy:
|
||||
}
|
||||
```
|
||||
|
||||
Transkrypty są eksportowane jako oczyszczone tury Użytkownik/Asystent do dedykowanej
|
||||
Transkrypty są eksportowane jako oczyszczone tury User/Assistant do dedykowanej
|
||||
kolekcji QMD w `~/.openclaw/agents/<id>/qmd/sessions/`.
|
||||
|
||||
## Zakres wyszukiwania
|
||||
|
||||
Domyślnie wyniki wyszukiwania QMD są udostępniane tylko w sesjach DM (nie w grupach ani
|
||||
kanałach). Skonfiguruj `memory.qmd.scope`, aby to zmienić:
|
||||
Domyślnie wyniki wyszukiwania QMD są udostępniane w sesjach bezpośrednich i kanałowych
|
||||
(nie grupowych). Aby to zmienić, skonfiguruj `memory.qmd.scope`:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -137,22 +139,22 @@ kanałach). Skonfiguruj `memory.qmd.scope`, aby to zmienić:
|
||||
}
|
||||
```
|
||||
|
||||
Gdy zakres odrzuca wyszukiwanie, OpenClaw zapisuje ostrzeżenie z wyprowadzonym kanałem i
|
||||
typem czatu, aby łatwiej było diagnozować puste wyniki.
|
||||
Gdy zakres zabrania wyszukiwania, OpenClaw zapisuje ostrzeżenie z wyliczonym kanałem i
|
||||
typem czatu, dzięki czemu łatwiej diagnozować puste wyniki.
|
||||
|
||||
## Cytowania
|
||||
|
||||
Gdy `memory.citations` ma wartość `auto` lub `on`, fragmenty wyszukiwania zawierają
|
||||
stopkę `Source: <path#line>`. Ustaw `memory.citations = "off"`, aby pominąć stopkę,
|
||||
jednocześnie nadal przekazując ścieżkę agentowi wewnętrznie.
|
||||
zachowując jednocześnie przekazywanie ścieżki wewnętrznie do agenta.
|
||||
|
||||
## Kiedy używać
|
||||
|
||||
Wybierz QMD, gdy potrzebujesz:
|
||||
|
||||
- Rerankingu dla wyników wyższej jakości.
|
||||
- Przeszukiwania dokumentacji projektu lub notatek poza obszarem roboczym.
|
||||
- Przywoływania wcześniejszych rozmów z sesji.
|
||||
- Przeszukiwać dokumentację projektu lub notatki poza obszarem roboczym.
|
||||
- Przywoływać wcześniejsze rozmowy z sesji.
|
||||
- W pełni lokalnego wyszukiwania bez kluczy API.
|
||||
|
||||
W prostszych konfiguracjach [wbudowany silnik](/pl/concepts/memory-builtin) sprawdza się dobrze
|
||||
@ -160,27 +162,27 @@ bez dodatkowych zależności.
|
||||
|
||||
## Rozwiązywanie problemów
|
||||
|
||||
**Nie znaleziono QMD?** Upewnij się, że plik binarny jest w `PATH` bramy. Jeśli OpenClaw
|
||||
**Nie znaleziono QMD?** Upewnij się, że binarium jest w `PATH` bramy. Jeśli OpenClaw
|
||||
działa jako usługa, utwórz dowiązanie symboliczne:
|
||||
`sudo ln -s ~/.bun/bin/qmd /usr/local/bin/qmd`.
|
||||
|
||||
**Pierwsze wyszukiwanie jest bardzo wolne?** QMD pobiera modele GGUF przy pierwszym użyciu. Wstępnie rozgrzej
|
||||
je poleceniem `qmd query "test"` z użyciem tych samych katalogów XDG, których używa OpenClaw.
|
||||
**Pierwsze wyszukiwanie jest bardzo wolne?** QMD pobiera modele GGUF przy pierwszym użyciu. Rozgrzej je wcześniej
|
||||
poleceniem `qmd query "test"` z użyciem tych samych katalogów XDG, których używa OpenClaw.
|
||||
|
||||
**Wyszukiwanie przekracza limit czasu?** Zwiększ `memory.qmd.limits.timeoutMs` (domyślnie: 4000ms).
|
||||
**Wyszukiwanie przekracza limit czasu?** Zwiększ `memory.qmd.limits.timeoutMs` (domyślnie: 4000 ms).
|
||||
Ustaw `120000` dla wolniejszego sprzętu.
|
||||
|
||||
**Puste wyniki w czatach grupowych?** Sprawdź `memory.qmd.scope` -- domyślna konfiguracja
|
||||
zezwala tylko na sesje DM.
|
||||
**Puste wyniki w czatach grupowych?** Sprawdź `memory.qmd.scope` — domyślnie
|
||||
dozwolone są tylko sesje bezpośrednie i kanałowe.
|
||||
|
||||
**Tymczasowe repozytoria widoczne w obszarze roboczym powodują `ENAMETOOLONG` lub błędne indeksowanie?**
|
||||
Przechodzenie QMD obecnie podąża za bazowym zachowaniem skanera QMD zamiast
|
||||
wbudowanych reguł dowiązań symbolicznych OpenClaw. Trzymaj tymczasowe checkouty monorepo w
|
||||
ukrytych katalogach, takich jak `.tmp/`, lub poza indeksowanymi katalogami głównymi QMD, dopóki QMD nie udostępni
|
||||
odpornego na cykle przechodzenia lub jawnych mechanizmów wykluczania.
|
||||
Przechodzenie przez drzewo w QMD obecnie podąża za zachowaniem bazowego skanera QMD zamiast
|
||||
zasad dowiązań symbolicznych wbudowanych w OpenClaw. Trzymaj tymczasowe checkouty monorepo w
|
||||
ukrytych katalogach takich jak `.tmp/` lub poza indeksowanymi katalogami głównymi QMD, dopóki QMD nie udostępni
|
||||
bezpiecznego przechodzenia po cyklach albo jawnych mechanizmów wykluczania.
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
Pełny opis powierzchni konfiguracji (`memory.qmd.*`), trybów wyszukiwania, interwałów aktualizacji,
|
||||
reguł zakresu i wszystkich pozostałych ustawień znajdziesz w
|
||||
[referencji konfiguracji pamięci](/pl/reference/memory-config).
|
||||
Aby zobaczyć pełną powierzchnię konfiguracji (`memory.qmd.*`), tryby wyszukiwania, interwały aktualizacji,
|
||||
reguły zakresu i wszystkie pozostałe ustawienia, zobacz
|
||||
[Dokumentację konfiguracji pamięci](/pl/reference/memory-config).
|
||||
|
||||
@ -1,60 +1,56 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz zrozumieć, jak działa memory_search
|
||||
- Chcesz zrozumieć, jak działa `memory_search`
|
||||
- Chcesz wybrać dostawcę embeddingów
|
||||
- Chcesz dostroić jakość wyszukiwania
|
||||
summary: Jak wyszukiwanie w pamięci znajduje odpowiednie notatki za pomocą embeddingów i wyszukiwania hybrydowego
|
||||
title: Wyszukiwanie w pamięci
|
||||
summary: Jak wyszukiwanie pamięci znajduje odpowiednie notatki za pomocą embeddingów i wyszukiwania hybrydowego
|
||||
title: Wyszukiwanie pamięci
|
||||
x-i18n:
|
||||
generated_at: "2026-04-10T09:44:32Z"
|
||||
generated_at: "2026-04-12T23:28:04Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: ca0237f4f1ee69dcbfb12e6e9527a53e368c0bf9b429e506831d4af2f3a3ac6f
|
||||
source_hash: 71fde251b7d2dc455574aa458e7e09136f30613609ad8dafeafd53b2729a0310
|
||||
source_path: concepts/memory-search.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Wyszukiwanie w pamięci
|
||||
# Wyszukiwanie pamięci
|
||||
|
||||
`memory_search` znajduje odpowiednie notatki z Twoich plików pamięci, nawet gdy
|
||||
sformułowania różnią się od oryginalnego tekstu. Działa poprzez indeksowanie pamięci na małe
|
||||
fragmenty i przeszukiwanie ich za pomocą embeddingów, słów kluczowych albo obu tych metod.
|
||||
`memory_search` znajduje odpowiednie notatki z Twoich plików pamięci, nawet gdy sformułowania różnią się od oryginalnego tekstu. Działa przez indeksowanie pamięci w małych fragmentach i przeszukiwanie ich za pomocą embeddingów, słów kluczowych albo obu tych metod.
|
||||
|
||||
## Szybki start
|
||||
|
||||
Jeśli masz skonfigurowany klucz API OpenAI, Gemini, Voyage lub Mistral, wyszukiwanie w pamięci
|
||||
działa automatycznie. Aby jawnie ustawić dostawcę:
|
||||
Jeśli masz skonfigurowany klucz API OpenAI, Gemini, Voyage lub Mistral, wyszukiwanie pamięci działa automatycznie. Aby jawnie ustawić dostawcę:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
memorySearch: {
|
||||
provider: "openai", // or "gemini", "local", "ollama", etc.
|
||||
provider: "openai", // lub "gemini", "local", "ollama" itp.
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
W przypadku lokalnych embeddingów bez klucza API użyj `provider: "local"` (wymaga
|
||||
`node-llama-cpp`).
|
||||
W przypadku lokalnych embeddingów bez klucza API użyj `provider: "local"` (wymaga `node-llama-cpp`).
|
||||
|
||||
## Obsługiwani dostawcy
|
||||
|
||||
| Dostawca | ID | Wymaga klucza API | Uwagi |
|
||||
| -------- | --------- | ----------------- | ---------------------------------------------------- |
|
||||
| OpenAI | `openai` | Tak | Wykrywany automatycznie, szybki |
|
||||
| Gemini | `gemini` | Tak | Obsługuje indeksowanie obrazów/dźwięku |
|
||||
| Gemini | `gemini` | Tak | Obsługuje indeksowanie obrazów i dźwięku |
|
||||
| Voyage | `voyage` | Tak | Wykrywany automatycznie |
|
||||
| Mistral | `mistral` | Tak | Wykrywany automatycznie |
|
||||
| Bedrock | `bedrock` | Nie | Wykrywany automatycznie, gdy łańcuch poświadczeń AWS zostanie rozwiązany |
|
||||
| Ollama | `ollama` | Nie | Lokalny, trzeba ustawić jawnie |
|
||||
| Local | `local` | Nie | Model GGUF, pobieranie ~0.6 GB |
|
||||
| Local | `local` | Nie | Model GGUF, pobieranie ~0,6 GB |
|
||||
|
||||
## Jak działa wyszukiwanie
|
||||
|
||||
OpenClaw uruchamia równolegle dwie ścieżki pobierania wyników i scala ich rezultaty:
|
||||
OpenClaw uruchamia równolegle dwie ścieżki wyszukiwania i scala wyniki:
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
@ -67,12 +63,12 @@ flowchart LR
|
||||
M --> R["Top Results"]
|
||||
```
|
||||
|
||||
- **Wyszukiwanie wektorowe** znajduje notatki o podobnym znaczeniu („gateway host” pasuje do
|
||||
„maszyna, na której działa OpenClaw”).
|
||||
- **Wyszukiwanie słów kluczowych BM25** znajduje dokładne dopasowania (ID, ciągi błędów, klucze
|
||||
konfiguracji).
|
||||
- **Wyszukiwanie wektorowe** znajduje notatki o podobnym znaczeniu („gateway host” pasuje do „maszyna, na której działa OpenClaw”).
|
||||
- **Wyszukiwanie słów kluczowych BM25** znajduje dokładne dopasowania (ID, ciągi błędów, klucze konfiguracji).
|
||||
|
||||
Jeśli dostępna jest tylko jedna ścieżka (brak embeddingów albo brak FTS), działa samodzielnie tylko druga.
|
||||
Jeśli dostępna jest tylko jedna ścieżka (brak embeddingów albo brak FTS), działa tylko ta jedna.
|
||||
|
||||
Gdy embeddingi są niedostępne, OpenClaw nadal używa rankingu leksykalnego na wynikach FTS zamiast sprowadzać się wyłącznie do surowego porządku dokładnych dopasowań. Ten tryb obniżonej jakości wzmacnia fragmenty z lepszym pokryciem terminów zapytania i odpowiednimi ścieżkami plików, co pomaga zachować użyteczny recall nawet bez `sqlite-vec` lub dostawcy embeddingów.
|
||||
|
||||
## Poprawa jakości wyszukiwania
|
||||
|
||||
@ -80,23 +76,18 @@ Dwie opcjonalne funkcje pomagają, gdy masz dużą historię notatek:
|
||||
|
||||
### Zanikanie czasowe
|
||||
|
||||
Starsze notatki stopniowo tracą wagę w rankingu, dzięki czemu najpierw pojawiają się nowsze informacje.
|
||||
Przy domyślnym okresie półtrwania wynoszącym 30 dni notatka z zeszłego miesiąca ma wynik równy 50% swojej
|
||||
pierwotnej wagi. Pliki stałe, takie jak `MEMORY.md`, nigdy nie podlegają zanikaniu.
|
||||
Stare notatki stopniowo tracą wagę rankingową, dzięki czemu nowsze informacje pojawiają się wyżej. Przy domyślnym okresie połowicznego zaniku wynoszącym 30 dni notatka z zeszłego miesiąca zachowuje 50% swojej pierwotnej wagi. Pliki trwałe, takie jak `MEMORY.md`, nigdy nie podlegają zanikowi.
|
||||
|
||||
<Tip>
|
||||
Włącz zanikanie czasowe, jeśli Twój agent ma wiele miesięcy codziennych notatek, a nieaktualne
|
||||
informacje stale wyprzedzają nowszy kontekst.
|
||||
Włącz zanikanie czasowe, jeśli Twój agent ma miesiące codziennych notatek, a nieaktualne informacje stale wyprzedzają nowszy kontekst.
|
||||
</Tip>
|
||||
|
||||
### MMR (różnorodność)
|
||||
|
||||
Ogranicza powtarzające się wyniki. Jeśli pięć notatek wspomina tę samą konfigurację routera, MMR
|
||||
sprawia, że najwyższe wyniki obejmują różne tematy, zamiast się powtarzać.
|
||||
Ogranicza redundantne wyniki. Jeśli pięć notatek wspomina tę samą konfigurację routera, MMR sprawia, że najwyższe wyniki obejmują różne tematy zamiast się powtarzać.
|
||||
|
||||
<Tip>
|
||||
Włącz MMR, jeśli `memory_search` stale zwraca niemal identyczne fragmenty z
|
||||
różnych codziennych notatek.
|
||||
Włącz MMR, jeśli `memory_search` stale zwraca niemal identyczne fragmenty z różnych codziennych notatek.
|
||||
</Tip>
|
||||
|
||||
### Włącz oba
|
||||
@ -120,30 +111,22 @@ różnych codziennych notatek.
|
||||
|
||||
## Pamięć multimodalna
|
||||
|
||||
Z Gemini Embedding 2 możesz indeksować obrazy i pliki audio obok plików
|
||||
Markdown. Zapytania wyszukiwania nadal pozostają tekstowe, ale dopasowują się do treści wizualnych i audio.
|
||||
Informacje o konfiguracji znajdziesz w [dokumencie referencyjnym konfiguracji pamięci](/pl/reference/memory-config).
|
||||
Dzięki Gemini Embedding 2 możesz indeksować obrazy i pliki audio obok Markdownu. Zapytania wyszukiwania nadal pozostają tekstowe, ale dopasowują się do treści wizualnych i dźwiękowych. Informacje o konfiguracji znajdziesz w [referencji konfiguracji pamięci](/pl/reference/memory-config).
|
||||
|
||||
## Wyszukiwanie w pamięci sesji
|
||||
## Wyszukiwanie pamięci sesji
|
||||
|
||||
Możesz opcjonalnie indeksować transkrypcje sesji, aby `memory_search` mógł przywoływać
|
||||
wcześniejsze rozmowy. Jest to funkcja opt-in dostępna przez
|
||||
`memorySearch.experimental.sessionMemory`. Szczegóły znajdziesz w
|
||||
[dokumencie referencyjnym konfiguracji](/pl/reference/memory-config).
|
||||
Możesz opcjonalnie indeksować transkrypcje sesji, aby `memory_search` mogło przywoływać wcześniejsze rozmowy. Jest to funkcja opt-in przez `memorySearch.experimental.sessionMemory`. Szczegóły znajdziesz w [referencji konfiguracji](/pl/reference/memory-config).
|
||||
|
||||
## Rozwiązywanie problemów
|
||||
|
||||
**Brak wyników?** Uruchom `openclaw memory status`, aby sprawdzić indeks. Jeśli jest pusty, uruchom
|
||||
`openclaw memory index --force`.
|
||||
**Brak wyników?** Uruchom `openclaw memory status`, aby sprawdzić indeks. Jeśli jest pusty, uruchom `openclaw memory index --force`.
|
||||
|
||||
**Tylko dopasowania słów kluczowych?** Twój dostawca embeddingów może nie być skonfigurowany. Sprawdź
|
||||
`openclaw memory status --deep`.
|
||||
**Tylko dopasowania słów kluczowych?** Twój dostawca embeddingów może nie być skonfigurowany. Sprawdź `openclaw memory status --deep`.
|
||||
|
||||
**Nie znajduje tekstu CJK?** Odbuduj indeks FTS za pomocą
|
||||
`openclaw memory index --force`.
|
||||
**Nie znajduje tekstu CJK?** Przebuduj indeks FTS za pomocą `openclaw memory index --force`.
|
||||
|
||||
## Dalsza lektura
|
||||
|
||||
- [Aktywna pamięć](/pl/concepts/active-memory) -- pamięć sub-agentów dla interaktywnych sesji czatu
|
||||
- [Active Memory](/pl/concepts/active-memory) -- pamięć podagenta dla interaktywnych sesji czatu
|
||||
- [Pamięć](/pl/concepts/memory) -- układ plików, backendy, narzędzia
|
||||
- [Dokument referencyjny konfiguracji pamięci](/pl/reference/memory-config) -- wszystkie opcje konfiguracji
|
||||
- [Referencja konfiguracji pamięci](/pl/reference/memory-config) -- wszystkie opcje konfiguracji
|
||||
|
||||
@ -1,23 +1,23 @@
|
||||
---
|
||||
read_when:
|
||||
- Rozszerzanie qa-lab lub qa-channel
|
||||
- Dodawanie scenariuszy QA wspieranych przez repozytorium
|
||||
- Budowanie bardziej realistycznej automatyzacji QA wokół panelu Gateway
|
||||
- Dodawanie scenariuszy QA opartych na repozytorium
|
||||
- Tworzenie bardziej realistycznej automatyzacji QA wokół panelu Gateway
|
||||
summary: Prywatny kształt automatyzacji QA dla qa-lab, qa-channel, scenariuszy seedowanych i raportów protokołu
|
||||
title: Automatyzacja QA E2E
|
||||
x-i18n:
|
||||
generated_at: "2026-04-11T02:44:28Z"
|
||||
generated_at: "2026-04-12T23:28:04Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 5427b505e26bfd542e984e3920c3f7cb825473959195ba9737eff5da944c60d0
|
||||
source_hash: b9fe27dc049823d5e3eb7ae1eac6aad21ed9e917425611fb1dbcb28ab9210d5e
|
||||
source_path: concepts/qa-e2e-automation.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Automatyzacja QA E2E
|
||||
|
||||
Prywatny stos QA ma na celu testowanie OpenClaw w sposób bardziej realistyczny,
|
||||
ukształtowany przez kanały, niż pozwala na to pojedynczy test jednostkowy.
|
||||
Prywatny stos QA ma na celu testowanie OpenClaw w bardziej realistyczny,
|
||||
kanałowy sposób niż pojedynczy test jednostkowy.
|
||||
|
||||
Obecne elementy:
|
||||
|
||||
@ -25,27 +25,26 @@ Obecne elementy:
|
||||
reakcji, edycji i usuwania.
|
||||
- `extensions/qa-lab`: interfejs debuggera i magistrala QA do obserwowania transkryptu,
|
||||
wstrzykiwania wiadomości przychodzących i eksportowania raportu Markdown.
|
||||
- `qa/`: zasoby seedowane wspierane przez repozytorium dla zadania początkowego i bazowych
|
||||
scenariuszy QA.
|
||||
- `qa/`: zasoby seedowane oparte na repozytorium dla zadania startowego i bazowych scenariuszy QA.
|
||||
|
||||
Obecny przepływ pracy operatora QA to dwupanelowa witryna QA:
|
||||
|
||||
- Po lewej: panel Gateway (Control UI) z agentem.
|
||||
- Po prawej: QA Lab, pokazujący transkrypt w stylu Slacka i plan scenariusza.
|
||||
|
||||
Uruchom to poleceniem:
|
||||
Uruchom za pomocą:
|
||||
|
||||
```bash
|
||||
pnpm qa:lab:up
|
||||
```
|
||||
|
||||
To buduje witrynę QA, uruchamia ścieżkę gateway wspieraną przez Docker i udostępnia
|
||||
stronę QA Lab, na której operator lub pętla automatyzacji może zlecić agentowi
|
||||
misję QA, obserwować rzeczywiste zachowanie kanału oraz zapisywać, co działało,
|
||||
co zawiodło i co pozostało zablokowane.
|
||||
To buduje witrynę QA, uruchamia opartą na Dockerze ścieżkę gateway i udostępnia
|
||||
stronę QA Lab, na której operator lub pętla automatyzacji może przydzielić agentowi
|
||||
misję QA, obserwować rzeczywiste zachowanie kanału oraz zapisywać, co zadziałało,
|
||||
co zawiodło lub co pozostało zablokowane.
|
||||
|
||||
Aby szybciej iterować nad interfejsem QA Lab bez przebudowywania obrazu Docker przy każdej zmianie,
|
||||
uruchom stos z podmontowanym pakietem QA Lab:
|
||||
Aby szybciej iterować nad interfejsem QA Lab bez każdorazowego przebudowywania obrazu Docker,
|
||||
uruchom stos z bind-mountowanym bundle QA Lab:
|
||||
|
||||
```bash
|
||||
pnpm openclaw qa docker-build-image
|
||||
@ -56,90 +55,118 @@ pnpm qa:lab:watch
|
||||
|
||||
`qa:lab:up:fast` utrzymuje usługi Docker na wcześniej zbudowanym obrazie i bind-mountuje
|
||||
`extensions/qa-lab/web/dist` do kontenera `qa-lab`. `qa:lab:watch`
|
||||
przebudowuje ten pakiet przy zmianach, a przeglądarka automatycznie przeładowuje się,
|
||||
gdy zmienia się hash zasobu QA Lab.
|
||||
przebudowuje ten bundle przy zmianach, a przeglądarka automatycznie odświeża się,
|
||||
gdy zmieni się hash zasobu QA Lab.
|
||||
|
||||
Aby uruchomić ścieżkę smoke Matrix z rzeczywistym transportem, użyj:
|
||||
Aby uruchomić ścieżkę smoke Matrix z rzeczywistym transportem, wykonaj:
|
||||
|
||||
```bash
|
||||
pnpm openclaw qa matrix
|
||||
```
|
||||
|
||||
Ta ścieżka przygotowuje jednorazowy homeserver Tuwunel w Dockerze, rejestruje
|
||||
Ta ścieżka provisionuje jednorazowy homeserver Tuwunel w Dockerze, rejestruje
|
||||
tymczasowych użytkowników driver, SUT i observer, tworzy jeden prywatny pokój,
|
||||
a następnie uruchamia rzeczywistą wtyczkę Matrix wewnątrz podrzędnego procesu QA gateway. Ścieżka z żywym transportem utrzymuje konfigurację procesu podrzędnego ograniczoną do testowanego transportu, dzięki czemu Matrix działa bez
|
||||
`qa-channel` w konfiguracji procesu podrzędnego.
|
||||
a następnie uruchamia prawdziwy Plugin Matrix wewnątrz potomnego procesu QA gateway. Ścieżka z żywym
|
||||
transportem utrzymuje konfigurację potomną ograniczoną do testowanego transportu,
|
||||
dzięki czemu Matrix działa bez `qa-channel` w konfiguracji potomnej.
|
||||
|
||||
Aby uruchomić ścieżkę smoke Telegram z rzeczywistym transportem, użyj:
|
||||
Aby uruchomić ścieżkę smoke Telegram z rzeczywistym transportem, wykonaj:
|
||||
|
||||
```bash
|
||||
pnpm openclaw qa telegram
|
||||
```
|
||||
|
||||
Ta ścieżka celuje w jedną rzeczywistą prywatną grupę Telegram zamiast przygotowywać
|
||||
Ta ścieżka kieruje ruch do jednej prawdziwej prywatnej grupy Telegram zamiast provisionować
|
||||
jednorazowy serwer. Wymaga `OPENCLAW_QA_TELEGRAM_GROUP_ID`,
|
||||
`OPENCLAW_QA_TELEGRAM_DRIVER_BOT_TOKEN` oraz
|
||||
`OPENCLAW_QA_TELEGRAM_SUT_BOT_TOKEN`, a także dwóch różnych botów w tej samej
|
||||
`OPENCLAW_QA_TELEGRAM_SUT_BOT_TOKEN`, a także dwóch odrębnych botów w tej samej
|
||||
prywatnej grupie. Bot SUT musi mieć nazwę użytkownika Telegram, a obserwacja bot-bot
|
||||
działa najlepiej, gdy oba boty mają włączony tryb Bot-to-Bot Communication Mode
|
||||
w `@BotFather`.
|
||||
|
||||
Ścieżki z żywym transportem współdzielą teraz jeden mniejszy kontrakt zamiast tego,
|
||||
by każda definiowała własny kształt listy scenariuszy:
|
||||
by każda wymyślała własny kształt listy scenariuszy:
|
||||
|
||||
`qa-channel` pozostaje szerokim syntetycznym zestawem zachowań produktu i nie jest częścią
|
||||
macierzy pokrycia żywego transportu.
|
||||
|
||||
| Ścieżka | Canary | Bramka wzmianek | Blokada allowlisty | Odpowiedź najwyższego poziomu | Wznowienie po restarcie | Dalszy ciąg w wątku | Izolacja wątku | Obserwacja reakcji | Polecenie pomocy |
|
||||
| -------- | ------ | --------------- | ------------------ | ----------------------------- | ----------------------- | ------------------- | -------------- | ------------------ | ---------------- |
|
||||
| Matrix | x | x | x | x | x | x | x | x | |
|
||||
| Telegram | x | | | | | | | | x |
|
||||
| Ścieżka | Canary | Bramka wzmianek | Blokada allowlisty | Odpowiedź najwyższego poziomu | Wznowienie po restarcie | Dalszy ciąg wątku | Izolacja wątku | Obserwacja reakcji | Komenda pomocy |
|
||||
| -------- | ------ | --------------- | ------------------ | ----------------------------- | ----------------------- | ----------------- | -------------- | ------------------ | -------------- |
|
||||
| Matrix | x | x | x | x | x | x | x | x | |
|
||||
| Telegram | x | | | | | | | | x |
|
||||
|
||||
Dzięki temu `qa-channel` pozostaje szerokim zestawem zachowań produktu, podczas gdy Matrix,
|
||||
Telegram i przyszłe żywe transporty współdzielą jedną jawną checklistę kontraktu transportu.
|
||||
Telegram i przyszłe żywe transporty współdzielą jedną jawną listę kontrolną kontraktu transportu.
|
||||
|
||||
Aby uruchomić jednorazową ścieżkę na maszynie wirtualnej Linux bez włączania Dockera do ścieżki QA, użyj:
|
||||
Aby uruchomić jednorazową ścieżkę Linux VM bez wprowadzania Dockera do ścieżki QA, wykonaj:
|
||||
|
||||
```bash
|
||||
pnpm openclaw qa suite --runner multipass --scenario channel-chat-baseline
|
||||
```
|
||||
|
||||
To uruchamia świeżego gościa Multipass, instaluje zależności, buduje OpenClaw
|
||||
wewnątrz gościa, uruchamia `qa suite`, a następnie kopiuje standardowy raport QA
|
||||
i podsumowanie z powrotem do `.artifacts/qa-e2e/...` na hoście.
|
||||
Wykorzystuje to samo zachowanie wyboru scenariuszy co `qa suite` na hoście.
|
||||
Uruchomienia hosta i Multipass domyślnie wykonują wiele wybranych scenariuszy równolegle
|
||||
z izolowanymi workerami gateway, do 64 workerów lub liczby wybranych scenariuszy.
|
||||
Użyj `--concurrency <count>`, aby dostroić liczbę workerów, albo
|
||||
`--concurrency 1` do wykonania szeregowego.
|
||||
wewnątrz gościa, uruchamia `qa suite`, a następnie kopiuje zwykły raport QA i
|
||||
podsumowanie z powrotem do `.artifacts/qa-e2e/...` na hoście.
|
||||
Ponownie wykorzystuje to samo zachowanie wyboru scenariuszy co `qa suite` na hoście.
|
||||
Uruchomienia hosta i Multipass suite wykonują domyślnie wiele wybranych scenariuszy równolegle
|
||||
z izolowanymi workerami gateway, maksymalnie do 64 workerów lub liczby wybranych
|
||||
scenariuszy. Użyj `--concurrency <count>`, aby dostroić liczbę workerów, lub
|
||||
`--concurrency 1` dla wykonania seryjnego.
|
||||
Uruchomienia live przekazują obsługiwane wejścia uwierzytelniania QA, które są praktyczne dla
|
||||
gościa: klucze dostawców oparte na env, ścieżkę konfiguracji dostawcy QA live oraz
|
||||
`CODEX_HOME`, jeśli jest obecne. Utrzymuj `--output-dir` pod katalogiem głównym repozytorium, aby gość
|
||||
mógł zapisywać z powrotem przez zamontowany obszar roboczy.
|
||||
gościa: klucze dostawcy oparte na env, ścieżkę konfiguracji dostawcy QA live oraz
|
||||
`CODEX_HOME`, gdy jest obecne. Zachowaj `--output-dir` pod katalogiem głównym repozytorium, aby gość
|
||||
mógł zapisywać z powrotem przez zamontowany workspace.
|
||||
|
||||
## Seedy wspierane przez repozytorium
|
||||
## Seedy oparte na repozytorium
|
||||
|
||||
Zasoby seedów znajdują się w `qa/`:
|
||||
Zasoby seedowane znajdują się w `qa/`:
|
||||
|
||||
- `qa/scenarios/index.md`
|
||||
- `qa/scenarios/*.md`
|
||||
|
||||
Są one celowo przechowywane w git, aby plan QA był widoczny zarówno dla ludzi, jak i dla
|
||||
agenta. Lista bazowa powinna pozostać na tyle szeroka, aby obejmować:
|
||||
agenta.
|
||||
|
||||
`qa-lab` powinien pozostać generycznym runnerem markdown. Każdy plik markdown scenariusza jest
|
||||
źródłem prawdy dla jednego uruchomienia testu i powinien definiować:
|
||||
|
||||
- metadane scenariusza
|
||||
- odwołania do dokumentacji i kodu
|
||||
- opcjonalne wymagania Pluginów
|
||||
- opcjonalną łatkę konfiguracji gateway
|
||||
- wykonywalny `qa-flow`
|
||||
|
||||
Lista bazowa powinna pozostać wystarczająco szeroka, aby obejmować:
|
||||
|
||||
- czat DM i kanałowy
|
||||
- zachowanie wątków
|
||||
- cykl życia akcji wiadomości
|
||||
- wywołania cron
|
||||
- wywołania zwrotne Cron
|
||||
- przywoływanie pamięci
|
||||
- przełączanie modeli
|
||||
- przekazanie do subagenta
|
||||
- czytanie repozytorium i dokumentacji
|
||||
- jedno małe zadanie build, takie jak Lobster Invaders
|
||||
|
||||
## Adaptery transportu
|
||||
|
||||
`qa-lab` posiada generyczny seam transportowy dla scenariuszy QA w markdown.
|
||||
`qa-channel` jest pierwszym adapterem na tym seamie, ale docelowy projekt jest szerszy:
|
||||
przyszłe rzeczywiste lub syntetyczne kanały powinny podłączać się do tego samego runnera suite
|
||||
zamiast dodawać runner QA specyficzny dla transportu.
|
||||
|
||||
Na poziomie architektury podział jest następujący:
|
||||
|
||||
- `qa-lab` odpowiada za generyczne wykonywanie scenariuszy, współbieżność workerów, zapisywanie artefaktów i raportowanie.
|
||||
- adapter transportu odpowiada za konfigurację gateway, gotowość, obserwację wejścia i wyjścia, akcje transportu oraz znormalizowany stan transportu.
|
||||
- pliki markdown scenariuszy w `qa/scenarios/` definiują przebieg testu; `qa-lab` udostępnia wielokrotnego użytku powierzchnię runtime, która je wykonuje.
|
||||
|
||||
Wskazówki wdrożeniowe dla maintainerów dotyczące nowych adapterów kanałów znajdują się w
|
||||
[Testing](/pl/help/testing#adding-a-channel-to-qa).
|
||||
|
||||
## Raportowanie
|
||||
|
||||
`qa-lab` eksportuje raport protokołu Markdown z obserwowanej osi czasu magistrali.
|
||||
`qa-lab` eksportuje raport protokołu Markdown na podstawie obserwowanej osi czasu magistrali.
|
||||
Raport powinien odpowiadać na pytania:
|
||||
|
||||
- Co zadziałało
|
||||
@ -147,7 +174,7 @@ Raport powinien odpowiadać na pytania:
|
||||
- Co pozostało zablokowane
|
||||
- Jakie scenariusze uzupełniające warto dodać
|
||||
|
||||
W celu sprawdzania charakteru i stylu uruchom ten sam scenariusz dla wielu referencji modeli live
|
||||
Aby przeprowadzić kontrole charakteru i stylu, uruchom ten sam scenariusz na wielu żywych referencjach modeli
|
||||
i zapisz oceniony raport Markdown:
|
||||
|
||||
```bash
|
||||
@ -167,36 +194,36 @@ pnpm openclaw qa character-eval \
|
||||
--judge-concurrency 16
|
||||
```
|
||||
|
||||
Polecenie uruchamia lokalne podrzędne procesy QA gateway, a nie Docker. Scenariusze
|
||||
oceny charakteru powinny ustawiać personę przez `SOUL.md`, a następnie uruchamiać zwykłe
|
||||
tury użytkownika, takie jak czat, pomoc dotyczącą obszaru roboczego i małe zadania na plikach. Kandydatowi
|
||||
nie należy mówić, że jest oceniany. Polecenie zachowuje każdy pełny
|
||||
transkrypt, rejestruje podstawowe statystyki uruchomienia, a następnie prosi modele sędziujące w trybie fast z
|
||||
rozumowaniem `xhigh` o uszeregowanie uruchomień według naturalności, klimatu i humoru.
|
||||
Użyj `--blind-judge-models` podczas porównywania dostawców: prompt sędziego nadal otrzymuje
|
||||
Komenda uruchamia lokalne potomne procesy QA gateway, a nie Docker. Scenariusze character eval
|
||||
powinny ustawiać personę przez `SOUL.md`, a następnie wykonywać zwykłe tury użytkownika,
|
||||
takie jak czat, pomoc dotycząca workspace i małe zadania na plikach. Kandydacki model
|
||||
nie powinien być informowany, że jest oceniany. Komenda zachowuje każdy pełny
|
||||
transkrypt, rejestruje podstawowe statystyki uruchomienia, a następnie prosi modele oceniające w trybie fast z
|
||||
rozumowaniem `xhigh`, aby uszeregowały uruchomienia według naturalności, klimatu i humoru.
|
||||
Użyj `--blind-judge-models` podczas porównywania dostawców: prompt oceniający nadal otrzymuje
|
||||
każdy transkrypt i status uruchomienia, ale referencje kandydatów są zastępowane neutralnymi
|
||||
etykietami, takimi jak `candidate-01`; raport mapuje rankingi z powrotem na rzeczywiste referencje po
|
||||
etykietami, takimi jak `candidate-01`; raport mapuje rankingi z powrotem na prawdziwe referencje po
|
||||
parsowaniu.
|
||||
Uruchomienia kandydatów domyślnie używają `high` thinking, z `xhigh` dla modeli OpenAI, które to
|
||||
obsługują. Zastąp konkretnego kandydata inline przez
|
||||
Uruchomienia kandydatów domyślnie używają poziomu myślenia `high`, z `xhigh` dla modeli OpenAI,
|
||||
które go obsługują. Zastąp określonego kandydata inline za pomocą
|
||||
`--model provider/model,thinking=<level>`. `--thinking <level>` nadal ustawia
|
||||
globalny fallback, a starsza forma `--model-thinking <provider/model=level>` jest
|
||||
zachowana dla kompatybilności.
|
||||
Referencje kandydatów OpenAI domyślnie używają trybu fast, aby korzystać z przetwarzania priorytetowego tam,
|
||||
gdzie dostawca to obsługuje. Dodaj inline `,fast`, `,no-fast` lub `,fast=false`, gdy
|
||||
pojedynczy kandydat lub sędzia wymaga nadpisania. Przekaż `--fast` tylko wtedy, gdy chcesz
|
||||
wymusić tryb fast dla każdego modelu kandydata. Czas trwania uruchomień kandydatów i sędziów jest
|
||||
rejestrowany w raporcie na potrzeby analizy porównawczej, ale prompty sędziów wyraźnie mówią,
|
||||
aby nie tworzyć rankingu według szybkości.
|
||||
Uruchomienia modeli kandydatów i sędziów domyślnie używają współbieżności 16. Zmniejsz
|
||||
Referencje kandydatów OpenAI domyślnie używają trybu fast, dzięki czemu wykorzystywane jest
|
||||
przetwarzanie priorytetowe tam, gdzie dostawca je obsługuje. Dodaj inline `,fast`, `,no-fast` lub `,fast=false`,
|
||||
gdy pojedynczy kandydat lub oceniający wymaga nadpisania. Przekaż `--fast` tylko wtedy, gdy chcesz
|
||||
wymusić tryb fast dla każdego modelu kandydata. Czasy trwania kandydatów i oceniających są
|
||||
rejestrowane w raporcie do analizy benchmarkowej, ale prompty oceniające wyraźnie mówią,
|
||||
aby nie ustalać rankingu według szybkości.
|
||||
Zarówno uruchomienia modeli kandydatów, jak i oceniających domyślnie używają współbieżności 16. Zmniejsz
|
||||
`--concurrency` lub `--judge-concurrency`, gdy limity dostawcy lub obciążenie lokalnego gateway
|
||||
powodują, że uruchomienie jest zbyt zaszumione.
|
||||
Gdy nie zostanie przekazany żaden kandydat `--model`, ocena charakteru domyślnie używa
|
||||
sprawiają, że uruchomienie jest zbyt zaszumione.
|
||||
Gdy nie zostanie przekazany żaden kandydat `--model`, character eval domyślnie używa
|
||||
`openai/gpt-5.4`, `openai/gpt-5.2`, `openai/gpt-5`, `anthropic/claude-opus-4-6`,
|
||||
`anthropic/claude-sonnet-4-6`, `zai/glm-5.1`,
|
||||
`moonshot/kimi-k2.5` oraz
|
||||
`google/gemini-3.1-pro-preview`, gdy nie zostanie przekazane `--model`.
|
||||
Gdy nie zostanie przekazane `--judge-model`, sędziowie domyślnie używają
|
||||
`google/gemini-3.1-pro-preview`, jeśli nie przekazano `--model`.
|
||||
Gdy nie zostanie przekazany żaden `--judge-model`, oceniający domyślnie używają
|
||||
`openai/gpt-5.4,thinking=xhigh,fast` oraz
|
||||
`anthropic/claude-opus-4-6,thinking=high`.
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -2,28 +2,27 @@
|
||||
read_when:
|
||||
- Musisz sprawdzić surowe dane wyjściowe modelu pod kątem wycieku rozumowania
|
||||
- Chcesz uruchomić Gateway w trybie watch podczas iteracji
|
||||
- Potrzebujesz powtarzalnego workflow debugowania
|
||||
summary: 'Narzędzia do debugowania: tryb watch, surowe strumienie modelu i śledzenie wycieku rozumowania'
|
||||
- Potrzebujesz powtarzalnego przepływu debugowania
|
||||
summary: 'Narzędzia debugowania: tryb watch, surowe strumienie modelu i śledzenie wycieku rozumowania'
|
||||
title: Debugowanie
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T03:07:43Z"
|
||||
generated_at: "2026-04-12T23:28:25Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 4bc72e8d6cad3a1acaad066f381c82309583fabf304c589e63885f2685dc704e
|
||||
source_hash: bc31ce9b41e92a14c4309f32df569b7050b18024f83280930e53714d3bfcd5cc
|
||||
source_path: help/debugging.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Debugowanie
|
||||
|
||||
Ta strona opisuje pomocniki debugowania dla wyjścia strumieniowego, szczególnie gdy
|
||||
provider miesza rozumowanie ze zwykłym tekstem.
|
||||
Ta strona opisuje pomocnicze narzędzia do debugowania strumieniowego wyjścia, szczególnie gdy dostawca miesza rozumowanie ze zwykłym tekstem.
|
||||
|
||||
## Nadpisania debugowania runtime
|
||||
## Nadpisania debugowania w czasie działania
|
||||
|
||||
Użyj `/debug` na czacie, aby ustawić nadpisania konfiguracji **tylko dla runtime** (pamięć, nie dysk).
|
||||
`/debug` jest domyślnie wyłączone; włącz je za pomocą `commands.debug: true`.
|
||||
To przydatne, gdy musisz przełączyć rzadko używane ustawienia bez edytowania `openclaw.json`.
|
||||
Użyj `/debug` na czacie, aby ustawić nadpisania konfiguracji **tylko na czas działania** (w pamięci, nie na dysku).
|
||||
`/debug` jest domyślnie wyłączone; włącz je przez `commands.debug: true`.
|
||||
To przydaje się, gdy trzeba przełączać rzadko używane ustawienia bez edytowania `openclaw.json`.
|
||||
|
||||
Przykłady:
|
||||
|
||||
@ -34,51 +33,56 @@ Przykłady:
|
||||
/debug reset
|
||||
```
|
||||
|
||||
`/debug reset` czyści wszystkie nadpisania i przywraca konfigurację zapisaną na dysku.
|
||||
`/debug reset` czyści wszystkie nadpisania i przywraca konfigurację z dysku.
|
||||
|
||||
## Wyjście śledzenia sesji
|
||||
|
||||
Użyj `/trace`, gdy chcesz zobaczyć linie śledzenia/debugowania należące do Plugin w jednej sesji bez włączania pełnego trybu verbose.
|
||||
|
||||
Przykłady:
|
||||
|
||||
```text
|
||||
/trace
|
||||
/trace on
|
||||
/trace off
|
||||
```
|
||||
|
||||
Używaj `/trace` do diagnostyki Plugin, takiej jak podsumowania debugowania Active Memory.
|
||||
Nadal używaj `/verbose` do zwykłego szczegółowego wyjścia statusu/narzędzi, a `/debug` do nadpisań konfiguracji tylko na czas działania.
|
||||
|
||||
## Tryb watch Gateway
|
||||
|
||||
Aby szybko iterować, uruchom gateway pod watcherem plików:
|
||||
Aby szybko iterować, uruchom Gateway pod watcherem plików:
|
||||
|
||||
```bash
|
||||
pnpm gateway:watch
|
||||
```
|
||||
|
||||
Mapuje się to na:
|
||||
To mapuje się na:
|
||||
|
||||
```bash
|
||||
node scripts/watch-node.mjs gateway --force
|
||||
```
|
||||
|
||||
Watcher restartuje się po zmianach w plikach istotnych dla builda w `src/`, plikach źródłowych rozszerzeń,
|
||||
metadanych `package.json` i `openclaw.plugin.json` rozszerzeń, `tsconfig.json`,
|
||||
`package.json` oraz `tsdown.config.ts`. Zmiany metadanych rozszerzeń restartują
|
||||
gateway bez wymuszania przebudowy `tsdown`; zmiany źródeł i konfiguracji nadal
|
||||
najpierw przebudowują `dist`.
|
||||
Watcher restartuje proces po zmianach w plikach mających znaczenie dla kompilacji w `src/`, plikach źródłowych rozszerzeń, metadanych rozszerzeń `package.json` i `openclaw.plugin.json`, `tsconfig.json`, `package.json` oraz `tsdown.config.ts`. Zmiany metadanych rozszerzeń restartują Gateway bez wymuszania przebudowy `tsdown`; zmiany w źródłach i konfiguracji nadal najpierw przebudowują `dist`.
|
||||
|
||||
Dodaj dowolne flagi CLI gatewaya po `gateway:watch`, a będą przekazywane przy
|
||||
każdym restarcie. Ponowne uruchomienie tego samego polecenia watch dla tego samego
|
||||
repozytorium/zestawu flag zastępuje teraz starszy watcher zamiast pozostawiać
|
||||
zduplikowane procesy nadrzędne watcherów.
|
||||
Dodaj dowolne flagi CLI Gateway po `gateway:watch`, a będą przekazywane przy każdym restarcie. Ponowne uruchomienie tego samego polecenia watch dla tego samego repozytorium/zestawu flag zastępuje teraz starszego watchera zamiast pozostawiać zduplikowane procesy nadrzędne watcherów.
|
||||
|
||||
## Profil dev + gateway dev (`--dev`)
|
||||
## Profil deweloperski + deweloperski Gateway (`--dev`)
|
||||
|
||||
Użyj profilu dev, aby odizolować stan i uruchomić bezpieczną, tymczasową konfigurację do
|
||||
debugowania. Istnieją **dwie** flagi `--dev`:
|
||||
Użyj profilu deweloperskiego, aby odizolować stan i uruchomić bezpieczne, tymczasowe środowisko do debugowania. Istnieją **dwie** flagi `--dev`:
|
||||
|
||||
- **Globalne `--dev` (profil):** izoluje stan w `~/.openclaw-dev` i
|
||||
domyślnie ustawia port gatewaya na `19001` (powiązane porty odpowiednio się przesuwają).
|
||||
- **`gateway --dev`:** nakazuje Gateway automatycznie utworzyć domyślną konfigurację +
|
||||
workspace, jeśli ich brakuje (i pominąć BOOTSTRAP.md).
|
||||
- **Globalne `--dev` (profil):** izoluje stan w `~/.openclaw-dev` i domyślnie ustawia port Gateway na `19001` (powiązane porty przesuwają się wraz z nim).
|
||||
- **`gateway --dev`:** mówi Gateway, aby automatycznie utworzył domyślną konfigurację + workspace, jeśli ich brakuje (i pominął `BOOTSTRAP.md`).
|
||||
|
||||
Zalecany przepływ (profil dev + bootstrap dev):
|
||||
Zalecany przepływ (profil deweloperski + bootstrap deweloperski):
|
||||
|
||||
```bash
|
||||
pnpm gateway:dev
|
||||
OPENCLAW_PROFILE=dev openclaw tui
|
||||
```
|
||||
|
||||
Jeśli nie masz jeszcze globalnej instalacji, uruchom CLI przez `pnpm openclaw ...`.
|
||||
Jeśli nie masz jeszcze instalacji globalnej, uruchamiaj CLI przez `pnpm openclaw ...`.
|
||||
|
||||
Co to robi:
|
||||
|
||||
@ -86,34 +90,33 @@ Co to robi:
|
||||
- `OPENCLAW_PROFILE=dev`
|
||||
- `OPENCLAW_STATE_DIR=~/.openclaw-dev`
|
||||
- `OPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.json`
|
||||
- `OPENCLAW_GATEWAY_PORT=19001` (przeglądarka/canvas odpowiednio się przesuwają)
|
||||
- `OPENCLAW_GATEWAY_PORT=19001` (porty browser/canvas odpowiednio się przesuwają)
|
||||
|
||||
2. **Bootstrap dev** (`gateway --dev`)
|
||||
- Zapisuje minimalną konfigurację, jeśli jej brakuje (`gateway.mode=local`, bind loopback).
|
||||
- Ustawia `agent.workspace` na workspace dev.
|
||||
- Ustawia `agent.skipBootstrap=true` (bez BOOTSTRAP.md).
|
||||
- Seeduje pliki workspace, jeśli ich brakuje:
|
||||
2. **Bootstrap deweloperski** (`gateway --dev`)
|
||||
- Zapisuje minimalną konfigurację, jeśli jej brakuje (`gateway.mode=local`, bind do loopback).
|
||||
- Ustawia `agent.workspace` na deweloperski workspace.
|
||||
- Ustawia `agent.skipBootstrap=true` (bez `BOOTSTRAP.md`).
|
||||
- Tworzy pliki workspace, jeśli ich brakuje:
|
||||
`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`.
|
||||
- Domyślna tożsamość: **C3‑PO** (droid protokolarny).
|
||||
- Pomija providery kanałów w trybie dev (`OPENCLAW_SKIP_CHANNELS=1`).
|
||||
- Pomija dostawców kanałów w trybie deweloperskim (`OPENCLAW_SKIP_CHANNELS=1`).
|
||||
|
||||
Przepływ resetu (świeży start):
|
||||
Przepływ resetowania (świeży start):
|
||||
|
||||
```bash
|
||||
pnpm gateway:dev:reset
|
||||
```
|
||||
|
||||
Uwaga: `--dev` to **globalna** flaga profilu i jest przechwytywana przez niektóre runnery.
|
||||
Jeśli musisz ją zapisać jawnie, użyj formy z env var:
|
||||
Uwaga: `--dev` to **globalna** flaga profilu i bywa przechwytywana przez niektóre uruchamiacze.
|
||||
Jeśli musisz zapisać ją jawnie, użyj formy z zmienną środowiskową:
|
||||
|
||||
```bash
|
||||
OPENCLAW_PROFILE=dev openclaw gateway --dev --reset
|
||||
```
|
||||
|
||||
`--reset` czyści konfigurację, poświadczenia, sesje i workspace dev (przy użyciu
|
||||
`trash`, a nie `rm`), a następnie odtwarza domyślną konfigurację dev.
|
||||
`--reset` czyści konfigurację, poświadczenia, sesje i deweloperski workspace (używając `trash`, a nie `rm`), a następnie odtwarza domyślne środowisko deweloperskie.
|
||||
|
||||
Wskazówka: jeśli działa już gateway inny niż dev (launchd/systemd), najpierw go zatrzymaj:
|
||||
Wskazówka: jeśli działa już Gateway poza trybem deweloperskim (launchd/systemd), najpierw go zatrzymaj:
|
||||
|
||||
```bash
|
||||
openclaw gateway stop
|
||||
@ -122,8 +125,8 @@ openclaw gateway stop
|
||||
## Logowanie surowego strumienia (OpenClaw)
|
||||
|
||||
OpenClaw może logować **surowy strumień asystenta** przed jakimkolwiek filtrowaniem/formatowaniem.
|
||||
To najlepszy sposób, aby sprawdzić, czy rozumowanie dociera jako zwykłe delty tekstowe
|
||||
(lub jako osobne bloki thinking).
|
||||
To najlepszy sposób, aby sprawdzić, czy rozumowanie przychodzi jako zwykłe delty tekstowe
|
||||
(lub jako osobne bloki myślenia).
|
||||
|
||||
Włącz przez CLI:
|
||||
|
||||
@ -137,7 +140,7 @@ Opcjonalne nadpisanie ścieżki:
|
||||
pnpm gateway:watch --raw-stream --raw-stream-path ~/.openclaw/logs/raw-stream.jsonl
|
||||
```
|
||||
|
||||
Równoważne zmienne env:
|
||||
Równoważne zmienne środowiskowe:
|
||||
|
||||
```bash
|
||||
OPENCLAW_RAW_STREAM=1
|
||||
@ -150,7 +153,7 @@ Plik domyślny:
|
||||
|
||||
## Logowanie surowych chunków (pi-mono)
|
||||
|
||||
Aby przechwycić **surowe chunki zgodne z OpenAI** przed ich sparsowaniem do bloków,
|
||||
Aby przechwytywać **surowe chunki zgodne z OpenAI** przed przetworzeniem ich na bloki,
|
||||
pi-mono udostępnia osobny logger:
|
||||
|
||||
```bash
|
||||
@ -167,11 +170,11 @@ Plik domyślny:
|
||||
|
||||
`~/.pi-mono/logs/raw-openai-completions.jsonl`
|
||||
|
||||
> Uwaga: jest to emitowane tylko przez procesy używające providera
|
||||
> Uwaga: jest to emitowane tylko przez procesy używające dostawcy
|
||||
> `openai-completions` z pi-mono.
|
||||
|
||||
## Uwagi dotyczące bezpieczeństwa
|
||||
|
||||
- Logi surowego strumienia mogą zawierać pełne prompty, wyjście narzędzi i dane użytkownika.
|
||||
- Przechowuj logi lokalnie i usuwaj je po zakończeniu debugowania.
|
||||
- Przechowuj logi lokalnie i usuwaj je po debugowaniu.
|
||||
- Jeśli udostępniasz logi, najpierw usuń z nich sekrety i dane osobowe.
|
||||
|
||||
2580
docs/pl/help/faq.md
2580
docs/pl/help/faq.md
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,77 +1,75 @@
|
||||
---
|
||||
read_when:
|
||||
- Tworzysz Plugin OpenClaw
|
||||
- Musisz dostarczyć schemat konfiguracji pluginu lub debugować błędy walidacji pluginu
|
||||
summary: Wymagania dotyczące manifestu Plugin + schematu JSON (ścisła walidacja konfiguracji)
|
||||
title: Manifest Plugin
|
||||
- Musisz dostarczyć schemat konfiguracji Pluginu albo debugować błędy walidacji Pluginu
|
||||
summary: Manifest Pluginu + wymagania schematu JSON (ścisła walidacja konfiguracji)
|
||||
title: Manifest Pluginu
|
||||
x-i18n:
|
||||
generated_at: "2026-04-12T09:33:29Z"
|
||||
generated_at: "2026-04-12T23:28:43Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 4074b3639bf24606d6087597f28e29afc85f4ea628a713e9d984b441a16f1c13
|
||||
source_hash: 93b57c7373e4ccd521b10945346db67991543bd2bed4cc8b6641e1f215b48579
|
||||
source_path: plugins/manifest.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Manifest Plugin (`openclaw.plugin.json`)
|
||||
# Manifest Pluginu (`openclaw.plugin.json`)
|
||||
|
||||
Ta strona dotyczy wyłącznie **natywnego manifestu Plugin OpenClaw**.
|
||||
Ta strona dotyczy wyłącznie **natywnego manifestu Pluginu OpenClaw**.
|
||||
|
||||
Informacje o zgodnych układach pakietów znajdziesz tutaj: [Pakiety Plugin](/pl/plugins/bundles).
|
||||
Informacje o zgodnych układach bundli znajdziesz tutaj: [Bundle Pluginów](/pl/plugins/bundles).
|
||||
|
||||
Zgodne formaty pakietów używają innych plików manifestu:
|
||||
Zgodne formaty bundli używają innych plików manifestu:
|
||||
|
||||
- Pakiet Codex: `.codex-plugin/plugin.json`
|
||||
- Pakiet Claude: `.claude-plugin/plugin.json` lub domyślny układ komponentu Claude
|
||||
- Bundle Codex: `.codex-plugin/plugin.json`
|
||||
- Bundle Claude: `.claude-plugin/plugin.json` albo domyślny układ komponentów Claude
|
||||
bez manifestu
|
||||
- Pakiet Cursor: `.cursor-plugin/plugin.json`
|
||||
- Bundle Cursor: `.cursor-plugin/plugin.json`
|
||||
|
||||
OpenClaw automatycznie wykrywa także te układy pakietów, ale nie są one walidowane
|
||||
OpenClaw automatycznie wykrywa również te układy bundli, ale nie są one walidowane
|
||||
względem opisanego tutaj schematu `openclaw.plugin.json`.
|
||||
|
||||
W przypadku zgodnych pakietów OpenClaw obecnie odczytuje metadane pakietu oraz zadeklarowane
|
||||
korzenie Skills, korzenie poleceń Claude, domyślne ustawienia `settings.json` pakietu Claude,
|
||||
domyślne ustawienia LSP pakietu Claude oraz obsługiwane zestawy hooków, gdy układ odpowiada
|
||||
W przypadku zgodnych bundli OpenClaw obecnie odczytuje metadane bundla oraz zadeklarowane
|
||||
korzenie Skills, korzenie poleceń Claude, domyślne wartości `settings.json` bundla Claude,
|
||||
domyślne wartości LSP bundla Claude oraz obsługiwane pakiety hooków, gdy układ odpowiada
|
||||
oczekiwaniom środowiska uruchomieniowego OpenClaw.
|
||||
|
||||
Każdy natywny Plugin OpenClaw **musi** zawierać plik `openclaw.plugin.json` w
|
||||
**katalogu głównym pluginu**. OpenClaw używa tego manifestu do walidacji konfiguracji
|
||||
**bez wykonywania kodu pluginu**. Brakujące lub nieprawidłowe manifesty są traktowane jako
|
||||
błędy pluginu i blokują walidację konfiguracji.
|
||||
Każdy natywny Plugin OpenClaw **musi** dostarczać plik `openclaw.plugin.json` w
|
||||
**katalogu głównym Pluginu**. OpenClaw używa tego manifestu do walidacji konfiguracji
|
||||
**bez wykonywania kodu Pluginu**. Brakujące lub nieprawidłowe manifesty są traktowane jako
|
||||
błędy Pluginu i blokują walidację konfiguracji.
|
||||
|
||||
Zobacz pełny przewodnik po systemie pluginów: [Plugins](/pl/tools/plugin).
|
||||
Informacje o natywnym modelu możliwości i aktualnych wytycznych zgodności zewnętrznej:
|
||||
[Model możliwości](/pl/plugins/architecture#public-capability-model).
|
||||
Zobacz pełny przewodnik po systemie Pluginów: [Pluginy](/pl/tools/plugin).
|
||||
Informacje o natywnym modelu capabilities i aktualnych wskazówkach dotyczących zgodności zewnętrznej:
|
||||
[Model capabilities](/pl/plugins/architecture#public-capability-model).
|
||||
|
||||
## Do czego służy ten plik
|
||||
|
||||
`openclaw.plugin.json` to metadane, które OpenClaw odczytuje przed załadowaniem
|
||||
kodu twojego pluginu.
|
||||
`openclaw.plugin.json` to metadane, które OpenClaw odczytuje, zanim załaduje kod
|
||||
Twojego Pluginu.
|
||||
|
||||
Używaj go do:
|
||||
|
||||
- tożsamości pluginu
|
||||
- tożsamości Pluginu
|
||||
- walidacji konfiguracji
|
||||
- metadanych uwierzytelniania i onboardingu, które powinny być dostępne bez uruchamiania
|
||||
środowiska uruchomieniowego pluginu
|
||||
- tanich wskazówek aktywacji, które powierzchnie płaszczyzny sterowania mogą sprawdzać przed załadowaniem środowiska uruchomieniowego
|
||||
- tanich deskryptorów konfiguracji, które powierzchnie konfiguracji/onboardingu mogą sprawdzać przed załadowaniem
|
||||
środowiska uruchomieniowego
|
||||
- metadanych aliasów i automatycznego włączania, które powinny być rozstrzygane przed załadowaniem środowiska uruchomieniowego pluginu
|
||||
- skróconych metadanych własności rodziny modeli, które powinny automatycznie aktywować
|
||||
plugin przed załadowaniem środowiska uruchomieniowego
|
||||
- statycznych migawek własności możliwości używanych do zgodnego okablowania pakietów i pokrycia kontraktów
|
||||
- metadanych konfiguracji specyficznych dla kanału, które powinny być scalane z katalogiem i powierzchniami walidacji
|
||||
- metadanych auth i onboardingu, które powinny być dostępne bez uruchamiania środowiska uruchomieniowego Pluginu
|
||||
- lekkich wskazówek aktywacji, które powierzchnie płaszczyzny sterowania mogą sprawdzać przed załadowaniem środowiska uruchomieniowego
|
||||
- lekkich deskryptorów konfiguracji, które powierzchnie konfiguracji/onboardingu mogą sprawdzać przed załadowaniem środowiska uruchomieniowego
|
||||
- metadanych aliasów i auto-enable, które powinny zostać rozstrzygnięte przed załadowaniem środowiska uruchomieniowego Pluginu
|
||||
- skróconych metadanych własności rodzin modeli, które powinny auto-activate
|
||||
Plugin przed załadowaniem środowiska uruchomieniowego
|
||||
- statycznych snapshotów własności capabilities używanych do zgodnego okablowania bundli i pokrycia kontraktów
|
||||
- metadanych konfiguracji specyficznych dla kanału, które powinny zostać scalone z powierzchniami katalogu i walidacji
|
||||
bez ładowania środowiska uruchomieniowego
|
||||
- wskazówek UI konfiguracji
|
||||
|
||||
Nie używaj go do:
|
||||
|
||||
- rejestrowania zachowania środowiska uruchomieniowego
|
||||
- deklarowania punktów wejścia kodu
|
||||
- deklarowania entrypointów kodu
|
||||
- metadanych instalacji npm
|
||||
|
||||
To należy do kodu twojego pluginu i `package.json`.
|
||||
To należy do kodu Pluginu i `package.json`.
|
||||
|
||||
## Minimalny przykład
|
||||
|
||||
@ -142,64 +140,64 @@ To należy do kodu twojego pluginu i `package.json`.
|
||||
}
|
||||
```
|
||||
|
||||
## Odwołanie do pól najwyższego poziomu
|
||||
## Informacje o polach najwyższego poziomu
|
||||
|
||||
| Pole | Wymagane | Typ | Co oznacza |
|
||||
| ----------------------------------- | -------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `id` | Tak | `string` | Kanoniczny identyfikator pluginu. Jest to identyfikator używany w `plugins.entries.<id>`. |
|
||||
| `configSchema` | Tak | `object` | Wbudowany schemat JSON dla konfiguracji tego pluginu. |
|
||||
| `enabledByDefault` | Nie | `true` | Oznacza plugin pakietowy jako domyślnie włączony. Pomiń to pole lub ustaw dowolną wartość inną niż `true`, aby plugin pozostał domyślnie wyłączony. |
|
||||
| `legacyPluginIds` | Nie | `string[]` | Starsze identyfikatory, które są normalizowane do tego kanonicznego identyfikatora pluginu. |
|
||||
| `autoEnableWhenConfiguredProviders` | Nie | `string[]` | Identyfikatory dostawców, które powinny automatycznie włączać ten plugin, gdy uwierzytelnianie, konfiguracja lub odwołania do modeli o nich wspominają. |
|
||||
| `kind` | Nie | `"memory"` \| `"context-engine"` | Deklaruje wyłączny rodzaj pluginu używany przez `plugins.slots.*`. |
|
||||
| `channels` | Nie | `string[]` | Identyfikatory kanałów należących do tego pluginu. Używane do wykrywania i walidacji konfiguracji. |
|
||||
| `providers` | Nie | `string[]` | Identyfikatory dostawców należących do tego pluginu. |
|
||||
| `modelSupport` | Nie | `object` | Skrócone metadane rodziny modeli należące do manifestu, używane do automatycznego ładowania pluginu przed środowiskiem uruchomieniowym. |
|
||||
| `cliBackends` | Nie | `string[]` | Identyfikatory backendów inferencji CLI należących do tego pluginu. Używane do automatycznej aktywacji przy uruchomieniu na podstawie jawnych odwołań w konfiguracji. |
|
||||
| `commandAliases` | Nie | `object[]` | Nazwy poleceń należące do tego pluginu, które powinny generować świadome pluginu diagnostyki konfiguracji i CLI przed załadowaniem środowiska uruchomieniowego. |
|
||||
| `providerAuthEnvVars` | Nie | `Record<string, string[]>` | Lekkie metadane env uwierzytelniania dostawcy, które OpenClaw może sprawdzić bez ładowania kodu pluginu. |
|
||||
| `providerAuthAliases` | Nie | `Record<string, string>` | Identyfikatory dostawców, które powinny używać ponownie innego identyfikatora dostawcy do wyszukiwania uwierzytelniania, na przykład dostawca programistyczny współdzielący bazowy klucz API i profile uwierzytelniania dostawcy. |
|
||||
| `channelEnvVars` | Nie | `Record<string, string[]>` | Lekkie metadane env kanału, które OpenClaw może sprawdzić bez ładowania kodu pluginu. Użyj tego dla konfiguracji kanału sterowanej przez env lub powierzchni uwierzytelniania, które ogólne pomocniki uruchamiania/konfiguracji powinny widzieć. |
|
||||
| `providerAuthChoices` | Nie | `object[]` | Lekkie metadane wyboru uwierzytelniania dla selektorów onboardingu, rozstrzygania preferowanego dostawcy i prostego mapowania flag CLI. |
|
||||
| `activation` | Nie | `object` | Lekkie wskazówki aktywacji dla ładowania wyzwalanego przez dostawcę, polecenie, kanał, trasę i możliwości. Tylko metadane; rzeczywiste zachowanie nadal należy do środowiska uruchomieniowego pluginu. |
|
||||
| `setup` | Nie | `object` | Lekkie deskryptory konfiguracji/onboardingu, które powierzchnie wykrywania i konfiguracji mogą sprawdzać bez ładowania środowiska uruchomieniowego pluginu. |
|
||||
| `contracts` | Nie | `object` | Statyczna migawka możliwości pakietowych dla własności mowy, transkrypcji w czasie rzeczywistym, głosu w czasie rzeczywistym, rozumienia mediów, generowania obrazów, generowania muzyki, generowania wideo, pobierania z sieci, wyszukiwania w sieci i narzędzi. |
|
||||
| `channelConfigs` | Nie | `Record<string, object>` | Metadane konfiguracji kanału należące do manifestu, scalane z powierzchniami wykrywania i walidacji przed załadowaniem środowiska uruchomieniowego. |
|
||||
| `skills` | Nie | `string[]` | Katalogi Skills do załadowania, względnie do katalogu głównego pluginu. |
|
||||
| `name` | Nie | `string` | Czytelna dla człowieka nazwa pluginu. |
|
||||
| `description` | Nie | `string` | Krótkie podsumowanie wyświetlane na powierzchniach pluginu. |
|
||||
| `version` | Nie | `string` | Informacyjna wersja pluginu. |
|
||||
| `uiHints` | Nie | `Record<string, object>` | Etykiety UI, placeholdery i wskazówki dotyczące wrażliwości dla pól konfiguracji. |
|
||||
| Pole | Wymagane | Typ | Co oznacza |
|
||||
| ----------------------------------- | -------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `id` | Tak | `string` | Kanoniczny identyfikator Pluginu. To identyfikator używany w `plugins.entries.<id>`. |
|
||||
| `configSchema` | Tak | `object` | Wbudowany schemat JSON dla konfiguracji tego Pluginu. |
|
||||
| `enabledByDefault` | Nie | `true` | Oznacza bundlowy Plugin jako domyślnie włączony. Pomiń to pole albo ustaw dowolną wartość inną niż `true`, aby pozostawić Plugin domyślnie wyłączony. |
|
||||
| `legacyPluginIds` | Nie | `string[]` | Starsze identyfikatory, które są normalizowane do tego kanonicznego identyfikatora Pluginu. |
|
||||
| `autoEnableWhenConfiguredProviders` | Nie | `string[]` | Identyfikatory dostawców, które powinny automatycznie włączać ten Plugin, gdy auth, konfiguracja lub odwołania do modeli na nie wskazują. |
|
||||
| `kind` | Nie | `"memory"` \| `"context-engine"` | Deklaruje wyłączny rodzaj Pluginu używany przez `plugins.slots.*`. |
|
||||
| `channels` | Nie | `string[]` | Identyfikatory kanałów należących do tego Pluginu. Używane do wykrywania i walidacji konfiguracji. |
|
||||
| `providers` | Nie | `string[]` | Identyfikatory dostawców należących do tego Pluginu. |
|
||||
| `modelSupport` | Nie | `object` | Należące do manifestu skrócone metadane rodzin modeli używane do automatycznego załadowania Pluginu przed środowiskiem uruchomieniowym. |
|
||||
| `cliBackends` | Nie | `string[]` | Identyfikatory backendów inferencji CLI należących do tego Pluginu. Używane do automatycznej aktywacji przy uruchomieniu na podstawie jawnych odwołań w konfiguracji. |
|
||||
| `commandAliases` | Nie | `object[]` | Nazwy poleceń należące do tego Pluginu, które powinny generować diagnostykę konfiguracji i CLI uwzględniającą Plugin jeszcze przed załadowaniem środowiska uruchomieniowego. |
|
||||
| `providerAuthEnvVars` | Nie | `Record<string, string[]>` | Lekkie metadane env dla auth dostawców, które OpenClaw może sprawdzać bez ładowania kodu Pluginu. |
|
||||
| `providerAuthAliases` | Nie | `Record<string, string>` | Identyfikatory dostawców, które powinny ponownie używać innego identyfikatora dostawcy do wyszukiwania auth, na przykład dostawca kodowania, który współdzieli bazowy klucz API dostawcy i profile auth. |
|
||||
| `channelEnvVars` | Nie | `Record<string, string[]>` | Lekkie metadane env dla kanałów, które OpenClaw może sprawdzać bez ładowania kodu Pluginu. Używaj tego dla konfiguracji kanałów sterowanej przez env albo powierzchni auth, które powinny widzieć ogólne pomocniki uruchamiania/konfiguracji. |
|
||||
| `providerAuthChoices` | Nie | `object[]` | Lekkie metadane wyboru auth dla selektorów onboardingu, rozstrzygania preferowanego dostawcy i prostego okablowania flag CLI. |
|
||||
| `activation` | Nie | `object` | Lekkie wskazówki aktywacji dla ładowania wyzwalanego przez dostawcę, polecenie, kanał, trasę i capability. Tylko metadane; rzeczywiste zachowanie nadal należy do środowiska uruchomieniowego Pluginu. |
|
||||
| `setup` | Nie | `object` | Lekkie deskryptory konfiguracji/onboardingu, które powierzchnie wykrywania i konfiguracji mogą sprawdzać bez ładowania środowiska uruchomieniowego Pluginu. |
|
||||
| `contracts` | Nie | `object` | Statyczny snapshot bundlowych capabilities dla speech, realtime transcription, realtime voice, media-understanding, image-generation, music-generation, video-generation, web-fetch, web search i własności narzędzi. |
|
||||
| `channelConfigs` | Nie | `Record<string, object>` | Metadane konfiguracji kanału należące do manifestu, scalane z powierzchniami wykrywania i walidacji przed załadowaniem środowiska uruchomieniowego. |
|
||||
| `skills` | Nie | `string[]` | Katalogi Skills do załadowania, względne względem katalogu głównego Pluginu. |
|
||||
| `name` | Nie | `string` | Przyjazna dla człowieka nazwa Pluginu. |
|
||||
| `description` | Nie | `string` | Krótkie podsumowanie wyświetlane na powierzchniach Pluginu. |
|
||||
| `version` | Nie | `string` | Informacyjna wersja Pluginu. |
|
||||
| `uiHints` | Nie | `Record<string, object>` | Etykiety UI, placeholdery i wskazówki dotyczące wrażliwości dla pól konfiguracji. |
|
||||
|
||||
## Odwołanie do `providerAuthChoices`
|
||||
## Informacje o `providerAuthChoices`
|
||||
|
||||
Każdy wpis `providerAuthChoices` opisuje jeden wybór onboardingu lub uwierzytelniania.
|
||||
OpenClaw odczytuje to przed załadowaniem środowiska uruchomieniowego dostawcy.
|
||||
Każdy wpis `providerAuthChoices` opisuje jeden wybór onboardingu lub auth.
|
||||
OpenClaw odczytuje to, zanim załaduje się środowisko uruchomieniowe dostawcy.
|
||||
|
||||
| Pole | Wymagane | Typ | Co oznacza |
|
||||
| --------------------- | -------- | ----------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| `provider` | Tak | `string` | Identyfikator dostawcy, do którego należy ten wybór. |
|
||||
| `method` | Tak | `string` | Identyfikator metody uwierzytelniania, do której należy przekazać żądanie. |
|
||||
| `choiceId` | Tak | `string` | Stabilny identyfikator wyboru uwierzytelniania używany przez onboarding i przepływy CLI. |
|
||||
| `choiceLabel` | Nie | `string` | Etykieta widoczna dla użytkownika. Jeśli zostanie pominięta, OpenClaw użyje wartości `choiceId`. |
|
||||
| `method` | Tak | `string` | Identyfikator metody auth, do której należy przekazać sterowanie. |
|
||||
| `choiceId` | Tak | `string` | Stabilny identyfikator wyboru auth używany przez onboarding i przepływy CLI. |
|
||||
| `choiceLabel` | Nie | `string` | Etykieta widoczna dla użytkownika. Jeśli zostanie pominięta, OpenClaw użyje `choiceId`. |
|
||||
| `choiceHint` | Nie | `string` | Krótki tekst pomocniczy dla selektora. |
|
||||
| `assistantPriority` | Nie | `number` | Niższe wartości są sortowane wcześniej w interaktywnych selektorach sterowanych przez asystenta. |
|
||||
| `assistantVisibility` | Nie | `"visible"` \| `"manual-only"` | Ukrywa wybór w selektorach asystenta, ale nadal pozwala na ręczny wybór w CLI. |
|
||||
| `deprecatedChoiceIds` | Nie | `string[]` | Starsze identyfikatory wyboru, które powinny przekierowywać użytkowników do tego zamiennego wyboru. |
|
||||
| `assistantVisibility` | Nie | `"visible"` \| `"manual-only"` | Ukrywa wybór w selektorach asystenta, nadal pozwalając na ręczny wybór w CLI. |
|
||||
| `deprecatedChoiceIds` | Nie | `string[]` | Starsze identyfikatory wyboru, które powinny przekierowywać użytkowników do tego wyboru zastępczego. |
|
||||
| `groupId` | Nie | `string` | Opcjonalny identyfikator grupy do grupowania powiązanych wyborów. |
|
||||
| `groupLabel` | Nie | `string` | Etykieta widoczna dla użytkownika dla tej grupy. |
|
||||
| `groupLabel` | Nie | `string` | Etykieta tej grupy widoczna dla użytkownika. |
|
||||
| `groupHint` | Nie | `string` | Krótki tekst pomocniczy dla grupy. |
|
||||
| `optionKey` | Nie | `string` | Wewnętrzny klucz opcji dla prostych przepływów uwierzytelniania z jedną flagą. |
|
||||
| `cliFlag` | Nie | `string` | Nazwa flagi CLI, na przykład `--openrouter-api-key`. |
|
||||
| `cliOption` | Nie | `string` | Pełna postać opcji CLI, na przykład `--openrouter-api-key <key>`. |
|
||||
| `optionKey` | Nie | `string` | Wewnętrzny klucz opcji dla prostych przepływów auth z jedną flagą. |
|
||||
| `cliFlag` | Nie | `string` | Nazwa flagi CLI, taka jak `--openrouter-api-key`. |
|
||||
| `cliOption` | Nie | `string` | Pełna postać opcji CLI, taka jak `--openrouter-api-key <key>`. |
|
||||
| `cliDescription` | Nie | `string` | Opis używany w pomocy CLI. |
|
||||
| `onboardingScopes` | Nie | `Array<"text-inference" \| "image-generation">` | Na których powierzchniach onboardingu ten wybór powinien się pojawiać. Jeśli zostanie pominięte, domyślnie używane jest `["text-inference"]`. |
|
||||
|
||||
## Odwołanie do `commandAliases`
|
||||
## Informacje o `commandAliases`
|
||||
|
||||
Użyj `commandAliases`, gdy plugin jest właścicielem nazwy polecenia środowiska uruchomieniowego, którą użytkownicy mogą
|
||||
omyłkowo umieścić w `plugins.allow` lub próbować uruchomić jako główne polecenie CLI. OpenClaw
|
||||
używa tych metadanych do diagnostyki bez importowania kodu środowiska uruchomieniowego pluginu.
|
||||
Używaj `commandAliases`, gdy Plugin posiada nazwę polecenia środowiska uruchomieniowego, którą użytkownicy mogą
|
||||
omyłkowo umieścić w `plugins.allow` albo próbować uruchomić jako główne polecenie CLI. OpenClaw
|
||||
używa tych metadanych do diagnostyki bez importowania kodu środowiska uruchomieniowego Pluginu.
|
||||
|
||||
```json
|
||||
{
|
||||
@ -213,22 +211,22 @@ używa tych metadanych do diagnostyki bez importowania kodu środowiska uruchomi
|
||||
}
|
||||
```
|
||||
|
||||
| Pole | Wymagane | Typ | Co oznacza |
|
||||
| ------------ | -------- | ----------------- | --------------------------------------------------------------------------- |
|
||||
| `name` | Tak | `string` | Nazwa polecenia należąca do tego pluginu. |
|
||||
| `kind` | Nie | `"runtime-slash"` | Oznacza alias jako polecenie slash czatu, a nie główne polecenie CLI. |
|
||||
| Pole | Wymagane | Typ | Co oznacza |
|
||||
| ------------ | -------- | ----------------- | ----------------------------------------------------------------------------------- |
|
||||
| `name` | Tak | `string` | Nazwa polecenia należąca do tego Pluginu. |
|
||||
| `kind` | Nie | `"runtime-slash"` | Oznacza alias jako polecenie ukośnikowe czatu, a nie główne polecenie CLI. |
|
||||
| `cliCommand` | Nie | `string` | Powiązane główne polecenie CLI, które należy zasugerować dla operacji CLI, jeśli istnieje. |
|
||||
|
||||
## Odwołanie do `activation`
|
||||
## Informacje o `activation`
|
||||
|
||||
Użyj `activation`, gdy plugin może w prosty sposób zadeklarować, które zdarzenia płaszczyzny sterowania
|
||||
Używaj `activation`, gdy Plugin może w prosty sposób zadeklarować, które zdarzenia płaszczyzny sterowania
|
||||
powinny aktywować go później.
|
||||
|
||||
Ten blok zawiera tylko metadane. Nie rejestruje zachowania środowiska uruchomieniowego i nie
|
||||
zastępuje `register(...)`, `setupEntry` ani innych punktów wejścia środowiska uruchomieniowego/pluginu.
|
||||
Obecni konsumenci używają go jako wskazówki zawężającej przed szerszym ładowaniem pluginu, więc
|
||||
brak metadanych aktywacji wpływa tylko na wydajność; nie powinien zmieniać
|
||||
poprawności.
|
||||
Ten blok zawiera wyłącznie metadane. Nie rejestruje zachowania środowiska uruchomieniowego i nie
|
||||
zastępuje `register(...)`, `setupEntry` ani innych entrypointów środowiska uruchomieniowego/Pluginu.
|
||||
Obecni konsumenci używają go jako wskazówki zawężającej przed szerszym ładowaniem Pluginów, więc
|
||||
brak metadanych aktywacji zwykle wpływa tylko na wydajność; nie powinien zmieniać
|
||||
poprawności, dopóki nadal istnieją starsze fallbacki własności manifestu.
|
||||
|
||||
```json
|
||||
{
|
||||
@ -242,21 +240,27 @@ poprawności.
|
||||
}
|
||||
```
|
||||
|
||||
| Pole | Wymagane | Typ | Co oznacza |
|
||||
| ---------------- | -------- | ---------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `onProviders` | Nie | `string[]` | Identyfikatory dostawców, które powinny aktywować ten plugin po żądaniu. |
|
||||
| `onCommands` | Nie | `string[]` | Identyfikatory poleceń, które powinny aktywować ten plugin. |
|
||||
| `onChannels` | Nie | `string[]` | Identyfikatory kanałów, które powinny aktywować ten plugin. |
|
||||
| `onRoutes` | Nie | `string[]` | Rodzaje tras, które powinny aktywować ten plugin. |
|
||||
| `onCapabilities` | Nie | `Array<"provider" \| "channel" \| "tool" \| "hook">` | Ogólne wskazówki dotyczące możliwości używane przy planowaniu aktywacji płaszczyzny sterowania. |
|
||||
| Pole | Wymagane | Typ | Co oznacza |
|
||||
| ---------------- | -------- | ---------------------------------------------------- | ------------------------------------------------------------------- |
|
||||
| `onProviders` | Nie | `string[]` | Identyfikatory dostawców, które powinny aktywować ten Plugin po zażądaniu. |
|
||||
| `onCommands` | Nie | `string[]` | Identyfikatory poleceń, które powinny aktywować ten Plugin. |
|
||||
| `onChannels` | Nie | `string[]` | Identyfikatory kanałów, które powinny aktywować ten Plugin. |
|
||||
| `onRoutes` | Nie | `string[]` | Rodzaje tras, które powinny aktywować ten Plugin. |
|
||||
| `onCapabilities` | Nie | `Array<"provider" \| "channel" \| "tool" \| "hook">` | Szerokie wskazówki capabilities używane przez planowanie aktywacji płaszczyzny sterowania. |
|
||||
|
||||
W przypadku planowania wyzwalanego poleceniem OpenClaw nadal korzysta z awaryjnego mechanizmu
|
||||
opartego na starszych `commandAliases[].cliCommand` lub `commandAliases[].name`, gdy plugin
|
||||
nie dodał jeszcze jawnych metadanych `activation.onCommands`.
|
||||
Obecni aktywni konsumenci:
|
||||
|
||||
## Odwołanie do `setup`
|
||||
- planowanie CLI wyzwalane poleceniem wraca awaryjnie do starszych
|
||||
`commandAliases[].cliCommand` albo `commandAliases[].name`
|
||||
- planowanie konfiguracji/kanałów wyzwalane kanałem wraca awaryjnie do starszej własności
|
||||
`channels[]`, gdy brakuje jawnych metadanych aktywacji kanału
|
||||
- planowanie konfiguracji/środowiska uruchomieniowego wyzwalane dostawcą wraca awaryjnie do starszej
|
||||
własności `providers[]` i `cliBackends[]` najwyższego poziomu, gdy brakuje jawnych metadanych
|
||||
aktywacji dostawcy
|
||||
|
||||
Użyj `setup`, gdy powierzchnie konfiguracji i onboardingu potrzebują prostych metadanych należących do pluginu
|
||||
## Informacje o `setup`
|
||||
|
||||
Używaj `setup`, gdy powierzchnie konfiguracji i onboardingu potrzebują lekkich metadanych należących do Pluginu
|
||||
przed załadowaniem środowiska uruchomieniowego.
|
||||
|
||||
```json
|
||||
@ -276,39 +280,39 @@ przed załadowaniem środowiska uruchomieniowego.
|
||||
}
|
||||
```
|
||||
|
||||
Pole najwyższego poziomu `cliBackends` pozostaje prawidłowe i nadal opisuje backendy inferencji CLI.
|
||||
`setup.cliBackends` to powierzchnia deskryptorów specyficzna dla konfiguracji dla
|
||||
przepływów płaszczyzny sterowania/konfiguracji, które powinny pozostać wyłącznie metadanymi.
|
||||
`cliBackends` najwyższego poziomu pozostaje prawidłowe i nadal opisuje backendy
|
||||
inferencji CLI. `setup.cliBackends` to powierzchnia deskryptorów specyficzna dla konfiguracji
|
||||
dla przepływów płaszczyzny sterowania/konfiguracji, które powinny pozostać wyłącznie metadanymi.
|
||||
|
||||
Gdy są obecne, `setup.providers` i `setup.cliBackends` są preferowaną
|
||||
powierzchnią wyszukiwania opartą najpierw na deskryptorach dla wykrywania konfiguracji. Jeśli deskryptor
|
||||
jedynie zawęża kandydujący plugin, a konfiguracja nadal potrzebuje bogatszych hooków czasu konfiguracji,
|
||||
Jeśli są obecne, `setup.providers` i `setup.cliBackends` są preferowaną
|
||||
powierzchnią wyszukiwania najpierw po deskryptorach dla wykrywania konfiguracji. Jeśli deskryptor tylko
|
||||
zawęża kandydujący Plugin, a konfiguracja nadal potrzebuje bogatszych hooków środowiska uruchomieniowego w czasie konfiguracji,
|
||||
ustaw `requiresRuntime: true` i pozostaw `setup-api` jako
|
||||
awaryjną ścieżkę wykonania.
|
||||
|
||||
Ponieważ wyszukiwanie konfiguracji może wykonywać kod `setup-api` należący do pluginu,
|
||||
Ponieważ wyszukiwanie konfiguracji może wykonywać należący do Pluginu kod `setup-api`,
|
||||
znormalizowane wartości `setup.providers[].id` i `setup.cliBackends[]` muszą pozostać unikalne globalnie
|
||||
wśród wykrytych pluginów. Niejednoznaczna własność kończy się bezpieczną odmową zamiast wybierania
|
||||
zwycięzcy na podstawie kolejności wykrywania.
|
||||
wśród wykrytych Pluginów. Niejednoznaczna własność kończy się bez wyboru zwycięzcy
|
||||
według kolejności wykrycia.
|
||||
|
||||
### Odwołanie do `setup.providers`
|
||||
### Informacje o `setup.providers`
|
||||
|
||||
| Pole | Wymagane | Typ | Co oznacza |
|
||||
| ------------- | -------- | ---------- | --------------------------------------------------------------------------------------- |
|
||||
| `id` | Tak | `string` | Identyfikator dostawcy udostępniany podczas konfiguracji lub onboardingu. Zachowaj globalną unikalność znormalizowanych identyfikatorów. |
|
||||
| `authMethods` | Nie | `string[]` | Identyfikatory metod konfiguracji/uwierzytelniania obsługiwanych przez tego dostawcę bez ładowania pełnego środowiska uruchomieniowego. |
|
||||
| `envVars` | Nie | `string[]` | Zmienne env, które ogólne powierzchnie konfiguracji/statusu mogą sprawdzać przed załadowaniem środowiska uruchomieniowego pluginu. |
|
||||
| Pole | Wymagane | Typ | Co oznacza |
|
||||
| ------------- | -------- | ---------- | -------------------------------------------------------------------------------------------- |
|
||||
| `id` | Tak | `string` | Identyfikator dostawcy udostępniany podczas konfiguracji lub onboardingu. Znormalizowane identyfikatory muszą być globalnie unikalne. |
|
||||
| `authMethods` | Nie | `string[]` | Identyfikatory metod konfiguracji/auth obsługiwanych przez tego dostawcę bez ładowania pełnego środowiska uruchomieniowego. |
|
||||
| `envVars` | Nie | `string[]` | Zmienne env, które ogólne powierzchnie konfiguracji/statusu mogą sprawdzać przed załadowaniem środowiska uruchomieniowego Pluginu. |
|
||||
|
||||
### Pola `setup`
|
||||
|
||||
| Pole | Wymagane | Typ | Co oznacza |
|
||||
| ------------------ | -------- | ---------- | --------------------------------------------------------------------------------------------------- |
|
||||
| `providers` | Nie | `object[]` | Deskryptory konfiguracji dostawców udostępniane podczas konfiguracji i onboardingu. |
|
||||
| `cliBackends` | Nie | `string[]` | Identyfikatory backendów czasu konfiguracji używane do wyszukiwania konfiguracji opartego najpierw na deskryptorach. Zachowaj globalną unikalność znormalizowanych identyfikatorów. |
|
||||
| `configMigrations` | Nie | `string[]` | Identyfikatory migracji konfiguracji należące do powierzchni konfiguracji tego pluginu. |
|
||||
| `requiresRuntime` | Nie | `boolean` | Czy konfiguracja nadal wymaga wykonania `setup-api` po wyszukaniu deskryptora. |
|
||||
| ------------------ | -------- | ---------- | ---------------------------------------------------------------------------------------------------- |
|
||||
| `providers` | Nie | `object[]` | Deskryptory konfiguracji dostawców udostępniane podczas konfiguracji i onboardingu. |
|
||||
| `cliBackends` | Nie | `string[]` | Identyfikatory backendów czasu konfiguracji używane do wyszukiwania konfiguracji najpierw po deskryptorach. Znormalizowane identyfikatory muszą być globalnie unikalne. |
|
||||
| `configMigrations` | Nie | `string[]` | Identyfikatory migracji konfiguracji należące do powierzchni konfiguracji tego Pluginu. |
|
||||
| `requiresRuntime` | Nie | `boolean` | Czy konfiguracja nadal wymaga wykonania `setup-api` po wyszukaniu deskryptora. |
|
||||
|
||||
## Odwołanie do `uiHints`
|
||||
## Informacje o `uiHints`
|
||||
|
||||
`uiHints` to mapa od nazw pól konfiguracji do małych wskazówek renderowania.
|
||||
|
||||
@ -327,19 +331,19 @@ zwycięzcy na podstawie kolejności wykrywania.
|
||||
|
||||
Każda wskazówka pola może zawierać:
|
||||
|
||||
| Pole | Typ | Co oznacza |
|
||||
| ------------- | ---------- | --------------------------------------- |
|
||||
| `label` | `string` | Etykieta pola widoczna dla użytkownika. |
|
||||
| `help` | `string` | Krótki tekst pomocniczy. |
|
||||
| `tags` | `string[]` | Opcjonalne tagi UI. |
|
||||
| `advanced` | `boolean` | Oznacza pole jako zaawansowane. |
|
||||
| `sensitive` | `boolean` | Oznacza pole jako tajne lub wrażliwe. |
|
||||
| `placeholder` | `string` | Tekst placeholdera dla pól formularza. |
|
||||
| Pole | Typ | Co oznacza |
|
||||
| ------------- | ---------- | ---------------------------------------- |
|
||||
| `label` | `string` | Etykieta pola widoczna dla użytkownika. |
|
||||
| `help` | `string` | Krótki tekst pomocniczy. |
|
||||
| `tags` | `string[]` | Opcjonalne tagi UI. |
|
||||
| `advanced` | `boolean` | Oznacza pole jako zaawansowane. |
|
||||
| `sensitive` | `boolean` | Oznacza pole jako sekretne lub wrażliwe. |
|
||||
| `placeholder` | `string` | Tekst placeholdera dla pól formularza. |
|
||||
|
||||
## Odwołanie do `contracts`
|
||||
## Informacje o `contracts`
|
||||
|
||||
Używaj `contracts` tylko dla statycznych metadanych własności możliwości, które OpenClaw może
|
||||
odczytać bez importowania środowiska uruchomieniowego pluginu.
|
||||
Używaj `contracts` wyłącznie dla statycznych metadanych własności capabilities, które OpenClaw może
|
||||
odczytać bez importowania środowiska uruchomieniowego Pluginu.
|
||||
|
||||
```json
|
||||
{
|
||||
@ -359,21 +363,21 @@ odczytać bez importowania środowiska uruchomieniowego pluginu.
|
||||
|
||||
Każda lista jest opcjonalna:
|
||||
|
||||
| Pole | Typ | Co oznacza |
|
||||
| -------------------------------- | ---------- | --------------------------------------------------------------- |
|
||||
| `speechProviders` | `string[]` | Identyfikatory dostawców mowy należących do tego pluginu. |
|
||||
| `realtimeTranscriptionProviders` | `string[]` | Identyfikatory dostawców transkrypcji w czasie rzeczywistym należących do tego pluginu. |
|
||||
| `realtimeVoiceProviders` | `string[]` | Identyfikatory dostawców głosu w czasie rzeczywistym należących do tego pluginu. |
|
||||
| `mediaUnderstandingProviders` | `string[]` | Identyfikatory dostawców rozumienia mediów należących do tego pluginu. |
|
||||
| `imageGenerationProviders` | `string[]` | Identyfikatory dostawców generowania obrazów należących do tego pluginu. |
|
||||
| `videoGenerationProviders` | `string[]` | Identyfikatory dostawców generowania wideo należących do tego pluginu. |
|
||||
| `webFetchProviders` | `string[]` | Identyfikatory dostawców pobierania z sieci należących do tego pluginu. |
|
||||
| `webSearchProviders` | `string[]` | Identyfikatory dostawców wyszukiwania w sieci należących do tego pluginu. |
|
||||
| `tools` | `string[]` | Nazwy narzędzi agenta należących do tego pluginu na potrzeby kontroli kontraktów pakietowych. |
|
||||
| Pole | Typ | Co oznacza |
|
||||
| -------------------------------- | ---------- | ------------------------------------------------------------ |
|
||||
| `speechProviders` | `string[]` | Identyfikatory dostawców speech należących do tego Pluginu. |
|
||||
| `realtimeTranscriptionProviders` | `string[]` | Identyfikatory dostawców realtime transcription należących do tego Pluginu. |
|
||||
| `realtimeVoiceProviders` | `string[]` | Identyfikatory dostawców realtime voice należących do tego Pluginu. |
|
||||
| `mediaUnderstandingProviders` | `string[]` | Identyfikatory dostawców media-understanding należących do tego Pluginu. |
|
||||
| `imageGenerationProviders` | `string[]` | Identyfikatory dostawców image-generation należących do tego Pluginu. |
|
||||
| `videoGenerationProviders` | `string[]` | Identyfikatory dostawców video-generation należących do tego Pluginu. |
|
||||
| `webFetchProviders` | `string[]` | Identyfikatory dostawców web-fetch należących do tego Pluginu. |
|
||||
| `webSearchProviders` | `string[]` | Identyfikatory dostawców web search należących do tego Pluginu. |
|
||||
| `tools` | `string[]` | Nazwy narzędzi agenta należących do tego Pluginu dla bundlowych kontroli kontraktów. |
|
||||
|
||||
## Odwołanie do `channelConfigs`
|
||||
## Informacje o `channelConfigs`
|
||||
|
||||
Użyj `channelConfigs`, gdy plugin kanału potrzebuje prostych metadanych konfiguracji przed
|
||||
Używaj `channelConfigs`, gdy Plugin kanału potrzebuje lekkich metadanych konfiguracji przed
|
||||
załadowaniem środowiska uruchomieniowego.
|
||||
|
||||
```json
|
||||
@ -389,12 +393,12 @@ załadowaniem środowiska uruchomieniowego.
|
||||
},
|
||||
"uiHints": {
|
||||
"homeserverUrl": {
|
||||
"label": "URL homeserwera",
|
||||
"label": "URL Homeservera",
|
||||
"placeholder": "https://matrix.example.com"
|
||||
}
|
||||
},
|
||||
"label": "Matrix",
|
||||
"description": "Połączenie z homeserwerem Matrix",
|
||||
"description": "Połączenie z homeserverem Matrix",
|
||||
"preferOver": ["matrix-legacy"]
|
||||
}
|
||||
}
|
||||
@ -403,19 +407,18 @@ załadowaniem środowiska uruchomieniowego.
|
||||
|
||||
Każdy wpis kanału może zawierać:
|
||||
|
||||
| Pole | Typ | Co oznacza |
|
||||
| ------------- | ------------------------ | ------------------------------------------------------------------------------------------ |
|
||||
| Pole | Typ | Co oznacza |
|
||||
| ------------- | ------------------------ | -------------------------------------------------------------------------------------------- |
|
||||
| `schema` | `object` | Schemat JSON dla `channels.<id>`. Wymagany dla każdego zadeklarowanego wpisu konfiguracji kanału. |
|
||||
| `uiHints` | `Record<string, object>` | Opcjonalne etykiety UI/placeholdery/wskazówki dotyczące wrażliwości dla tej sekcji konfiguracji kanału. |
|
||||
| `label` | `string` | Etykieta kanału scalana z powierzchniami selektora i inspekcji, gdy metadane środowiska uruchomieniowego nie są gotowe. |
|
||||
| `description` | `string` | Krótki opis kanału dla powierzchni inspekcji i katalogu. |
|
||||
| `preferOver` | `string[]` | Starsze lub niżej priorytetowe identyfikatory pluginów, które ten kanał powinien wyprzedzać na powierzchniach wyboru. |
|
||||
| `label` | `string` | Etykieta kanału scalana z powierzchniami wyboru i inspekcji, gdy metadane środowiska uruchomieniowego nie są jeszcze gotowe. |
|
||||
| `description` | `string` | Krótki opis kanału dla powierzchni inspekcji i katalogu. |
|
||||
| `preferOver` | `string[]` | Starsze lub mniej priorytetowe identyfikatory Pluginów, które ten kanał powinien wyprzedzać na powierzchniach wyboru. |
|
||||
|
||||
## Odwołanie do `modelSupport`
|
||||
## Informacje o `modelSupport`
|
||||
|
||||
Użyj `modelSupport`, gdy OpenClaw ma wnioskować o pluginie dostawcy na podstawie
|
||||
skrótowych identyfikatorów modeli, takich jak `gpt-5.4` lub `claude-sonnet-4.6`, zanim środowisko uruchomieniowe pluginu
|
||||
zostanie załadowane.
|
||||
Używaj `modelSupport`, gdy OpenClaw powinien wywnioskować Plugin dostawcy na podstawie
|
||||
skróconych identyfikatorów modeli, takich jak `gpt-5.4` albo `claude-sonnet-4.6`, zanim załaduje się środowisko uruchomieniowe Pluginu.
|
||||
|
||||
```json
|
||||
{
|
||||
@ -428,72 +431,73 @@ zostanie załadowane.
|
||||
|
||||
OpenClaw stosuje następujący priorytet:
|
||||
|
||||
- jawne odwołania `provider/model` używają metadanych manifestu `providers` właściciela
|
||||
- `modelPatterns` mają pierwszeństwo przed `modelPrefixes`
|
||||
- jeśli jeden plugin zewnętrzny i jeden plugin pakietowy pasują jednocześnie, wygrywa plugin zewnętrzny
|
||||
- pozostała niejednoznaczność jest ignorowana, dopóki użytkownik lub konfiguracja nie określi dostawcy
|
||||
- jawne odwołania `provider/model` używają należących do właściciela metadanych manifestu `providers`
|
||||
- `modelPatterns` mają wyższy priorytet niż `modelPrefixes`
|
||||
- jeśli pasuje jeden Plugin zewnętrzny i jeden Plugin bundlowy, wygrywa Plugin zewnętrzny
|
||||
- pozostała niejednoznaczność jest ignorowana, dopóki użytkownik lub konfiguracja nie wskaże dostawcy
|
||||
|
||||
Pola:
|
||||
|
||||
| Pole | Typ | Co oznacza |
|
||||
| --------------- | ---------- | ----------------------------------------------------------------------------- |
|
||||
| `modelPrefixes` | `string[]` | Prefiksy dopasowywane za pomocą `startsWith` do skrótowych identyfikatorów modeli. |
|
||||
| `modelPatterns` | `string[]` | Źródła regex dopasowywane do skrótowych identyfikatorów modeli po usunięciu sufiksu profilu. |
|
||||
| Pole | Typ | Co oznacza |
|
||||
| --------------- | ---------- | ------------------------------------------------------------------------------ |
|
||||
| `modelPrefixes` | `string[]` | Prefiksy dopasowywane przez `startsWith` do skróconych identyfikatorów modeli. |
|
||||
| `modelPatterns` | `string[]` | Źródła regex dopasowywane do skróconych identyfikatorów modeli po usunięciu sufiksu profilu. |
|
||||
|
||||
Starsze klucze możliwości najwyższego poziomu są przestarzałe. Użyj `openclaw doctor --fix`, aby
|
||||
Starsze klucze capabilities najwyższego poziomu są przestarzałe. Użyj `openclaw doctor --fix`, aby
|
||||
przenieść `speechProviders`, `realtimeTranscriptionProviders`,
|
||||
`realtimeVoiceProviders`, `mediaUnderstandingProviders`,
|
||||
`imageGenerationProviders`, `videoGenerationProviders`,
|
||||
`webFetchProviders` i `webSearchProviders` do `contracts`; zwykłe
|
||||
ładowanie manifestu nie traktuje już tych pól najwyższego poziomu jako
|
||||
własności możliwości.
|
||||
własności capabilities.
|
||||
|
||||
## Manifest a package.json
|
||||
## Manifest a `package.json`
|
||||
|
||||
Te dwa pliki pełnią różne role:
|
||||
Te dwa pliki służą do różnych zadań:
|
||||
|
||||
| Plik | Używaj go do |
|
||||
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `openclaw.plugin.json` | Wykrywania, walidacji konfiguracji, metadanych wyboru uwierzytelniania i wskazówek UI, które muszą istnieć przed uruchomieniem kodu pluginu |
|
||||
| `package.json` | Metadanych npm, instalacji zależności oraz bloku `openclaw` używanego do punktów wejścia, kontroli instalacji, konfiguracji lub metadanych katalogu |
|
||||
| Plik | Używaj go do |
|
||||
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `openclaw.plugin.json` | Wykrywania, walidacji konfiguracji, metadanych wyboru auth i wskazówek UI, które muszą istnieć przed uruchomieniem kodu Pluginu |
|
||||
| `package.json` | Metadanych npm, instalacji zależności oraz bloku `openclaw` używanego do entrypointów, bramek instalacji, konfiguracji lub metadanych katalogu |
|
||||
|
||||
Jeśli nie masz pewności, gdzie powinien znaleźć się dany fragment metadanych, użyj tej zasady:
|
||||
Jeśli nie masz pewności, gdzie powinien trafić dany fragment metadanych, stosuj tę zasadę:
|
||||
|
||||
- jeśli OpenClaw musi o tym wiedzieć przed załadowaniem kodu pluginu, umieść to w `openclaw.plugin.json`
|
||||
- jeśli dotyczy to pakowania, plików wejściowych lub zachowania instalacji npm, umieść to w `package.json`
|
||||
- jeśli OpenClaw musi znać go przed załadowaniem kodu Pluginu, umieść go w `openclaw.plugin.json`
|
||||
- jeśli dotyczy pakowania, plików wejściowych albo zachowania instalacji npm, umieść go w `package.json`
|
||||
|
||||
### Pola `package.json`, które wpływają na wykrywanie
|
||||
|
||||
Niektóre metadane pluginów sprzed uruchomienia celowo znajdują się w `package.json` w bloku
|
||||
Niektóre metadane Pluginów przed uruchomieniem celowo znajdują się w `package.json` w bloku
|
||||
`openclaw`, a nie w `openclaw.plugin.json`.
|
||||
|
||||
Ważne przykłady:
|
||||
|
||||
| Pole | Co oznacza |
|
||||
| Pole | Co oznacza |
|
||||
| ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `openclaw.extensions` | Deklaruje natywne punkty wejścia Plugin. |
|
||||
| `openclaw.setupEntry` | Lekki punkt wejścia tylko do konfiguracji używany podczas onboardingu i odroczonego uruchamiania kanału. |
|
||||
| `openclaw.channel` | Lekkie metadane katalogu kanałów, takie jak etykiety, ścieżki dokumentacji, aliasy i teksty wyboru. |
|
||||
| `openclaw.channel.configuredState` | Lekkie metadane modułu sprawdzania stanu konfiguracji, które mogą odpowiedzieć na pytanie „czy konfiguracja oparta wyłącznie na env już istnieje?” bez ładowania pełnego środowiska uruchomieniowego kanału. |
|
||||
| `openclaw.channel.persistedAuthState` | Lekkie metadane modułu sprawdzania utrwalonego stanu uwierzytelniania, które mogą odpowiedzieć na pytanie „czy cokolwiek jest już zalogowane?” bez ładowania pełnego środowiska uruchomieniowego kanału. |
|
||||
| `openclaw.install.npmSpec` / `openclaw.install.localPath` | Wskazówki instalacji/aktualizacji dla pluginów pakietowych i publikowanych zewnętrznie. |
|
||||
| `openclaw.install.defaultChoice` | Preferowana ścieżka instalacji, gdy dostępnych jest wiele źródeł instalacji. |
|
||||
| `openclaw.install.minHostVersion` | Minimalna obsługiwana wersja hosta OpenClaw z użyciem dolnego ograniczenia semver, na przykład `>=2026.3.22`. |
|
||||
| `openclaw.install.allowInvalidConfigRecovery` | Umożliwia wąską ścieżkę odzyskiwania przez ponowną instalację pluginu pakietowego, gdy konfiguracja jest nieprawidłowa. |
|
||||
| `openclaw.startup.deferConfiguredChannelFullLoadUntilAfterListen` | Pozwala powierzchniom kanału tylko do konfiguracji ładować się przed pełnym pluginem kanału podczas uruchamiania. |
|
||||
| `openclaw.extensions` | Deklaruje natywne entrypointy Pluginów. |
|
||||
| `openclaw.setupEntry` | Lekki entrypoint tylko do konfiguracji, używany podczas onboardingu i odroczonego uruchamiania kanału. |
|
||||
| `openclaw.channel` | Lekkie metadane katalogu kanałów, takie jak etykiety, ścieżki do dokumentacji, aliasy i tekst wyboru. |
|
||||
| `openclaw.channel.configuredState` | Lekkie metadane sprawdzania stanu konfiguracji, które mogą odpowiedzieć na pytanie „czy konfiguracja oparta wyłącznie na env już istnieje?” bez ładowania pełnego środowiska uruchomieniowego kanału. |
|
||||
| `openclaw.channel.persistedAuthState` | Lekkie metadane sprawdzania trwałego stanu auth, które mogą odpowiedzieć na pytanie „czy cokolwiek jest już zalogowane?” bez ładowania pełnego środowiska uruchomieniowego kanału. |
|
||||
| `openclaw.install.npmSpec` / `openclaw.install.localPath` | Wskazówki instalacji/aktualizacji dla Pluginów bundlowych i publikowanych zewnętrznie. |
|
||||
| `openclaw.install.defaultChoice` | Preferowana ścieżka instalacji, gdy dostępnych jest wiele źródeł instalacji. |
|
||||
| `openclaw.install.minHostVersion` | Minimalna obsługiwana wersja hosta OpenClaw, z użyciem dolnego ograniczenia semver, takiego jak `>=2026.3.22`. |
|
||||
| `openclaw.install.allowInvalidConfigRecovery` | Umożliwia wąską ścieżkę odzyskiwania po ponownej instalacji bundlowego Pluginu, gdy konfiguracja jest nieprawidłowa. |
|
||||
| `openclaw.startup.deferConfiguredChannelFullLoadUntilAfterListen` | Pozwala powierzchniom kanałów tylko do konfiguracji załadować się przed pełnym Pluginem kanału podczas uruchamiania. |
|
||||
|
||||
`openclaw.install.minHostVersion` jest egzekwowane podczas instalacji i
|
||||
`openclaw.install.minHostVersion` jest wymuszane podczas instalacji i
|
||||
ładowania rejestru manifestów. Nieprawidłowe wartości są odrzucane; nowsze, ale poprawne wartości powodują pominięcie
|
||||
pluginu na starszych hostach.
|
||||
Pluginu na starszych hostach.
|
||||
|
||||
`openclaw.install.allowInvalidConfigRecovery` jest celowo wąskie. Nie
|
||||
sprawia, że dowolne uszkodzone konfiguracje stają się możliwe do zainstalowania. Obecnie pozwala tylko przepływom instalacji
|
||||
odzyskiwać po konkretnych nieaktualnych awariach aktualizacji pluginów pakietowych, takich jak
|
||||
brakująca ścieżka pluginu pakietowego lub nieaktualny wpis `channels.<id>` dla tego samego
|
||||
pluginu pakietowego. Niezwiązane błędy konfiguracji nadal blokują instalację i kierują operatorów
|
||||
sprawia, że dowolnie uszkodzone konfiguracje stają się możliwe do zainstalowania. Obecnie pozwala tylko
|
||||
przepływom instalacji odzyskać sprawność po określonych niepowodzeniach aktualizacji bundlowych Pluginów, takich jak
|
||||
brak ścieżki bundlowego Pluginu albo nieaktualny wpis `channels.<id>` dla tego samego
|
||||
bundlowego Pluginu. Niezwiązane błędy konfiguracji nadal blokują instalację i kierują operatorów
|
||||
do `openclaw doctor --fix`.
|
||||
|
||||
`openclaw.channel.persistedAuthState` to metadane pakietu dla małego modułu sprawdzającego:
|
||||
`openclaw.channel.persistedAuthState` to metadane pakietu dla małego modułu
|
||||
sprawdzającego:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -509,12 +513,12 @@ do `openclaw doctor --fix`.
|
||||
}
|
||||
```
|
||||
|
||||
Użyj tego, gdy przepływy konfiguracji, doctor lub stanu konfiguracji potrzebują prostego sprawdzenia
|
||||
uwierzytelniania typu tak/nie przed załadowaniem pełnego pluginu kanału. Docelowy eksport powinien być małą
|
||||
funkcją, która odczytuje tylko utrwalony stan; nie prowadź go przez pełną beczkę środowiska uruchomieniowego kanału.
|
||||
Używaj tego, gdy przepływy konfiguracji, doctor albo configured-state potrzebują prostego
|
||||
sprawdzenia auth typu tak/nie, zanim załaduje się pełny Plugin kanału. Docelowy eksport powinien być małą
|
||||
funkcją, która odczytuje wyłącznie stan trwały; nie kieruj tego przez pełny barrel środowiska uruchomieniowego kanału.
|
||||
|
||||
`openclaw.channel.configuredState` ma ten sam kształt dla prostych kontroli
|
||||
stanu konfiguracji opartych wyłącznie na env:
|
||||
`openclaw.channel.configuredState` ma taki sam kształt dla lekkich sprawdzeń
|
||||
konfiguracji opartych wyłącznie na env:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -530,64 +534,63 @@ stanu konfiguracji opartych wyłącznie na env:
|
||||
}
|
||||
```
|
||||
|
||||
Użyj tego, gdy kanał może odpowiedzieć o stanie konfiguracji na podstawie env lub innych małych
|
||||
wejść niebędących częścią środowiska uruchomieniowego. Jeśli sprawdzenie wymaga pełnego rozstrzygania konfiguracji lub rzeczywistego
|
||||
środowiska uruchomieniowego kanału, pozostaw tę logikę w hooku pluginu `config.hasConfiguredState`.
|
||||
Używaj tego, gdy kanał może odpowiedzieć o stanie konfiguracji na podstawie env lub innych małych
|
||||
wejść niezwiązanych ze środowiskiem uruchomieniowym. Jeśli sprawdzenie wymaga pełnego rozstrzygnięcia konfiguracji albo rzeczywistego
|
||||
środowiska uruchomieniowego kanału, pozostaw tę logikę w hooku Pluginu `config.hasConfiguredState`.
|
||||
|
||||
## Wymagania schematu JSON
|
||||
|
||||
- **Każdy plugin musi dostarczać schemat JSON**, nawet jeśli nie przyjmuje żadnej konfiguracji.
|
||||
- **Każdy Plugin musi dostarczać schemat JSON**, nawet jeśli nie przyjmuje żadnej konfiguracji.
|
||||
- Pusty schemat jest akceptowalny (na przykład `{ "type": "object", "additionalProperties": false }`).
|
||||
- Schematy są walidowane podczas odczytu/zapisu konfiguracji, a nie w czasie działania.
|
||||
|
||||
## Zachowanie walidacji
|
||||
|
||||
- Nieznane klucze `channels.*` są **błędami**, chyba że identyfikator kanału jest zadeklarowany przez
|
||||
manifest pluginu.
|
||||
manifest Pluginu.
|
||||
- `plugins.entries.<id>`, `plugins.allow`, `plugins.deny` i `plugins.slots.*`
|
||||
muszą odwoływać się do **wykrywalnych** identyfikatorów pluginów. Nieznane identyfikatory są **błędami**.
|
||||
- Jeśli plugin jest zainstalowany, ale ma uszkodzony lub brakujący manifest albo schemat,
|
||||
walidacja kończy się niepowodzeniem, a Doctor zgłasza błąd pluginu.
|
||||
- Jeśli konfiguracja pluginu istnieje, ale plugin jest **wyłączony**, konfiguracja jest zachowywana i
|
||||
pojawia się **ostrzeżenie** w Doctor + logach.
|
||||
muszą odwoływać się do **wykrywalnych** identyfikatorów Pluginów. Nieznane identyfikatory są **błędami**.
|
||||
- Jeśli Plugin jest zainstalowany, ale ma uszkodzony lub brakujący manifest albo schemat,
|
||||
walidacja kończy się niepowodzeniem, a Doctor zgłasza błąd Pluginu.
|
||||
- Jeśli konfiguracja Pluginu istnieje, ale Plugin jest **wyłączony**, konfiguracja jest zachowywana i
|
||||
w Doctor + logach wyświetlane jest **ostrzeżenie**.
|
||||
|
||||
Pełny schemat `plugins.*` znajdziesz w [Odwołaniu do konfiguracji](/pl/gateway/configuration).
|
||||
Pełny schemat `plugins.*` znajdziesz tutaj: [Informacje o konfiguracji](/pl/gateway/configuration).
|
||||
|
||||
## Uwagi
|
||||
|
||||
- Manifest jest **wymagany dla natywnych Plugin OpenClaw**, w tym dla ładowań z lokalnego systemu plików.
|
||||
- Środowisko uruchomieniowe nadal ładuje moduł pluginu osobno; manifest służy tylko do
|
||||
- Manifest jest **wymagany dla natywnych Pluginów OpenClaw**, w tym dla ładowania z lokalnego systemu plików.
|
||||
- Środowisko uruchomieniowe nadal ładuje moduł Pluginu osobno; manifest służy tylko do
|
||||
wykrywania + walidacji.
|
||||
- Natywne manifesty są parsowane przy użyciu JSON5, więc komentarze, końcowe przecinki i
|
||||
klucze bez cudzysłowów są akceptowane, o ile końcowa wartość nadal jest obiektem.
|
||||
- Ładowarka manifestu odczytuje tylko udokumentowane pola manifestu. Unikaj dodawania
|
||||
tutaj niestandardowych kluczy najwyższego poziomu.
|
||||
- `providerAuthEnvVars` to lekka ścieżka metadanych dla sond uwierzytelniania, walidacji znaczników env
|
||||
i podobnych powierzchni uwierzytelniania dostawcy, które nie powinny uruchamiać środowiska uruchomieniowego pluginu
|
||||
tylko po to, aby sprawdzić nazwy env.
|
||||
- `providerAuthAliases` pozwala wariantom dostawcy ponownie używać zmiennych env uwierzytelniania innego dostawcy,
|
||||
profili uwierzytelniania, uwierzytelniania opartego na konfiguracji oraz wyboru onboardingu klucza API
|
||||
bez kodowania tej relacji na sztywno w rdzeniu.
|
||||
- `channelEnvVars` to lekka ścieżka metadanych dla awaryjnego użycia shell env, promptów konfiguracji
|
||||
i podobnych powierzchni kanału, które nie powinny uruchamiać środowiska uruchomieniowego pluginu
|
||||
tylko po to, aby sprawdzić nazwy env.
|
||||
- `providerAuthChoices` to lekka ścieżka metadanych dla selektorów wyboru uwierzytelniania,
|
||||
klucze bez cudzysłowów są akceptowane, o ile wartość końcowa nadal jest obiektem.
|
||||
- Loader manifestu odczytuje tylko udokumentowane pola manifestu. Unikaj dodawania
|
||||
tutaj własnych kluczy najwyższego poziomu.
|
||||
- `providerAuthEnvVars` to lekka ścieżka metadanych dla sond auth, walidacji
|
||||
znaczników env i podobnych powierzchni auth dostawców, które nie powinny uruchamiać środowiska uruchomieniowego Pluginu tylko po to, by sprawdzić nazwy env.
|
||||
- `providerAuthAliases` pozwala wariantom dostawców ponownie używać zmiennych env auth,
|
||||
profili auth, auth opartych na konfiguracji oraz wyboru onboardingu klucza API innego dostawcy
|
||||
bez kodowania tej relacji na sztywno w core.
|
||||
- `channelEnvVars` to lekka ścieżka metadanych dla fallbacku shell-env, promptów konfiguracji
|
||||
i podobnych powierzchni kanałów, które nie powinny uruchamiać środowiska uruchomieniowego Pluginu
|
||||
tylko po to, by sprawdzić nazwy env.
|
||||
- `providerAuthChoices` to lekka ścieżka metadanych dla selektorów wyboru auth,
|
||||
rozstrzygania `--auth-choice`, mapowania preferowanego dostawcy i prostej rejestracji flag CLI
|
||||
dla onboardingu przed załadowaniem środowiska uruchomieniowego dostawcy. W przypadku metadanych kreatora środowiska uruchomieniowego,
|
||||
onboardingu przed załadowaniem środowiska uruchomieniowego dostawcy. W przypadku metadanych kreatora środowiska uruchomieniowego,
|
||||
które wymagają kodu dostawcy, zobacz
|
||||
[Hooki środowiska uruchomieniowego dostawcy](/pl/plugins/architecture#provider-runtime-hooks).
|
||||
- Wyłączne rodzaje pluginów są wybierane przez `plugins.slots.*`.
|
||||
- Wyłączne rodzaje Pluginów są wybierane przez `plugins.slots.*`.
|
||||
- `kind: "memory"` jest wybierany przez `plugins.slots.memory`.
|
||||
- `kind: "context-engine"` jest wybierany przez `plugins.slots.contextEngine`
|
||||
(domyślnie: wbudowany `legacy`).
|
||||
- `channels`, `providers`, `cliBackends` i `skills` można pominąć, gdy
|
||||
plugin ich nie potrzebuje.
|
||||
- Jeśli twój plugin zależy od modułów natywnych, udokumentuj kroki budowania oraz wszelkie
|
||||
wymagania listy dozwolonych elementów menedżera pakietów (na przykład pnpm `allow-build-scripts`
|
||||
- `channels`, `providers`, `cliBackends` i `skills` można pominąć, jeśli
|
||||
Plugin ich nie potrzebuje.
|
||||
- Jeśli Twój Plugin zależy od modułów natywnych, udokumentuj kroki budowania oraz wszelkie
|
||||
wymagania dotyczące allowlist menedżera pakietów (na przykład pnpm `allow-build-scripts`
|
||||
- `pnpm rebuild <package>`).
|
||||
|
||||
## Powiązane
|
||||
|
||||
- [Tworzenie Plugin](/pl/plugins/building-plugins) — wprowadzenie do pluginów
|
||||
- [Architektura Plugin](/pl/plugins/architecture) — architektura wewnętrzna
|
||||
- [Przegląd SDK](/pl/plugins/sdk-overview) — dokumentacja SDK Plugin
|
||||
- [Tworzenie Pluginów](/pl/plugins/building-plugins) — pierwsze kroki z Pluginami
|
||||
- [Architektura Pluginów](/pl/plugins/architecture) — architektura wewnętrzna
|
||||
- [Przegląd SDK](/pl/plugins/sdk-overview) — dokumentacja Plugin SDK
|
||||
|
||||
@ -1,58 +1,78 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz mieć trwałą wiedzę wykraczającą poza zwykłe notatki MEMORY.md
|
||||
- Konfigurujesz dołączoną wtyczkę memory-wiki
|
||||
- Chcesz zrozumieć wiki_search, wiki_get lub tryb mostu
|
||||
summary: 'memory-wiki: skompilowany sejf wiedzy z pochodzeniem, twierdzeniami, pulpitami i trybem mostu'
|
||||
title: Wiki pamięci
|
||||
- Chcesz trwałej wiedzy wykraczającej poza zwykłe notatki w `MEMORY.md`
|
||||
- Konfigurujesz dołączony Plugin memory-wiki
|
||||
- Chcesz zrozumieć `wiki_search`, `wiki_get` lub tryb bridge
|
||||
summary: 'memory-wiki: skompilowany sejf wiedzy z proweniencją, twierdzeniami, dashboardami i trybem bridge'
|
||||
title: Memory Wiki
|
||||
x-i18n:
|
||||
generated_at: "2026-04-08T06:01:15Z"
|
||||
generated_at: "2026-04-12T23:28:47Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: b78dd6a4ef4451dae6b53197bf0c7c2a2ba846b08e4a3a93c1026366b1598d82
|
||||
source_hash: 44d168a7096f744c56566ecac57499192eb101b4dd8a78e1b92f3aa0d6da3ad1
|
||||
source_path: plugins/memory-wiki.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Wiki pamięci
|
||||
# Memory Wiki
|
||||
|
||||
`memory-wiki` to dołączona wtyczka, która zamienia trwałą pamięć w skompilowany
|
||||
`memory-wiki` to dołączony Plugin, który przekształca trwałą pamięć w skompilowany
|
||||
sejf wiedzy.
|
||||
|
||||
**Nie** zastępuje aktywnej wtyczki pamięci. Aktywna wtyczka pamięci nadal
|
||||
odpowiada za przywoływanie, promowanie, indeksowanie i śnienie. `memory-wiki`
|
||||
działa obok niej i kompiluje trwałą wiedzę do postaci nawigowalnej wiki z
|
||||
deterministycznymi stronami, uporządkowanymi twierdzeniami, pochodzeniem,
|
||||
pulpitami i odczytywalnymi maszynowo skrótami.
|
||||
Nie zastępuje on Pluginu Active Memory. Plugin Active Memory nadal
|
||||
odpowiada za recall, promotion, indexing i Dreaming. `memory-wiki` działa obok niego
|
||||
i kompiluje trwałą wiedzę do postaci nawigowalnego wiki z deterministycznymi stronami,
|
||||
ustrukturyzowanymi twierdzeniami, proweniencją, dashboardami i odczytywalnymi maszynowo digestami.
|
||||
|
||||
Używaj jej, gdy chcesz, aby pamięć działała bardziej jak utrzymywana warstwa
|
||||
wiedzy, a mniej jak stos plików Markdown.
|
||||
Używaj go, gdy chcesz, aby pamięć zachowywała się bardziej jak utrzymywana warstwa wiedzy,
|
||||
a mniej jak stos plików Markdown.
|
||||
|
||||
## Co dodaje
|
||||
|
||||
- Dedykowany sejf wiki z deterministycznym układem stron
|
||||
- Uporządkowane metadane twierdzeń i dowodów, a nie tylko tekst opisowy
|
||||
- Pochodzenie, pewność, sprzeczności i otwarte pytania na poziomie strony
|
||||
- Skompilowane skróty dla agentów i komponentów środowiska uruchomieniowego
|
||||
- Ustrukturyzowane metadane twierdzeń i dowodów, a nie tylko proza
|
||||
- Proweniencję, poziom pewności, sprzeczności i otwarte pytania na poziomie strony
|
||||
- Skompilowane digests dla agentów i konsumentów runtime
|
||||
- Natywne dla wiki narzędzia search/get/apply/lint
|
||||
- Opcjonalny tryb mostu, który importuje publiczne artefakty z aktywnej wtyczki pamięci
|
||||
- Opcjonalny tryb bridge, który importuje publiczne artefakty z Pluginu Active Memory
|
||||
- Opcjonalny tryb renderowania przyjazny dla Obsidian oraz integrację z CLI
|
||||
|
||||
## Jak współgra z pamięcią
|
||||
## Jak to pasuje do pamięci
|
||||
|
||||
Możesz myśleć o tym podziale w ten sposób:
|
||||
Pomyśl o tym podziale w ten sposób:
|
||||
|
||||
| Warstwa | Odpowiada za |
|
||||
| ------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| Aktywna wtyczka pamięci (`memory-core`, QMD, Honcho itd.) | Przywoływanie, wyszukiwanie semantyczne, promowanie, śnienie, środowisko pamięci |
|
||||
| `memory-wiki` | Skompilowane strony wiki, syntezy bogate w pochodzenie, pulpity, wyszukiwanie/get/apply specyficzne dla wiki |
|
||||
| Plugin Active Memory (`memory-core`, QMD, Honcho itp.) | Recall, wyszukiwanie semantyczne, promotion, Dreaming, runtime pamięci |
|
||||
| `memory-wiki` | Skompilowane strony wiki, syntezy bogate w proweniencję, dashboardy, specyficzne dla wiki search/get/apply |
|
||||
|
||||
Jeśli aktywna wtyczka pamięci udostępnia współdzielone artefakty przywoływania,
|
||||
OpenClaw może przeszukiwać obie warstwy w jednym przebiegu za pomocą
|
||||
`memory_search corpus=all`.
|
||||
Jeśli Plugin Active Memory udostępnia współdzielone artefakty recall, OpenClaw może przeszukiwać
|
||||
obie warstwy w jednym przebiegu za pomocą `memory_search corpus=all`.
|
||||
|
||||
Gdy potrzebujesz rankingu specyficznego dla wiki, pochodzenia lub
|
||||
bezpośredniego dostępu do strony, użyj zamiast tego natywnych narzędzi wiki.
|
||||
Gdy potrzebujesz rankingu specyficznego dla wiki, proweniencji lub bezpośredniego dostępu do stron,
|
||||
użyj zamiast tego narzędzi natywnych dla wiki.
|
||||
|
||||
## Zalecany wzorzec hybrydowy
|
||||
|
||||
Mocną domyślną konfiguracją dla lokalnych środowisk jest:
|
||||
|
||||
- QMD jako backend Active Memory dla recall i szerokiego wyszukiwania semantycznego
|
||||
- `memory-wiki` w trybie `bridge` dla trwałych stron wiedzy syntetyzowanej
|
||||
|
||||
Ten podział działa dobrze, ponieważ każda warstwa pozostaje skoncentrowana na swoim zadaniu:
|
||||
|
||||
- QMD utrzymuje możliwość przeszukiwania surowych notatek, eksportów sesji i dodatkowych kolekcji
|
||||
- `memory-wiki` kompiluje stabilne encje, twierdzenia, dashboardy i strony źródłowe
|
||||
|
||||
Praktyczna zasada:
|
||||
|
||||
- użyj `memory_search`, gdy chcesz wykonać jeden szeroki przebieg recall przez pamięć
|
||||
- użyj `wiki_search` i `wiki_get`, gdy chcesz wyników wiki uwzględniających proweniencję
|
||||
- użyj `memory_search corpus=all`, gdy chcesz, aby współdzielone wyszukiwanie obejmowało obie warstwy
|
||||
|
||||
Jeśli tryb bridge zgłasza zero wyeksportowanych artefaktów, Plugin Active Memory
|
||||
obecnie jeszcze nie udostępnia publicznych danych wejściowych bridge. Najpierw uruchom `openclaw wiki doctor`,
|
||||
a następnie potwierdź, że Plugin Active Memory obsługuje publiczne artefakty.
|
||||
|
||||
## Tryby sejfu
|
||||
|
||||
@ -62,37 +82,35 @@ bezpośredniego dostępu do strony, użyj zamiast tego natywnych narzędzi wiki.
|
||||
|
||||
Własny sejf, własne źródła, bez zależności od `memory-core`.
|
||||
|
||||
Użyj tego trybu, jeśli chcesz, aby wiki była własnym, starannie utrzymywanym
|
||||
magazynem wiedzy.
|
||||
Użyj tego, gdy chcesz, aby wiki było własnym kuratorowanym magazynem wiedzy.
|
||||
|
||||
### `bridge`
|
||||
|
||||
Odczytuje publiczne artefakty pamięci i zdarzenia pamięci z aktywnej wtyczki
|
||||
pamięci za pośrednictwem publicznych punktów integracji plugin SDK.
|
||||
Odczytuje publiczne artefakty pamięci i zdarzenia pamięci z Pluginu Active Memory
|
||||
przez publiczne seamy Plugin SDK.
|
||||
|
||||
Użyj tego trybu, jeśli chcesz, aby wiki kompilowała i porządkowała
|
||||
wyeksportowane artefakty wtyczki pamięci bez sięgania do prywatnych elementów
|
||||
wewnętrznych wtyczki.
|
||||
Użyj tego, gdy chcesz, aby wiki kompilowało i porządkowało wyeksportowane artefakty
|
||||
Pluginu pamięci bez sięgania do prywatnych wnętrzności Pluginu.
|
||||
|
||||
Tryb mostu może indeksować:
|
||||
Tryb bridge może indeksować:
|
||||
|
||||
- wyeksportowane artefakty pamięci
|
||||
- raporty ze snów
|
||||
- raporty Dreaming
|
||||
- notatki dzienne
|
||||
- pliki główne pamięci
|
||||
- dzienniki zdarzeń pamięci
|
||||
- logi zdarzeń pamięci
|
||||
|
||||
### `unsafe-local`
|
||||
|
||||
Jawna furtka ucieczki dla lokalnych prywatnych ścieżek na tej samej maszynie.
|
||||
Jawna furtka awaryjna dla lokalnych prywatnych ścieżek na tym samym komputerze.
|
||||
|
||||
Ten tryb jest celowo eksperymentalny i nieprzenośny. Używaj go tylko wtedy, gdy
|
||||
rozumiesz granicę zaufania i konkretnie potrzebujesz lokalnego dostępu do
|
||||
systemu plików, którego tryb mostu nie może zapewnić.
|
||||
rozumiesz granicę zaufania i konkretnie potrzebujesz lokalnego dostępu do systemu plików,
|
||||
którego tryb bridge nie może zapewnić.
|
||||
|
||||
## Układ sejfu
|
||||
|
||||
Wtyczka inicjalizuje sejf w ten sposób:
|
||||
Plugin inicjalizuje sejf w taki sposób:
|
||||
|
||||
```text
|
||||
<vault>/
|
||||
@ -110,21 +128,19 @@ Wtyczka inicjalizuje sejf w ten sposób:
|
||||
.openclaw-wiki/
|
||||
```
|
||||
|
||||
Zarządzana zawartość pozostaje wewnątrz wygenerowanych bloków. Bloki notatek
|
||||
tworzonych przez ludzi są zachowywane.
|
||||
Zarządzana zawartość pozostaje wewnątrz wygenerowanych bloków. Bloki notatek tworzonych przez ludzi są zachowywane.
|
||||
|
||||
Główne grupy stron to:
|
||||
|
||||
- `sources/` dla zaimportowanego surowego materiału i stron opartych na trybie mostu
|
||||
- `sources/` dla zaimportowanych surowych materiałów i stron wspieranych przez bridge
|
||||
- `entities/` dla trwałych rzeczy, osób, systemów, projektów i obiektów
|
||||
- `concepts/` dla idei, abstrakcji, wzorców i zasad
|
||||
- `concepts/` dla idei, abstrakcji, wzorców i polityk
|
||||
- `syntheses/` dla skompilowanych podsumowań i utrzymywanych zestawień
|
||||
- `reports/` dla wygenerowanych pulpitów
|
||||
- `reports/` dla wygenerowanych dashboardów
|
||||
|
||||
## Uporządkowane twierdzenia i dowody
|
||||
## Ustrukturyzowane twierdzenia i dowody
|
||||
|
||||
Strony mogą zawierać uporządkowane `claims` we frontmatter, a nie tylko
|
||||
swobodny tekst.
|
||||
Strony mogą zawierać ustrukturyzowany frontmatter `claims`, a nie tylko tekst swobodny.
|
||||
|
||||
Każde twierdzenie może zawierać:
|
||||
|
||||
@ -135,7 +151,7 @@ Każde twierdzenie może zawierać:
|
||||
- `evidence[]`
|
||||
- `updatedAt`
|
||||
|
||||
Elementy dowodów mogą zawierać:
|
||||
Wpisy dowodowe mogą zawierać:
|
||||
|
||||
- `sourceId`
|
||||
- `path`
|
||||
@ -145,31 +161,29 @@ Elementy dowodów mogą zawierać:
|
||||
- `updatedAt`
|
||||
|
||||
To właśnie sprawia, że wiki działa bardziej jak warstwa przekonań niż pasywny
|
||||
zrzut notatek. Twierdzenia mogą być śledzone, oceniane, kwestionowane i
|
||||
rozstrzygane z odniesieniem do źródeł.
|
||||
zrzut notatek. Twierdzenia mogą być śledzone, oceniane, kwestionowane i rozstrzygane z powrotem do źródeł.
|
||||
|
||||
## Potok kompilacji
|
||||
## Pipeline kompilacji
|
||||
|
||||
Krok kompilacji odczytuje strony wiki, normalizuje podsumowania i zapisuje
|
||||
stabilne artefakty przeznaczone dla maszyn w:
|
||||
Krok kompilacji odczytuje strony wiki, normalizuje podsumowania i emituje stabilne
|
||||
artefakty skierowane do maszyn w:
|
||||
|
||||
- `.openclaw-wiki/cache/agent-digest.json`
|
||||
- `.openclaw-wiki/cache/claims.jsonl`
|
||||
|
||||
Te skróty istnieją po to, aby agenci i kod środowiska uruchomieniowego nie
|
||||
musieli analizować stron Markdown.
|
||||
Te digests istnieją po to, aby agenci i kod runtime nie musieli analizować stron
|
||||
Markdown.
|
||||
|
||||
Skompilowane dane wyjściowe obsługują także:
|
||||
Skompilowane dane wyjściowe zasilają także:
|
||||
|
||||
- pierwszy etap indeksowania wiki dla przepływów search/get
|
||||
- wyszukiwanie po `claim-id` z powrotem do strony właściciela
|
||||
- indeksowanie wiki pierwszego przebiegu dla przepływów search/get
|
||||
- wyszukiwanie `claim-id` z powrotem do strony właściciela
|
||||
- kompaktowe uzupełnienia promptów
|
||||
- generowanie raportów i pulpitów
|
||||
- generowanie raportów/dashboardów
|
||||
|
||||
## Pulpity i raporty stanu
|
||||
## Dashboardy i raporty zdrowia
|
||||
|
||||
Gdy włączone jest `render.createDashboards`, kompilacja utrzymuje pulpity w
|
||||
`reports/`.
|
||||
Gdy włączone jest `render.createDashboards`, kompilacja utrzymuje dashboardy w `reports/`.
|
||||
|
||||
Wbudowane raporty obejmują:
|
||||
|
||||
@ -183,19 +197,19 @@ Raporty te śledzą takie rzeczy jak:
|
||||
|
||||
- klastry notatek o sprzecznościach
|
||||
- klastry konkurujących twierdzeń
|
||||
- twierdzenia bez uporządkowanych dowodów
|
||||
- strony i twierdzenia o niskiej pewności
|
||||
- twierdzenia bez ustrukturyzowanych dowodów
|
||||
- strony i twierdzenia o niskim poziomie pewności
|
||||
- nieaktualność lub nieznaną świeżość
|
||||
- strony z nierozstrzygniętymi pytaniami
|
||||
- strony z nierozwiązanymi pytaniami
|
||||
|
||||
## Wyszukiwanie i pobieranie
|
||||
## Search i retrieval
|
||||
|
||||
`memory-wiki` obsługuje dwa backendy wyszukiwania:
|
||||
`memory-wiki` obsługuje dwa backendy search:
|
||||
|
||||
- `shared`: używaj współdzielonego przepływu wyszukiwania pamięci, gdy jest dostępny
|
||||
- `shared`: użyj współdzielonego przepływu wyszukiwania pamięci, gdy jest dostępny
|
||||
- `local`: przeszukuj wiki lokalnie
|
||||
|
||||
Obsługuje też trzy korpusy:
|
||||
Obsługuje także trzy corpora:
|
||||
|
||||
- `wiki`
|
||||
- `memory`
|
||||
@ -203,20 +217,20 @@ Obsługuje też trzy korpusy:
|
||||
|
||||
Ważne zachowanie:
|
||||
|
||||
- `wiki_search` i `wiki_get` używają skompilowanych skrótów jako pierwszego etapu, gdy to możliwe
|
||||
- `wiki_search` i `wiki_get` używają skompilowanych digestów jako pierwszego przebiegu, gdy to możliwe
|
||||
- identyfikatory twierdzeń mogą być rozwiązywane z powrotem do strony właściciela
|
||||
- kwestionowane/nieaktualne/świeże twierdzenia wpływają na ranking
|
||||
- etykiety pochodzenia mogą być zachowywane w wynikach
|
||||
- etykiety proweniencji mogą przetrwać do wyników
|
||||
|
||||
Praktyczna zasada:
|
||||
|
||||
- używaj `memory_search corpus=all` do jednego szerokiego przebiegu przywoływania
|
||||
- używaj `wiki_search` + `wiki_get`, gdy zależy Ci na rankingu specyficznym dla wiki,
|
||||
pochodzeniu lub strukturze przekonań na poziomie strony
|
||||
- użyj `memory_search corpus=all` dla jednego szerokiego przebiegu recall
|
||||
- użyj `wiki_search` + `wiki_get`, gdy zależy Ci na rankingu specyficznym dla wiki,
|
||||
proweniencji lub strukturze przekonań na poziomie strony
|
||||
|
||||
## Narzędzia agenta
|
||||
|
||||
Wtyczka rejestruje następujące narzędzia:
|
||||
Plugin rejestruje następujące narzędzia:
|
||||
|
||||
- `wiki_status`
|
||||
- `wiki_search`
|
||||
@ -224,34 +238,32 @@ Wtyczka rejestruje następujące narzędzia:
|
||||
- `wiki_apply`
|
||||
- `wiki_lint`
|
||||
|
||||
Co robią:
|
||||
Ich działanie:
|
||||
|
||||
- `wiki_status`: bieżący tryb sejfu, stan, dostępność Obsidian CLI
|
||||
- `wiki_search`: przeszukiwanie stron wiki oraz, po skonfigurowaniu, współdzielonych korpusów pamięci
|
||||
- `wiki_get`: odczyt strony wiki według id/ścieżki lub przejście awaryjne do współdzielonego korpusu pamięci
|
||||
- `wiki_apply`: wąskie mutacje syntez/metadanych bez swobodnej ingerencji w stronę
|
||||
- `wiki_lint`: kontrole strukturalne, luki w pochodzeniu, sprzeczności, otwarte pytania
|
||||
- `wiki_status`: bieżący tryb sejfu, stan zdrowia, dostępność Obsidian CLI
|
||||
- `wiki_search`: przeszukuje strony wiki i, gdy skonfigurowano, współdzielone corpora pamięci
|
||||
- `wiki_get`: odczytuje stronę wiki według id/ścieżki lub wraca do współdzielonego corpus pamięci
|
||||
- `wiki_apply`: wąskie mutacje syntez/metadanych bez swobodnej edycji strony
|
||||
- `wiki_lint`: kontrole strukturalne, luki proweniencji, sprzeczności, otwarte pytania
|
||||
|
||||
Wtyczka rejestruje także niewyłączny dodatek do korpusu pamięci, dzięki czemu
|
||||
współdzielone `memory_search` i `memory_get` mogą sięgać do wiki, gdy aktywna
|
||||
wtyczka pamięci obsługuje wybór korpusu.
|
||||
Plugin rejestruje także niewyłączny supplement corpus pamięci, dzięki czemu współdzielone
|
||||
`memory_search` i `memory_get` mogą sięgać do wiki, gdy Plugin Active Memory obsługuje wybór corpus.
|
||||
|
||||
## Zachowanie promptów i kontekstu
|
||||
## Zachowanie promptu i kontekstu
|
||||
|
||||
Gdy włączone jest `context.includeCompiledDigestPrompt`, sekcje promptów pamięci
|
||||
dołączają kompaktowy skompilowany zrzut z `agent-digest.json`.
|
||||
dołączają kompaktowy skompilowany snapshot z `agent-digest.json`.
|
||||
|
||||
Ten zrzut jest celowo mały i bogaty w sygnał:
|
||||
Ten snapshot jest celowo mały i bogaty w sygnał:
|
||||
|
||||
- tylko najważniejsze strony
|
||||
- tylko najważniejsze twierdzenia
|
||||
- liczba sprzeczności
|
||||
- liczba pytań
|
||||
- kwalifikatory pewności/świeżości
|
||||
- kwalifikatory confidence/freshness
|
||||
|
||||
Jest to opcjonalne, ponieważ zmienia kształt promptu i jest przydatne głównie
|
||||
dla silników kontekstu lub starszego składania promptów, które jawnie
|
||||
wykorzystują dodatki pamięci.
|
||||
Jest to opcjonalne, ponieważ zmienia kształt promptu i jest głównie przydatne dla
|
||||
silników kontekstu lub starszego składania promptów, które jawnie korzystają z supplementów pamięci.
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
@ -311,17 +323,58 @@ Kluczowe przełączniki:
|
||||
|
||||
- `vaultMode`: `isolated`, `bridge`, `unsafe-local`
|
||||
- `vault.renderMode`: `native` lub `obsidian`
|
||||
- `bridge.readMemoryArtifacts`: import publicznych artefaktów aktywnej wtyczki pamięci
|
||||
- `bridge.followMemoryEvents`: uwzględnianie dzienników zdarzeń w trybie mostu
|
||||
- `bridge.readMemoryArtifacts`: importuj publiczne artefakty Pluginu Active Memory
|
||||
- `bridge.followMemoryEvents`: uwzględniaj logi zdarzeń w trybie bridge
|
||||
- `search.backend`: `shared` lub `local`
|
||||
- `search.corpus`: `wiki`, `memory` lub `all`
|
||||
- `context.includeCompiledDigestPrompt`: dołączanie kompaktowego zrzutu skrótu do sekcji promptów pamięci
|
||||
- `render.createBacklinks`: generowanie deterministycznych bloków powiązań
|
||||
- `render.createDashboards`: generowanie stron pulpitów
|
||||
- `context.includeCompiledDigestPrompt`: dołącz kompaktowy snapshot digestu do sekcji promptów pamięci
|
||||
- `render.createBacklinks`: generuj deterministyczne bloki powiązanych treści
|
||||
- `render.createDashboards`: generuj strony dashboardów
|
||||
|
||||
### Przykład: QMD + tryb bridge
|
||||
|
||||
Użyj tego, gdy chcesz używać QMD do recall, a `memory-wiki` jako utrzymywanej
|
||||
warstwy wiedzy:
|
||||
|
||||
```json5
|
||||
{
|
||||
memory: {
|
||||
backend: "qmd",
|
||||
"memory-wiki": {
|
||||
enabled: true,
|
||||
config: {
|
||||
vaultMode: "bridge",
|
||||
bridge: {
|
||||
enabled: true,
|
||||
readMemoryArtifacts: true,
|
||||
indexDreamReports: true,
|
||||
indexDailyNotes: true,
|
||||
indexMemoryRoot: true,
|
||||
followMemoryEvents: true,
|
||||
},
|
||||
search: {
|
||||
backend: "shared",
|
||||
corpus: "all",
|
||||
},
|
||||
context: {
|
||||
includeCompiledDigestPrompt: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Dzięki temu:
|
||||
|
||||
- QMD odpowiada za recall w Active Memory
|
||||
- `memory-wiki` koncentruje się na skompilowanych stronach i dashboardach
|
||||
- kształt promptu pozostaje niezmieniony, dopóki celowo nie włączysz promptów skompilowanego digestu
|
||||
|
||||
## CLI
|
||||
|
||||
`memory-wiki` udostępnia również interfejs CLI najwyższego poziomu:
|
||||
`memory-wiki` udostępnia także powierzchnię najwyższego poziomu w CLI:
|
||||
|
||||
```bash
|
||||
openclaw wiki status
|
||||
@ -337,36 +390,36 @@ openclaw wiki bridge import
|
||||
openclaw wiki obsidian status
|
||||
```
|
||||
|
||||
Pełne omówienie poleceń znajdziesz w [CLI: wiki](/cli/wiki).
|
||||
Pełne odniesienie do komend znajdziesz w [CLI: wiki](/cli/wiki).
|
||||
|
||||
## Obsługa Obsidian
|
||||
|
||||
Gdy `vault.renderMode` ma wartość `obsidian`, wtyczka zapisuje Markdown
|
||||
przyjazny dla Obsidian i może opcjonalnie używać oficjalnego `obsidian` CLI.
|
||||
Gdy `vault.renderMode` ma wartość `obsidian`, Plugin zapisuje Markdown przyjazny dla Obsidian
|
||||
i może opcjonalnie używać oficjalnego CLI `obsidian`.
|
||||
|
||||
Obsługiwane przepływy pracy obejmują:
|
||||
|
||||
- sprawdzanie stanu
|
||||
- sprawdzanie statusu
|
||||
- przeszukiwanie sejfu
|
||||
- otwieranie strony
|
||||
- wywoływanie polecenia Obsidian
|
||||
- przechodzenie do notatki dziennej
|
||||
- wywoływanie komendy Obsidian
|
||||
- przejście do notatki dziennej
|
||||
|
||||
To opcjonalne. Wiki nadal działa w trybie natywnym bez Obsidian.
|
||||
Jest to opcjonalne. Wiki nadal działa w trybie natywnym bez Obsidian.
|
||||
|
||||
## Zalecany przepływ pracy
|
||||
|
||||
1. Zachowaj aktywną wtyczkę pamięci do przywoływania/promowania/śnienia.
|
||||
1. Zachowaj swój Plugin Active Memory dla recall/promotion/Dreaming.
|
||||
2. Włącz `memory-wiki`.
|
||||
3. Zacznij od trybu `isolated`, chyba że jawnie chcesz używać trybu mostu.
|
||||
4. Używaj `wiki_search` / `wiki_get`, gdy pochodzenie ma znaczenie.
|
||||
3. Zacznij od trybu `isolated`, chyba że jawnie chcesz trybu bridge.
|
||||
4. Używaj `wiki_search` / `wiki_get`, gdy proweniencja ma znaczenie.
|
||||
5. Używaj `wiki_apply` do wąskich syntez lub aktualizacji metadanych.
|
||||
6. Uruchamiaj `wiki_lint` po istotnych zmianach.
|
||||
7. Włącz pulpity, jeśli chcesz mieć widoczność nieaktualności/sprzeczności.
|
||||
7. Włącz dashboardy, jeśli chcesz mieć widoczność nieaktualności/sprzeczności.
|
||||
|
||||
## Powiązane dokumenty
|
||||
## Powiązana dokumentacja
|
||||
|
||||
- [Przegląd pamięci](/pl/concepts/memory)
|
||||
- [Memory Overview](/pl/concepts/memory)
|
||||
- [CLI: memory](/cli/memory)
|
||||
- [CLI: wiki](/cli/wiki)
|
||||
- [Przegląd Plugin SDK](/pl/plugins/sdk-overview)
|
||||
- [Plugin SDK overview](/pl/plugins/sdk-overview)
|
||||
|
||||
@ -5,75 +5,117 @@ read_when:
|
||||
summary: Generowanie wideo Wan w Alibaba Model Studio w OpenClaw
|
||||
title: Alibaba Model Studio
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T03:10:18Z"
|
||||
generated_at: "2026-04-12T23:28:49Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 97a1eddc7cbd816776b9368f2a926b5ef9ee543f08d151a490023736f67dc635
|
||||
source_hash: a6e97d929952cdba7740f5ab3f6d85c18286b05596a4137bf80bbc8b54f32662
|
||||
source_path: providers/alibaba.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Alibaba Model Studio
|
||||
|
||||
OpenClaw dostarcza wbudowanego dostawcę generowania wideo `alibaba` dla modeli Wan w
|
||||
Alibaba Model Studio / DashScope.
|
||||
OpenClaw zawiera dołączonego dostawcę generowania wideo `alibaba` dla modeli Wan w Alibaba Model Studio / DashScope.
|
||||
|
||||
- Dostawca: `alibaba`
|
||||
- Preferowane uwierzytelnianie: `MODELSTUDIO_API_KEY`
|
||||
- Akceptowane również: `DASHSCOPE_API_KEY`, `QWEN_API_KEY`
|
||||
- API: asynchroniczne generowanie wideo DashScope / Model Studio
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Ustaw klucz API:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice qwen-standard-api-key
|
||||
```
|
||||
|
||||
2. Ustaw domyślny model wideo:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "alibaba/wan2.6-t2v",
|
||||
<Steps>
|
||||
<Step title="Ustaw klucz API">
|
||||
```bash
|
||||
openclaw onboard --auth-choice qwen-standard-api-key
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw domyślny model generowania wideo">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "alibaba/wan2.6-t2v",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy dostawca jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider alibaba
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Note>
|
||||
Każdy z akceptowanych kluczy uwierzytelniających (`MODELSTUDIO_API_KEY`, `DASHSCOPE_API_KEY`, `QWEN_API_KEY`) będzie działać. Opcja onboardingu `qwen-standard-api-key` konfiguruje współdzielone poświadczenie DashScope.
|
||||
</Note>
|
||||
|
||||
## Wbudowane modele Wan
|
||||
|
||||
Wbudowany dostawca `alibaba` rejestruje obecnie:
|
||||
Dołączony dostawca `alibaba` obecnie rejestruje:
|
||||
|
||||
- `alibaba/wan2.6-t2v`
|
||||
- `alibaba/wan2.6-i2v`
|
||||
- `alibaba/wan2.6-r2v`
|
||||
- `alibaba/wan2.6-r2v-flash`
|
||||
- `alibaba/wan2.7-r2v`
|
||||
| Odwołanie modelu | Tryb |
|
||||
| ------------------------- | ------------------------- |
|
||||
| `alibaba/wan2.6-t2v` | Tekst na wideo |
|
||||
| `alibaba/wan2.6-i2v` | Obraz na wideo |
|
||||
| `alibaba/wan2.6-r2v` | Referencja na wideo |
|
||||
| `alibaba/wan2.6-r2v-flash`| Referencja na wideo (szybko) |
|
||||
| `alibaba/wan2.7-r2v` | Referencja na wideo |
|
||||
|
||||
## Bieżące limity
|
||||
## Obecne ograniczenia
|
||||
|
||||
- Maksymalnie **1** wyjściowe wideo na żądanie
|
||||
- Maksymalnie **1** obraz wejściowy
|
||||
- Maksymalnie **4** wejściowe pliki wideo
|
||||
- Maksymalnie **10 sekund** długości
|
||||
- Obsługuje `size`, `aspectRatio`, `resolution`, `audio` i `watermark`
|
||||
- Tryb obrazu/wideo referencyjnego wymaga obecnie **zdalnych adresów URL http(s)**
|
||||
| Parametr | Limit |
|
||||
| --------------------- | --------------------------------------------------------- |
|
||||
| Wyjściowe wideo | Maksymalnie **1** na żądanie |
|
||||
| Obrazy wejściowe | Maksymalnie **1** |
|
||||
| Wejściowe wideo | Maksymalnie **4** |
|
||||
| Czas trwania | Maksymalnie **10 sekund** |
|
||||
| Obsługiwane kontrolki | `size`, `aspectRatio`, `resolution`, `audio`, `watermark` |
|
||||
| Obraz/wideo referencyjne | Tylko zdalne adresy URL `http(s)` |
|
||||
|
||||
## Relacja z Qwen
|
||||
<Warning>
|
||||
Tryb obrazu/wideo referencyjnego obecnie wymaga **zdalnych adresów URL `http(s)`**. Lokalne ścieżki plików nie są obsługiwane dla wejść referencyjnych.
|
||||
</Warning>
|
||||
|
||||
Wbudowany dostawca `qwen` również używa hostowanych przez Alibaba endpointów DashScope do
|
||||
generowania wideo Wan. Użyj:
|
||||
## Konfiguracja zaawansowana
|
||||
|
||||
- `qwen/...`, gdy chcesz używać kanonicznej powierzchni dostawcy Qwen
|
||||
- `alibaba/...`, gdy chcesz używać bezpośredniej, należącej do dostawcy powierzchni wideo Wan
|
||||
<AccordionGroup>
|
||||
<Accordion title="Relacja do Qwen">
|
||||
Dołączony dostawca `qwen` również używa hostowanych przez Alibaba endpointów DashScope do generowania wideo Wan. Użyj:
|
||||
|
||||
- `qwen/...`, gdy chcesz korzystać z kanonicznej powierzchni dostawcy Qwen
|
||||
- `alibaba/...`, gdy chcesz korzystać z bezpośredniej, należącej do dostawcy powierzchni wideo Wan
|
||||
|
||||
Więcej szczegółów znajdziesz w [dokumentacji dostawcy Qwen](/pl/providers/qwen).
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Priorytet kluczy uwierzytelniających">
|
||||
OpenClaw sprawdza klucze uwierzytelniające w tej kolejności:
|
||||
|
||||
1. `MODELSTUDIO_API_KEY` (preferowany)
|
||||
2. `DASHSCOPE_API_KEY`
|
||||
3. `QWEN_API_KEY`
|
||||
|
||||
Każdy z nich uwierzytelni dostawcę `alibaba`.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
- [Generowanie wideo](/tools/video-generation)
|
||||
- [Qwen](/pl/providers/qwen)
|
||||
- [Dokumentacja konfiguracji](/pl/gateway/configuration-reference#agent-defaults)
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Generowanie wideo" href="/pl/tools/video-generation" icon="video">
|
||||
Współdzielone parametry narzędzia wideo i wybór dostawcy.
|
||||
</Card>
|
||||
<Card title="Qwen" href="/pl/providers/qwen" icon="microchip">
|
||||
Konfiguracja dostawcy Qwen i integracja z DashScope.
|
||||
</Card>
|
||||
<Card title="Referencja konfiguracji" href="/pl/gateway/configuration-reference#agent-defaults" icon="gear">
|
||||
Domyślne ustawienia agenta i konfiguracja modeli.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,96 +1,127 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać modeli Anthropic w OpenClaw
|
||||
summary: Używaj Anthropic Claude przez klucze API lub Claude CLI w OpenClaw
|
||||
summary: Używaj Anthropic Claude za pomocą kluczy API lub Claude CLI w OpenClaw
|
||||
title: Anthropic
|
||||
x-i18n:
|
||||
generated_at: "2026-04-07T09:48:55Z"
|
||||
generated_at: "2026-04-12T23:29:04Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 423928fd36c66729985208d4d3f53aff1f94f63b908df85072988bdc41d5cf46
|
||||
source_hash: 5e3dda5f98ade9d4c3841888103bfb43d59e075d358a701ed0ae3ffb8d5694a7
|
||||
source_path: providers/anthropic.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Anthropic (Claude)
|
||||
|
||||
Anthropic tworzy rodzinę modeli **Claude** i udostępnia dostęp przez API oraz
|
||||
Claude CLI. W OpenClaw obsługiwane są zarówno klucze API Anthropic, jak i ponowne
|
||||
wykorzystanie Claude CLI. Istniejące starsze profile tokenów Anthropic są nadal
|
||||
respektowane w runtime, jeśli są już skonfigurowane.
|
||||
Anthropic tworzy rodzinę modeli **Claude**. OpenClaw obsługuje dwie ścieżki uwierzytelniania:
|
||||
|
||||
- **Klucz API** — bezpośredni dostęp do API Anthropic z rozliczaniem zależnym od użycia (modele `anthropic/*`)
|
||||
- **Claude CLI** — ponowne wykorzystanie istniejącego logowania Claude CLI na tym samym hoście
|
||||
|
||||
<Warning>
|
||||
Pracownicy Anthropic powiedzieli nam, że użycie Claude CLI w stylu OpenClaw jest ponownie dozwolone, więc
|
||||
OpenClaw traktuje ponowne użycie Claude CLI i użycie `claude -p` jako usankcjonowane dla tej
|
||||
integracji, chyba że Anthropic opublikuje nową politykę.
|
||||
Pracownicy Anthropic poinformowali nas, że użycie Claude CLI w stylu OpenClaw jest znowu dozwolone, więc OpenClaw traktuje ponowne wykorzystanie Claude CLI i użycie `claude -p` jako dozwolone, chyba że Anthropic opublikuje nową politykę.
|
||||
|
||||
Dla długotrwale działających hostów gateway klucze API Anthropic nadal są najjaśniejszą i
|
||||
najbardziej przewidywalną ścieżką produkcyjną. Jeśli już używasz Claude CLI na hoście,
|
||||
OpenClaw może bezpośrednio wykorzystać to logowanie.
|
||||
W przypadku długotrwale działających hostów Gateway klucze API Anthropic nadal są najjaśniejszą i najbardziej przewidywalną ścieżką produkcyjną.
|
||||
|
||||
Obecna publiczna dokumentacja Anthropic:
|
||||
Aktualna publiczna dokumentacja Anthropic:
|
||||
|
||||
- [Claude Code CLI reference](https://code.claude.com/docs/en/cli-reference)
|
||||
- [Claude Agent SDK overview](https://platform.claude.com/docs/en/agent-sdk/overview)
|
||||
- [Referencja Claude Code CLI](https://code.claude.com/docs/en/cli-reference)
|
||||
- [Przegląd Claude Agent SDK](https://platform.claude.com/docs/en/agent-sdk/overview)
|
||||
- [Używanie Claude Code z planem Pro lub Max](https://support.claude.com/en/articles/11145838-using-claude-code-with-your-pro-or-max-plan)
|
||||
- [Używanie Claude Code z planem Team lub Enterprise](https://support.anthropic.com/en/articles/11845131-using-claude-code-with-your-team-or-enterprise-plan/)
|
||||
</Warning>
|
||||
|
||||
- [Using Claude Code with your Pro or Max plan](https://support.claude.com/en/articles/11145838-using-claude-code-with-your-pro-or-max-plan)
|
||||
- [Using Claude Code with your Team or Enterprise plan](https://support.anthropic.com/en/articles/11845131-using-claude-code-with-your-team-or-enterprise-plan/)
|
||||
## Pierwsze kroki
|
||||
|
||||
Jeśli chcesz mieć najjaśniejszą ścieżkę rozliczeń, użyj klucza API Anthropic.
|
||||
OpenClaw obsługuje też inne opcje w stylu subskrypcyjnym, w tym [OpenAI
|
||||
Codex](/pl/providers/openai), [Qwen Cloud Coding Plan](/pl/providers/qwen),
|
||||
[MiniMax Coding Plan](/pl/providers/minimax) oraz [Z.AI / GLM Coding
|
||||
Plan](/pl/providers/glm).
|
||||
</Warning>
|
||||
<Tabs>
|
||||
<Tab title="Klucz API">
|
||||
**Najlepsze do:** standardowego dostępu do API i rozliczania zależnego od użycia.
|
||||
|
||||
## Opcja A: klucz API Anthropic
|
||||
<Steps>
|
||||
<Step title="Pobierz klucz API">
|
||||
Utwórz klucz API w [Anthropic Console](https://console.anthropic.com/).
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard
|
||||
# wybierz: Anthropic API key
|
||||
```
|
||||
|
||||
**Najlepsze dla:** standardowego dostępu do API i rozliczania według użycia.
|
||||
Utwórz swój klucz API w Anthropic Console.
|
||||
Albo przekaż klucz bezpośrednio:
|
||||
|
||||
### Konfiguracja CLI
|
||||
```bash
|
||||
openclaw onboard --anthropic-api-key "$ANTHROPIC_API_KEY"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider anthropic
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
```bash
|
||||
openclaw onboard
|
||||
# choose: Anthropic API key
|
||||
### Przykład konfiguracji
|
||||
|
||||
# or non-interactive
|
||||
openclaw onboard --anthropic-api-key "$ANTHROPIC_API_KEY"
|
||||
```
|
||||
```json5
|
||||
{
|
||||
env: { ANTHROPIC_API_KEY: "sk-ant-..." },
|
||||
agents: { defaults: { model: { primary: "anthropic/claude-opus-4-6" } } },
|
||||
}
|
||||
```
|
||||
|
||||
### Fragment konfiguracji Anthropic
|
||||
</Tab>
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { ANTHROPIC_API_KEY: "sk-ant-..." },
|
||||
agents: { defaults: { model: { primary: "anthropic/claude-opus-4-6" } } },
|
||||
}
|
||||
```
|
||||
<Tab title="Claude CLI">
|
||||
**Najlepsze do:** ponownego wykorzystania istniejącego logowania Claude CLI bez osobnego klucza API.
|
||||
|
||||
<Steps>
|
||||
<Step title="Upewnij się, że Claude CLI jest zainstalowane i zalogowane">
|
||||
Sprawdź za pomocą:
|
||||
|
||||
```bash
|
||||
claude --version
|
||||
```
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard
|
||||
# wybierz: Claude CLI
|
||||
```
|
||||
|
||||
OpenClaw wykrywa i ponownie wykorzystuje istniejące poświadczenia Claude CLI.
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider anthropic
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Note>
|
||||
Szczegóły konfiguracji i działania backendu Claude CLI znajdują się w [CLI Backends](/pl/gateway/cli-backends).
|
||||
</Note>
|
||||
|
||||
<Tip>
|
||||
Jeśli chcesz mieć najjaśniejszą ścieżkę rozliczania, zamiast tego użyj klucza API Anthropic. OpenClaw obsługuje też opcje subskrypcyjne z [OpenAI Codex](/pl/providers/openai), [Qwen Cloud](/pl/providers/qwen), [MiniMax](/pl/providers/minimax) i [Z.AI / GLM](/pl/providers/glm).
|
||||
</Tip>
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Domyślne ustawienia thinking (Claude 4.6)
|
||||
|
||||
- Modele Anthropic Claude 4.6 domyślnie używają `adaptive` thinking w OpenClaw, gdy nie ustawiono jawnie poziomu thinking.
|
||||
- Możesz to nadpisać dla pojedynczej wiadomości (`/think:<level>`) lub w parametrach modelu:
|
||||
`agents.defaults.models["anthropic/<model>"].params.thinking`.
|
||||
- Powiązana dokumentacja Anthropic:
|
||||
- [Adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking)
|
||||
- [Extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)
|
||||
Modele Claude 4.6 domyślnie używają `adaptive` thinking w OpenClaw, gdy nie ustawiono jawnego poziomu thinking.
|
||||
|
||||
## Tryb fast (Anthropic API)
|
||||
|
||||
Wspólny przełącznik `/fast` w OpenClaw obsługuje też bezpośredni publiczny ruch Anthropic, w tym żądania uwierzytelniane kluczem API i OAuth wysyłane do `api.anthropic.com`.
|
||||
|
||||
- `/fast on` mapuje do `service_tier: "auto"`
|
||||
- `/fast off` mapuje do `service_tier: "standard_only"`
|
||||
- Domyślna konfiguracja:
|
||||
Nadpisz dla pojedynczej wiadomości za pomocą `/think:<level>` albo w parametrach modelu:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
models: {
|
||||
"anthropic/claude-sonnet-4-6": {
|
||||
params: { fastMode: true },
|
||||
"anthropic/claude-opus-4-6": {
|
||||
params: { thinking: "adaptive" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -98,25 +129,21 @@ Wspólny przełącznik `/fast` w OpenClaw obsługuje też bezpośredni publiczny
|
||||
}
|
||||
```
|
||||
|
||||
Ważne ograniczenia:
|
||||
<Note>
|
||||
Powiązana dokumentacja Anthropic:
|
||||
- [Adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking)
|
||||
- [Extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)
|
||||
</Note>
|
||||
|
||||
- OpenClaw wstrzykuje poziomy usług Anthropic tylko dla bezpośrednich żądań do `api.anthropic.com`. Jeśli kierujesz `anthropic/*` przez proxy lub gateway, `/fast` pozostawia `service_tier` bez zmian.
|
||||
- Jawne parametry modelu Anthropic `serviceTier` lub `service_tier` mają pierwszeństwo przed domyślnym `/fast`, gdy ustawiono oba.
|
||||
- Anthropic raportuje efektywny poziom w odpowiedzi pod `usage.service_tier`. Na kontach bez pojemności Priority Tier wartość `service_tier: "auto"` może nadal rozwiązać się do `standard`.
|
||||
## Cache promptów
|
||||
|
||||
## Prompt caching (Anthropic API)
|
||||
OpenClaw obsługuje funkcję cache promptów Anthropic dla uwierzytelniania kluczem API.
|
||||
|
||||
OpenClaw obsługuje funkcję prompt caching od Anthropic. To jest **tylko dla API**; starsze uwierzytelnianie tokenami Anthropic nie respektuje ustawień cache.
|
||||
|
||||
### Konfiguracja
|
||||
|
||||
Użyj parametru `cacheRetention` w konfiguracji modelu:
|
||||
|
||||
| Value | Czas trwania cache | Opis |
|
||||
| ------- | ------------------ | ---------------------------- |
|
||||
| `none` | Brak cache | Wyłącza prompt caching |
|
||||
| `short` | 5 minut | Domyślnie dla auth API Key |
|
||||
| `long` | 1 godzina | Rozszerzony cache |
|
||||
| Wartość | Czas trwania cache | Opis |
|
||||
| ------------------- | ------------------ | ---------------------------------------------- |
|
||||
| `"short"` (domyślne) | 5 minut | Stosowane automatycznie dla uwierzytelniania kluczem API |
|
||||
| `"long"` | 1 godzina | Rozszerzony cache |
|
||||
| `"none"` | Brak cache | Wyłącza cache promptów |
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -132,122 +159,155 @@ Użyj parametru `cacheRetention` w konfiguracji modelu:
|
||||
}
|
||||
```
|
||||
|
||||
### Wartości domyślne
|
||||
<AccordionGroup>
|
||||
<Accordion title="Nadpisania cache dla poszczególnych agentów">
|
||||
Użyj parametrów na poziomie modelu jako wartości bazowej, a następnie nadpisz konkretne agenty przez `agents.list[].params`:
|
||||
|
||||
Gdy używasz uwierzytelniania kluczem API Anthropic, OpenClaw automatycznie stosuje `cacheRetention: "short"` (5-minutowy cache) dla wszystkich modeli Anthropic. Możesz to nadpisać, jawnie ustawiając `cacheRetention` w swojej konfiguracji.
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "anthropic/claude-opus-4-6" },
|
||||
models: {
|
||||
"anthropic/claude-opus-4-6": {
|
||||
params: { cacheRetention: "long" },
|
||||
},
|
||||
},
|
||||
},
|
||||
list: [
|
||||
{ id: "research", default: true },
|
||||
{ id: "alerts", params: { cacheRetention: "none" } },
|
||||
],
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
### Nadpisania cacheRetention per agent
|
||||
Kolejność scalania konfiguracji:
|
||||
|
||||
Użyj parametrów na poziomie modelu jako bazowego ustawienia, a następnie nadpisuj konkretne agenty przez `agents.list[].params`.
|
||||
1. `agents.defaults.models["provider/model"].params`
|
||||
2. `agents.list[].params` (dopasowane `id`, nadpisuje według klucza)
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "anthropic/claude-opus-4-6" },
|
||||
models: {
|
||||
"anthropic/claude-opus-4-6": {
|
||||
params: { cacheRetention: "long" }, // baseline for most agents
|
||||
Dzięki temu jeden agent może zachować długotrwały cache, podczas gdy inny agent na tym samym modelu wyłączy cache dla skokowego ruchu o niskim poziomie ponownego użycia.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Uwagi o Claude na Bedrock">
|
||||
- Modele Anthropic Claude na Bedrock (`amazon-bedrock/*anthropic.claude*`) akceptują przekazanie `cacheRetention`, jeśli jest skonfigurowane.
|
||||
- Modele Bedrock inne niż Anthropic są w czasie działania wymuszane na `cacheRetention: "none"`.
|
||||
- Inteligentne ustawienia domyślne dla klucza API ustawiają też `cacheRetention: "short"` dla odwołań do Claude na Bedrock, gdy nie ustawiono jawnej wartości.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Konfiguracja zaawansowana
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Tryb fast">
|
||||
Wspólny przełącznik `/fast` w OpenClaw obsługuje bezpośredni ruch Anthropic (klucz API i OAuth do `api.anthropic.com`).
|
||||
|
||||
| Polecenie | Mapuje na |
|
||||
|---------|---------|
|
||||
| `/fast on` | `service_tier: "auto"` |
|
||||
| `/fast off` | `service_tier: "standard_only"` |
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
models: {
|
||||
"anthropic/claude-sonnet-4-6": {
|
||||
params: { fastMode: true },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
list: [
|
||||
{ id: "research", default: true },
|
||||
{ id: "alerts", params: { cacheRetention: "none" } }, // override for this agent only
|
||||
],
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
Kolejność scalania konfiguracji dla parametrów związanych z cache:
|
||||
<Note>
|
||||
- Wstrzykiwane tylko dla bezpośrednich żądań do `api.anthropic.com`. Trasy proxy pozostawiają `service_tier` bez zmian.
|
||||
- Jawne parametry `serviceTier` lub `service_tier` mają pierwszeństwo przed `/fast`, gdy ustawione są oba.
|
||||
- Na kontach bez pojemności Priority Tier `service_tier: "auto"` może zostać rozwiązane jako `standard`.
|
||||
</Note>
|
||||
|
||||
1. `agents.defaults.models["provider/model"].params`
|
||||
2. `agents.list[].params` (pasujące `id`, nadpisuje według klucza)
|
||||
</Accordion>
|
||||
|
||||
Dzięki temu jeden agent może zachować długotrwały cache, podczas gdy inny agent na tym samym modelu wyłącza cache, aby uniknąć kosztów zapisu przy ruchu skokowym lub o małym poziomie ponownego użycia.
|
||||
<Accordion title="Rozumienie mediów (obraz i PDF)">
|
||||
Dołączony Plugin Anthropic rejestruje rozumienie obrazów i plików PDF. OpenClaw
|
||||
automatycznie rozwiązuje możliwości mediów na podstawie skonfigurowanego uwierzytelniania Anthropic — nie jest potrzebna dodatkowa konfiguracja.
|
||||
|
||||
### Uwagi o Bedrock Claude
|
||||
| Właściwość | Wartość |
|
||||
| ----------------- | -------------------- |
|
||||
| Model domyślny | `claude-opus-4-6` |
|
||||
| Obsługiwane wejście | Obrazy, dokumenty PDF |
|
||||
|
||||
- Modele Anthropic Claude w Bedrock (`amazon-bedrock/*anthropic.claude*`) akceptują przekazywanie `cacheRetention`, jeśli jest skonfigurowane.
|
||||
- Modele Bedrock inne niż Anthropic są wymuszane w runtime do `cacheRetention: "none"`.
|
||||
- Inteligentne wartości domyślne dla kluczy API Anthropic ustawiają także `cacheRetention: "short"` dla odwołań do modeli Claude-on-Bedrock, gdy nie ustawiono jawnej wartości.
|
||||
Gdy do rozmowy zostanie dołączony obraz lub plik PDF, OpenClaw automatycznie
|
||||
kieruje go przez dostawcę rozumienia mediów Anthropic.
|
||||
|
||||
## Okno kontekstu 1M (Anthropic beta)
|
||||
</Accordion>
|
||||
|
||||
Okno kontekstu 1M Anthropic jest objęte betą. W OpenClaw włącz je per model
|
||||
przez `params.context1m: true` dla obsługiwanych modeli Opus/Sonnet.
|
||||
<Accordion title="Okno kontekstu 1M (beta)">
|
||||
Okno kontekstu 1M w Anthropic jest dostępne za bramką beta. Włącz je dla wybranego modelu:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
models: {
|
||||
"anthropic/claude-opus-4-6": {
|
||||
params: { context1m: true },
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
models: {
|
||||
"anthropic/claude-opus-4-6": {
|
||||
params: { context1m: true },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
OpenClaw mapuje to do `anthropic-beta: context-1m-2025-08-07` w żądaniach
|
||||
Anthropic.
|
||||
OpenClaw mapuje to w żądaniach na `anthropic-beta: context-1m-2025-08-07`.
|
||||
|
||||
To aktywuje się tylko wtedy, gdy `params.context1m` jest jawnie ustawione na `true` dla
|
||||
tego modelu.
|
||||
<Warning>
|
||||
Wymaga dostępu do długiego kontekstu na Twoim poświadczeniu Anthropic. Starsze uwierzytelnianie tokenem (`sk-ant-oat-*`) jest odrzucane dla żądań kontekstu 1M — OpenClaw zapisuje ostrzeżenie w logach i wraca do standardowego okna kontekstu.
|
||||
</Warning>
|
||||
|
||||
Wymaganie: Anthropic musi zezwalać na użycie długiego kontekstu dla tych poświadczeń.
|
||||
|
||||
Uwaga: Anthropic obecnie odrzuca żądania beta `context-1m-*` przy użyciu
|
||||
starszego uwierzytelniania tokenami Anthropic (`sk-ant-oat-*`). Jeśli skonfigurujesz
|
||||
`context1m: true` w tym starszym trybie uwierzytelniania, OpenClaw zapisze ostrzeżenie w logach i
|
||||
wróci do standardowego okna kontekstu, pomijając nagłówek beta context1m
|
||||
przy jednoczesnym zachowaniu wymaganych bet OAuth.
|
||||
|
||||
## Backend Claude CLI
|
||||
|
||||
Dołączony backend Anthropic `claude-cli` jest obsługiwany w OpenClaw.
|
||||
|
||||
- Pracownicy Anthropic powiedzieli nam, że to użycie jest ponownie dozwolone.
|
||||
- OpenClaw dlatego traktuje ponowne użycie Claude CLI i użycie `claude -p` jako
|
||||
usankcjonowane dla tej integracji, chyba że Anthropic opublikuje nową politykę.
|
||||
- Klucze API Anthropic pozostają najjaśniejszą ścieżką produkcyjną dla stale działających hostów gateway
|
||||
oraz jawnej kontroli rozliczeń po stronie serwera.
|
||||
- Szczegóły konfiguracji i runtime znajdują się w [/gateway/cli-backends](/pl/gateway/cli-backends).
|
||||
|
||||
## Uwagi
|
||||
|
||||
- Publiczna dokumentacja Claude Code Anthropic nadal opisuje bezpośrednie użycie CLI, takie jak
|
||||
`claude -p`, a pracownicy Anthropic powiedzieli nam, że użycie Claude CLI w stylu OpenClaw jest
|
||||
ponownie dozwolone. Traktujemy te wytyczne jako ustalone, chyba że Anthropic
|
||||
opublikuje nową zmianę polityki.
|
||||
- Anthropic setup-token pozostaje dostępny w OpenClaw jako obsługiwana ścieżka uwierzytelniania tokenem, ale OpenClaw teraz preferuje ponowne użycie Claude CLI i `claude -p`, gdy są dostępne.
|
||||
- Szczegóły auth + zasady ponownego użycia znajdują się w [/concepts/oauth](/pl/concepts/oauth).
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Rozwiązywanie problemów
|
||||
|
||||
**Błędy 401 / token nagle stał się nieprawidłowy**
|
||||
<AccordionGroup>
|
||||
<Accordion title="Błędy 401 / token nagle nieważny">
|
||||
Uwierzytelnianie tokenem Anthropic może wygasnąć lub zostać cofnięte. W nowych konfiguracjach przejdź na klucz API Anthropic.
|
||||
</Accordion>
|
||||
|
||||
- Uwierzytelnianie tokenem Anthropic może wygasnąć lub zostać cofnięte.
|
||||
- Dla nowej konfiguracji przejdź na klucz API Anthropic.
|
||||
<Accordion title='Nie znaleziono klucza API dla dostawcy "anthropic"'>
|
||||
Uwierzytelnianie jest **na agenta**. Nowi agenci nie dziedziczą kluczy głównego agenta. Uruchom onboarding ponownie dla tego agenta albo skonfiguruj klucz API na hoście Gateway, a następnie sprawdź za pomocą `openclaw models status`.
|
||||
</Accordion>
|
||||
|
||||
**Nie znaleziono klucza API dla dostawcy "anthropic"**
|
||||
<Accordion title='Nie znaleziono poświadczeń dla profilu "anthropic:default"'>
|
||||
Uruchom `openclaw models status`, aby zobaczyć, który profil uwierzytelniania jest aktywny. Uruchom onboarding ponownie albo skonfiguruj klucz API dla tej ścieżki profilu.
|
||||
</Accordion>
|
||||
|
||||
- Uwierzytelnianie jest **per agent**. Nowi agenci nie dziedziczą kluczy głównego agenta.
|
||||
- Uruchom onboarding ponownie dla tego agenta albo skonfiguruj klucz API na hoście gateway,
|
||||
a następnie zweryfikuj przez `openclaw models status`.
|
||||
<Accordion title="Brak dostępnego profilu uwierzytelniania (wszystkie w cooldown)">
|
||||
Sprawdź `openclaw models status --json` dla `auth.unusableProfiles`. Cooldowny limitów szybkości Anthropic mogą być ograniczone do modelu, więc pokrewny model Anthropic nadal może być użyteczny. Dodaj kolejny profil Anthropic albo poczekaj na koniec cooldownu.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
**Nie znaleziono poświadczeń dla profilu `anthropic:default`**
|
||||
<Note>
|
||||
Więcej pomocy: [Rozwiązywanie problemów](/pl/help/troubleshooting) i [FAQ](/pl/help/faq).
|
||||
</Note>
|
||||
|
||||
- Uruchom `openclaw models status`, aby zobaczyć, który profil uwierzytelniania jest aktywny.
|
||||
- Uruchom onboarding ponownie albo skonfiguruj klucz API dla ścieżki tego profilu.
|
||||
## Powiązane
|
||||
|
||||
**Brak dostępnego profilu uwierzytelniania (wszystkie w cooldown/niedostępne)**
|
||||
|
||||
- Sprawdź `openclaw models status --json` dla `auth.unusableProfiles`.
|
||||
- Cooldowny limitów Anthropic mogą być ograniczone do konkretnego modelu, więc pokrewny model Anthropic
|
||||
może nadal być użyteczny nawet wtedy, gdy bieżący jest w cooldownie.
|
||||
- Dodaj kolejny profil Anthropic albo poczekaj na koniec cooldownu.
|
||||
|
||||
Więcej: [/gateway/troubleshooting](/pl/gateway/troubleshooting) oraz [/help/faq](/pl/help/faq).
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="CLI backends" href="/pl/gateway/cli-backends" icon="terminal">
|
||||
Konfiguracja backendu Claude CLI i szczegóły działania.
|
||||
</Card>
|
||||
<Card title="Cache promptów" href="/pl/reference/prompt-caching" icon="database">
|
||||
Jak działa cache promptów u różnych dostawców.
|
||||
</Card>
|
||||
<Card title="OAuth i uwierzytelnianie" href="/pl/gateway/authentication" icon="key">
|
||||
Szczegóły uwierzytelniania i zasady ponownego wykorzystania poświadczeń.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,94 +1,153 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać Arcee AI z OpenClaw
|
||||
- Potrzebujesz zmiennej środowiskowej z kluczem API lub opcji uwierzytelniania w CLI
|
||||
- Potrzebujesz zmiennej środowiskowej klucza API lub opcji uwierzytelniania w CLI
|
||||
summary: Konfiguracja Arcee AI (uwierzytelnianie + wybór modelu)
|
||||
title: Arcee AI
|
||||
x-i18n:
|
||||
generated_at: "2026-04-07T09:48:42Z"
|
||||
generated_at: "2026-04-12T23:29:32Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: fb04909a708fec08dd2c8c863501b178f098bc4818eaebad38aea264157969d8
|
||||
source_hash: 68c5fddbe272c69611257ceff319c4de7ad21134aaf64582d60720a6f3b853cc
|
||||
source_path: providers/arcee.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Arcee AI
|
||||
|
||||
[Arcee AI](https://arcee.ai) zapewnia dostęp do rodziny modeli Trinity typu mixture-of-experts przez API zgodne z OpenAI. Wszystkie modele Trinity są licencjonowane na Apache 2.0.
|
||||
[Arcee AI](https://arcee.ai) zapewnia dostęp do rodziny modeli typu mixture-of-experts Trinity przez API zgodne z OpenAI. Wszystkie modele Trinity są licencjonowane na Apache 2.0.
|
||||
|
||||
Dostęp do modeli Arcee AI można uzyskać bezpośrednio przez platformę Arcee lub przez [OpenRouter](/pl/providers/openrouter).
|
||||
Do modeli Arcee AI można uzyskać dostęp bezpośrednio przez platformę Arcee lub przez [OpenRouter](/pl/providers/openrouter).
|
||||
|
||||
- Provider: `arcee`
|
||||
- Uwierzytelnianie: `ARCEEAI_API_KEY` (bezpośrednio) lub `OPENROUTER_API_KEY` (przez OpenRouter)
|
||||
- API: zgodne z OpenAI
|
||||
- Base URL: `https://api.arcee.ai/api/v1` (bezpośrednio) lub `https://openrouter.ai/api/v1` (OpenRouter)
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | ------------------------------------------------------------------------------------ |
|
||||
| Dostawca | `arcee` |
|
||||
| Uwierzytelnianie | `ARCEEAI_API_KEY` (bezpośrednio) lub `OPENROUTER_API_KEY` (przez OpenRouter) |
|
||||
| API | zgodne z OpenAI |
|
||||
| Bazowy URL | `https://api.arcee.ai/api/v1` (bezpośrednio) lub `https://openrouter.ai/api/v1` (OpenRouter) |
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Pobierz klucz API z [Arcee AI](https://chat.arcee.ai/) lub [OpenRouter](https://openrouter.ai/keys).
|
||||
<Tabs>
|
||||
<Tab title="Bezpośrednio (platforma Arcee)">
|
||||
<Steps>
|
||||
<Step title="Pobierz klucz API">
|
||||
Utwórz klucz API w [Arcee AI](https://chat.arcee.ai/).
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice arceeai-api-key
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "arcee/trinity-large-thinking" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
</Tab>
|
||||
|
||||
2. Ustaw klucz API (zalecane: zapisz go dla Gateway):
|
||||
<Tab title="Przez OpenRouter">
|
||||
<Steps>
|
||||
<Step title="Pobierz klucz API">
|
||||
Utwórz klucz API w [OpenRouter](https://openrouter.ai/keys).
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice arceeai-openrouter
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "arcee/trinity-large-thinking" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
```bash
|
||||
# Direct (platforma Arcee)
|
||||
openclaw onboard --auth-choice arceeai-api-key
|
||||
Te same referencje modeli działają zarówno dla konfiguracji bezpośredniej, jak i przez OpenRouter (na przykład `arcee/trinity-large-thinking`).
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
# Via OpenRouter
|
||||
openclaw onboard --auth-choice arceeai-openrouter
|
||||
```
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
3. Ustaw model domyślny:
|
||||
## Konfiguracja nieinteraktywna
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "arcee/trinity-large-thinking" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
<Tabs>
|
||||
<Tab title="Bezpośrednio (platforma Arcee)">
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--mode local \
|
||||
--auth-choice arceeai-api-key \
|
||||
--arceeai-api-key "$ARCEEAI_API_KEY"
|
||||
```
|
||||
</Tab>
|
||||
|
||||
## Przykład nieinteraktywny
|
||||
|
||||
```bash
|
||||
# Direct (platforma Arcee)
|
||||
openclaw onboard --non-interactive \
|
||||
--mode local \
|
||||
--auth-choice arceeai-api-key \
|
||||
--arceeai-api-key "$ARCEEAI_API_KEY"
|
||||
|
||||
# Via OpenRouter
|
||||
openclaw onboard --non-interactive \
|
||||
--mode local \
|
||||
--auth-choice arceeai-openrouter \
|
||||
--openrouter-api-key "$OPENROUTER_API_KEY"
|
||||
```
|
||||
|
||||
## Uwaga dotycząca środowiska
|
||||
|
||||
Jeśli Gateway działa jako daemon (`launchd`/`systemd`), upewnij się, że `ARCEEAI_API_KEY`
|
||||
(lub `OPENROUTER_API_KEY`) jest dostępne dla tego procesu (na przykład w
|
||||
`~/.openclaw/.env` lub przez `env.shellEnv`).
|
||||
<Tab title="Przez OpenRouter">
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--mode local \
|
||||
--auth-choice arceeai-openrouter \
|
||||
--openrouter-api-key "$OPENROUTER_API_KEY"
|
||||
```
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Wbudowany katalog
|
||||
|
||||
OpenClaw obecnie dostarcza ten dołączony katalog Arcee:
|
||||
|
||||
| Model ref | Nazwa | Wejście | Kontekst | Koszt (wej./wyj. na 1M) | Uwagi |
|
||||
| ------------------------------ | ---------------------- | ------- | -------- | ---------------------- | ----------------------------------------- |
|
||||
| `arcee/trinity-large-thinking` | Trinity Large Thinking | text | 256K | $0.25 / $0.90 | Model domyślny; reasoning włączone |
|
||||
| `arcee/trinity-large-preview` | Trinity Large Preview | text | 128K | $0.25 / $1.00 | Ogólnego przeznaczenia; 400B parametrów, 13B aktywnych |
|
||||
| `arcee/trinity-mini` | Trinity Mini 26B | text | 128K | $0.045 / $0.15 | Szybki i oszczędny kosztowo; function calling |
|
||||
| Ref modelu | Nazwa | Wejście | Kontekst | Koszt (wej./wyj. na 1 mln) | Uwagi |
|
||||
| ------------------------------ | ---------------------- | ------- | -------- | -------------------------- | ----------------------------------------- |
|
||||
| `arcee/trinity-large-thinking` | Trinity Large Thinking | text | 256K | $0.25 / $0.90 | Model domyślny; rozumowanie włączone |
|
||||
| `arcee/trinity-large-preview` | Trinity Large Preview | text | 128K | $0.25 / $1.00 | Ogólnego przeznaczenia; 400B parametrów, 13B aktywnych |
|
||||
| `arcee/trinity-mini` | Trinity Mini 26B | text | 128K | $0.045 / $0.15 | Szybki i opłacalny; function calling |
|
||||
|
||||
Te same referencje modeli działają zarówno dla konfiguracji bezpośrednich, jak i przez OpenRouter (na przykład `arcee/trinity-large-thinking`).
|
||||
|
||||
Preset onboardingu ustawia `arcee/trinity-large-thinking` jako model domyślny.
|
||||
<Tip>
|
||||
Preset onboarding ustawia `arcee/trinity-large-thinking` jako model domyślny.
|
||||
</Tip>
|
||||
|
||||
## Obsługiwane funkcje
|
||||
|
||||
- Streaming
|
||||
- Użycie narzędzi / function calling
|
||||
- Structured output (tryb JSON i schemat JSON)
|
||||
- Extended thinking (Trinity Large Thinking)
|
||||
| Funkcja | Obsługiwane |
|
||||
| -------------------------------------------- | ---------------------------- |
|
||||
| Streaming | Tak |
|
||||
| Użycie narzędzi / function calling | Tak |
|
||||
| Dane wyjściowe strukturalne (tryb JSON i schemat JSON) | Tak |
|
||||
| Rozszerzone myślenie | Tak (Trinity Large Thinking) |
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Uwaga dotycząca środowiska">
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że `ARCEEAI_API_KEY`
|
||||
(lub `OPENROUTER_API_KEY`) jest dostępny dla tego procesu (na przykład w
|
||||
`~/.openclaw/.env` lub przez `env.shellEnv`).
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Routing OpenRouter">
|
||||
Podczas używania modeli Arcee przez OpenRouter obowiązują te same referencje modeli `arcee/*`.
|
||||
OpenClaw obsługuje routing transparentnie na podstawie wybranego sposobu uwierzytelniania. Zobacz
|
||||
[dokumentację dostawcy OpenRouter](/pl/providers/openrouter), aby poznać szczegóły konfiguracji
|
||||
specyficzne dla OpenRouter.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="OpenRouter" href="/pl/providers/openrouter" icon="shuffle">
|
||||
Uzyskaj dostęp do modeli Arcee i wielu innych przez jeden klucz API.
|
||||
</Card>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, referencji modeli i zachowania failover.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,74 +1,114 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać hostowanych przez Bedrock Mantle modeli OSS z OpenClaw
|
||||
- Potrzebujesz endpointu Mantle zgodnego z OpenAI dla GPT-OSS, Qwen, Kimi lub GLM
|
||||
- Chcesz używać hostowanych modeli OSS Bedrock Mantle z OpenClaw
|
||||
- Potrzebujesz zgodnego z OpenAI endpointu Mantle dla GPT-OSS, Qwen, Kimi lub GLM
|
||||
summary: Używaj modeli Amazon Bedrock Mantle (zgodnych z OpenAI) z OpenClaw
|
||||
title: Amazon Bedrock Mantle
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T03:10:50Z"
|
||||
generated_at: "2026-04-12T23:29:40Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 4e5b33ede4067fb7de02a046f3e375cbd2af4bf68e7751c8dd687447f1a78c86
|
||||
source_hash: 27e602b6f6a3ae92427de135cb9df6356e0daaea6b6fe54723a7542dd0d5d21e
|
||||
source_path: providers/bedrock-mantle.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Amazon Bedrock Mantle
|
||||
|
||||
OpenClaw zawiera wbudowanego providera **Amazon Bedrock Mantle**, który łączy się z
|
||||
endpointem Mantle zgodnym z OpenAI. Mantle hostuje modele open source i
|
||||
OpenClaw zawiera dołączonego dostawcę **Amazon Bedrock Mantle**, który łączy się z
|
||||
kompatybilnym z OpenAI endpointem Mantle. Mantle hostuje modele open source i
|
||||
zewnętrzne (GPT-OSS, Qwen, Kimi, GLM i podobne) przez standardową
|
||||
powierzchnię `/v1/chat/completions` opartą na infrastrukturze Bedrock.
|
||||
powierzchnię ` /v1/chat/completions` opartą na infrastrukturze Bedrock.
|
||||
|
||||
## Co obsługuje OpenClaw
|
||||
| Właściwość | Wartość |
|
||||
| ------------- | ---------------------------------------------------------------------------------- |
|
||||
| Identyfikator dostawcy | `amazon-bedrock-mantle` |
|
||||
| API | `openai-completions` (zgodne z OpenAI) |
|
||||
| Uwierzytelnianie | Jawny `AWS_BEARER_TOKEN_BEDROCK` lub generowanie bearer tokenu z łańcucha poświadczeń IAM |
|
||||
| Domyślny region | `us-east-1` (nadpisz przez `AWS_REGION` lub `AWS_DEFAULT_REGION`) |
|
||||
|
||||
- Provider: `amazon-bedrock-mantle`
|
||||
- API: `openai-completions` (zgodne z OpenAI)
|
||||
- Auth: jawny `AWS_BEARER_TOKEN_BEDROCK` lub generowanie bearer tokena z łańcucha poświadczeń IAM
|
||||
- Region: `AWS_REGION` lub `AWS_DEFAULT_REGION` (domyślnie: `us-east-1`)
|
||||
## Pierwsze kroki
|
||||
|
||||
Wybierz preferowaną metodę uwierzytelniania i wykonaj kroki konfiguracji.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Jawny bearer token">
|
||||
**Najlepsze dla:** środowisk, w których masz już bearer token Mantle.
|
||||
|
||||
<Steps>
|
||||
<Step title="Ustaw bearer token na hoście Gateway">
|
||||
```bash
|
||||
export AWS_BEARER_TOKEN_BEDROCK="..."
|
||||
```
|
||||
|
||||
Opcjonalnie ustaw region (domyślnie `us-east-1`):
|
||||
|
||||
```bash
|
||||
export AWS_REGION="us-west-2"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są wykrywane">
|
||||
```bash
|
||||
openclaw models list
|
||||
```
|
||||
|
||||
Wykryte modele pojawiają się pod dostawcą `amazon-bedrock-mantle`. Nie jest
|
||||
wymagana dodatkowa konfiguracja, chyba że chcesz nadpisać ustawienia domyślne.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Poświadczenia IAM">
|
||||
**Najlepsze dla:** używania poświadczeń zgodnych z AWS SDK (współdzielona konfiguracja, SSO, tożsamość webowa, role instancji lub zadań).
|
||||
|
||||
<Steps>
|
||||
<Step title="Skonfiguruj poświadczenia AWS na hoście Gateway">
|
||||
Działa dowolne źródło uwierzytelniania zgodne z AWS SDK:
|
||||
|
||||
```bash
|
||||
export AWS_PROFILE="default"
|
||||
export AWS_REGION="us-west-2"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są wykrywane">
|
||||
```bash
|
||||
openclaw models list
|
||||
```
|
||||
|
||||
OpenClaw automatycznie generuje bearer token Mantle z łańcucha poświadczeń.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Tip>
|
||||
Gdy `AWS_BEARER_TOKEN_BEDROCK` nie jest ustawione, OpenClaw sam generuje bearer token z domyślnego łańcucha poświadczeń AWS, w tym współdzielonych profili poświadczeń/konfiguracji, SSO, tożsamości webowej oraz ról instancji lub zadań.
|
||||
</Tip>
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Automatyczne wykrywanie modeli
|
||||
|
||||
Gdy ustawiono `AWS_BEARER_TOKEN_BEDROCK`, OpenClaw używa go bezpośrednio. W przeciwnym razie
|
||||
Gdy `AWS_BEARER_TOKEN_BEDROCK` jest ustawione, OpenClaw używa go bezpośrednio. W przeciwnym razie
|
||||
OpenClaw próbuje wygenerować bearer token Mantle z domyślnego
|
||||
łańcucha poświadczeń AWS, w tym współdzielonych profili credentials/config, SSO, web
|
||||
identity oraz ról instancji lub zadań. Następnie wykrywa dostępne modele Mantle
|
||||
przez odpytywanie endpointu `/v1/models` dla danego regionu. Wyniki wykrywania są
|
||||
przechowywane w cache przez 1 godzinę, a bearery tokeny pochodzące z IAM są odświeżane co godzinę.
|
||||
łańcucha poświadczeń AWS. Następnie wykrywa dostępne modele Mantle, wysyłając zapytanie do
|
||||
endpointu `/v1/models` dla danego regionu.
|
||||
|
||||
Obsługiwane regiony: `us-east-1`, `us-east-2`, `us-west-2`, `ap-northeast-1`,
|
||||
| Zachowanie | Szczegóły |
|
||||
| ---------------- | -------------------------- |
|
||||
| Pamięć podręczna wykrywania | Wyniki buforowane przez 1 godzinę |
|
||||
| Odświeżanie tokenu IAM | Co godzinę |
|
||||
|
||||
<Note>
|
||||
Bearer token to ten sam `AWS_BEARER_TOKEN_BEDROCK`, którego używa standardowy dostawca [Amazon Bedrock](/pl/providers/bedrock).
|
||||
</Note>
|
||||
|
||||
### Obsługiwane regiony
|
||||
|
||||
`us-east-1`, `us-east-2`, `us-west-2`, `ap-northeast-1`,
|
||||
`ap-south-1`, `ap-southeast-3`, `eu-central-1`, `eu-west-1`, `eu-west-2`,
|
||||
`eu-south-1`, `eu-north-1`, `sa-east-1`.
|
||||
|
||||
## Onboarding
|
||||
|
||||
1. Wybierz jedną ścieżkę auth na **hoście gatewaya**:
|
||||
|
||||
Jawny bearer token:
|
||||
|
||||
```bash
|
||||
export AWS_BEARER_TOKEN_BEDROCK="..."
|
||||
# Opcjonalnie (domyślnie `us-east-1`):
|
||||
export AWS_REGION="us-west-2"
|
||||
```
|
||||
|
||||
Poświadczenia IAM:
|
||||
|
||||
```bash
|
||||
# Działa tutaj dowolne źródło auth zgodne z AWS SDK, na przykład:
|
||||
export AWS_PROFILE="default"
|
||||
export AWS_REGION="us-west-2"
|
||||
```
|
||||
|
||||
2. Zweryfikuj, że modele zostały wykryte:
|
||||
|
||||
```bash
|
||||
openclaw models list
|
||||
```
|
||||
|
||||
Wykryte modele pojawią się pod providerem `amazon-bedrock-mantle`. Nie jest
|
||||
wymagana dodatkowa konfiguracja, chyba że chcesz nadpisać wartości domyślne.
|
||||
|
||||
## Konfiguracja ręczna
|
||||
|
||||
Jeśli wolisz jawną konfigurację zamiast automatycznego wykrywania:
|
||||
@ -99,13 +139,46 @@ Jeśli wolisz jawną konfigurację zamiast automatycznego wykrywania:
|
||||
}
|
||||
```
|
||||
|
||||
## Uwagi
|
||||
## Uwagi zaawansowane
|
||||
|
||||
- OpenClaw może wygenerować bearer token Mantle za Ciebie z poświadczeń IAM
|
||||
zgodnych z AWS SDK, gdy `AWS_BEARER_TOKEN_BEDROCK` nie jest ustawiony.
|
||||
- Bearer token to ten sam `AWS_BEARER_TOKEN_BEDROCK`, którego używa standardowy
|
||||
provider [Amazon Bedrock](/pl/providers/bedrock).
|
||||
- Obsługa reasoning jest wywnioskowana z identyfikatorów modeli zawierających wzorce takie jak
|
||||
`thinking`, `reasoner` lub `gpt-oss-120b`.
|
||||
- Jeśli endpoint Mantle jest niedostępny lub nie zwraca modeli, provider jest
|
||||
pomijany bezgłośnie.
|
||||
<AccordionGroup>
|
||||
<Accordion title="Obsługa rozumowania">
|
||||
Obsługa rozumowania jest wywnioskowana z identyfikatorów modeli zawierających wzorce takie jak
|
||||
`thinking`, `reasoner` lub `gpt-oss-120b`. OpenClaw automatycznie ustawia `reasoning: true`
|
||||
dla pasujących modeli podczas wykrywania.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Niedostępność endpointu">
|
||||
Jeśli endpoint Mantle jest niedostępny lub nie zwraca modeli, dostawca jest
|
||||
po cichu pomijany. OpenClaw nie zgłasza błędu; inni skonfigurowani dostawcy
|
||||
nadal działają normalnie.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Relacja z dostawcą Amazon Bedrock">
|
||||
Bedrock Mantle to oddzielny dostawca względem standardowego
|
||||
dostawcy [Amazon Bedrock](/pl/providers/bedrock). Mantle używa
|
||||
kompatybilnej z OpenAI powierzchni `/v1`, podczas gdy standardowy dostawca Bedrock używa
|
||||
natywnego API Bedrock.
|
||||
|
||||
Obaj dostawcy współdzielą te same poświadczenia `AWS_BEARER_TOKEN_BEDROCK`, gdy
|
||||
są dostępne.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Amazon Bedrock" href="/pl/providers/bedrock" icon="cloud">
|
||||
Natywny dostawca Bedrock dla Anthropic Claude, Titan i innych modeli.
|
||||
</Card>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="OAuth i uwierzytelnianie" href="/pl/gateway/authentication" icon="key">
|
||||
Szczegóły uwierzytelniania i zasady ponownego użycia poświadczeń.
|
||||
</Card>
|
||||
<Card title="Rozwiązywanie problemów" href="/pl/help/troubleshooting" icon="wrench">
|
||||
Typowe problemy i sposoby ich rozwiązania.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,171 +1,208 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać modeli Amazon Bedrock z OpenClaw
|
||||
- Potrzebujesz konfiguracji poświadczeń/regionu AWS do wywołań modeli
|
||||
- Potrzebujesz konfiguracji poświadczeń AWS i regionu do wywołań modeli
|
||||
summary: Używaj modeli Amazon Bedrock (Converse API) z OpenClaw
|
||||
title: Amazon Bedrock
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T03:11:26Z"
|
||||
generated_at: "2026-04-12T23:29:40Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 70bb29fe9199084b1179ced60935b5908318f5b80ced490bf44a45e0467c4929
|
||||
source_hash: 88e7e24907ec26af098b648e2eeca32add090a9e381c818693169ab80aeccc47
|
||||
source_path: providers/bedrock.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Amazon Bedrock
|
||||
|
||||
OpenClaw może używać modeli **Amazon Bedrock** przez provider strumieniowy **Bedrock Converse**
|
||||
z pi‑ai. Uwierzytelnianie Bedrock używa **domyślnego łańcucha poświadczeń AWS SDK**,
|
||||
a nie klucza API.
|
||||
OpenClaw może używać modeli **Amazon Bedrock** przez dostawcę strumieniowego **Bedrock Converse** z pi-ai. Uwierzytelnianie Bedrock używa **domyślnego łańcucha poświadczeń AWS SDK**, a nie klucza API.
|
||||
|
||||
## Co obsługuje pi-ai
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | ------------------------------------------------------------ |
|
||||
| Dostawca | `amazon-bedrock` |
|
||||
| API | `bedrock-converse-stream` |
|
||||
| Uwierzytelnianie | Poświadczenia AWS (zmienne środowiskowe, współdzielona konfiguracja lub rola instancji) |
|
||||
| Region | `AWS_REGION` lub `AWS_DEFAULT_REGION` (domyślnie: `us-east-1`) |
|
||||
|
||||
- Provider: `amazon-bedrock`
|
||||
- API: `bedrock-converse-stream`
|
||||
- Auth: poświadczenia AWS (zmienne środowiskowe, współdzielona konfiguracja lub rola instancji)
|
||||
- Region: `AWS_REGION` lub `AWS_DEFAULT_REGION` (domyślnie: `us-east-1`)
|
||||
## Pierwsze kroki
|
||||
|
||||
Wybierz preferowaną metodę uwierzytelniania i wykonaj kroki konfiguracji.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Klucze dostępu / zmienne środowiskowe">
|
||||
**Najlepsze do:** maszyn deweloperskich, CI lub hostów, na których bezpośrednio zarządzasz poświadczeniami AWS.
|
||||
|
||||
<Steps>
|
||||
<Step title="Ustaw poświadczenia AWS na hoście Gateway">
|
||||
```bash
|
||||
export AWS_ACCESS_KEY_ID="AKIA..."
|
||||
export AWS_SECRET_ACCESS_KEY="..."
|
||||
export AWS_REGION="us-east-1"
|
||||
# Opcjonalnie:
|
||||
export AWS_SESSION_TOKEN="..."
|
||||
export AWS_PROFILE="your-profile"
|
||||
# Opcjonalnie (klucz API/token bearer Bedrock):
|
||||
export AWS_BEARER_TOKEN_BEDROCK="..."
|
||||
```
|
||||
</Step>
|
||||
<Step title="Dodaj dostawcę Bedrock i model do swojej konfiguracji">
|
||||
`apiKey` nie jest wymagany. Skonfiguruj dostawcę z `auth: "aws-sdk"`:
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
"amazon-bedrock": {
|
||||
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
|
||||
api: "bedrock-converse-stream",
|
||||
auth: "aws-sdk",
|
||||
models: [
|
||||
{
|
||||
id: "us.anthropic.claude-opus-4-6-v1:0",
|
||||
name: "Claude Opus 4.6 (Bedrock)",
|
||||
reasoning: true,
|
||||
input: ["text", "image"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 200000,
|
||||
maxTokens: 8192,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "amazon-bedrock/us.anthropic.claude-opus-4-6-v1:0" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są dostępne">
|
||||
```bash
|
||||
openclaw models list
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Tip>
|
||||
Przy uwierzytelnianiu opartym na znacznikach środowiskowych (`AWS_ACCESS_KEY_ID`, `AWS_PROFILE` lub `AWS_BEARER_TOKEN_BEDROCK`) OpenClaw automatycznie włącza niejawnnego dostawcę Bedrock do wykrywania modeli bez dodatkowej konfiguracji.
|
||||
</Tip>
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Role instancji EC2 (IMDS)">
|
||||
**Najlepsze do:** instancji EC2 z przypisaną rolą IAM, używających usługi metadanych instancji do uwierzytelniania.
|
||||
|
||||
<Steps>
|
||||
<Step title="Włącz wykrywanie jawnie">
|
||||
Przy korzystaniu z IMDS OpenClaw nie może wykryć uwierzytelniania AWS tylko na podstawie znaczników środowiskowych, więc musisz jawnie się zapisać:
|
||||
|
||||
```bash
|
||||
openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
|
||||
openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
|
||||
```
|
||||
</Step>
|
||||
<Step title="Opcjonalnie dodaj znacznik środowiskowy dla trybu auto">
|
||||
Jeśli chcesz też, aby działała ścieżka automatycznego wykrywania oparta na znacznikach środowiskowych (na przykład dla powierzchni `openclaw status`):
|
||||
|
||||
```bash
|
||||
export AWS_PROFILE=default
|
||||
export AWS_REGION=us-east-1
|
||||
```
|
||||
|
||||
Nie potrzebujesz fałszywego klucza API.
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są wykrywane">
|
||||
```bash
|
||||
openclaw models list
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Warning>
|
||||
Rola IAM przypisana do Twojej instancji EC2 musi mieć następujące uprawnienia:
|
||||
|
||||
- `bedrock:InvokeModel`
|
||||
- `bedrock:InvokeModelWithResponseStream`
|
||||
- `bedrock:ListFoundationModels` (dla automatycznego wykrywania)
|
||||
- `bedrock:ListInferenceProfiles` (dla wykrywania profili inferencji)
|
||||
|
||||
Albo przypnij zarządzaną politykę `AmazonBedrockFullAccess`.
|
||||
</Warning>
|
||||
|
||||
<Note>
|
||||
`AWS_PROFILE=default` jest potrzebne tylko wtedy, gdy konkretnie chcesz mieć znacznik środowiskowy dla trybu auto lub powierzchni statusu. Faktyczna ścieżka uwierzytelniania środowiska wykonawczego Bedrock używa domyślnego łańcucha AWS SDK, więc uwierzytelnianie rolą instancji przez IMDS działa nawet bez znaczników środowiskowych.
|
||||
</Note>
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Automatyczne wykrywanie modeli
|
||||
|
||||
OpenClaw może automatycznie wykrywać modele Bedrock, które obsługują **streaming**
|
||||
i **wyjście tekstowe**. Wykrywanie używa `bedrock:ListFoundationModels` oraz
|
||||
`bedrock:ListInferenceProfiles`, a wyniki są przechowywane w cache (domyślnie: 1 godzina).
|
||||
OpenClaw może automatycznie wykrywać modele Bedrock obsługujące **streaming**
|
||||
i **wyjście tekstowe**. Wykrywanie używa `bedrock:ListFoundationModels` i
|
||||
`bedrock:ListInferenceProfiles`, a wyniki są cache’owane (domyślnie: 1 godzina).
|
||||
|
||||
Jak włączany jest niejawny provider:
|
||||
Jak włączany jest niejawny dostawca:
|
||||
|
||||
- Jeśli `plugins.entries.amazon-bedrock.config.discovery.enabled` ma wartość `true`,
|
||||
OpenClaw spróbuje wykrywania nawet wtedy, gdy nie ma żadnego znacznika środowiskowego AWS.
|
||||
- Jeśli `plugins.entries.amazon-bedrock.config.discovery.enabled` nie jest ustawione,
|
||||
OpenClaw automatycznie dodaje
|
||||
niejawnego providera Bedrock tylko wtedy, gdy widzi jeden z tych znaczników auth AWS:
|
||||
niejawnego dostawcę Bedrock tylko wtedy, gdy widzi jeden z tych znaczników uwierzytelniania AWS:
|
||||
`AWS_BEARER_TOKEN_BEDROCK`, `AWS_ACCESS_KEY_ID` +
|
||||
`AWS_SECRET_ACCESS_KEY` lub `AWS_PROFILE`.
|
||||
- Rzeczywista ścieżka auth Bedrock w runtime nadal używa domyślnego łańcucha AWS SDK, więc
|
||||
współdzielona konfiguracja, SSO oraz auth roli instancji IMDS mogą działać nawet wtedy, gdy wykrywanie
|
||||
wymagało ustawienia `enabled: true`, aby się włączyć.
|
||||
- Faktyczna ścieżka uwierzytelniania środowiska wykonawczego Bedrock nadal używa domyślnego łańcucha AWS SDK, więc
|
||||
współdzielona konfiguracja, SSO i uwierzytelnianie rolą instancji IMDS mogą działać nawet wtedy, gdy do wykrywania
|
||||
trzeba było jawnie ustawić `enabled: true`.
|
||||
|
||||
Opcje konfiguracji znajdują się pod `plugins.entries.amazon-bedrock.config.discovery`:
|
||||
<Note>
|
||||
Dla jawnych wpisów `models.providers["amazon-bedrock"]` OpenClaw nadal może wcześnie rozwiązywać uwierzytelnianie Bedrock oparte na znacznikach środowiskowych z takich znaczników AWS jak `AWS_BEARER_TOKEN_BEDROCK`, bez wymuszania pełnego ładowania uwierzytelniania środowiska wykonawczego. Faktyczna ścieżka uwierzytelniania wywołań modelu nadal używa domyślnego łańcucha AWS SDK.
|
||||
</Note>
|
||||
|
||||
```json5
|
||||
{
|
||||
plugins: {
|
||||
entries: {
|
||||
"amazon-bedrock": {
|
||||
config: {
|
||||
discovery: {
|
||||
enabled: true,
|
||||
region: "us-east-1",
|
||||
providerFilter: ["anthropic", "amazon"],
|
||||
refreshInterval: 3600,
|
||||
defaultContextWindow: 32000,
|
||||
defaultMaxTokens: 4096,
|
||||
<AccordionGroup>
|
||||
<Accordion title="Opcje konfiguracji wykrywania">
|
||||
Opcje konfiguracji znajdują się pod `plugins.entries.amazon-bedrock.config.discovery`:
|
||||
|
||||
```json5
|
||||
{
|
||||
plugins: {
|
||||
entries: {
|
||||
"amazon-bedrock": {
|
||||
config: {
|
||||
discovery: {
|
||||
enabled: true,
|
||||
region: "us-east-1",
|
||||
providerFilter: ["anthropic", "amazon"],
|
||||
refreshInterval: 3600,
|
||||
defaultContextWindow: 32000,
|
||||
defaultMaxTokens: 4096,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
Uwagi:
|
||||
| Opcja | Domyślnie | Opis |
|
||||
| ------ | --------- | ---- |
|
||||
| `enabled` | auto | W trybie auto OpenClaw włącza niejawnego dostawcę Bedrock tylko wtedy, gdy widzi obsługiwany znacznik środowiskowy AWS. Ustaw `true`, aby wymusić wykrywanie. |
|
||||
| `region` | `AWS_REGION` / `AWS_DEFAULT_REGION` / `us-east-1` | Region AWS używany do wywołań API wykrywania. |
|
||||
| `providerFilter` | (wszystkie) | Dopasowuje nazwy dostawców Bedrock (na przykład `anthropic`, `amazon`). |
|
||||
| `refreshInterval` | `3600` | Czas trwania cache w sekundach. Ustaw `0`, aby wyłączyć cache. |
|
||||
| `defaultContextWindow` | `32000` | Okno kontekstu używane dla wykrytych modeli (nadpisz, jeśli znasz limity swojego modelu). |
|
||||
| `defaultMaxTokens` | `4096` | Maksymalna liczba tokenów wyjściowych używana dla wykrytych modeli (nadpisz, jeśli znasz limity swojego modelu). |
|
||||
|
||||
- `enabled` domyślnie działa w trybie auto. W trybie auto OpenClaw włącza
|
||||
niejawnego providera Bedrock tylko wtedy, gdy widzi obsługiwany znacznik środowiskowy AWS.
|
||||
- `region` domyślnie używa `AWS_REGION` lub `AWS_DEFAULT_REGION`, a następnie `us-east-1`.
|
||||
- `providerFilter` dopasowuje nazwy providerów Bedrock (na przykład `anthropic`).
|
||||
- `refreshInterval` podaje się w sekundach; ustaw `0`, aby wyłączyć cache.
|
||||
- `defaultContextWindow` (domyślnie: `32000`) i `defaultMaxTokens` (domyślnie: `4096`)
|
||||
są używane dla wykrytych modeli (nadpisz je, jeśli znasz limity swojego modelu).
|
||||
- Dla jawnych wpisów `models.providers["amazon-bedrock"]` OpenClaw nadal może
|
||||
wcześnie rozwiązać auth znaczników środowiskowych Bedrock z takich znaczników AWS jak
|
||||
`AWS_BEARER_TOKEN_BEDROCK`, bez wymuszania pełnego ładowania auth w runtime. Rzeczywista
|
||||
ścieżka auth dla wywołań modeli nadal używa domyślnego łańcucha AWS SDK.
|
||||
|
||||
## Onboarding
|
||||
|
||||
1. Upewnij się, że poświadczenia AWS są dostępne na **hoście gatewaya**:
|
||||
|
||||
```bash
|
||||
export AWS_ACCESS_KEY_ID="AKIA..."
|
||||
export AWS_SECRET_ACCESS_KEY="..."
|
||||
export AWS_REGION="us-east-1"
|
||||
# Opcjonalnie:
|
||||
export AWS_SESSION_TOKEN="..."
|
||||
export AWS_PROFILE="your-profile"
|
||||
# Opcjonalnie (klucz API/token bearer Bedrock):
|
||||
export AWS_BEARER_TOKEN_BEDROCK="..."
|
||||
```
|
||||
|
||||
2. Dodaj providera Bedrock i model do swojej konfiguracji (bez wymaganego `apiKey`):
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
"amazon-bedrock": {
|
||||
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
|
||||
api: "bedrock-converse-stream",
|
||||
auth: "aws-sdk",
|
||||
models: [
|
||||
{
|
||||
id: "us.anthropic.claude-opus-4-6-v1:0",
|
||||
name: "Claude Opus 4.6 (Bedrock)",
|
||||
reasoning: true,
|
||||
input: ["text", "image"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 200000,
|
||||
maxTokens: 8192,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "amazon-bedrock/us.anthropic.claude-opus-4-6-v1:0" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
## Role instancji EC2
|
||||
|
||||
Gdy OpenClaw działa na instancji EC2 z dołączoną rolą IAM, AWS SDK
|
||||
może używać usługi metadanych instancji (IMDS) do uwierzytelniania. W przypadku wykrywania modeli Bedrock
|
||||
OpenClaw automatycznie włącza niejawnego providera tylko na podstawie znaczników środowiskowych AWS,
|
||||
chyba że jawnie ustawisz
|
||||
`plugins.entries.amazon-bedrock.config.discovery.enabled: true`.
|
||||
|
||||
Zalecana konfiguracja dla hostów opartych na IMDS:
|
||||
|
||||
- Ustaw `plugins.entries.amazon-bedrock.config.discovery.enabled` na `true`.
|
||||
- Ustaw `plugins.entries.amazon-bedrock.config.discovery.region` (lub wyeksportuj `AWS_REGION`).
|
||||
- **Nie** potrzebujesz fałszywego klucza API.
|
||||
- `AWS_PROFILE=default` potrzebujesz tylko wtedy, gdy chcesz mieć znacznik środowiskowy
|
||||
dla trybu auto lub powierzchni statusu.
|
||||
|
||||
```bash
|
||||
# Zalecane: jawne włączenie wykrywania + region
|
||||
openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
|
||||
openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
|
||||
|
||||
# Opcjonalnie: dodaj znacznik środowiskowy, jeśli chcesz używać trybu auto bez jawnego włączenia
|
||||
export AWS_PROFILE=default
|
||||
export AWS_REGION=us-east-1
|
||||
```
|
||||
|
||||
**Wymagane uprawnienia IAM** dla roli instancji EC2:
|
||||
|
||||
- `bedrock:InvokeModel`
|
||||
- `bedrock:InvokeModelWithResponseStream`
|
||||
- `bedrock:ListFoundationModels` (dla automatycznego wykrywania)
|
||||
- `bedrock:ListInferenceProfiles` (dla wykrywania profili inferencyjnych)
|
||||
|
||||
Lub dołącz zarządzaną politykę `AmazonBedrockFullAccess`.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Szybka konfiguracja (ścieżka AWS)
|
||||
|
||||
Ten przewodnik tworzy rolę IAM, przypina uprawnienia Bedrock, wiąże
|
||||
profil instancji i włącza wykrywanie OpenClaw na hoście EC2.
|
||||
|
||||
```bash
|
||||
# 1. Utwórz rolę IAM i profil instancji
|
||||
aws iam create-role --role-name EC2-Bedrock-Access \
|
||||
@ -186,124 +223,144 @@ aws iam add-role-to-instance-profile \
|
||||
--instance-profile-name EC2-Bedrock-Access \
|
||||
--role-name EC2-Bedrock-Access
|
||||
|
||||
# 2. Dołącz do swojej instancji EC2
|
||||
# 2. Przypnij do swojej instancji EC2
|
||||
aws ec2 associate-iam-instance-profile \
|
||||
--instance-id i-xxxxx \
|
||||
--iam-instance-profile Name=EC2-Bedrock-Access
|
||||
|
||||
# 3. Na instancji EC2 jawnie włącz wykrywanie
|
||||
# 3. Na instancji EC2 włącz wykrywanie jawnie
|
||||
openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
|
||||
openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
|
||||
|
||||
# 4. Opcjonalnie: dodaj znacznik środowiskowy, jeśli chcesz używać trybu auto bez jawnego włączenia
|
||||
# 4. Opcjonalnie: dodaj znacznik środowiskowy, jeśli chcesz tryb auto bez jawnego włączenia
|
||||
echo 'export AWS_PROFILE=default' >> ~/.bashrc
|
||||
echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
|
||||
# 5. Zweryfikuj, że modele zostały wykryte
|
||||
# 5. Sprawdź, czy modele są wykrywane
|
||||
openclaw models list
|
||||
```
|
||||
|
||||
## Profile inferencyjne
|
||||
## Konfiguracja zaawansowana
|
||||
|
||||
OpenClaw wykrywa **regionalne i globalne profile inferencyjne** obok
|
||||
modeli foundation. Gdy profil mapuje się na znany model foundation,
|
||||
profil dziedziczy możliwości tego modelu (okno kontekstu, maksymalna liczba tokenów,
|
||||
reasoning, vision), a poprawny region żądania Bedrock jest wstrzykiwany
|
||||
automatycznie. Oznacza to, że międzyregionalne profile Claude działają bez ręcznego
|
||||
nadpisywania providera.
|
||||
<AccordionGroup>
|
||||
<Accordion title="Profile inferencji">
|
||||
OpenClaw wykrywa **regionalne i globalne profile inferencji** razem z
|
||||
modelami bazowymi. Gdy profil mapuje się na znany model bazowy,
|
||||
profil dziedziczy możliwości tego modelu (okno kontekstu, maksymalna liczba tokenów,
|
||||
reasoning, vision), a poprawny region żądania Bedrock jest wstrzykiwany
|
||||
automatycznie. Oznacza to, że międzyregionalne profile Claude działają bez ręcznych
|
||||
nadpisań dostawcy.
|
||||
|
||||
Identyfikatory profili inferencyjnych wyglądają jak `us.anthropic.claude-opus-4-6-v1:0` (regionalny)
|
||||
lub `anthropic.claude-opus-4-6-v1:0` (globalny). Jeśli model bazowy jest już
|
||||
obecny w wynikach wykrywania, profil dziedziczy pełny zestaw jego możliwości;
|
||||
w przeciwnym razie stosowane są bezpieczne wartości domyślne.
|
||||
Identyfikatory profili inferencji wyglądają jak `us.anthropic.claude-opus-4-6-v1:0` (regionalne)
|
||||
albo `anthropic.claude-opus-4-6-v1:0` (globalne). Jeśli model bazowy jest już
|
||||
obecny w wynikach wykrywania, profil dziedziczy jego pełny zestaw możliwości;
|
||||
w przeciwnym razie stosowane są bezpieczne wartości domyślne.
|
||||
|
||||
Nie jest wymagana dodatkowa konfiguracja. Dopóki wykrywanie jest włączone, a podmiot IAM
|
||||
ma uprawnienie `bedrock:ListInferenceProfiles`, profile pojawiają się obok
|
||||
modeli foundation w `openclaw models list`.
|
||||
Nie jest potrzebna dodatkowa konfiguracja. O ile wykrywanie jest włączone, a podmiot IAM
|
||||
ma uprawnienie `bedrock:ListInferenceProfiles`, profile pojawiają się obok
|
||||
modeli bazowych w `openclaw models list`.
|
||||
|
||||
## Uwagi
|
||||
</Accordion>
|
||||
|
||||
- Bedrock wymaga **włączonego dostępu do modeli** na Twoim koncie/regionie AWS.
|
||||
- Automatyczne wykrywanie wymaga uprawnień `bedrock:ListFoundationModels` oraz
|
||||
`bedrock:ListInferenceProfiles`.
|
||||
- Jeśli polegasz na trybie auto, ustaw jeden z obsługiwanych znaczników środowiskowych auth AWS na
|
||||
hoście gatewaya. Jeśli wolisz auth IMDS/współdzielonej konfiguracji bez znaczników środowiskowych, ustaw
|
||||
`plugins.entries.amazon-bedrock.config.discovery.enabled: true`.
|
||||
- OpenClaw pokazuje źródło poświadczeń w tej kolejności: `AWS_BEARER_TOKEN_BEDROCK`,
|
||||
następnie `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`, potem `AWS_PROFILE`, a następnie
|
||||
domyślny łańcuch AWS SDK.
|
||||
- Obsługa reasoning zależy od modelu; sprawdź kartę modelu Bedrock pod kątem
|
||||
bieżących możliwości.
|
||||
- Jeśli wolisz zarządzany przepływ kluczy, możesz także umieścić zgodne z OpenAI
|
||||
proxy przed Bedrock i skonfigurować je zamiast tego jako providera OpenAI.
|
||||
<Accordion title="Guardrails">
|
||||
Możesz zastosować [Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html)
|
||||
do wszystkich wywołań modeli Bedrock, dodając obiekt `guardrail` do
|
||||
konfiguracji Plugin `amazon-bedrock`. Guardrails pozwalają wymuszać filtrowanie treści,
|
||||
blokowanie tematów, filtry słów, filtry informacji wrażliwych oraz kontrole
|
||||
ugruntowania kontekstowego.
|
||||
|
||||
## Guardrails
|
||||
|
||||
Możesz stosować [Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html)
|
||||
do wszystkich wywołań modeli Bedrock, dodając obiekt `guardrail` do
|
||||
konfiguracji pluginu `amazon-bedrock`. Guardrails pozwalają egzekwować filtrowanie treści,
|
||||
blokowanie tematów, filtry słów, filtry informacji wrażliwych i kontrole
|
||||
oparcia kontekstowego.
|
||||
|
||||
```json5
|
||||
{
|
||||
plugins: {
|
||||
entries: {
|
||||
"amazon-bedrock": {
|
||||
config: {
|
||||
guardrail: {
|
||||
guardrailIdentifier: "abc123", // guardrail ID or full ARN
|
||||
guardrailVersion: "1", // version number or "DRAFT"
|
||||
streamProcessingMode: "sync", // optional: "sync" or "async"
|
||||
trace: "enabled", // optional: "enabled", "disabled", or "enabled_full"
|
||||
```json5
|
||||
{
|
||||
plugins: {
|
||||
entries: {
|
||||
"amazon-bedrock": {
|
||||
config: {
|
||||
guardrail: {
|
||||
guardrailIdentifier: "abc123", // ID guardrail lub pełny ARN
|
||||
guardrailVersion: "1", // numer wersji lub "DRAFT"
|
||||
streamProcessingMode: "sync", // opcjonalnie: "sync" lub "async"
|
||||
trace: "enabled", // opcjonalnie: "enabled", "disabled" lub "enabled_full"
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
- `guardrailIdentifier` (wymagane) akceptuje identyfikator guardrail (np. `abc123`) lub
|
||||
pełny ARN (np. `arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123`).
|
||||
- `guardrailVersion` (wymagane) określa, której opublikowanej wersji użyć, albo
|
||||
`"DRAFT"` dla roboczej wersji.
|
||||
- `streamProcessingMode` (opcjonalne) kontroluje, czy ocena guardrail działa
|
||||
synchronicznie (`"sync"`) czy asynchronicznie (`"async"`) podczas streamingu. Jeśli
|
||||
zostanie pominięte, Bedrock użyje swojego domyślnego zachowania.
|
||||
- `trace` (opcjonalne) włącza ślad guardrail w odpowiedzi API. Ustaw na
|
||||
`"enabled"` lub `"enabled_full"` do debugowania; pomiń albo ustaw `"disabled"` w
|
||||
środowisku produkcyjnym.
|
||||
| Opcja | Wymagana | Opis |
|
||||
| ------ | -------- | ---- |
|
||||
| `guardrailIdentifier` | Tak | ID guardrail (np. `abc123`) lub pełny ARN (np. `arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123`). |
|
||||
| `guardrailVersion` | Tak | Numer opublikowanej wersji lub `"DRAFT"` dla wersji roboczej. |
|
||||
| `streamProcessingMode` | Nie | `"sync"` lub `"async"` dla oceny guardrail podczas streamingu. Jeśli pominięte, Bedrock używa wartości domyślnej. |
|
||||
| `trace` | Nie | `"enabled"` lub `"enabled_full"` do debugowania; w środowisku produkcyjnym pomiń albo ustaw `"disabled"`. |
|
||||
|
||||
Podmiot IAM używany przez gateway musi mieć uprawnienie `bedrock:ApplyGuardrail`
|
||||
oprócz standardowych uprawnień wywołań.
|
||||
<Warning>
|
||||
Podmiot IAM używany przez Gateway musi mieć uprawnienie `bedrock:ApplyGuardrail` oprócz standardowych uprawnień wywołania.
|
||||
</Warning>
|
||||
|
||||
## Embeddingi do wyszukiwania pamięci
|
||||
</Accordion>
|
||||
|
||||
Bedrock może również służyć jako provider embeddingów dla
|
||||
[wyszukiwania pamięci](/pl/concepts/memory-search). To ustawia się osobno od
|
||||
providera inferencji — ustaw `agents.defaults.memorySearch.provider` na `"bedrock"`:
|
||||
<Accordion title="Embeddingi do wyszukiwania pamięci">
|
||||
Bedrock może też służyć jako dostawca embeddingów dla
|
||||
[wyszukiwania pamięci](/pl/concepts/memory-search). Konfiguruje się to oddzielnie od
|
||||
dostawcy inferencji — ustaw `agents.defaults.memorySearch.provider` na `"bedrock"`:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
memorySearch: {
|
||||
provider: "bedrock",
|
||||
model: "amazon.titan-embed-text-v2:0", // default
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
memorySearch: {
|
||||
provider: "bedrock",
|
||||
model: "amazon.titan-embed-text-v2:0", // domyślnie
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
Embeddingi Bedrock używają tego samego łańcucha poświadczeń AWS SDK co inferencja (role
|
||||
instancji, SSO, klucze dostępu, współdzielona konfiguracja i web identity). Klucz API nie
|
||||
jest potrzebny. Gdy `provider` ma wartość `"auto"`, Bedrock jest wykrywany automatycznie, jeśli ten
|
||||
łańcuch poświadczeń zostanie pomyślnie rozwiązany.
|
||||
Embeddingi Bedrock używają tego samego łańcucha poświadczeń AWS SDK co inferencja (role
|
||||
instancji, SSO, klucze dostępu, współdzielona konfiguracja i web identity). Klucz API
|
||||
nie jest potrzebny. Gdy `provider` ma wartość `"auto"`, Bedrock jest wykrywany automatycznie, jeśli ten
|
||||
łańcuch poświadczeń zostanie pomyślnie rozwiązany.
|
||||
|
||||
Obsługiwane modele embeddingów obejmują Amazon Titan Embed (v1, v2), Amazon Nova
|
||||
Embed, Cohere Embed (v3, v4) oraz TwelveLabs Marengo. Zobacz
|
||||
[Dokumentacja konfiguracji pamięci — Bedrock](/pl/reference/memory-config#bedrock-embedding-config),
|
||||
aby uzyskać pełną listę modeli i opcji wymiarów.
|
||||
Obsługiwane modele embeddingów obejmują Amazon Titan Embed (v1, v2), Amazon Nova
|
||||
Embed, Cohere Embed (v3, v4) oraz TwelveLabs Marengo. Pełną listę modeli i opcje wymiarów znajdziesz w
|
||||
[referencji konfiguracji pamięci -- Bedrock](/pl/reference/memory-config#bedrock-embedding-config).
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Uwagi i zastrzeżenia">
|
||||
- Bedrock wymaga włączenia **dostępu do modelu** w Twoim koncie/regionie AWS.
|
||||
- Automatyczne wykrywanie wymaga uprawnień `bedrock:ListFoundationModels` i
|
||||
`bedrock:ListInferenceProfiles`.
|
||||
- Jeśli polegasz na trybie auto, ustaw na
|
||||
hoście Gateway jeden z obsługiwanych znaczników środowiskowych uwierzytelniania AWS. Jeśli wolisz uwierzytelnianie IMDS/współdzieloną konfiguracją bez znaczników środowiskowych, ustaw
|
||||
`plugins.entries.amazon-bedrock.config.discovery.enabled: true`.
|
||||
- OpenClaw pokazuje źródło poświadczeń w tej kolejności: `AWS_BEARER_TOKEN_BEDROCK`,
|
||||
następnie `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`, potem `AWS_PROFILE`, a na końcu
|
||||
domyślny łańcuch AWS SDK.
|
||||
- Obsługa reasoning zależy od modelu; sprawdź kartę modelu Bedrock, aby poznać
|
||||
aktualne możliwości.
|
||||
- Jeśli wolisz zarządzany przepływ kluczy, możesz też umieścić zgodne z OpenAI
|
||||
proxy przed Bedrock i zamiast tego skonfigurować je jako dostawcę OpenAI.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Wyszukiwanie pamięci" href="/pl/concepts/memory-search" icon="magnifying-glass">
|
||||
Konfiguracja embeddingów Bedrock dla wyszukiwania pamięci.
|
||||
</Card>
|
||||
<Card title="Referencja konfiguracji pamięci" href="/pl/reference/memory-config#bedrock-embedding-config" icon="database">
|
||||
Pełna lista modeli embeddingów Bedrock i opcje wymiarów.
|
||||
</Card>
|
||||
<Card title="Rozwiązywanie problemów" href="/pl/help/troubleshooting" icon="wrench">
|
||||
Ogólne rozwiązywanie problemów i FAQ.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -2,89 +2,108 @@
|
||||
read_when:
|
||||
- Chcesz używać Chutes z OpenClaw
|
||||
- Potrzebujesz ścieżki konfiguracji OAuth lub klucza API
|
||||
- Chcesz poznać model domyślny, aliasy lub zachowanie wykrywania
|
||||
- Chcesz poznać model domyślny, aliasy lub zachowanie wykrywania modeli
|
||||
summary: Konfiguracja Chutes (OAuth lub klucz API, wykrywanie modeli, aliasy)
|
||||
title: Chutes
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:02:27Z"
|
||||
generated_at: "2026-04-12T23:29:54Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: e275f32e7a19fa5b4c64ffabfb4bf116dd5c9ab95bfa25bd3b1a15d15e237674
|
||||
source_hash: 07c52b1d1d2792412e6daabc92df5310434b3520116d9e0fd2ad26bfa5297e1c
|
||||
source_path: providers/chutes.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Chutes
|
||||
|
||||
[Chutes](https://chutes.ai) udostępnia katalogi modeli open-source przez API
|
||||
zgodne z OpenAI. OpenClaw obsługuje zarówno OAuth przez przeglądarkę, jak i
|
||||
bezpośrednie uwierzytelnianie kluczem API dla dołączonego providera `chutes`.
|
||||
[Chutes](https://chutes.ai) udostępnia katalogi modeli open source przez API
|
||||
zgodne z OpenAI. OpenClaw obsługuje zarówno OAuth w przeglądarce, jak i
|
||||
bezpośrednie uwierzytelnianie kluczem API dla dołączonego dostawcy `chutes`.
|
||||
|
||||
- Provider: `chutes`
|
||||
- API: zgodne z OpenAI
|
||||
- Base URL: `https://llm.chutes.ai/v1`
|
||||
- Uwierzytelnianie:
|
||||
- OAuth przez `openclaw onboard --auth-choice chutes`
|
||||
- Klucz API przez `openclaw onboard --auth-choice chutes-api-key`
|
||||
- Zmienne env runtime: `CHUTES_API_KEY`, `CHUTES_OAUTH_TOKEN`
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | -------------------------- |
|
||||
| Dostawca | `chutes` |
|
||||
| API | zgodne z OpenAI |
|
||||
| Bazowy URL | `https://llm.chutes.ai/v1` |
|
||||
| Uwierzytelnianie | OAuth lub klucz API (zobacz poniżej) |
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
### OAuth
|
||||
<Tabs>
|
||||
<Tab title="OAuth">
|
||||
<Steps>
|
||||
<Step title="Uruchom przepływ onboarding OAuth">
|
||||
```bash
|
||||
openclaw onboard --auth-choice chutes
|
||||
```
|
||||
OpenClaw uruchamia lokalnie przepływ w przeglądarce albo pokazuje URL + przepływ
|
||||
wklejenia przekierowania na hostach zdalnych lub bezgłowych. Tokeny OAuth są automatycznie
|
||||
odświeżane przez profile uwierzytelniania OpenClaw.
|
||||
</Step>
|
||||
<Step title="Zweryfikuj model domyślny">
|
||||
Po onboardingu model domyślny jest ustawiany na
|
||||
`chutes/zai-org/GLM-4.7-TEE`, a dołączony katalog Chutes zostaje
|
||||
zarejestrowany.
|
||||
</Step>
|
||||
</Steps>
|
||||
</Tab>
|
||||
<Tab title="Klucz API">
|
||||
<Steps>
|
||||
<Step title="Pobierz klucz API">
|
||||
Utwórz klucz na
|
||||
[chutes.ai/settings/api-keys](https://chutes.ai/settings/api-keys).
|
||||
</Step>
|
||||
<Step title="Uruchom przepływ onboarding klucza API">
|
||||
```bash
|
||||
openclaw onboard --auth-choice chutes-api-key
|
||||
```
|
||||
</Step>
|
||||
<Step title="Zweryfikuj model domyślny">
|
||||
Po onboardingu model domyślny jest ustawiany na
|
||||
`chutes/zai-org/GLM-4.7-TEE`, a dołączony katalog Chutes zostaje
|
||||
zarejestrowany.
|
||||
</Step>
|
||||
</Steps>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice chutes
|
||||
```
|
||||
|
||||
OpenClaw uruchamia lokalnie przepływ przez przeglądarkę albo pokazuje URL + przepływ
|
||||
wklejania przekierowania na hostach zdalnych/headless. Tokeny OAuth są automatycznie odświeżane przez profile
|
||||
auth OpenClaw.
|
||||
|
||||
Opcjonalne nadpisania OAuth:
|
||||
|
||||
- `CHUTES_CLIENT_ID`
|
||||
- `CHUTES_CLIENT_SECRET`
|
||||
- `CHUTES_OAUTH_REDIRECT_URI`
|
||||
- `CHUTES_OAUTH_SCOPES`
|
||||
|
||||
### Klucz API
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice chutes-api-key
|
||||
```
|
||||
|
||||
Pobierz swój klucz na
|
||||
[chutes.ai/settings/api-keys](https://chutes.ai/settings/api-keys).
|
||||
|
||||
Obie ścieżki uwierzytelniania rejestrują dołączony katalog Chutes i ustawiają model domyślny
|
||||
na `chutes/zai-org/GLM-4.7-TEE`.
|
||||
<Note>
|
||||
Obie ścieżki uwierzytelniania rejestrują dołączony katalog Chutes i ustawiają model domyślny na
|
||||
`chutes/zai-org/GLM-4.7-TEE`. Zmienne środowiskowe runtime: `CHUTES_API_KEY`,
|
||||
`CHUTES_OAUTH_TOKEN`.
|
||||
</Note>
|
||||
|
||||
## Zachowanie wykrywania
|
||||
|
||||
Gdy dostępne jest uwierzytelnianie Chutes, OpenClaw odpytuje katalog Chutes przy użyciu tych
|
||||
poświadczeń i korzysta z wykrytych modeli. Jeśli wykrywanie się nie powiedzie, OpenClaw wraca
|
||||
do dołączonego statycznego katalogu, aby onboarding i start nadal działały.
|
||||
Gdy uwierzytelnianie Chutes jest dostępne, OpenClaw odpytuje katalog Chutes przy użyciu
|
||||
tych poświadczeń i korzysta z wykrytych modeli. Jeśli wykrywanie się nie powiedzie, OpenClaw
|
||||
przechodzi do dołączonego statycznego katalogu zapasowego, dzięki czemu onboarding i uruchamianie
|
||||
nadal działają.
|
||||
|
||||
## Domyślne aliasy
|
||||
|
||||
OpenClaw rejestruje też trzy wygodne aliasy dla dołączonego katalogu Chutes:
|
||||
OpenClaw rejestruje trzy wygodne aliasy dla dołączonego katalogu Chutes:
|
||||
|
||||
- `chutes-fast` -> `chutes/zai-org/GLM-4.7-FP8`
|
||||
- `chutes-pro` -> `chutes/deepseek-ai/DeepSeek-V3.2-TEE`
|
||||
- `chutes-vision` -> `chutes/chutesai/Mistral-Small-3.2-24B-Instruct-2506`
|
||||
| Alias | Model docelowy |
|
||||
| --------------- | ----------------------------------------------------- |
|
||||
| `chutes-fast` | `chutes/zai-org/GLM-4.7-FP8` |
|
||||
| `chutes-pro` | `chutes/deepseek-ai/DeepSeek-V3.2-TEE` |
|
||||
| `chutes-vision` | `chutes/chutesai/Mistral-Small-3.2-24B-Instruct-2506` |
|
||||
|
||||
## Wbudowany katalog startowy
|
||||
|
||||
Dołączony katalog fallback zawiera bieżące referencje Chutes, takie jak:
|
||||
Dołączony katalog zapasowy obejmuje bieżące referencje Chutes:
|
||||
|
||||
- `chutes/zai-org/GLM-4.7-TEE`
|
||||
- `chutes/zai-org/GLM-5-TEE`
|
||||
- `chutes/deepseek-ai/DeepSeek-V3.2-TEE`
|
||||
- `chutes/deepseek-ai/DeepSeek-R1-0528-TEE`
|
||||
- `chutes/moonshotai/Kimi-K2.5-TEE`
|
||||
- `chutes/chutesai/Mistral-Small-3.2-24B-Instruct-2506`
|
||||
- `chutes/Qwen/Qwen3-Coder-Next-TEE`
|
||||
- `chutes/openai/gpt-oss-120b-TEE`
|
||||
| Ref modelu |
|
||||
| ----------------------------------------------------- |
|
||||
| `chutes/zai-org/GLM-4.7-TEE` |
|
||||
| `chutes/zai-org/GLM-5-TEE` |
|
||||
| `chutes/deepseek-ai/DeepSeek-V3.2-TEE` |
|
||||
| `chutes/deepseek-ai/DeepSeek-R1-0528-TEE` |
|
||||
| `chutes/moonshotai/Kimi-K2.5-TEE` |
|
||||
| `chutes/chutesai/Mistral-Small-3.2-24B-Instruct-2506` |
|
||||
| `chutes/Qwen/Qwen3-Coder-Next-TEE` |
|
||||
| `chutes/openai/gpt-oss-120b-TEE` |
|
||||
|
||||
## Przykład konfiguracji
|
||||
|
||||
@ -102,8 +121,42 @@ Dołączony katalog fallback zawiera bieżące referencje Chutes, takie jak:
|
||||
}
|
||||
```
|
||||
|
||||
## Uwagi
|
||||
<AccordionGroup>
|
||||
<Accordion title="Nadpisania OAuth">
|
||||
Możesz dostosować przepływ OAuth za pomocą opcjonalnych zmiennych środowiskowych:
|
||||
|
||||
- Pomoc OAuth i wymagania aplikacji przekierowania: [dokumentacja OAuth Chutes](https://chutes.ai/docs/sign-in-with-chutes/overview)
|
||||
- Wykrywanie klucza API i OAuth używa tego samego identyfikatora providera `chutes`.
|
||||
- Modele Chutes są rejestrowane jako `chutes/<model-id>`.
|
||||
| Zmienna | Cel |
|
||||
| -------- | ------- |
|
||||
| `CHUTES_CLIENT_ID` | Niestandardowy identyfikator klienta OAuth |
|
||||
| `CHUTES_CLIENT_SECRET` | Niestandardowy sekret klienta OAuth |
|
||||
| `CHUTES_OAUTH_REDIRECT_URI` | Niestandardowy URI przekierowania |
|
||||
| `CHUTES_OAUTH_SCOPES` | Niestandardowe zakresy OAuth |
|
||||
|
||||
Zobacz [dokumentację OAuth Chutes](https://chutes.ai/docs/sign-in-with-chutes/overview),
|
||||
aby poznać wymagania dotyczące aplikacji przekierowującej i uzyskać pomoc.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Uwagi">
|
||||
- Wykrywanie przy użyciu klucza API i OAuth używa tego samego identyfikatora dostawcy `chutes`.
|
||||
- Modele Chutes są rejestrowane jako `chutes/<model-id>`.
|
||||
- Jeśli wykrywanie nie powiedzie się przy uruchamianiu, dołączony statyczny katalog jest używany automatycznie.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Dostawcy modeli" href="/pl/concepts/model-providers" icon="layers">
|
||||
Reguły dostawców, referencje modeli i zachowanie failover.
|
||||
</Card>
|
||||
<Card title="Dokumentacja konfiguracji" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełny schemat konfiguracji, w tym ustawienia dostawców.
|
||||
</Card>
|
||||
<Card title="Chutes" href="https://chutes.ai" icon="arrow-up-right-from-square">
|
||||
Panel Chutes i dokumentacja API.
|
||||
</Card>
|
||||
<Card title="Klucze API Chutes" href="https://chutes.ai/settings/api-keys" icon="key">
|
||||
Tworzenie i zarządzanie kluczami API Chutes.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,170 +1,197 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać subskrypcji Claude Max z narzędziami zgodnymi z OpenAI
|
||||
- Chcesz lokalnego serwera API, który opakowuje Claude Code CLI
|
||||
- Chcesz ocenić dostęp do Anthropic oparty na subskrypcji vs na kluczu API
|
||||
summary: Społecznościowy proxy wystawiający poświadczenia subskrypcji Claude jako endpoint zgodny z OpenAI
|
||||
title: Claude Max API Proxy
|
||||
- Chcesz lokalnego serwera API, który opakowuje CLI Claude Code
|
||||
- Chcesz ocenić dostęp do Anthropic oparty na subskrypcji w porównaniu z dostępem opartym na kluczu API
|
||||
summary: Społecznościowy serwer proxy do udostępniania poświadczeń subskrypcji Claude jako endpointu zgodnego z OpenAI
|
||||
title: Serwer proxy API Claude Max
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:02:41Z"
|
||||
generated_at: "2026-04-12T23:30:06Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 2e125a6a46e48371544adf1331137a1db51e93e905b8c44da482cf2fba180a09
|
||||
source_hash: 534bc3d189e68529fb090258eb0d6db6d367eb7e027ad04b1f0be55f6aa7d889
|
||||
source_path: providers/claude-max-api-proxy.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Claude Max API Proxy
|
||||
# Serwer proxy API Claude Max
|
||||
|
||||
**claude-max-api-proxy** to narzędzie społecznościowe, które wystawia twoją subskrypcję Claude Max/Pro jako endpoint API zgodny z OpenAI. Dzięki temu możesz używać swojej subskrypcji z dowolnym narzędziem obsługującym format OpenAI API.
|
||||
**claude-max-api-proxy** to narzędzie społecznościowe, które udostępnia Twoją subskrypcję Claude Max/Pro jako endpoint API zgodny z OpenAI. Dzięki temu możesz używać swojej subskrypcji z dowolnym narzędziem obsługującym format API OpenAI.
|
||||
|
||||
<Warning>
|
||||
Ta ścieżka zapewnia wyłącznie zgodność techniczną. Anthropic w przeszłości blokował część użycia subskrypcji
|
||||
poza Claude Code. Musisz samodzielnie zdecydować, czy chcesz z tego korzystać,
|
||||
i sprawdzić aktualne warunki Anthropic, zanim zaczniesz na tym polegać.
|
||||
poza Claude Code. Musisz samodzielnie zdecydować, czy chcesz z niej korzystać,
|
||||
i sprawdzić aktualne warunki Anthropic, zanim zaczniesz na niej polegać.
|
||||
</Warning>
|
||||
|
||||
## Dlaczego warto tego używać?
|
||||
## Dlaczego warto z tego korzystać?
|
||||
|
||||
| Approach | Cost | Best For |
|
||||
| ----------------------- | --------------------------------------------------- | ------------------------------------------ |
|
||||
| Anthropic API | Płatność za token (~$15/M wejścia, $75/M wyjścia dla Opus) | Aplikacje produkcyjne, duży wolumen |
|
||||
| Claude Max subscription | $200/miesiąc stałej opłaty | Użycie osobiste, development, nielimitowane użycie |
|
||||
| Podejście | Koszt | Najlepsze dla |
|
||||
| ------------------------ | --------------------------------------------------- | ------------------------------------------ |
|
||||
| API Anthropic | Płatność za token (~15 USD/M wejścia, 75 USD/M wyjścia dla Opus) | Aplikacje produkcyjne, duży wolumen |
|
||||
| Subskrypcja Claude Max | Stała opłata 200 USD/miesiąc | Użytek osobisty, rozwój, nieograniczone użycie |
|
||||
|
||||
Jeśli masz subskrypcję Claude Max i chcesz używać jej z narzędziami zgodnymi z OpenAI, ten proxy może obniżyć koszty w niektórych przepływach pracy. Klucze API pozostają bardziej jednoznaczną ścieżką polityki dla użycia produkcyjnego.
|
||||
Jeśli masz subskrypcję Claude Max i chcesz używać jej z narzędziami zgodnymi z OpenAI, ten serwer proxy może obniżyć koszty w niektórych przepływach pracy. Klucze API pozostają wyraźniej zgodną z zasadami ścieżką dla zastosowań produkcyjnych.
|
||||
|
||||
## Jak to działa
|
||||
|
||||
```
|
||||
Twoja aplikacja → claude-max-api-proxy → Claude Code CLI → Anthropic (przez subskrypcję)
|
||||
(format OpenAI) (konwersja formatu) (używa twojego logowania)
|
||||
Twoja aplikacja → claude-max-api-proxy → CLI Claude Code → Anthropic (przez subskrypcję)
|
||||
(format OpenAI) (konwersja formatu) (używa Twojego logowania)
|
||||
```
|
||||
|
||||
Ten proxy:
|
||||
Serwer proxy:
|
||||
|
||||
1. Akceptuje żądania w formacie OpenAI pod `http://localhost:3456/v1/chat/completions`
|
||||
2. Konwertuje je do poleceń Claude Code CLI
|
||||
3. Zwraca odpowiedzi w formacie OpenAI (streaming jest obsługiwany)
|
||||
1. Przyjmuje żądania w formacie OpenAI pod adresem `http://localhost:3456/v1/chat/completions`
|
||||
2. Konwertuje je na polecenia CLI Claude Code
|
||||
3. Zwraca odpowiedzi w formacie OpenAI (obsługiwane jest przesyłanie strumieniowe)
|
||||
|
||||
## Instalacja
|
||||
## Pierwsze kroki
|
||||
|
||||
```bash
|
||||
# Wymaga Node.js 20+ i Claude Code CLI
|
||||
npm install -g claude-max-api-proxy
|
||||
<Steps>
|
||||
<Step title="Zainstaluj serwer proxy">
|
||||
Wymaga Node.js 20+ oraz CLI Claude Code.
|
||||
|
||||
# Zweryfikuj, że Claude CLI jest uwierzytelnione
|
||||
claude --version
|
||||
```
|
||||
```bash
|
||||
npm install -g claude-max-api-proxy
|
||||
|
||||
## Użycie
|
||||
# Sprawdź, czy CLI Claude jest uwierzytelnione
|
||||
claude --version
|
||||
```
|
||||
|
||||
### Uruchom serwer
|
||||
</Step>
|
||||
<Step title="Uruchom serwer">
|
||||
```bash
|
||||
claude-max-api
|
||||
# Serwer działa pod adresem http://localhost:3456
|
||||
```
|
||||
</Step>
|
||||
<Step title="Przetestuj serwer proxy">
|
||||
```bash
|
||||
# Kontrola stanu
|
||||
curl http://localhost:3456/health
|
||||
|
||||
```bash
|
||||
claude-max-api
|
||||
# Serwer działa pod http://localhost:3456
|
||||
```
|
||||
# Lista modeli
|
||||
curl http://localhost:3456/v1/models
|
||||
|
||||
### Przetestuj go
|
||||
# Uzupełnianie czatu
|
||||
curl http://localhost:3456/v1/chat/completions \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "claude-opus-4",
|
||||
"messages": [{"role": "user", "content": "Hello!"}]
|
||||
}'
|
||||
```
|
||||
|
||||
```bash
|
||||
# Kontrola stanu
|
||||
curl http://localhost:3456/health
|
||||
</Step>
|
||||
<Step title="Skonfiguruj OpenClaw">
|
||||
Skieruj OpenClaw na serwer proxy jako niestandardowy endpoint zgodny z OpenAI:
|
||||
|
||||
# Lista modeli
|
||||
curl http://localhost:3456/v1/models
|
||||
```json5
|
||||
{
|
||||
env: {
|
||||
OPENAI_API_KEY: "not-needed",
|
||||
OPENAI_BASE_URL: "http://localhost:3456/v1",
|
||||
},
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "openai/claude-opus-4" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
# Uzupełnianie czatu
|
||||
curl http://localhost:3456/v1/chat/completions \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "claude-opus-4",
|
||||
"messages": [{"role": "user", "content": "Hello!"}]
|
||||
}'
|
||||
```
|
||||
|
||||
### Z OpenClaw
|
||||
|
||||
Możesz skierować OpenClaw na ten proxy jako niestandardowy endpoint zgodny z OpenAI:
|
||||
|
||||
```json5
|
||||
{
|
||||
env: {
|
||||
OPENAI_API_KEY: "not-needed",
|
||||
OPENAI_BASE_URL: "http://localhost:3456/v1",
|
||||
},
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "openai/claude-opus-4" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Ta ścieżka używa tej samej trasy proxy w stylu OpenAI-compatible co inne niestandardowe
|
||||
backendy `/v1`:
|
||||
|
||||
- natywne kształtowanie żądań tylko dla OpenAI nie ma zastosowania
|
||||
- brak `service_tier`, brak Responses `store`, brak wskazówek cache promptów i brak
|
||||
kształtowania payloadów zgodności rozumowania OpenAI
|
||||
- ukryte nagłówki atrybucji OpenClaw (`originator`, `version`, `User-Agent`)
|
||||
nie są wstrzykiwane dla URL proxy
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Dostępne modele
|
||||
|
||||
| Model ID | Maps To |
|
||||
| ----------------- | --------------- |
|
||||
| `claude-opus-4` | Claude Opus 4 |
|
||||
| `claude-sonnet-4` | Claude Sonnet 4 |
|
||||
| `claude-haiku-4` | Claude Haiku 4 |
|
||||
| Identyfikator modelu | Mapowanie do |
|
||||
| -------------------- | ---------------- |
|
||||
| `claude-opus-4` | Claude Opus 4 |
|
||||
| `claude-sonnet-4` | Claude Sonnet 4 |
|
||||
| `claude-haiku-4` | Claude Haiku 4 |
|
||||
|
||||
## Automatyczne uruchamianie na macOS
|
||||
## Zaawansowane
|
||||
|
||||
Utwórz LaunchAgent, aby automatycznie uruchamiać proxy:
|
||||
<AccordionGroup>
|
||||
<Accordion title="Uwagi o stylu proxy zgodnym z OpenAI">
|
||||
Ta ścieżka używa tej samej trasy proxy zgodnej z OpenAI co inne niestandardowe
|
||||
backendy `/v1`:
|
||||
|
||||
```bash
|
||||
cat > ~/Library/LaunchAgents/com.claude-max-api.plist << 'EOF'
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>com.claude-max-api</string>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/usr/local/bin/node</string>
|
||||
<string>/usr/local/lib/node_modules/claude-max-api-proxy/dist/server/standalone.js</string>
|
||||
</array>
|
||||
<key>EnvironmentVariables</key>
|
||||
<dict>
|
||||
<key>PATH</key>
|
||||
<string>/usr/local/bin:/opt/homebrew/bin:~/.local/bin:/usr/bin:/bin</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
EOF
|
||||
- Natywne kształtowanie żądań tylko dla OpenAI nie ma tu zastosowania
|
||||
- Brak `service_tier`, brak `store` w Responses, brak wskazówek prompt-cache i brak
|
||||
kształtowania ładunku zgodności rozumowania OpenAI
|
||||
- Ukryte nagłówki atrybucji OpenClaw (`originator`, `version`, `User-Agent`)
|
||||
nie są wstrzykiwane do adresu URL serwera proxy
|
||||
|
||||
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.claude-max-api.plist
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Automatyczne uruchamianie na macOS za pomocą LaunchAgent">
|
||||
Utwórz LaunchAgent, aby automatycznie uruchamiać serwer proxy:
|
||||
|
||||
```bash
|
||||
cat > ~/Library/LaunchAgents/com.claude-max-api.plist << 'EOF'
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>com.claude-max-api</string>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/usr/local/bin/node</string>
|
||||
<string>/usr/local/lib/node_modules/claude-max-api-proxy/dist/server/standalone.js</string>
|
||||
</array>
|
||||
<key>EnvironmentVariables</key>
|
||||
<dict>
|
||||
<key>PATH</key>
|
||||
<string>/usr/local/bin:/opt/homebrew/bin:~/.local/bin:/usr/bin:/bin</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
EOF
|
||||
|
||||
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.claude-max-api.plist
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Linki
|
||||
|
||||
- **npm:** [https://www.npmjs.com/package/claude-max-api-proxy](https://www.npmjs.com/package/claude-max-api-proxy)
|
||||
- **GitHub:** [https://github.com/atalovesyou/claude-max-api-proxy](https://github.com/atalovesyou/claude-max-api-proxy)
|
||||
- **Issues:** [https://github.com/atalovesyou/claude-max-api-proxy/issues](https://github.com/atalovesyou/claude-max-api-proxy/issues)
|
||||
- **Zgłoszenia:** [https://github.com/atalovesyou/claude-max-api-proxy/issues](https://github.com/atalovesyou/claude-max-api-proxy/issues)
|
||||
|
||||
## Uwagi
|
||||
|
||||
- To **narzędzie społecznościowe**, oficjalnie niewspierane przez Anthropic ani OpenClaw
|
||||
- Wymaga aktywnej subskrypcji Claude Max/Pro z uwierzytelnionym Claude Code CLI
|
||||
- Proxy działa lokalnie i nie wysyła danych do żadnych serwerów firm trzecich
|
||||
- To **narzędzie społecznościowe**, nie jest oficjalnie wspierane przez Anthropic ani OpenClaw
|
||||
- Wymaga aktywnej subskrypcji Claude Max/Pro z uwierzytelnionym CLI Claude Code
|
||||
- Serwer proxy działa lokalnie i nie wysyła danych do żadnych serwerów zewnętrznych
|
||||
- Odpowiedzi strumieniowe są w pełni obsługiwane
|
||||
|
||||
## Zobacz także
|
||||
<Note>
|
||||
Aby używać natywnej integracji Anthropic z CLI Claude lub kluczami API, zobacz [dostawca Anthropic](/pl/providers/anthropic). W przypadku subskrypcji OpenAI/Codex zobacz [dostawca OpenAI](/pl/providers/openai).
|
||||
</Note>
|
||||
|
||||
- [Provider Anthropic](/providers/anthropic) - Natywna integracja OpenClaw z Claude CLI lub kluczami API
|
||||
- [Provider OpenAI](/providers/openai) - Dla subskrypcji OpenAI/Codex
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Anthropic provider" href="/pl/providers/anthropic" icon="bolt">
|
||||
Natywna integracja OpenClaw z CLI Claude lub kluczami API.
|
||||
</Card>
|
||||
<Card title="OpenAI provider" href="/pl/providers/openai" icon="robot">
|
||||
Dla subskrypcji OpenAI/Codex.
|
||||
</Card>
|
||||
<Card title="Model providers" href="/pl/concepts/model-providers" icon="layers">
|
||||
Omówienie wszystkich dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Configuration" href="/pl/gateway/configuration" icon="gear">
|
||||
Pełna dokumentacja konfiguracji.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,51 +1,71 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać Cloudflare AI Gateway z OpenClaw
|
||||
- Potrzebujesz ID konta, ID gateway albo zmiennej env klucza API
|
||||
summary: Konfiguracja Cloudflare AI Gateway (auth + wybór modelu)
|
||||
- Potrzebujesz identyfikatora konta, identyfikatora Gateway lub zmiennej środowiskowej klucza API
|
||||
summary: Konfiguracja Cloudflare AI Gateway (uwierzytelnianie + wybór modelu)
|
||||
title: Cloudflare AI Gateway
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:02:34Z"
|
||||
generated_at: "2026-04-12T23:30:18Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: db77652c37652ca20f7c50f32382dbaeaeb50ea5bdeaf1d4fd17dc394e58950c
|
||||
source_hash: 12e9589fe74e6a6335370b9cf2361a464876a392a33f8317d7fd30c3f163b2e5
|
||||
source_path: providers/cloudflare-ai-gateway.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Cloudflare AI Gateway
|
||||
|
||||
Cloudflare AI Gateway działa przed API providerów i pozwala dodać analitykę, cache oraz kontrolę. W przypadku Anthropic OpenClaw używa Anthropic Messages API przez endpoint Twojej Gateway.
|
||||
Cloudflare AI Gateway znajduje się przed API dostawców i umożliwia dodanie analityki, cache oraz mechanizmów kontrolnych. W przypadku Anthropic OpenClaw używa Anthropic Messages API przez endpoint Twojego Gateway.
|
||||
|
||||
- Provider: `cloudflare-ai-gateway`
|
||||
- Base URL: `https://gateway.ai.cloudflare.com/v1/<account_id>/<gateway_id>/anthropic`
|
||||
- Model domyślny: `cloudflare-ai-gateway/claude-sonnet-4-5`
|
||||
- Klucz API: `CLOUDFLARE_AI_GATEWAY_API_KEY` (Twój klucz API providera dla żądań przechodzących przez Gateway)
|
||||
| Właściwość | Wartość |
|
||||
| ------------ | --------------------------------------------------------------------------------------- |
|
||||
| Dostawca | `cloudflare-ai-gateway` |
|
||||
| Bazowy URL | `https://gateway.ai.cloudflare.com/v1/<account_id>/<gateway_id>/anthropic` |
|
||||
| Model domyślny | `cloudflare-ai-gateway/claude-sonnet-4-5` |
|
||||
| Klucz API | `CLOUDFLARE_AI_GATEWAY_API_KEY` (Twój klucz API dostawcy dla żądań przez Gateway) |
|
||||
|
||||
Dla modeli Anthropic użyj swojego klucza API Anthropic.
|
||||
<Note>
|
||||
W przypadku modeli Anthropic routowanych przez Cloudflare AI Gateway używaj swojego **klucza API Anthropic** jako klucza dostawcy.
|
||||
</Note>
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Ustaw klucz API providera i szczegóły Gateway:
|
||||
<Steps>
|
||||
<Step title="Ustaw klucz API dostawcy i szczegóły Gateway">
|
||||
Uruchom onboarding i wybierz opcję uwierzytelniania Cloudflare AI Gateway:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice cloudflare-ai-gateway-api-key
|
||||
```
|
||||
```bash
|
||||
openclaw onboard --auth-choice cloudflare-ai-gateway-api-key
|
||||
```
|
||||
|
||||
2. Ustaw model domyślny:
|
||||
To poprosi o identyfikator konta, identyfikator Gateway i klucz API.
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "cloudflare-ai-gateway/claude-sonnet-4-5" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
Dodaj model do swojej konfiguracji OpenClaw:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "cloudflare-ai-gateway/claude-sonnet-4-5" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider cloudflare-ai-gateway
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Przykład nieinteraktywny
|
||||
|
||||
W przypadku konfiguracji skryptowych lub CI przekaż wszystkie wartości w wierszu poleceń:
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--mode local \
|
||||
@ -55,24 +75,49 @@ openclaw onboard --non-interactive \
|
||||
--cloudflare-ai-gateway-api-key "$CLOUDFLARE_AI_GATEWAY_API_KEY"
|
||||
```
|
||||
|
||||
## Gateway z uwierzytelnianiem
|
||||
## Konfiguracja zaawansowana
|
||||
|
||||
Jeśli włączyłeś uwierzytelnianie Gateway w Cloudflare, dodaj nagłówek `cf-aig-authorization` (oprócz klucza API providera).
|
||||
<AccordionGroup>
|
||||
<Accordion title="Gateway z uwierzytelnianiem">
|
||||
Jeśli włączyłeś uwierzytelnianie Gateway w Cloudflare, dodaj nagłówek `cf-aig-authorization`. Jest to **dodatkowe** względem klucza API dostawcy.
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
"cloudflare-ai-gateway": {
|
||||
headers: {
|
||||
"cf-aig-authorization": "Bearer <cloudflare-ai-gateway-token>",
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
"cloudflare-ai-gateway": {
|
||||
headers: {
|
||||
"cf-aig-authorization": "Bearer <cloudflare-ai-gateway-token>",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
## Uwaga dotycząca środowiska
|
||||
<Tip>
|
||||
Nagłówek `cf-aig-authorization` uwierzytelnia wobec samego Cloudflare Gateway, podczas gdy klucz API dostawcy (na przykład Twój klucz Anthropic) uwierzytelnia wobec dostawcy upstream.
|
||||
</Tip>
|
||||
|
||||
Jeśli Gateway działa jako daemon (launchd/systemd), upewnij się, że `CLOUDFLARE_AI_GATEWAY_API_KEY` jest dostępny dla tego procesu (na przykład w `~/.openclaw/.env` albo przez `env.shellEnv`).
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Uwaga dotycząca środowiska">
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że `CLOUDFLARE_AI_GATEWAY_API_KEY` jest dostępny dla tego procesu.
|
||||
|
||||
<Warning>
|
||||
Klucz znajdujący się wyłącznie w `~/.profile` nie pomoże demonowi launchd/systemd, chyba że to środowisko również zostanie tam zaimportowane. Ustaw klucz w `~/.openclaw/.env` lub przez `env.shellEnv`, aby mieć pewność, że proces gateway może go odczytać.
|
||||
</Warning>
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, referencji modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Rozwiązywanie problemów" href="/pl/help/troubleshooting" icon="wrench">
|
||||
Ogólne rozwiązywanie problemów i FAQ.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,46 +1,174 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać lokalnych workflow ComfyUI z OpenClaw
|
||||
- Chcesz używać Comfy Cloud z workflow obrazów, wideo lub muzyki
|
||||
- Potrzebujesz kluczy konfiguracji dla wbudowanego pluginu comfy
|
||||
summary: Konfiguracja generowania obrazów, wideo i muzyki z workflow ComfyUI w OpenClaw
|
||||
- Chcesz używać lokalnych przepływów pracy ComfyUI z OpenClaw
|
||||
- Chcesz używać Comfy Cloud z przepływami pracy obrazów, wideo lub muzyki
|
||||
- Potrzebujesz kluczy konfiguracji bundlowego Pluginu comfy
|
||||
summary: Konfiguracja generowania obrazów, wideo i muzyki w przepływie pracy ComfyUI w OpenClaw
|
||||
title: ComfyUI
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T03:11:21Z"
|
||||
generated_at: "2026-04-12T23:30:29Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: e645f32efdffdf4cd498684f1924bb953a014d3656b48f4b503d64e38c61ba9c
|
||||
source_hash: 85db395b171f37f80b34b22f3e7707bffc1fd9138e7d10687eef13eaaa55cf24
|
||||
source_path: providers/comfy.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# ComfyUI
|
||||
|
||||
OpenClaw dostarcza wbudowany plugin `comfy` do uruchamiania ComfyUI sterowanego workflow.
|
||||
OpenClaw dostarcza bundlowy Plugin `comfy` do uruchamiania ComfyUI sterowanego przepływami pracy. Plugin jest w pełni sterowany przepływem pracy, więc OpenClaw nie próbuje mapować ogólnych ustawień `size`, `aspectRatio`, `resolution`, `durationSeconds` ani kontrolek w stylu TTS na Twój graf.
|
||||
|
||||
- Dostawca: `comfy`
|
||||
- Modele: `comfy/workflow`
|
||||
- Współdzielone powierzchnie: `image_generate`, `video_generate`, `music_generate`
|
||||
- Uwierzytelnianie: brak dla lokalnego ComfyUI; `COMFY_API_KEY` lub `COMFY_CLOUD_API_KEY` dla Comfy Cloud
|
||||
- API: ComfyUI `/prompt` / `/history` / `/view` oraz Comfy Cloud `/api/*`
|
||||
| Właściwość | Szczegóły |
|
||||
| ---------------- | -------------------------------------------------------------------------------- |
|
||||
| Dostawca | `comfy` |
|
||||
| Modele | `comfy/workflow` |
|
||||
| Wspólne powierzchnie | `image_generate`, `video_generate`, `music_generate` |
|
||||
| Auth | Brak dla lokalnego ComfyUI; `COMFY_API_KEY` lub `COMFY_CLOUD_API_KEY` dla Comfy Cloud |
|
||||
| API | ComfyUI `/prompt` / `/history` / `/view` oraz Comfy Cloud `/api/*` |
|
||||
|
||||
## Co jest obsługiwane
|
||||
|
||||
- Generowanie obrazów z pliku JSON workflow
|
||||
- Generowanie obrazów z JSON przepływu pracy
|
||||
- Edycja obrazów z 1 przesłanym obrazem referencyjnym
|
||||
- Generowanie wideo z pliku JSON workflow
|
||||
- Generowanie wideo z JSON przepływu pracy
|
||||
- Generowanie wideo z 1 przesłanym obrazem referencyjnym
|
||||
- Generowanie muzyki lub audio przez współdzielone narzędzie `music_generate`
|
||||
- Pobieranie wyników z skonfigurowanego node albo ze wszystkich pasujących node wyjściowych
|
||||
- Generowanie muzyki lub audio przez wspólne narzędzie `music_generate`
|
||||
- Pobieranie danych wyjściowych ze skonfigurowanego węzła lub ze wszystkich pasujących węzłów wyjściowych
|
||||
|
||||
Wbudowany plugin jest sterowany workflow, więc OpenClaw nie próbuje mapować ogólnych parametrów
|
||||
`size`, `aspectRatio`, `resolution`, `durationSeconds` ani ustawień w stylu TTS
|
||||
na Twój graf.
|
||||
## Pierwsze kroki
|
||||
|
||||
## Układ konfiguracji
|
||||
Wybierz między uruchamianiem ComfyUI na własnym komputerze a użyciem Comfy Cloud.
|
||||
|
||||
Comfy obsługuje współdzielone ustawienia połączenia na najwyższym poziomie oraz sekcje workflow
|
||||
dla poszczególnych zdolności:
|
||||
<Tabs>
|
||||
<Tab title="Lokalnie">
|
||||
**Najlepsze do:** uruchamiania własnej instancji ComfyUI na komputerze lub w sieci LAN.
|
||||
|
||||
<Steps>
|
||||
<Step title="Uruchom ComfyUI lokalnie">
|
||||
Upewnij się, że lokalna instancja ComfyUI jest uruchomiona (domyślnie `http://127.0.0.1:8188`).
|
||||
</Step>
|
||||
<Step title="Przygotuj JSON przepływu pracy">
|
||||
Wyeksportuj lub utwórz plik JSON przepływu pracy ComfyUI. Zanotuj identyfikatory węzłów dla węzła wejścia promptu i węzła wyjściowego, z którego OpenClaw ma odczytywać dane.
|
||||
</Step>
|
||||
<Step title="Skonfiguruj dostawcę">
|
||||
Ustaw `mode: "local"` i wskaż plik przepływu pracy. Oto minimalny przykład dla obrazu:
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
comfy: {
|
||||
mode: "local",
|
||||
baseUrl: "http://127.0.0.1:8188",
|
||||
image: {
|
||||
workflowPath: "./workflows/flux-api.json",
|
||||
promptNodeId: "6",
|
||||
outputNodeId: "9",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
Skieruj OpenClaw na model `comfy/workflow` dla skonfigurowanej capability:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
imageGenerationModel: {
|
||||
primary: "comfy/workflow",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Zweryfikuj">
|
||||
```bash
|
||||
openclaw models list --provider comfy
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Comfy Cloud">
|
||||
**Najlepsze do:** uruchamiania przepływów pracy w Comfy Cloud bez zarządzania lokalnymi zasobami GPU.
|
||||
|
||||
<Steps>
|
||||
<Step title="Pobierz klucz API">
|
||||
Zarejestruj się na [comfy.org](https://comfy.org) i wygeneruj klucz API w panelu konta.
|
||||
</Step>
|
||||
<Step title="Ustaw klucz API">
|
||||
Podaj klucz jedną z poniższych metod:
|
||||
|
||||
```bash
|
||||
# Zmienna środowiskowa (zalecane)
|
||||
export COMFY_API_KEY="your-key"
|
||||
|
||||
# Alternatywna zmienna środowiskowa
|
||||
export COMFY_CLOUD_API_KEY="your-key"
|
||||
|
||||
# Albo bezpośrednio w konfiguracji
|
||||
openclaw config set models.providers.comfy.apiKey "your-key"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Przygotuj JSON przepływu pracy">
|
||||
Wyeksportuj lub utwórz plik JSON przepływu pracy ComfyUI. Zanotuj identyfikatory węzłów dla węzła wejścia promptu i węzła wyjściowego.
|
||||
</Step>
|
||||
<Step title="Skonfiguruj dostawcę">
|
||||
Ustaw `mode: "cloud"` i wskaż plik przepływu pracy:
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
comfy: {
|
||||
mode: "cloud",
|
||||
image: {
|
||||
workflowPath: "./workflows/flux-api.json",
|
||||
promptNodeId: "6",
|
||||
outputNodeId: "9",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
<Tip>
|
||||
W trybie chmurowym `baseUrl` domyślnie ma wartość `https://cloud.comfy.org`. `baseUrl` trzeba ustawić tylko wtedy, gdy używasz niestandardowego endpointu chmurowego.
|
||||
</Tip>
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
imageGenerationModel: {
|
||||
primary: "comfy/workflow",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Zweryfikuj">
|
||||
```bash
|
||||
openclaw models list --provider comfy
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
Comfy obsługuje wspólne ustawienia połączenia najwyższego poziomu oraz sekcje przepływów pracy per capability (`image`, `video`, `music`):
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -70,139 +198,164 @@ dla poszczególnych zdolności:
|
||||
}
|
||||
```
|
||||
|
||||
Współdzielone klucze:
|
||||
### Wspólne klucze
|
||||
|
||||
- `mode`: `local` lub `cloud`
|
||||
- `baseUrl`: domyślnie `http://127.0.0.1:8188` dla trybu local lub `https://cloud.comfy.org` dla trybu cloud
|
||||
- `apiKey`: opcjonalna alternatywa dla klucza w zmiennych env
|
||||
- `allowPrivateNetwork`: zezwala na prywatny/LAN `baseUrl` w trybie cloud
|
||||
| Klucz | Typ | Opis |
|
||||
| --------------------- | ---------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| `mode` | `"local"` or `"cloud"` | Tryb połączenia. |
|
||||
| `baseUrl` | string | Domyślnie `http://127.0.0.1:8188` dla trybu lokalnego albo `https://cloud.comfy.org` dla trybu chmurowego. |
|
||||
| `apiKey` | string | Opcjonalny klucz podany bezpośrednio, alternatywa dla zmiennych env `COMFY_API_KEY` / `COMFY_CLOUD_API_KEY`. |
|
||||
| `allowPrivateNetwork` | boolean | Zezwala na prywatny/LAN `baseUrl` w trybie chmurowym. |
|
||||
|
||||
Klucze dla poszczególnych zdolności w `image`, `video` lub `music`:
|
||||
### Klucze per capability
|
||||
|
||||
- `workflow` lub `workflowPath`: wymagane
|
||||
- `promptNodeId`: wymagane
|
||||
- `promptInputName`: domyślnie `text`
|
||||
- `outputNodeId`: opcjonalne
|
||||
- `pollIntervalMs`: opcjonalne
|
||||
- `timeoutMs`: opcjonalne
|
||||
Te klucze obowiązują wewnątrz sekcji `image`, `video` albo `music`:
|
||||
|
||||
Sekcje obrazów i wideo obsługują także:
|
||||
| Klucz | Wymagane | Domyślnie | Opis |
|
||||
| ---------------------------- | -------- | --------- | ---------------------------------------------------------------------------- |
|
||||
| `workflow` lub `workflowPath` | Tak | -- | Ścieżka do pliku JSON przepływu pracy ComfyUI. |
|
||||
| `promptNodeId` | Tak | -- | Identyfikator węzła odbierającego prompt tekstowy. |
|
||||
| `promptInputName` | Nie | `"text"` | Nazwa wejścia w węźle promptu. |
|
||||
| `outputNodeId` | Nie | -- | Identyfikator węzła, z którego należy odczytać dane wyjściowe. Jeśli zostanie pominięty, używane są wszystkie pasujące węzły wyjściowe. |
|
||||
| `pollIntervalMs` | Nie | -- | Interwał odpytywania w milisekundach dla ukończenia zadania. |
|
||||
| `timeoutMs` | Nie | -- | Limit czasu w milisekundach dla uruchomienia przepływu pracy. |
|
||||
|
||||
- `inputImageNodeId`: wymagane, gdy przekazujesz obraz referencyjny
|
||||
- `inputImageInputName`: domyślnie `image`
|
||||
Sekcje `image` i `video` obsługują także:
|
||||
|
||||
## Zgodność wsteczna
|
||||
| Klucz | Wymagane | Domyślnie | Opis |
|
||||
| --------------------- | ------------------------------------- | --------- | -------------------------------------------------------- |
|
||||
| `inputImageNodeId` | Tak (przy przekazywaniu obrazu referencyjnego) | -- | Identyfikator węzła odbierającego przesłany obraz referencyjny. |
|
||||
| `inputImageInputName` | Nie | `"image"` | Nazwa wejścia w węźle obrazu. |
|
||||
|
||||
Istniejąca konfiguracja obrazu na najwyższym poziomie nadal działa:
|
||||
## Szczegóły przepływu pracy
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
comfy: {
|
||||
workflowPath: "./workflows/flux-api.json",
|
||||
promptNodeId: "6",
|
||||
outputNodeId: "9",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
<AccordionGroup>
|
||||
<Accordion title="Przepływy pracy obrazów">
|
||||
Ustaw domyślny model obrazu na `comfy/workflow`:
|
||||
|
||||
OpenClaw traktuje ten starszy kształt jako konfigurację workflow obrazu.
|
||||
|
||||
## Workflow obrazów
|
||||
|
||||
Ustaw domyślny model obrazu:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
imageGenerationModel: {
|
||||
primary: "comfy/workflow",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Przykład edycji z obrazem referencyjnym:
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
comfy: {
|
||||
image: {
|
||||
workflowPath: "./workflows/edit-api.json",
|
||||
promptNodeId: "6",
|
||||
inputImageNodeId: "7",
|
||||
inputImageInputName: "image",
|
||||
outputNodeId: "9",
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
imageGenerationModel: {
|
||||
primary: "comfy/workflow",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
## Workflow wideo
|
||||
**Przykład edycji z obrazem referencyjnym:**
|
||||
|
||||
Ustaw domyślny model wideo:
|
||||
Aby włączyć edycję obrazów z użyciem przesłanego obrazu referencyjnego, dodaj `inputImageNodeId` do konfiguracji obrazu:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "comfy/workflow",
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
comfy: {
|
||||
image: {
|
||||
workflowPath: "./workflows/edit-api.json",
|
||||
promptNodeId: "6",
|
||||
inputImageNodeId: "7",
|
||||
inputImageInputName: "image",
|
||||
outputNodeId: "9",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
Workflow wideo Comfy obecnie obsługują text-to-video i image-to-video przez
|
||||
skonfigurowany graf. OpenClaw nie przekazuje wejściowych plików wideo do workflow Comfy.
|
||||
</Accordion>
|
||||
|
||||
## Workflow muzyki
|
||||
<Accordion title="Przepływy pracy wideo">
|
||||
Ustaw domyślny model wideo na `comfy/workflow`:
|
||||
|
||||
Wbudowany plugin rejestruje dostawcę generowania muzyki dla wyjść audio lub muzycznych
|
||||
zdefiniowanych przez workflow, udostępnianego przez współdzielone narzędzie `music_generate`:
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "comfy/workflow",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
```text
|
||||
/tool music_generate prompt="Warm ambient synth loop with soft tape texture"
|
||||
```
|
||||
Przepływy pracy wideo Comfy obsługują text-to-video i image-to-video przez skonfigurowany graf.
|
||||
|
||||
Użyj sekcji konfiguracji `music`, aby wskazać plik JSON workflow audio i
|
||||
node wyjściowy.
|
||||
<Note>
|
||||
OpenClaw nie przekazuje wejściowych plików wideo do przepływów pracy Comfy. Jako dane wejściowe obsługiwane są tylko prompty tekstowe i pojedyncze obrazy referencyjne.
|
||||
</Note>
|
||||
|
||||
## Comfy Cloud
|
||||
</Accordion>
|
||||
|
||||
Użyj `mode: "cloud"` oraz jednego z poniższych:
|
||||
<Accordion title="Przepływy pracy muzyki">
|
||||
Bundlowy Plugin rejestruje dostawcę generowania muzyki dla wyjść audio lub muzyki zdefiniowanych w przepływie pracy, udostępnianych przez wspólne narzędzie `music_generate`:
|
||||
|
||||
- `COMFY_API_KEY`
|
||||
- `COMFY_CLOUD_API_KEY`
|
||||
- `models.providers.comfy.apiKey`
|
||||
```text
|
||||
/tool music_generate prompt="Ciepła ambientowa pętla syntezatorowa z miękką fakturą taśmy"
|
||||
```
|
||||
|
||||
Tryb cloud nadal używa tych samych sekcji workflow `image`, `video` i `music`.
|
||||
Użyj sekcji konfiguracji `music`, aby wskazać JSON przepływu pracy audio i węzeł wyjściowy.
|
||||
|
||||
## Testy live
|
||||
</Accordion>
|
||||
|
||||
Dla wbudowanego pluginu istnieje opcjonalne pokrycie live:
|
||||
<Accordion title="Zgodność wsteczna">
|
||||
Istniejąca konfiguracja obrazu najwyższego poziomu (bez zagnieżdżonej sekcji `image`) nadal działa:
|
||||
|
||||
```bash
|
||||
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts
|
||||
```
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
comfy: {
|
||||
workflowPath: "./workflows/flux-api.json",
|
||||
promptNodeId: "6",
|
||||
outputNodeId: "9",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Test live pomija poszczególne przypadki obrazów, wideo lub muzyki, jeśli odpowiadająca im
|
||||
sekcja workflow Comfy nie jest skonfigurowana.
|
||||
OpenClaw traktuje ten starszy kształt jako konfigurację przepływu pracy obrazu. Nie musisz migrować od razu, ale dla nowych konfiguracji zalecane są zagnieżdżone sekcje `image` / `video` / `music`.
|
||||
|
||||
<Tip>
|
||||
Jeśli używasz tylko generowania obrazów, starsza płaska konfiguracja i nowa zagnieżdżona sekcja `image` są funkcjonalnie równoważne.
|
||||
</Tip>
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Testy live">
|
||||
Dla bundlowego Pluginu istnieje opcjonalne pokrycie live:
|
||||
|
||||
```bash
|
||||
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts
|
||||
```
|
||||
|
||||
Test live pomija poszczególne przypadki obrazów, wideo lub muzyki, chyba że skonfigurowana jest odpowiadająca im sekcja przepływu pracy Comfy.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
- [Generowanie obrazów](/pl/tools/image-generation)
|
||||
- [Generowanie wideo](/tools/video-generation)
|
||||
- [Generowanie muzyki](/tools/music-generation)
|
||||
- [Katalog dostawców](/pl/providers/index)
|
||||
- [Dokumentacja konfiguracji](/pl/gateway/configuration-reference#agent-defaults)
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Generowanie obrazów" href="/pl/tools/image-generation" icon="image">
|
||||
Konfiguracja i użycie narzędzia do generowania obrazów.
|
||||
</Card>
|
||||
<Card title="Generowanie wideo" href="/pl/tools/video-generation" icon="video">
|
||||
Konfiguracja i użycie narzędzia do generowania wideo.
|
||||
</Card>
|
||||
<Card title="Generowanie muzyki" href="/pl/tools/music-generation" icon="music">
|
||||
Konfiguracja generowania muzyki i audio.
|
||||
</Card>
|
||||
<Card title="Katalog dostawców" href="/pl/providers/index" icon="layers">
|
||||
Przegląd wszystkich dostawców i odwołań do modeli.
|
||||
</Card>
|
||||
<Card title="Informacje o konfiguracji" href="/pl/gateway/configuration-reference#agent-defaults" icon="gear">
|
||||
Pełne informacje o konfiguracji, w tym ustawienia domyślne agenta.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,100 +1,148 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać Deepgram speech-to-text dla załączników audio
|
||||
- Chcesz używać Deepgram speech-to-text do załączników audio
|
||||
- Potrzebujesz szybkiego przykładu konfiguracji Deepgram
|
||||
summary: Transkrypcja Deepgram dla przychodzących notatek głosowych
|
||||
title: Deepgram
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:02:43Z"
|
||||
generated_at: "2026-04-12T23:30:28Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: dabd1f6942c339fbd744fbf38040b6a663b06ddf4d9c9ee31e3ac034de9e79d9
|
||||
source_hash: 091523d6669e3d258f07c035ec756bd587299b6c7025520659232b1b2c1e21a5
|
||||
source_path: providers/deepgram.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Deepgram (transkrypcja audio)
|
||||
# Deepgram (Transkrypcja audio)
|
||||
|
||||
Deepgram to API speech-to-text. W OpenClaw jest używane do **transkrypcji przychodzącego audio/notatek głosowych**
|
||||
przez `tools.media.audio`.
|
||||
Deepgram to API speech-to-text. W OpenClaw jest używane do **transkrypcji przychodzącego audio/notatek głosowych** przez `tools.media.audio`.
|
||||
|
||||
Po włączeniu OpenClaw przesyła plik audio do Deepgram i wstrzykuje transkrypcję
|
||||
do pipeline’u odpowiedzi (`{{Transcript}}` + blok `[Audio]`). To **nie jest streaming**;
|
||||
do pipeline odpowiedzi (`{{Transcript}}` + blok `[Audio]`). To **nie jest streaming**;
|
||||
używany jest endpoint transkrypcji nagrań wstępnie zarejestrowanych.
|
||||
|
||||
Strona: [https://deepgram.com](https://deepgram.com)
|
||||
Dokumentacja: [https://developers.deepgram.com](https://developers.deepgram.com)
|
||||
| Szczegół | Wartość |
|
||||
| ------------- | ---------------------------------------------------------- |
|
||||
| Strona | [deepgram.com](https://deepgram.com) |
|
||||
| Dokumentacja | [developers.deepgram.com](https://developers.deepgram.com) |
|
||||
| Uwierzytelnianie | `DEEPGRAM_API_KEY` |
|
||||
| Model domyślny | `nova-3` |
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Ustaw klucz API:
|
||||
<Steps>
|
||||
<Step title="Ustaw klucz API">
|
||||
Dodaj klucz API Deepgram do środowiska:
|
||||
|
||||
```
|
||||
DEEPGRAM_API_KEY=dg_...
|
||||
```
|
||||
```
|
||||
DEEPGRAM_API_KEY=dg_...
|
||||
```
|
||||
|
||||
2. Włącz providera:
|
||||
|
||||
```json5
|
||||
{
|
||||
tools: {
|
||||
media: {
|
||||
audio: {
|
||||
enabled: true,
|
||||
models: [{ provider: "deepgram", model: "nova-3" }],
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
## Opcje
|
||||
|
||||
- `model`: identyfikator modelu Deepgram (domyślnie: `nova-3`)
|
||||
- `language`: wskazówka językowa (opcjonalnie)
|
||||
- `tools.media.audio.providerOptions.deepgram.detect_language`: włącz wykrywanie języka (opcjonalnie)
|
||||
- `tools.media.audio.providerOptions.deepgram.punctuate`: włącz interpunkcję (opcjonalnie)
|
||||
- `tools.media.audio.providerOptions.deepgram.smart_format`: włącz inteligentne formatowanie (opcjonalnie)
|
||||
|
||||
Przykład z językiem:
|
||||
|
||||
```json5
|
||||
{
|
||||
tools: {
|
||||
media: {
|
||||
audio: {
|
||||
enabled: true,
|
||||
models: [{ provider: "deepgram", model: "nova-3", language: "en" }],
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Przykład z opcjami Deepgram:
|
||||
|
||||
```json5
|
||||
{
|
||||
tools: {
|
||||
media: {
|
||||
audio: {
|
||||
enabled: true,
|
||||
providerOptions: {
|
||||
deepgram: {
|
||||
detect_language: true,
|
||||
punctuate: true,
|
||||
smart_format: true,
|
||||
</Step>
|
||||
<Step title="Włącz dostawcę audio">
|
||||
```json5
|
||||
{
|
||||
tools: {
|
||||
media: {
|
||||
audio: {
|
||||
enabled: true,
|
||||
models: [{ provider: "deepgram", model: "nova-3" }],
|
||||
},
|
||||
},
|
||||
models: [{ provider: "deepgram", model: "nova-3" }],
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Wyślij notatkę głosową">
|
||||
Wyślij wiadomość audio przez dowolny podłączony kanał. OpenClaw transkrybuje ją
|
||||
przez Deepgram i wstrzykuje transkrypcję do pipeline odpowiedzi.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Opcje konfiguracji
|
||||
|
||||
| Opcja | Ścieżka | Opis |
|
||||
| ---------------- | ------------------------------------------------------------ | ----------------------------------------- |
|
||||
| `model` | `tools.media.audio.models[].model` | ID modelu Deepgram (domyślnie: `nova-3`) |
|
||||
| `language` | `tools.media.audio.models[].language` | Wskazówka języka (opcjonalnie) |
|
||||
| `detect_language` | `tools.media.audio.providerOptions.deepgram.detect_language` | Włącza wykrywanie języka (opcjonalnie) |
|
||||
| `punctuate` | `tools.media.audio.providerOptions.deepgram.punctuate` | Włącza interpunkcję (opcjonalnie) |
|
||||
| `smart_format` | `tools.media.audio.providerOptions.deepgram.smart_format` | Włącza inteligentne formatowanie (opcjonalnie) |
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Ze wskazówką języka">
|
||||
```json5
|
||||
{
|
||||
tools: {
|
||||
media: {
|
||||
audio: {
|
||||
enabled: true,
|
||||
models: [{ provider: "deepgram", model: "nova-3", language: "en" }],
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Tab>
|
||||
<Tab title="Z opcjami Deepgram">
|
||||
```json5
|
||||
{
|
||||
tools: {
|
||||
media: {
|
||||
audio: {
|
||||
enabled: true,
|
||||
providerOptions: {
|
||||
deepgram: {
|
||||
detect_language: true,
|
||||
punctuate: true,
|
||||
smart_format: true,
|
||||
},
|
||||
},
|
||||
models: [{ provider: "deepgram", model: "nova-3" }],
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Uwagi
|
||||
|
||||
- Uwierzytelnianie podąża za standardową kolejnością auth providerów; `DEEPGRAM_API_KEY` to najprostsza ścieżka.
|
||||
- Nadpisuj endpointy lub nagłówki przez `tools.media.audio.baseUrl` i `tools.media.audio.headers`, gdy używasz proxy.
|
||||
- Wynik podlega tym samym regułom audio co u innych providerów (limity rozmiaru, timeouty, wstrzykiwanie transkryptu).
|
||||
<AccordionGroup>
|
||||
<Accordion title="Uwierzytelnianie">
|
||||
Uwierzytelnianie przebiega według standardowej kolejności dostawców. `DEEPGRAM_API_KEY` to
|
||||
najprostsza ścieżka.
|
||||
</Accordion>
|
||||
<Accordion title="Proxy i niestandardowe endpointy">
|
||||
Nadpisz endpointy lub nagłówki za pomocą `tools.media.audio.baseUrl` i
|
||||
`tools.media.audio.headers`, gdy używasz proxy.
|
||||
</Accordion>
|
||||
<Accordion title="Zachowanie wyjścia">
|
||||
Wyjście podlega tym samym zasadom audio co u innych dostawców (limity rozmiaru, timeouty,
|
||||
wstrzykiwanie transkrypcji).
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
<Note>
|
||||
Transkrypcja Deepgram działa **tylko dla nagrań wstępnie zarejestrowanych** (nie dla streamingu w czasie rzeczywistym). OpenClaw
|
||||
przesyła cały plik audio i czeka na pełną transkrypcję, zanim wstrzyknie
|
||||
ją do rozmowy.
|
||||
</Note>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Narzędzia mediów" href="/tools/media" icon="photo-film">
|
||||
Przegląd pipeline przetwarzania audio, obrazów i wideo.
|
||||
</Card>
|
||||
<Card title="Konfiguracja" href="/pl/gateway/configuration" icon="gear">
|
||||
Pełna referencja konfiguracji, w tym ustawienia narzędzi mediów.
|
||||
</Card>
|
||||
<Card title="Rozwiązywanie problemów" href="/pl/help/troubleshooting" icon="wrench">
|
||||
Typowe problemy i kroki debugowania.
|
||||
</Card>
|
||||
<Card title="FAQ" href="/pl/help/faq" icon="circle-question">
|
||||
Najczęściej zadawane pytania dotyczące konfiguracji OpenClaw.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,60 +1,103 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać DeepSeek z OpenClaw
|
||||
- Potrzebujesz zmiennej środowiskowej klucza API lub opcji uwierzytelniania CLI
|
||||
- Potrzebujesz zmiennej środowiskowej klucza API lub wyboru uwierzytelniania w CLI
|
||||
summary: Konfiguracja DeepSeek (uwierzytelnianie + wybór modelu)
|
||||
title: DeepSeek
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:02:53Z"
|
||||
generated_at: "2026-04-12T23:30:33Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 35f339ca206399496ce094eb8350e0870029ce9605121bcf86c4e9b94f3366c6
|
||||
source_hash: ad06880bd1ab89f72f9e31f4927e2c099dcf6b4e0ff2b3fcc91a24468fbc089d
|
||||
source_path: providers/deepseek.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# DeepSeek
|
||||
|
||||
[DeepSeek](https://www.deepseek.com) oferuje potężne modele AI z interfejsem API zgodnym z OpenAI.
|
||||
[DeepSeek](https://www.deepseek.com) oferuje zaawansowane modele AI z API zgodnym z OpenAI.
|
||||
|
||||
- Provider: `deepseek`
|
||||
- Uwierzytelnianie: `DEEPSEEK_API_KEY`
|
||||
- API: zgodne z OpenAI
|
||||
- Base URL: `https://api.deepseek.com`
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | ------------------------- |
|
||||
| Dostawca | `deepseek` |
|
||||
| Uwierzytelnianie | `DEEPSEEK_API_KEY` |
|
||||
| API | zgodne z OpenAI |
|
||||
| Base URL | `https://api.deepseek.com` |
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
Ustaw klucz API (zalecane: zapisz go dla Gateway):
|
||||
<Steps>
|
||||
<Step title="Pobierz swój klucz API">
|
||||
Utwórz klucz API na stronie [platform.deepseek.com](https://platform.deepseek.com/api_keys).
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice deepseek-api-key
|
||||
```
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice deepseek-api-key
|
||||
```
|
||||
To poprosi o Twój klucz API i ustawi `deepseek/deepseek-chat` jako model domyślny.
|
||||
|
||||
To poprosi o podanie klucza API i ustawi `deepseek/deepseek-chat` jako model domyślny.
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są dostępne">
|
||||
```bash
|
||||
openclaw models list --provider deepseek
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Przykład nieinteraktywny
|
||||
<AccordionGroup>
|
||||
<Accordion title="Konfiguracja nieinteraktywna">
|
||||
W przypadku instalacji skryptowych lub bezobsługowych przekaż wszystkie flagi bezpośrednio:
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--mode local \
|
||||
--auth-choice deepseek-api-key \
|
||||
--deepseek-api-key "$DEEPSEEK_API_KEY" \
|
||||
--skip-health \
|
||||
--accept-risk
|
||||
```
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--mode local \
|
||||
--auth-choice deepseek-api-key \
|
||||
--deepseek-api-key "$DEEPSEEK_API_KEY" \
|
||||
--skip-health \
|
||||
--accept-risk
|
||||
```
|
||||
|
||||
## Uwaga dotycząca środowiska
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
<Warning>
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że `DEEPSEEK_API_KEY`
|
||||
jest dostępny dla tego procesu (na przykład w `~/.openclaw/.env` lub przez
|
||||
jest dostępne dla tego procesu (na przykład w `~/.openclaw/.env` lub przez
|
||||
`env.shellEnv`).
|
||||
</Warning>
|
||||
|
||||
## Wbudowany katalog
|
||||
|
||||
| Odwołanie do modelu | Nazwa | Wejście | Kontekst | Maks. wyjście | Uwagi |
|
||||
| ---------------------------- | ----------------- | ------- | -------- | ------------- | ------------------------------------------------- |
|
||||
| `deepseek/deepseek-chat` | DeepSeek Chat | text | 131,072 | 8,192 | Model domyślny; powierzchnia DeepSeek V3.2 bez trybu myślenia |
|
||||
| `deepseek/deepseek-reasoner` | DeepSeek Reasoner | text | 131,072 | 65,536 | Powierzchnia V3.2 z obsługą rozumowania |
|
||||
| Odwołanie do modelu | Nazwa | Wejście | Kontekst | Maks. wyjście | Uwagi |
|
||||
| ---------------------------- | ----------------- | ------- | -------- | ------------- | ------------------------------------------------ |
|
||||
| `deepseek/deepseek-chat` | DeepSeek Chat | text | 131,072 | 8,192 | Model domyślny; powierzchnia DeepSeek V3.2 bez myślenia |
|
||||
| `deepseek/deepseek-reasoner` | DeepSeek Reasoner | text | 131,072 | 65,536 | Powierzchnia V3.2 z obsługą rozumowania |
|
||||
|
||||
Oba dołączone modele obecnie deklarują w kodzie źródłowym zgodność ze strumieniowaniem użycia.
|
||||
<Tip>
|
||||
Oba dołączone modele obecnie deklarują w źródle zgodność z użyciem strumieniowym.
|
||||
</Tip>
|
||||
|
||||
Pobierz swój klucz API na stronie [platform.deepseek.com](https://platform.deepseek.com/api_keys).
|
||||
## Przykład konfiguracji
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { DEEPSEEK_API_KEY: "sk-..." },
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "deepseek/deepseek-chat" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Dokumentacja konfiguracji" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełna dokumentacja konfiguracji agentów, modeli i dostawców.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,60 +1,70 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać generowania obrazów fal w OpenClaw
|
||||
- Potrzebujesz przepływu auth `FAL_KEY`
|
||||
- Chcesz używać domyślnych ustawień fal dla `image_generate` lub `video_generate`
|
||||
summary: Konfiguracja generowania obrazów i wideo fal w OpenClaw
|
||||
- Potrzebujesz przepływu uwierzytelniania `FAL_KEY`
|
||||
- Chcesz poznać domyślne ustawienia fal dla `image_generate` lub `video_generate`
|
||||
summary: konfiguracja generowania obrazów i wideo fal w OpenClaw
|
||||
title: fal
|
||||
x-i18n:
|
||||
generated_at: "2026-04-11T02:47:24Z"
|
||||
generated_at: "2026-04-12T23:30:35Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 9bfe4f69124e922a79a516a1bd78f0c00f7a45f3c6f68b6d39e0d196fa01beb3
|
||||
source_hash: ff275233179b4808d625383efe04189ad9e92af09944ba39f1e953e77378e347
|
||||
source_path: providers/fal.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# fal
|
||||
|
||||
OpenClaw zawiera wbudowanego providera `fal` do hostowanego generowania obrazów i wideo.
|
||||
OpenClaw dostarcza dołączonego dostawcę `fal` do hostowanego generowania obrazów i wideo.
|
||||
|
||||
- Provider: `fal`
|
||||
- Auth: `FAL_KEY` (kanoniczne; `FAL_API_KEY` działa również jako fallback)
|
||||
- API: endpointy modeli fal
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | -------------------------------------------------------------- |
|
||||
| Dostawca | `fal` |
|
||||
| Uwierzytelnianie | `FAL_KEY` (kanoniczne; `FAL_API_KEY` działa także jako fallback) |
|
||||
| API | endpointy modeli fal |
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Ustaw klucz API:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice fal-api-key
|
||||
```
|
||||
|
||||
2. Ustaw domyślny model obrazów:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
imageGenerationModel: {
|
||||
primary: "fal/fal-ai/flux/dev",
|
||||
<Steps>
|
||||
<Step title="Ustaw klucz API">
|
||||
```bash
|
||||
openclaw onboard --auth-choice fal-api-key
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw domyślny model obrazu">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
imageGenerationModel: {
|
||||
primary: "fal/fal-ai/flux/dev",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Generowanie obrazów
|
||||
|
||||
Wbudowany provider generowania obrazów `fal` domyślnie używa
|
||||
Dołączony dostawca generowania obrazów `fal` domyślnie używa
|
||||
`fal/fal-ai/flux/dev`.
|
||||
|
||||
- Generowanie: do 4 obrazów na żądanie
|
||||
- Tryb edycji: włączony, 1 obraz referencyjny
|
||||
- Obsługuje `size`, `aspectRatio` i `resolution`
|
||||
- Aktualne zastrzeżenie dotyczące edycji: endpoint edycji obrazów fal **nie** obsługuje nadpisań `aspectRatio`
|
||||
| Możliwość | Wartość |
|
||||
| ------------- | -------------------------- |
|
||||
| Maks. liczba obrazów | 4 na żądanie |
|
||||
| Tryb edycji | Włączony, 1 obraz referencyjny |
|
||||
| Nadpisania rozmiaru | Obsługiwane |
|
||||
| Proporcje obrazu | Obsługiwane |
|
||||
| Rozdzielczość | Obsługiwana |
|
||||
|
||||
Aby używać fal jako domyślnego providera obrazów:
|
||||
<Warning>
|
||||
Endpoint edycji obrazów fal **nie** obsługuje nadpisań `aspectRatio`.
|
||||
</Warning>
|
||||
|
||||
Aby używać fal jako domyślnego dostawcy obrazów:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -70,49 +80,73 @@ Aby używać fal jako domyślnego providera obrazów:
|
||||
|
||||
## Generowanie wideo
|
||||
|
||||
Wbudowany provider generowania wideo `fal` domyślnie używa
|
||||
Dołączony dostawca generowania wideo `fal` domyślnie używa
|
||||
`fal/fal-ai/minimax/video-01-live`.
|
||||
|
||||
- Tryby: text-to-video i przepływy z pojedynczym obrazem referencyjnym
|
||||
- Runtime: przepływ submit/status/result oparty na kolejce dla długotrwałych zadań
|
||||
- Odwołanie do modelu HeyGen video-agent:
|
||||
- `fal/fal-ai/heygen/v2/video-agent`
|
||||
- Odwołania do modeli Seedance 2.0:
|
||||
- `fal/bytedance/seedance-2.0/fast/text-to-video`
|
||||
- `fal/bytedance/seedance-2.0/fast/image-to-video`
|
||||
- `fal/bytedance/seedance-2.0/text-to-video`
|
||||
- `fal/bytedance/seedance-2.0/image-to-video`
|
||||
| Możliwość | Wartość |
|
||||
| --------- | ------------------------------------------------------------ |
|
||||
| Tryby | Tekst-na-wideo, pojedynczy obraz referencyjny |
|
||||
| Runtime | Przepływ submit/status/result oparty na kolejce dla długotrwałych zadań |
|
||||
|
||||
Aby używać Seedance 2.0 jako domyślnego modelu wideo:
|
||||
<AccordionGroup>
|
||||
<Accordion title="Dostępne modele wideo">
|
||||
**HeyGen video-agent:**
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "fal/bytedance/seedance-2.0/fast/text-to-video",
|
||||
- `fal/fal-ai/heygen/v2/video-agent`
|
||||
|
||||
**Seedance 2.0:**
|
||||
|
||||
- `fal/bytedance/seedance-2.0/fast/text-to-video`
|
||||
- `fal/bytedance/seedance-2.0/fast/image-to-video`
|
||||
- `fal/bytedance/seedance-2.0/text-to-video`
|
||||
- `fal/bytedance/seedance-2.0/image-to-video`
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Przykład konfiguracji Seedance 2.0">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "fal/bytedance/seedance-2.0/fast/text-to-video",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
Aby używać HeyGen video-agent jako domyślnego modelu wideo:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "fal/fal-ai/heygen/v2/video-agent",
|
||||
<Accordion title="Przykład konfiguracji HeyGen video-agent">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "fal/fal-ai/heygen/v2/video-agent",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
<Tip>
|
||||
Użyj `openclaw models list --provider fal`, aby zobaczyć pełną listę dostępnych modeli fal,
|
||||
w tym wszelkie ostatnio dodane pozycje.
|
||||
</Tip>
|
||||
|
||||
## Powiązane
|
||||
|
||||
- [Generowanie obrazów](/pl/tools/image-generation)
|
||||
- [Generowanie wideo](/pl/tools/video-generation)
|
||||
- [Dokumentacja konfiguracji](/pl/gateway/configuration-reference#agent-defaults)
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Generowanie obrazów" href="/pl/tools/image-generation" icon="image">
|
||||
Wspólne parametry narzędzia obrazów i wybór dostawcy.
|
||||
</Card>
|
||||
<Card title="Generowanie wideo" href="/pl/tools/video-generation" icon="video">
|
||||
Wspólne parametry narzędzia wideo i wybór dostawcy.
|
||||
</Card>
|
||||
<Card title="Dokumentacja konfiguracji" href="/pl/gateway/configuration-reference#agent-defaults" icon="gear">
|
||||
Domyślne ustawienia agenta, w tym wybór modelu obrazu i wideo.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,39 +1,52 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać Fireworks z OpenClaw
|
||||
- Potrzebujesz zmiennej env z kluczem API Fireworks lub domyślnego identyfikatora modelu
|
||||
- Potrzebujesz zmiennej środowiskowej z kluczem API Fireworks albo domyślnego ID modelu
|
||||
summary: Konfiguracja Fireworks (uwierzytelnianie + wybór modelu)
|
||||
title: Fireworks
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:02:52Z"
|
||||
generated_at: "2026-04-12T23:30:49Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 20083d5c248abd9a7223e6d188f0265ae27381940ee0067dff6d1d46d908c552
|
||||
source_hash: 1a85d9507c19e275fdd846a303d844eda8045d008774d4dde1eae408e8716b6f
|
||||
source_path: providers/fireworks.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Fireworks
|
||||
|
||||
[Fireworks](https://fireworks.ai) udostępnia modele open-weight i routowane przez API zgodne z OpenAI. OpenClaw zawiera teraz dołączony plugin providera Fireworks.
|
||||
[Fireworks](https://fireworks.ai) udostępnia modele open-weight i routowane przez API zgodne z OpenAI. OpenClaw zawiera dołączony Plugin dostawcy Fireworks.
|
||||
|
||||
- Provider: `fireworks`
|
||||
- Uwierzytelnianie: `FIREWORKS_API_KEY`
|
||||
- API: zgodne z OpenAI chat/completions
|
||||
- Base URL: `https://api.fireworks.ai/inference/v1`
|
||||
- Model domyślny: `fireworks/accounts/fireworks/routers/kimi-k2p5-turbo`
|
||||
| Właściwość | Wartość |
|
||||
| -------------- | ------------------------------------------------------ |
|
||||
| Dostawca | `fireworks` |
|
||||
| Uwierzytelnianie | `FIREWORKS_API_KEY` |
|
||||
| API | Zgodne z OpenAI chat/completions |
|
||||
| Bazowy URL | `https://api.fireworks.ai/inference/v1` |
|
||||
| Model domyślny | `fireworks/accounts/fireworks/routers/kimi-k2p5-turbo` |
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
Skonfiguruj uwierzytelnianie Fireworks przez onboarding:
|
||||
<Steps>
|
||||
<Step title="Skonfiguruj uwierzytelnianie Fireworks przez onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice fireworks-api-key
|
||||
```
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice fireworks-api-key
|
||||
```
|
||||
To zapisuje Twój klucz Fireworks w konfiguracji OpenClaw i ustawia model startowy Fire Pass jako domyślny.
|
||||
|
||||
To zapisuje twój klucz Fireworks w config OpenClaw i ustawia startowy model Fire Pass jako domyślny.
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider fireworks
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Przykład nieinteraktywny
|
||||
|
||||
W przypadku konfiguracji skryptowych lub CI przekaż wszystkie wartości w wierszu poleceń:
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--mode local \
|
||||
@ -43,23 +56,19 @@ openclaw onboard --non-interactive \
|
||||
--accept-risk
|
||||
```
|
||||
|
||||
## Uwaga dotycząca środowiska
|
||||
|
||||
Jeśli Gateway działa poza twoją interaktywną powłoką, upewnij się, że `FIREWORKS_API_KEY`
|
||||
jest dostępne również dla tego procesu. Klucz znajdujący się tylko w `~/.profile`
|
||||
nie pomoże demonowi launchd/systemd, chyba że to środowisko również zostanie tam zaimportowane.
|
||||
|
||||
## Wbudowany katalog
|
||||
|
||||
| Model ref | Name | Input | Context | Max output | Notes |
|
||||
| ------------------------------------------------------ | --------------------------- | ---------- | ------- | ---------- | ------------------------------------------ |
|
||||
| `fireworks/accounts/fireworks/routers/kimi-k2p5-turbo` | Kimi K2.5 Turbo (Fire Pass) | text,image | 256,000 | 256,000 | Domyślny dołączony model startowy w Fireworks |
|
||||
| Odwołanie modelu | Nazwa | Wejście | Kontekst | Maks. wyjście | Uwagi |
|
||||
| ----------------------------------------------------- | --------------------------- | ---------- | -------- | ------------- | ------------------------------------------ |
|
||||
| `fireworks/accounts/fireworks/routers/kimi-k2p5-turbo` | Kimi K2.5 Turbo (Fire Pass) | text,image | 256,000 | 256,000 | Domyślny dołączony model startowy w Fireworks |
|
||||
|
||||
## Niestandardowe identyfikatory modeli Fireworks
|
||||
<Tip>
|
||||
Jeśli Fireworks opublikuje nowszy model, taki jak świeże wydanie Qwen lub Gemma, możesz przełączyć się na niego bezpośrednio, używając jego ID modelu Fireworks bez czekania na aktualizację dołączonego katalogu.
|
||||
</Tip>
|
||||
|
||||
OpenClaw akceptuje również dynamiczne identyfikatory modeli Fireworks. Użyj dokładnego identyfikatora modelu lub routera pokazywanego przez Fireworks i poprzedź go prefiksem `fireworks/`.
|
||||
## Niestandardowe ID modeli Fireworks
|
||||
|
||||
Przykład:
|
||||
OpenClaw akceptuje również dynamiczne ID modeli Fireworks. Użyj dokładnego ID modelu lub routera pokazanego przez Fireworks i poprzedź je `fireworks/`.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -73,4 +82,34 @@ Przykład:
|
||||
}
|
||||
```
|
||||
|
||||
Jeśli Fireworks opublikuje nowszy model, taki jak świeże wydanie Qwen lub Gemma, możesz przełączyć się na niego bezpośrednio, używając jego identyfikatora modelu Fireworks, bez czekania na aktualizację dołączonego katalogu.
|
||||
<AccordionGroup>
|
||||
<Accordion title="Jak działa prefiksowanie ID modelu">
|
||||
Każde odwołanie do modelu Fireworks w OpenClaw zaczyna się od `fireworks/`, po którym następuje dokładne ID lub ścieżka routera z platformy Fireworks. Na przykład:
|
||||
|
||||
- Model routera: `fireworks/accounts/fireworks/routers/kimi-k2p5-turbo`
|
||||
- Model bezpośredni: `fireworks/accounts/fireworks/models/<model-name>`
|
||||
|
||||
OpenClaw usuwa prefiks `fireworks/` podczas budowania żądania API i wysyła pozostałą ścieżkę do endpointu Fireworks.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Uwaga o środowisku">
|
||||
Jeśli Gateway działa poza Twoją interaktywną powłoką, upewnij się, że `FIREWORKS_API_KEY` jest dostępne również dla tego procesu.
|
||||
|
||||
<Warning>
|
||||
Klucz zapisany tylko w `~/.profile` nie pomoże demonowi launchd/systemd, jeśli to środowisko nie zostanie tam również zaimportowane. Ustaw klucz w `~/.openclaw/.env` albo przez `env.shellEnv`, aby proces gateway mógł go odczytać.
|
||||
</Warning>
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Rozwiązywanie problemów" href="/pl/help/troubleshooting" icon="wrench">
|
||||
Ogólne rozwiązywanie problemów i FAQ.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,87 +1,138 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać GitHub Copilot jako providera modeli
|
||||
- Chcesz używać GitHub Copilot jako dostawcy modeli
|
||||
- Potrzebujesz przepływu `openclaw models auth login-github-copilot`
|
||||
summary: Zaloguj się do GitHub Copilot z OpenClaw za pomocą przepływu device flow
|
||||
summary: Zaloguj się do GitHub Copilot z OpenClaw przy użyciu device flow
|
||||
title: GitHub Copilot
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:04Z"
|
||||
generated_at: "2026-04-12T23:31:02Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 92857c119c314e698f922dbdbbc15d21b64d33a25979a2ec0ac1e82e586db6d6
|
||||
source_hash: 51fee006e7d4e78e37b0c29356b0090b132de727d99b603441767d3fb642140b
|
||||
source_path: providers/github-copilot.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# GitHub Copilot
|
||||
|
||||
## Czym jest GitHub Copilot?
|
||||
|
||||
GitHub Copilot to asystent programowania AI od GitHub. Zapewnia dostęp do modeli
|
||||
GitHub Copilot to asystent kodowania AI od GitHub. Zapewnia dostęp do modeli
|
||||
Copilot dla Twojego konta i planu GitHub. OpenClaw może używać Copilot jako
|
||||
providera modeli na dwa różne sposoby.
|
||||
dostawcy modeli na dwa różne sposoby.
|
||||
|
||||
## Dwa sposoby używania Copilot w OpenClaw
|
||||
|
||||
### 1) Wbudowany provider GitHub Copilot (`github-copilot`)
|
||||
<Tabs>
|
||||
<Tab title="Wbudowany dostawca (github-copilot)">
|
||||
Użyj natywnego przepływu logowania przez urządzenie, aby uzyskać token GitHub, a następnie wymieniaj go na
|
||||
tokeny API Copilot podczas działania OpenClaw. To **domyślna** i najprostsza ścieżka,
|
||||
ponieważ nie wymaga VS Code.
|
||||
|
||||
Użyj natywnego przepływu logowania urządzenia, aby uzyskać token GitHub, a następnie wymienić go na
|
||||
tokeny API Copilot podczas działania OpenClaw. To **domyślna** i najprostsza ścieżka,
|
||||
ponieważ nie wymaga VS Code.
|
||||
<Steps>
|
||||
<Step title="Uruchom polecenie logowania">
|
||||
```bash
|
||||
openclaw models auth login-github-copilot
|
||||
```
|
||||
|
||||
### 2) Wtyczka Copilot Proxy (`copilot-proxy`)
|
||||
Zostaniesz poproszony o przejście pod URL i wpisanie jednorazowego kodu. Pozostaw
|
||||
terminal otwarty do czasu zakończenia procesu.
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```bash
|
||||
openclaw models set github-copilot/gpt-4o
|
||||
```
|
||||
|
||||
Użyj rozszerzenia VS Code **Copilot Proxy** jako lokalnego mostu. OpenClaw komunikuje się z
|
||||
endpointem `/v1` proxy i używa listy modeli skonfigurowanej w tym miejscu. Wybierz tę opcję,
|
||||
jeśli już używasz Copilot Proxy w VS Code lub musisz kierować ruch przez nie.
|
||||
Musisz włączyć wtyczkę i utrzymywać uruchomione rozszerzenie VS Code.
|
||||
Albo w konfiguracji:
|
||||
|
||||
Używaj GitHub Copilot jako providera modeli (`github-copilot`). Polecenie logowania uruchamia
|
||||
przepływ device flow GitHub, zapisuje profil uwierzytelniania i aktualizuje konfigurację tak, aby używała tego
|
||||
profilu.
|
||||
```json5
|
||||
{
|
||||
agents: { defaults: { model: { primary: "github-copilot/gpt-4o" } } },
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Konfiguracja CLI
|
||||
|
||||
```bash
|
||||
openclaw models auth login-github-copilot
|
||||
```
|
||||
|
||||
Pojawi się prośba o odwiedzenie adresu URL i wprowadzenie jednorazowego kodu. Pozostaw terminal
|
||||
otwarty do czasu zakończenia procesu.
|
||||
|
||||
### Opcjonalne skrypty
|
||||
</Tab>
|
||||
|
||||
<Tab title="Plugin Copilot Proxy (copilot-proxy)">
|
||||
Użyj rozszerzenia VS Code **Copilot Proxy** jako lokalnego mostu. OpenClaw komunikuje się z
|
||||
endpointem `/v1` serwera proxy i używa listy modeli skonfigurowanej tam przez Ciebie.
|
||||
|
||||
<Note>
|
||||
Wybierz to, jeśli już uruchamiasz Copilot Proxy w VS Code lub potrzebujesz kierować ruch
|
||||
przez niego. Musisz włączyć Plugin i utrzymywać uruchomione rozszerzenie VS Code.
|
||||
</Note>
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Opcjonalne flagi
|
||||
|
||||
| Flaga | Opis |
|
||||
| -------------- | ----------------------------------------------------- |
|
||||
| `--yes` | Pomija monit o potwierdzenie |
|
||||
| `--set-default` | Ustawia także zalecany domyślny model tego dostawcy |
|
||||
|
||||
```bash
|
||||
# Pomiń potwierdzenie
|
||||
openclaw models auth login-github-copilot --yes
|
||||
```
|
||||
|
||||
Aby w jednym kroku zastosować również zalecany domyślny model providera, użyj zamiast tego
|
||||
ogólnego polecenia uwierzytelniania:
|
||||
|
||||
```bash
|
||||
# Zaloguj się i ustaw model domyślny w jednym kroku
|
||||
openclaw models auth login --provider github-copilot --method device --set-default
|
||||
```
|
||||
|
||||
## Ustaw model domyślny
|
||||
<AccordionGroup>
|
||||
<Accordion title="Wymagany interaktywny TTY">
|
||||
Przepływ logowania przez urządzenie wymaga interaktywnego TTY. Uruchom go bezpośrednio w
|
||||
terminalu, a nie w nieinteraktywnym skrypcie ani potoku CI.
|
||||
</Accordion>
|
||||
|
||||
```bash
|
||||
openclaw models set github-copilot/gpt-4o
|
||||
```
|
||||
<Accordion title="Dostępność modeli zależy od Twojego planu">
|
||||
Dostępność modeli Copilot zależy od Twojego planu GitHub. Jeśli model
|
||||
zostanie odrzucony, spróbuj innego identyfikatora (na przykład `github-copilot/gpt-4.1`).
|
||||
</Accordion>
|
||||
|
||||
### Fragment konfiguracji
|
||||
<Accordion title="Wybór transportu">
|
||||
Identyfikatory modeli Claude automatycznie używają transportu Anthropic Messages. Modele GPT,
|
||||
serii o i Gemini zachowują transport OpenAI Responses. OpenClaw
|
||||
wybiera właściwy transport na podstawie odwołania do modelu.
|
||||
</Accordion>
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: { defaults: { model: { primary: "github-copilot/gpt-4o" } } },
|
||||
}
|
||||
```
|
||||
<Accordion title="Kolejność rozpoznawania zmiennych środowiskowych">
|
||||
OpenClaw rozpoznaje uwierzytelnianie Copilot ze zmiennych środowiskowych w następującej
|
||||
kolejności priorytetów:
|
||||
|
||||
## Uwagi
|
||||
| Priorytet | Zmienna | Uwagi |
|
||||
| --------- | -------------------- | ------------------------------------- |
|
||||
| 1 | `COPILOT_GITHUB_TOKEN` | Najwyższy priorytet, specyficzna dla Copilot |
|
||||
| 2 | `GH_TOKEN` | Token GitHub CLI (awaryjnie) |
|
||||
| 3 | `GITHUB_TOKEN` | Standardowy token GitHub (najniższy) |
|
||||
|
||||
- Wymaga interaktywnego TTY; uruchom polecenie bezpośrednio w terminalu.
|
||||
- Dostępność modeli Copilot zależy od Twojego planu; jeśli model zostanie odrzucony, spróbuj
|
||||
innego identyfikatora (na przykład `github-copilot/gpt-4.1`).
|
||||
- Identyfikatory modeli Claude automatycznie używają transportu Anthropic Messages; modele GPT, o-series
|
||||
i Gemini nadal używają transportu OpenAI Responses.
|
||||
- Logowanie zapisuje token GitHub w magazynie profili uwierzytelniania i wymienia go na
|
||||
token API Copilot podczas działania OpenClaw.
|
||||
Gdy ustawionych jest kilka zmiennych, OpenClaw używa tej o najwyższym priorytecie.
|
||||
Przepływ logowania przez urządzenie (`openclaw models auth login-github-copilot`) zapisuje
|
||||
swój token w magazynie profili uwierzytelniania i ma pierwszeństwo przed wszystkimi
|
||||
zmiennymi środowiskowymi.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Przechowywanie tokenu">
|
||||
Logowanie zapisuje token GitHub w magazynie profili uwierzytelniania i wymienia go
|
||||
na token API Copilot podczas działania OpenClaw. Nie musisz zarządzać
|
||||
tokenem ręcznie.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
<Warning>
|
||||
Wymaga interaktywnego TTY. Uruchom polecenie logowania bezpośrednio w terminalu, a nie
|
||||
wewnątrz bezobsługowego skryptu ani zadania CI.
|
||||
</Warning>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="OAuth i uwierzytelnianie" href="/pl/gateway/authentication" icon="key">
|
||||
Szczegóły uwierzytelniania i zasady ponownego użycia poświadczeń.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -2,42 +2,58 @@
|
||||
read_when:
|
||||
- Chcesz używać modeli GLM w OpenClaw
|
||||
- Potrzebujesz konwencji nazewnictwa modeli i konfiguracji
|
||||
summary: Przegląd rodziny modeli GLM oraz sposób używania ich w OpenClaw
|
||||
title: Modele GLM
|
||||
summary: Przegląd rodziny modeli GLM + jak używać jej w OpenClaw
|
||||
title: GLM (Zhipu)
|
||||
x-i18n:
|
||||
generated_at: "2026-04-08T06:00:57Z"
|
||||
generated_at: "2026-04-12T23:30:54Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 79a55acfa139847b4b85dbc09f1068cbd2febb1e49f984a23ea9e3b43bc910eb
|
||||
source_hash: b38f0896c900fae3cf3458ff99938d73fa46973a057d1dd373ae960cb7d2e9b5
|
||||
source_path: providers/glm.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Modele GLM
|
||||
|
||||
GLM to **rodzina modeli** (nie firma) dostępna za pośrednictwem platformy Z.AI. W OpenClaw modele
|
||||
GLM są dostępne przez dostawcę `zai` i identyfikatory modeli takie jak `zai/glm-5`.
|
||||
GLM to **rodzina modeli** (nie firma) dostępna przez platformę Z.AI. W OpenClaw modele GLM
|
||||
są dostępne przez dostawcę `zai` i identyfikatory modeli takie jak `zai/glm-5`.
|
||||
|
||||
## Konfiguracja CLI
|
||||
## Pierwsze kroki
|
||||
|
||||
```bash
|
||||
# Ogólna konfiguracja klucza API z automatycznym wykrywaniem punktu końcowego
|
||||
openclaw onboard --auth-choice zai-api-key
|
||||
<Steps>
|
||||
<Step title="Wybierz ścieżkę uwierzytelniania i uruchom onboarding">
|
||||
Wybierz opcję onboardingu pasującą do Twojego planu Z.AI i regionu:
|
||||
|
||||
# Coding Plan Global, zalecane dla użytkowników Coding Plan
|
||||
openclaw onboard --auth-choice zai-coding-global
|
||||
| Opcja uwierzytelniania | Najlepsza dla |
|
||||
| ---------------------- | ------------- |
|
||||
| `zai-api-key` | Ogólna konfiguracja klucza API z automatycznym wykrywaniem endpointu |
|
||||
| `zai-coding-global` | Użytkownicy planu Coding Plan (globalnie) |
|
||||
| `zai-coding-cn` | Użytkownicy planu Coding Plan (region Chiny) |
|
||||
| `zai-global` | Ogólne API (globalnie) |
|
||||
| `zai-cn` | Ogólne API (region Chiny) |
|
||||
|
||||
# Coding Plan CN (region Chiny), zalecane dla użytkowników Coding Plan
|
||||
openclaw onboard --auth-choice zai-coding-cn
|
||||
```bash
|
||||
# Przykład: ogólne automatyczne wykrywanie
|
||||
openclaw onboard --auth-choice zai-api-key
|
||||
|
||||
# Ogólne API
|
||||
openclaw onboard --auth-choice zai-global
|
||||
# Przykład: Coding Plan global
|
||||
openclaw onboard --auth-choice zai-coding-global
|
||||
```
|
||||
|
||||
# Ogólne API CN (region Chiny)
|
||||
openclaw onboard --auth-choice zai-cn
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw GLM jako model domyślny">
|
||||
```bash
|
||||
openclaw config set agents.defaults.model.primary "zai/glm-5.1"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są dostępne">
|
||||
```bash
|
||||
openclaw models list --provider zai
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Fragment konfiguracji
|
||||
## Przykład konfiguracji
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -46,30 +62,56 @@ openclaw onboard --auth-choice zai-cn
|
||||
}
|
||||
```
|
||||
|
||||
`zai-api-key` pozwala OpenClaw wykryć pasujący punkt końcowy Z.AI na podstawie klucza i
|
||||
automatycznie zastosować poprawny bazowy URL. Użyj jawnych opcji regionalnych, jeśli
|
||||
chcesz wymusić konkretny wariant Coding Plan lub ogólnego API.
|
||||
<Tip>
|
||||
`zai-api-key` pozwala OpenClaw wykryć pasujący endpoint Z.AI na podstawie klucza i
|
||||
automatycznie zastosować poprawny bazowy URL. Użyj jawnych opcji regionalnych, gdy
|
||||
chcesz wymusić konkretny plan Coding Plan lub ogólną powierzchnię API.
|
||||
</Tip>
|
||||
|
||||
## Obecnie dołączone modele GLM
|
||||
## Dołączone modele GLM
|
||||
|
||||
OpenClaw obecnie inicjalizuje dołączonego dostawcę `zai` następującymi odwołaniami GLM:
|
||||
OpenClaw obecnie inicjalizuje dołączonego dostawcę `zai` następującymi referencjami GLM:
|
||||
|
||||
- `glm-5.1`
|
||||
- `glm-5`
|
||||
- `glm-5-turbo`
|
||||
- `glm-5v-turbo`
|
||||
- `glm-4.7`
|
||||
- `glm-4.7-flash`
|
||||
- `glm-4.7-flashx`
|
||||
- `glm-4.6`
|
||||
- `glm-4.6v`
|
||||
- `glm-4.5`
|
||||
- `glm-4.5-air`
|
||||
- `glm-4.5-flash`
|
||||
- `glm-4.5v`
|
||||
| Model | Model |
|
||||
| --------------- | ---------------- |
|
||||
| `glm-5.1` | `glm-4.7` |
|
||||
| `glm-5` | `glm-4.7-flash` |
|
||||
| `glm-5-turbo` | `glm-4.7-flashx` |
|
||||
| `glm-5v-turbo` | `glm-4.6` |
|
||||
| `glm-4.5` | `glm-4.6v` |
|
||||
| `glm-4.5-air` | |
|
||||
| `glm-4.5-flash` | |
|
||||
| `glm-4.5v` | |
|
||||
|
||||
## Uwagi
|
||||
<Note>
|
||||
Domyślna dołączona referencja modelu to `zai/glm-5.1`. Wersje GLM i ich dostępność
|
||||
mogą się zmieniać; sprawdź dokumentację Z.AI, aby uzyskać najnowsze informacje.
|
||||
</Note>
|
||||
|
||||
- Wersje GLM i ich dostępność mogą się zmieniać; sprawdź dokumentację Z.AI, aby uzyskać najnowsze informacje.
|
||||
- Domyślnym dołączonym odwołaniem do modelu jest `zai/glm-5.1`.
|
||||
- Szczegóły dostawcy znajdziesz w [/providers/zai](/pl/providers/zai).
|
||||
## Uwagi zaawansowane
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Automatyczne wykrywanie endpointu">
|
||||
Gdy używasz opcji uwierzytelniania `zai-api-key`, OpenClaw analizuje format klucza,
|
||||
aby określić poprawny bazowy URL Z.AI. Jawne opcje regionalne
|
||||
(`zai-coding-global`, `zai-coding-cn`, `zai-global`, `zai-cn`) zastępują
|
||||
automatyczne wykrywanie i przypinają endpoint bezpośrednio.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Szczegóły dostawcy">
|
||||
Modele GLM są obsługiwane przez dostawcę runtime `zai`. Pełną konfigurację dostawcy,
|
||||
regionalne endpointy i dodatkowe możliwości znajdziesz w
|
||||
[dokumentacji dostawcy Z.AI](/pl/providers/zai).
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Dostawca Z.AI" href="/pl/providers/zai" icon="server">
|
||||
Pełna konfiguracja dostawcy Z.AI i regionalne endpointy.
|
||||
</Card>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, referencji modeli i zachowania failover.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać modeli Google Gemini z OpenClaw
|
||||
- Potrzebujesz klucza API lub przepływu uwierzytelniania OAuth
|
||||
summary: Konfiguracja Google Gemini (klucz API + OAuth, generowanie obrazów, rozumienie multimediów, wyszukiwanie w sieci)
|
||||
- Potrzebujesz klucza API albo przepływu uwierzytelniania OAuth
|
||||
summary: Konfiguracja Google Gemini (klucz API + OAuth, generowanie obrazów, rozumienie mediów, wyszukiwanie w sieci)
|
||||
title: Google (Gemini)
|
||||
x-i18n:
|
||||
generated_at: "2026-04-08T09:44:16Z"
|
||||
generated_at: "2026-04-12T23:31:06Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: fad2ff68987301bd86145fa6e10de8c7b38d5bd5dbcd13db9c883f7f5b9a4e01
|
||||
source_hash: 64b848add89061b208a5d6b19d206c433cace5216a0ca4b63d56496aecbde452
|
||||
source_path: providers/google.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -16,7 +16,7 @@ x-i18n:
|
||||
# Google (Gemini)
|
||||
|
||||
Plugin Google zapewnia dostęp do modeli Gemini przez Google AI Studio, a także
|
||||
generowanie obrazów, rozumienie multimediów (obraz/audio/wideo) oraz wyszukiwanie w sieci przez
|
||||
generowanie obrazów, rozumienie mediów (obraz/audio/wideo) oraz wyszukiwanie w sieci przez
|
||||
Gemini Grounding.
|
||||
|
||||
- Dostawca: `google`
|
||||
@ -24,134 +24,145 @@ Gemini Grounding.
|
||||
- API: Google Gemini API
|
||||
- Alternatywny dostawca: `google-gemini-cli` (OAuth)
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Ustaw klucz API:
|
||||
Wybierz preferowaną metodę uwierzytelniania i wykonaj kroki konfiguracji.
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice gemini-api-key
|
||||
```
|
||||
<Tabs>
|
||||
<Tab title="Klucz API">
|
||||
**Najlepsze do:** standardowego dostępu do Gemini API przez Google AI Studio.
|
||||
|
||||
2. Ustaw model domyślny:
|
||||
<Steps>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice gemini-api-key
|
||||
```
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "google/gemini-3.1-pro-preview" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
Albo przekaż klucz bezpośrednio:
|
||||
|
||||
## Przykład nieinteraktywny
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--mode local \
|
||||
--auth-choice gemini-api-key \
|
||||
--gemini-api-key "$GEMINI_API_KEY"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "google/gemini-3.1-pro-preview" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider google
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--mode local \
|
||||
--auth-choice gemini-api-key \
|
||||
--gemini-api-key "$GEMINI_API_KEY"
|
||||
```
|
||||
<Tip>
|
||||
Zmienne środowiskowe `GEMINI_API_KEY` i `GOOGLE_API_KEY` są obie akceptowane. Użyj tej, którą masz już skonfigurowaną.
|
||||
</Tip>
|
||||
|
||||
## OAuth (Gemini CLI)
|
||||
</Tab>
|
||||
|
||||
Alternatywny dostawca `google-gemini-cli` używa PKCE OAuth zamiast klucza API.
|
||||
Jest to nieoficjalna integracja; niektórzy użytkownicy zgłaszają
|
||||
ograniczenia konta. Używasz na własne ryzyko.
|
||||
<Tab title="Gemini CLI (OAuth)">
|
||||
**Najlepsze do:** ponownego wykorzystania istniejącego logowania Gemini CLI przez PKCE OAuth zamiast osobnego klucza API.
|
||||
|
||||
- Model domyślny: `google-gemini-cli/gemini-3-flash-preview`
|
||||
- Alias: `gemini-cli`
|
||||
- Wymaganie instalacyjne: lokalne Gemini CLI dostępne jako `gemini`
|
||||
- Homebrew: `brew install gemini-cli`
|
||||
- npm: `npm install -g @google/gemini-cli`
|
||||
- Logowanie:
|
||||
<Warning>
|
||||
Dostawca `google-gemini-cli` to nieoficjalna integracja. Niektórzy użytkownicy
|
||||
zgłaszają ograniczenia konta przy takim użyciu OAuth. Korzystasz na własne ryzyko.
|
||||
</Warning>
|
||||
|
||||
```bash
|
||||
openclaw models auth login --provider google-gemini-cli --set-default
|
||||
```
|
||||
<Steps>
|
||||
<Step title="Zainstaluj Gemini CLI">
|
||||
Lokalne polecenie `gemini` musi być dostępne w `PATH`.
|
||||
|
||||
Zmienne środowiskowe:
|
||||
```bash
|
||||
# Homebrew
|
||||
brew install gemini-cli
|
||||
|
||||
- `OPENCLAW_GEMINI_OAUTH_CLIENT_ID`
|
||||
- `OPENCLAW_GEMINI_OAUTH_CLIENT_SECRET`
|
||||
# lub npm
|
||||
npm install -g @google/gemini-cli
|
||||
```
|
||||
|
||||
(Lub warianty `GEMINI_CLI_*`.)
|
||||
OpenClaw obsługuje zarówno instalacje Homebrew, jak i globalne instalacje npm, w tym
|
||||
typowe układy Windows/npm.
|
||||
</Step>
|
||||
<Step title="Zaloguj się przez OAuth">
|
||||
```bash
|
||||
openclaw models auth login --provider google-gemini-cli --set-default
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider google-gemini-cli
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
Jeśli żądania OAuth Gemini CLI nie działają po zalogowaniu, ustaw
|
||||
`GOOGLE_CLOUD_PROJECT` lub `GOOGLE_CLOUD_PROJECT_ID` na hoście gatewaya i
|
||||
spróbuj ponownie.
|
||||
- Model domyślny: `google-gemini-cli/gemini-3-flash-preview`
|
||||
- Alias: `gemini-cli`
|
||||
|
||||
Jeśli logowanie nie powiedzie się przed rozpoczęciem przepływu w przeglądarce, upewnij się, że lokalne polecenie `gemini`
|
||||
jest zainstalowane i dostępne w `PATH`. OpenClaw obsługuje zarówno instalacje Homebrew,
|
||||
jak i globalne instalacje npm, w tym typowe układy Windows/npm.
|
||||
**Zmienne środowiskowe:**
|
||||
|
||||
Uwagi dotyczące użycia JSON w Gemini CLI:
|
||||
- `OPENCLAW_GEMINI_OAUTH_CLIENT_ID`
|
||||
- `OPENCLAW_GEMINI_OAUTH_CLIENT_SECRET`
|
||||
|
||||
- Tekst odpowiedzi pochodzi z pola JSON `response` CLI.
|
||||
- Użycie przełącza się awaryjnie na `stats`, gdy CLI pozostawia `usage` puste.
|
||||
- `stats.cached` jest normalizowane do OpenClaw `cacheRead`.
|
||||
- Jeśli brakuje `stats.input`, OpenClaw wylicza tokeny wejściowe z
|
||||
`stats.input_tokens - stats.cached`.
|
||||
(Albo warianty `GEMINI_CLI_*`.)
|
||||
|
||||
<Note>
|
||||
Jeśli żądania OAuth Gemini CLI kończą się niepowodzeniem po zalogowaniu, ustaw `GOOGLE_CLOUD_PROJECT` lub
|
||||
`GOOGLE_CLOUD_PROJECT_ID` na hoście Gateway i spróbuj ponownie.
|
||||
</Note>
|
||||
|
||||
<Note>
|
||||
Jeśli logowanie kończy się niepowodzeniem przed uruchomieniem przepływu w przeglądarce, upewnij się, że lokalne polecenie `gemini`
|
||||
jest zainstalowane i dostępne w `PATH`.
|
||||
</Note>
|
||||
|
||||
Dostawca `google-gemini-cli` działający wyłącznie przez OAuth to osobna powierzchnia
|
||||
inferencji tekstu. Generowanie obrazów, rozumienie mediów i Gemini Grounding pozostają przy
|
||||
ID dostawcy `google`.
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Możliwości
|
||||
|
||||
| Możliwość | Obsługiwane |
|
||||
| --------------------- | ----------------- |
|
||||
| Uzupełnianie czatu | Tak |
|
||||
| Generowanie obrazów | Tak |
|
||||
| Generowanie muzyki | Tak |
|
||||
| Rozumienie obrazów | Tak |
|
||||
| Transkrypcja audio | Tak |
|
||||
| Rozumienie wideo | Tak |
|
||||
| Wyszukiwanie w sieci (Grounding) | Tak |
|
||||
| Thinking/reasoning | Tak (Gemini 3.1+) |
|
||||
| Modele Gemma 4 | Tak |
|
||||
| Możliwość | Obsługiwane |
|
||||
| --------------------- | ------------------ |
|
||||
| Chat completions | Tak |
|
||||
| Generowanie obrazów | Tak |
|
||||
| Generowanie muzyki | Tak |
|
||||
| Rozumienie obrazów | Tak |
|
||||
| Transkrypcja audio | Tak |
|
||||
| Rozumienie wideo | Tak |
|
||||
| Wyszukiwanie w sieci (Grounding) | Tak |
|
||||
| Thinking/reasoning | Tak (Gemini 3.1+) |
|
||||
| Modele Gemma 4 | Tak |
|
||||
|
||||
Modele Gemma 4 (na przykład `gemma-4-26b-a4b-it`) obsługują tryb thinking. OpenClaw przepisuje `thinkingBudget` na obsługiwane przez Google `thinkingLevel` dla Gemma 4. Ustawienie thinking na `off` zachowuje wyłączony thinking zamiast mapowania na `MINIMAL`.
|
||||
|
||||
## Bezpośrednie ponowne użycie pamięci podręcznej Gemini
|
||||
|
||||
Dla bezpośrednich uruchomień Gemini API (`api: "google-generative-ai"`), OpenClaw teraz
|
||||
przekazuje skonfigurowany uchwyt `cachedContent` do żądań Gemini.
|
||||
|
||||
- Skonfiguruj parametry dla modelu lub globalne za pomocą
|
||||
`cachedContent` albo starszego `cached_content`
|
||||
- Jeśli obecne są oba, `cachedContent` ma pierwszeństwo
|
||||
- Przykładowa wartość: `cachedContents/prebuilt-context`
|
||||
- Użycie trafienia pamięci podręcznej Gemini jest normalizowane do OpenClaw `cacheRead` z
|
||||
nadrzędnego `cachedContentTokenCount`
|
||||
|
||||
Przykład:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
models: {
|
||||
"google/gemini-2.5-pro": {
|
||||
params: {
|
||||
cachedContent: "cachedContents/prebuilt-context",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
<Tip>
|
||||
Modele Gemma 4 (na przykład `gemma-4-26b-a4b-it`) obsługują tryb thinking. OpenClaw
|
||||
przepisuje `thinkingBudget` na obsługiwany przez Google `thinkingLevel` dla Gemma 4.
|
||||
Ustawienie thinking na `off` zachowuje wyłączone thinking zamiast mapować je na
|
||||
`MINIMAL`.
|
||||
</Tip>
|
||||
|
||||
## Generowanie obrazów
|
||||
|
||||
Dołączony dostawca generowania obrazów `google` domyślnie używa
|
||||
`google/gemini-3.1-flash-image-preview`.
|
||||
|
||||
- Obsługuje także `google/gemini-3-pro-image-preview`
|
||||
- Obsługuje również `google/gemini-3-pro-image-preview`
|
||||
- Generowanie: do 4 obrazów na żądanie
|
||||
- Tryb edycji: włączony, do 5 obrazów wejściowych
|
||||
- Kontrola geometrii: `size`, `aspectRatio` i `resolution`
|
||||
|
||||
Dostawca `google-gemini-cli`, dostępny tylko przez OAuth, jest osobną powierzchnią
|
||||
inferencji tekstowej. Generowanie obrazów, rozumienie multimediów i Gemini Grounding pozostają na
|
||||
identyfikatorze dostawcy `google`.
|
||||
- Kontrolki geometrii: `size`, `aspectRatio` i `resolution`
|
||||
|
||||
Aby używać Google jako domyślnego dostawcy obrazów:
|
||||
|
||||
@ -167,18 +178,19 @@ Aby używać Google jako domyślnego dostawcy obrazów:
|
||||
}
|
||||
```
|
||||
|
||||
Zobacz [Generowanie obrazów](/pl/tools/image-generation), aby poznać wspólne
|
||||
parametry narzędzia, wybór dostawcy i zachowanie awaryjne.
|
||||
<Note>
|
||||
Zobacz [Generowanie obrazów](/pl/tools/image-generation), aby poznać wspólne parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
</Note>
|
||||
|
||||
## Generowanie wideo
|
||||
|
||||
Dołączony plugin `google` rejestruje także generowanie wideo przez współdzielone
|
||||
Dołączony Plugin `google` rejestruje również generowanie wideo przez współdzielone
|
||||
narzędzie `video_generate`.
|
||||
|
||||
- Domyślny model wideo: `google/veo-3.1-fast-generate-preview`
|
||||
- Tryby: tekst-na-wideo, obraz-na-wideo oraz przepływy z odniesieniem do pojedynczego wideo
|
||||
- Tryby: tekst na wideo, obraz na wideo i przepływy pojedynczego wideo referencyjnego
|
||||
- Obsługuje `aspectRatio`, `resolution` i `audio`
|
||||
- Bieżące ograniczenie czasu trwania: **od 4 do 8 sekund**
|
||||
- Obecne ograniczenie czasu trwania: **od 4 do 8 sekund**
|
||||
|
||||
Aby używać Google jako domyślnego dostawcy wideo:
|
||||
|
||||
@ -194,20 +206,21 @@ Aby używać Google jako domyślnego dostawcy wideo:
|
||||
}
|
||||
```
|
||||
|
||||
Zobacz [Generowanie wideo](/pl/tools/video-generation), aby poznać wspólne
|
||||
parametry narzędzia, wybór dostawcy i zachowanie awaryjne.
|
||||
<Note>
|
||||
Zobacz [Generowanie wideo](/pl/tools/video-generation), aby poznać wspólne parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
</Note>
|
||||
|
||||
## Generowanie muzyki
|
||||
|
||||
Dołączony plugin `google` rejestruje także generowanie muzyki przez współdzielone
|
||||
Dołączony Plugin `google` rejestruje również generowanie muzyki przez współdzielone
|
||||
narzędzie `music_generate`.
|
||||
|
||||
- Domyślny model muzyki: `google/lyria-3-clip-preview`
|
||||
- Obsługuje także `google/lyria-3-pro-preview`
|
||||
- Domyślny model muzyczny: `google/lyria-3-clip-preview`
|
||||
- Obsługuje również `google/lyria-3-pro-preview`
|
||||
- Kontrolki promptu: `lyrics` i `instrumental`
|
||||
- Format wyjściowy: domyślnie `mp3`, a także `wav` w `google/lyria-3-pro-preview`
|
||||
- Wejścia referencyjne: do 10 obrazów
|
||||
- Uruchomienia oparte na sesji są odłączane przez współdzielony przepływ zadań/statusu, w tym `action: "status"`
|
||||
- Uruchomienia oparte na sesji odłączają się przez współdzielony przepływ task/status, w tym `action: "status"`
|
||||
|
||||
Aby używać Google jako domyślnego dostawcy muzyki:
|
||||
|
||||
@ -223,11 +236,74 @@ Aby używać Google jako domyślnego dostawcy muzyki:
|
||||
}
|
||||
```
|
||||
|
||||
Zobacz [Generowanie muzyki](/pl/tools/music-generation), aby poznać wspólne
|
||||
parametry narzędzia, wybór dostawcy i zachowanie awaryjne.
|
||||
<Note>
|
||||
Zobacz [Generowanie muzyki](/pl/tools/music-generation), aby poznać wspólne parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
</Note>
|
||||
|
||||
## Uwaga dotycząca środowiska
|
||||
## Konfiguracja zaawansowana
|
||||
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że `GEMINI_API_KEY`
|
||||
jest dostępny dla tego procesu (na przykład w `~/.openclaw/.env` lub przez
|
||||
`env.shellEnv`).
|
||||
<AccordionGroup>
|
||||
<Accordion title="Bezpośrednie ponowne użycie cache Gemini">
|
||||
Dla bezpośrednich uruchomień Gemini API (`api: "google-generative-ai"`), OpenClaw
|
||||
przekazuje skonfigurowany uchwyt `cachedContent` do żądań Gemini.
|
||||
|
||||
- Skonfiguruj parametry per model lub globalnie za pomocą
|
||||
`cachedContent` albo starszego `cached_content`
|
||||
- Jeśli obecne są oba, `cachedContent` ma pierwszeństwo
|
||||
- Przykładowa wartość: `cachedContents/prebuilt-context`
|
||||
- Zużycie cache-hit Gemini jest normalizowane do `cacheRead` w OpenClaw z
|
||||
nadrzędnego `cachedContentTokenCount`
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
models: {
|
||||
"google/gemini-2.5-pro": {
|
||||
params: {
|
||||
cachedContent: "cachedContents/prebuilt-context",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Uwagi o użyciu JSON Gemini CLI">
|
||||
Przy użyciu dostawcy OAuth `google-gemini-cli` OpenClaw normalizuje
|
||||
wyjście JSON CLI w następujący sposób:
|
||||
|
||||
- Tekst odpowiedzi pochodzi z pola `response` w JSON CLI.
|
||||
- Zużycie wraca do `stats`, gdy CLI pozostawia `usage` puste.
|
||||
- `stats.cached` jest normalizowane do `cacheRead` w OpenClaw.
|
||||
- Jeśli brakuje `stats.input`, OpenClaw wyprowadza tokeny wejściowe z
|
||||
`stats.input_tokens - stats.cached`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Konfiguracja środowiska i demona">
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że `GEMINI_API_KEY`
|
||||
jest dostępne dla tego procesu (na przykład w `~/.openclaw/.env` albo przez
|
||||
`env.shellEnv`).
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Generowanie obrazów" href="/pl/tools/image-generation" icon="image">
|
||||
Wspólne parametry narzędzia obrazów i wybór dostawcy.
|
||||
</Card>
|
||||
<Card title="Generowanie wideo" href="/pl/tools/video-generation" icon="video">
|
||||
Wspólne parametry narzędzia wideo i wybór dostawcy.
|
||||
</Card>
|
||||
<Card title="Generowanie muzyki" href="/pl/tools/music-generation" icon="music">
|
||||
Wspólne parametry narzędzia muzyki i wybór dostawcy.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,51 +1,55 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać Groq z OpenClaw
|
||||
- Potrzebujesz zmiennej środowiskowej klucza API albo wyboru auth w CLI
|
||||
- Potrzebujesz zmiennej env klucza API albo wyboru auth w CLI
|
||||
summary: Konfiguracja Groq (auth + wybór modelu)
|
||||
title: Groq
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:00Z"
|
||||
generated_at: "2026-04-12T23:31:10Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 7e27532cafcdaf1ac336fa310e08e4e3245d2d0eb0e94e0bcf42c532c6a9a80b
|
||||
source_hash: 613289efc36fedd002e1ebf9366e0e7119ea1f9e14a1dae773b90ea57100baee
|
||||
source_path: providers/groq.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Groq
|
||||
|
||||
[Groq](https://groq.com) zapewnia ultraszybką inferencję na modelach open-source
|
||||
(Llama, Gemma, Mistral i innych) przy użyciu własnego sprzętu LPU. OpenClaw łączy
|
||||
się z Groq przez jego API zgodne z OpenAI.
|
||||
[Groq](https://groq.com) zapewnia ultraszybkie wnioskowanie na modelach open source
|
||||
(Llama, Gemma, Mistral i innych) z użyciem niestandardowego sprzętu LPU. OpenClaw łączy się
|
||||
z Groq przez jego API zgodne z OpenAI.
|
||||
|
||||
- Dostawca: `groq`
|
||||
- Auth: `GROQ_API_KEY`
|
||||
- API: zgodne z OpenAI
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | ----------------- |
|
||||
| Dostawca | `groq` |
|
||||
| Auth | `GROQ_API_KEY` |
|
||||
| API | zgodne z OpenAI |
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Pobierz klucz API z [console.groq.com/keys](https://console.groq.com/keys).
|
||||
<Steps>
|
||||
<Step title="Pobierz klucz API">
|
||||
Utwórz klucz API na stronie [console.groq.com/keys](https://console.groq.com/keys).
|
||||
</Step>
|
||||
<Step title="Ustaw klucz API">
|
||||
```bash
|
||||
export GROQ_API_KEY="gsk_..."
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "groq/llama-3.3-70b-versatile" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
2. Ustaw klucz API:
|
||||
|
||||
```bash
|
||||
export GROQ_API_KEY="gsk_..."
|
||||
```
|
||||
|
||||
3. Ustaw model domyślny:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "groq/llama-3.3-70b-versatile" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
## Przykład pliku konfiguracyjnego
|
||||
### Przykład pliku konfiguracji
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -58,11 +62,29 @@ export GROQ_API_KEY="gsk_..."
|
||||
}
|
||||
```
|
||||
|
||||
## Dostępne modele
|
||||
|
||||
Katalog modeli Groq często się zmienia. Uruchom `openclaw models list | grep groq`,
|
||||
aby zobaczyć aktualnie dostępne modele, albo sprawdź
|
||||
[console.groq.com/docs/models](https://console.groq.com/docs/models).
|
||||
|
||||
| Model | Uwagi |
|
||||
| ----------------------------- | ---------------------------------- |
|
||||
| **Llama 3.3 70B Versatile** | Ogólnego przeznaczenia, duży kontekst |
|
||||
| **Llama 3.1 8B Instant** | Szybki, lekki |
|
||||
| **Gemma 2 9B** | Kompaktowy, wydajny |
|
||||
| **Mixtral 8x7B** | Architektura MoE, dobre rozumowanie |
|
||||
|
||||
<Tip>
|
||||
Użyj `openclaw models list --provider groq`, aby uzyskać najbardziej aktualną listę
|
||||
modeli dostępnych na Twoim koncie.
|
||||
</Tip>
|
||||
|
||||
## Transkrypcja audio
|
||||
|
||||
Groq zapewnia także szybką transkrypcję audio opartą na Whisper. Gdy jest skonfigurowany jako dostawca
|
||||
media-understanding, OpenClaw używa modelu `whisper-large-v3-turbo` Groq
|
||||
do transkrypcji wiadomości głosowych przez współdzieloną powierzchnię `tools.media.audio`.
|
||||
Groq zapewnia także szybką transkrypcję audio opartą na Whisper. Gdy jest skonfigurowany jako
|
||||
dostawca media-understanding, OpenClaw używa modelu Groq `whisper-large-v3-turbo`
|
||||
do transkrypcji wiadomości głosowych przez wspólną powierzchnię `tools.media.audio`.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -76,35 +98,42 @@ do transkrypcji wiadomości głosowych przez współdzieloną powierzchnię `too
|
||||
}
|
||||
```
|
||||
|
||||
## Uwaga dotycząca środowiska
|
||||
<AccordionGroup>
|
||||
<Accordion title="Szczegóły transkrypcji audio">
|
||||
| Właściwość | Wartość |
|
||||
|----------|-------|
|
||||
| Wspólna ścieżka konfiguracji | `tools.media.audio` |
|
||||
| Domyślny adres URL bazowy | `https://api.groq.com/openai/v1` |
|
||||
| Model domyślny | `whisper-large-v3-turbo` |
|
||||
| Endpoint API | zgodny z OpenAI `/audio/transcriptions` |
|
||||
</Accordion>
|
||||
|
||||
Jeśli Gateway działa jako daemon (launchd/systemd), upewnij się, że `GROQ_API_KEY`
|
||||
jest dostępne dla tego procesu (na przykład w `~/.openclaw/.env` albo przez
|
||||
`env.shellEnv`).
|
||||
<Accordion title="Uwaga dotycząca środowiska">
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że `GROQ_API_KEY` jest
|
||||
dostępny dla tego procesu (na przykład w `~/.openclaw/.env` albo przez
|
||||
`env.shellEnv`).
|
||||
|
||||
## Uwagi o audio
|
||||
<Warning>
|
||||
Klucze ustawione tylko w interaktywnej powłoce nie są widoczne dla procesów
|
||||
Gateway zarządzanych przez demona. Aby zapewnić trwałą dostępność, użyj `~/.openclaw/.env` albo konfiguracji `env.shellEnv`.
|
||||
</Warning>
|
||||
|
||||
- Współdzielona ścieżka konfiguracji: `tools.media.audio`
|
||||
- Domyślny podstawowy URL audio Groq: `https://api.groq.com/openai/v1`
|
||||
- Domyślny model audio Groq: `whisper-large-v3-turbo`
|
||||
- Transkrypcja audio Groq używa zgodnej z OpenAI ścieżki `/audio/transcriptions`
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Dostępne modele
|
||||
## Powiązane
|
||||
|
||||
Katalog modeli Groq często się zmienia. Uruchom `openclaw models list | grep groq`,
|
||||
aby zobaczyć aktualnie dostępne modele, albo sprawdź
|
||||
[console.groq.com/docs/models](https://console.groq.com/docs/models).
|
||||
|
||||
Popularne opcje obejmują:
|
||||
|
||||
- **Llama 3.3 70B Versatile** - ogólnego przeznaczenia, duży kontekst
|
||||
- **Llama 3.1 8B Instant** - szybki, lekki
|
||||
- **Gemma 2 9B** - kompaktowy, wydajny
|
||||
- **Mixtral 8x7B** - architektura MoE, mocne reasoning
|
||||
|
||||
## Linki
|
||||
|
||||
- [Groq Console](https://console.groq.com)
|
||||
- [Dokumentacja API](https://console.groq.com/docs)
|
||||
- [Lista modeli](https://console.groq.com/docs/models)
|
||||
- [Cennik](https://groq.com/pricing)
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Informacje o konfiguracji" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełny schemat konfiguracji, w tym ustawienia dostawcy i audio.
|
||||
</Card>
|
||||
<Card title="Konsola Groq" href="https://console.groq.com" icon="arrow-up-right-from-square">
|
||||
Panel Groq, dokumentacja API i ceny.
|
||||
</Card>
|
||||
<Card title="Lista modeli Groq" href="https://console.groq.com/docs/models" icon="list">
|
||||
Oficjalny katalog modeli Groq.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,50 +1,70 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać Hugging Face Inference z OpenClaw
|
||||
- Potrzebujesz zmiennej środowiskowej tokena HF lub opcji uwierzytelniania CLI
|
||||
- Potrzebujesz zmiennej środowiskowej tokenu HF lub opcji uwierzytelniania w CLI
|
||||
summary: Konfiguracja Hugging Face Inference (uwierzytelnianie + wybór modelu)
|
||||
title: Hugging Face (Inference)
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:32Z"
|
||||
generated_at: "2026-04-12T23:31:15Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 692d2caffbaf991670260da393c67ae7e6349b9e1e3ed5cb9a514f8a77192e86
|
||||
source_hash: 7787fce1acfe81adb5380ab1c7441d661d03c574da07149c037d3b6ba3c8e52a
|
||||
source_path: providers/huggingface.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Hugging Face (Inference)
|
||||
|
||||
[Hugging Face Inference Providers](https://huggingface.co/docs/inference-providers) oferują zgodne z OpenAI chat completions przez pojedyncze API routera. Otrzymujesz dostęp do wielu modeli (DeepSeek, Llama i innych) za pomocą jednego tokena. OpenClaw używa **endpointu zgodnego z OpenAI** (tylko chat completions); do text-to-image, embeddingów lub mowy użyj bezpośrednio [klientów HF inference](https://huggingface.co/docs/api-inference/quicktour).
|
||||
[Dostawcy Hugging Face Inference](https://huggingface.co/docs/inference-providers) oferują zgodne z OpenAI chat completions przez jedno API routera. Otrzymujesz dostęp do wielu modeli (DeepSeek, Llama i innych) za pomocą jednego tokenu. OpenClaw używa **endpointu zgodnego z OpenAI** (tylko chat completions); do text-to-image, embeddings lub mowy używaj bezpośrednio [klientów HF inference](https://huggingface.co/docs/api-inference/quicktour).
|
||||
|
||||
- Provider: `huggingface`
|
||||
- Dostawca: `huggingface`
|
||||
- Uwierzytelnianie: `HUGGINGFACE_HUB_TOKEN` lub `HF_TOKEN` (token o szczegółowych uprawnieniach z uprawnieniem **Make calls to Inference Providers**)
|
||||
- API: zgodne z OpenAI (`https://router.huggingface.co/v1`)
|
||||
- Rozliczenia: jeden token HF; [cennik](https://huggingface.co/docs/inference-providers/pricing) opiera się na stawkach providerów i obejmuje darmowy poziom.
|
||||
- Rozliczanie: jeden token HF; [cennik](https://huggingface.co/docs/inference-providers/pricing) opiera się na stawkach dostawców i obejmuje darmowy poziom.
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Utwórz token o szczegółowych uprawnieniach na stronie [Hugging Face → Settings → Tokens](https://huggingface.co/settings/tokens/new?ownUserPermissions=inference.serverless.write&tokenType=fineGrained) z uprawnieniem **Make calls to Inference Providers**.
|
||||
2. Uruchom onboarding i wybierz **Hugging Face** z listy rozwijanej providerów, a następnie wprowadź klucz API, gdy pojawi się monit:
|
||||
<Steps>
|
||||
<Step title="Utwórz token o szczegółowych uprawnieniach">
|
||||
Przejdź do [Hugging Face Settings Tokens](https://huggingface.co/settings/tokens/new?ownUserPermissions=inference.serverless.write&tokenType=fineGrained) i utwórz nowy token o szczegółowych uprawnieniach.
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice huggingface-api-key
|
||||
```
|
||||
<Warning>
|
||||
Token musi mieć włączone uprawnienie **Make calls to Inference Providers**, w przeciwnym razie żądania API będą odrzucane.
|
||||
</Warning>
|
||||
|
||||
3. Na liście rozwijanej **Default Hugging Face model** wybierz model, którego chcesz używać (lista jest ładowana z Inference API, gdy masz prawidłowy token; w przeciwnym razie wyświetlana jest wbudowana lista). Twój wybór zostanie zapisany jako model domyślny.
|
||||
4. Możesz też ustawić lub zmienić model domyślny później w konfiguracji:
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
Wybierz **Hugging Face** z listy rozwijanej dostawców, a następnie podaj klucz API, gdy pojawi się monit:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "huggingface/deepseek-ai/DeepSeek-R1" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
```bash
|
||||
openclaw onboard --auth-choice huggingface-api-key
|
||||
```
|
||||
|
||||
## Przykład nieinteraktywny
|
||||
</Step>
|
||||
<Step title="Wybierz model domyślny">
|
||||
Z listy rozwijanej **Default Hugging Face model** wybierz model, którego chcesz używać. Lista jest wczytywana z Inference API, gdy masz prawidłowy token; w przeciwnym razie pokazywana jest wbudowana lista. Twój wybór jest zapisywany jako model domyślny.
|
||||
|
||||
Możesz też ustawić lub zmienić model domyślny później w konfiguracji:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "huggingface/deepseek-ai/DeepSeek-R1" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider huggingface
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
### Konfiguracja nieinteraktywna
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
@ -55,55 +75,9 @@ openclaw onboard --non-interactive \
|
||||
|
||||
To ustawi `huggingface/deepseek-ai/DeepSeek-R1` jako model domyślny.
|
||||
|
||||
## Uwaga dotycząca środowiska
|
||||
## Identyfikatory modeli
|
||||
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że `HUGGINGFACE_HUB_TOKEN` lub `HF_TOKEN`
|
||||
jest dostępny dla tego procesu (na przykład w `~/.openclaw/.env` lub przez
|
||||
`env.shellEnv`).
|
||||
|
||||
## Wykrywanie modeli i lista rozwijana onboardingu
|
||||
|
||||
OpenClaw wykrywa modele, wywołując **endpoint Inference bezpośrednio**:
|
||||
|
||||
```bash
|
||||
GET https://router.huggingface.co/v1/models
|
||||
```
|
||||
|
||||
(Opcjonalnie: wyślij `Authorization: Bearer $HUGGINGFACE_HUB_TOKEN` lub `$HF_TOKEN`, aby uzyskać pełną listę; niektóre endpointy bez uwierzytelniania zwracają tylko podzbiór.) Odpowiedź ma styl OpenAI: `{ "object": "list", "data": [ { "id": "Qwen/Qwen3-8B", "owned_by": "Qwen", ... }, ... ] }`.
|
||||
|
||||
Gdy skonfigurujesz klucz API Hugging Face (przez onboarding, `HUGGINGFACE_HUB_TOKEN` lub `HF_TOKEN`), OpenClaw użyje tego żądania GET do wykrycia dostępnych modeli chat-completion. Podczas **konfiguracji interaktywnej**, po wprowadzeniu tokena zobaczysz listę rozwijaną **Default Hugging Face model** wypełnioną na podstawie tej listy (lub wbudowanego katalogu, jeśli żądanie się nie powiedzie). W czasie działania (np. przy uruchamianiu Gateway), gdy klucz jest dostępny, OpenClaw ponownie wywołuje **GET** `https://router.huggingface.co/v1/models`, aby odświeżyć katalog. Lista jest scalana z wbudowanym katalogiem (dla metadanych, takich jak okno kontekstu i koszt). Jeśli żądanie się nie powiedzie lub nie ustawiono klucza, używany jest tylko wbudowany katalog.
|
||||
|
||||
## Nazwy modeli i opcje edytowalne
|
||||
|
||||
- **Nazwa z API:** Wyświetlana nazwa modelu jest **uzupełniana z GET /v1/models**, gdy API zwraca `name`, `title` lub `display_name`; w przeciwnym razie jest wyprowadzana z identyfikatora modelu (np. `deepseek-ai/DeepSeek-R1` → „DeepSeek R1”).
|
||||
- **Nadpisanie nazwy wyświetlanej:** Możesz ustawić własną etykietę dla każdego modelu w konfiguracji, aby był wyświetlany tak, jak chcesz w CLI i UI:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
models: {
|
||||
"huggingface/deepseek-ai/DeepSeek-R1": { alias: "DeepSeek R1 (fast)" },
|
||||
"huggingface/deepseek-ai/DeepSeek-R1:cheapest": { alias: "DeepSeek R1 (cheap)" },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
- **Sufiksy polityk:** Dołączona dokumentacja i helpery Hugging Face w OpenClaw obecnie traktują te dwa sufiksy jako wbudowane warianty polityk:
|
||||
- **`:fastest`** — najwyższa przepustowość.
|
||||
- **`:cheapest`** — najniższy koszt na token wyjściowy.
|
||||
|
||||
Możesz dodać je jako osobne wpisy w `models.providers.huggingface.models` lub ustawić `model.primary` z tym sufiksem. Możesz też ustawić domyślną kolejność providerów w [ustawieniach Inference Providers](https://hf.co/settings/inference-providers) (brak sufiksu = użyj tej kolejności).
|
||||
|
||||
- **Scalanie konfiguracji:** Istniejące wpisy w `models.providers.huggingface.models` (np. w `models.json`) są zachowywane podczas scalania konfiguracji. Oznacza to, że wszystkie ustawione tam własne `name`, `alias` lub opcje modelu zostaną zachowane.
|
||||
|
||||
## Identyfikatory modeli i przykłady konfiguracji
|
||||
|
||||
Odwołania do modeli mają postać `huggingface/<org>/<model>` (identyfikatory w stylu Hub). Lista poniżej pochodzi z **GET** `https://router.huggingface.co/v1/models`; Twój katalog może zawierać więcej pozycji.
|
||||
|
||||
**Przykładowe identyfikatory (z endpointu inference):**
|
||||
Referencje modeli używają formatu `huggingface/<org>/<model>` (identyfikatory w stylu Hub). Poniższa lista pochodzi z **GET** `https://router.huggingface.co/v1/models`; Twój katalog może zawierać więcej.
|
||||
|
||||
| Model | Ref (z prefiksem `huggingface/`) |
|
||||
| ---------------------- | ----------------------------------- |
|
||||
@ -118,83 +92,153 @@ Odwołania do modeli mają postać `huggingface/<org>/<model>` (identyfikatory w
|
||||
| GLM 4.7 | `zai-org/GLM-4.7` |
|
||||
| Kimi K2.5 | `moonshotai/Kimi-K2.5` |
|
||||
|
||||
Możesz dodać `:fastest` lub `:cheapest` do identyfikatora modelu. Ustaw domyślną kolejność w [ustawieniach Inference Providers](https://hf.co/settings/inference-providers); pełną listę znajdziesz w [Inference Providers](https://huggingface.co/docs/inference-providers) oraz pod **GET** `https://router.huggingface.co/v1/models`.
|
||||
<Tip>
|
||||
Możesz dodać `:fastest` lub `:cheapest` do dowolnego identyfikatora modelu. Ustaw domyślną kolejność w [ustawieniach Inference Provider](https://hf.co/settings/inference-providers); pełną listę znajdziesz w [Inference Providers](https://huggingface.co/docs/inference-providers) oraz pod **GET** `https://router.huggingface.co/v1/models`.
|
||||
</Tip>
|
||||
|
||||
### Pełne przykłady konfiguracji
|
||||
## Szczegóły zaawansowane
|
||||
|
||||
**Główny model DeepSeek R1 z fallbackiem do Qwen:**
|
||||
<AccordionGroup>
|
||||
<Accordion title="Wykrywanie modeli i lista rozwijana onboardingu">
|
||||
OpenClaw wykrywa modele, wywołując **bezpośrednio endpoint Inference**:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: {
|
||||
primary: "huggingface/deepseek-ai/DeepSeek-R1",
|
||||
fallbacks: ["huggingface/Qwen/Qwen3-8B"],
|
||||
```bash
|
||||
GET https://router.huggingface.co/v1/models
|
||||
```
|
||||
|
||||
(Opcjonalnie: wyślij `Authorization: Bearer $HUGGINGFACE_HUB_TOKEN` lub `$HF_TOKEN`, aby uzyskać pełną listę; niektóre endpointy bez uwierzytelniania zwracają podzbiór). Odpowiedź ma format w stylu OpenAI: `{ "object": "list", "data": [ { "id": "Qwen/Qwen3-8B", "owned_by": "Qwen", ... }, ... ] }`.
|
||||
|
||||
Gdy skonfigurujesz klucz API Hugging Face (przez onboarding, `HUGGINGFACE_HUB_TOKEN` lub `HF_TOKEN`), OpenClaw używa tego żądania GET do wykrywania dostępnych modeli chat-completion. Podczas **konfiguracji interaktywnej**, po podaniu tokenu zobaczysz listę rozwijaną **Default Hugging Face model** wypełnioną tą listą (lub wbudowanym katalogiem, jeśli żądanie się nie powiedzie). W runtime (na przykład przy uruchamianiu Gateway), gdy klucz jest obecny, OpenClaw ponownie wywołuje **GET** `https://router.huggingface.co/v1/models`, aby odświeżyć katalog. Lista jest łączona z wbudowanym katalogiem (dla metadanych, takich jak okno kontekstu i koszt). Jeśli żądanie się nie powiedzie lub klucz nie jest ustawiony, używany jest tylko wbudowany katalog.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Nazwy modeli, aliasy i sufiksy polityk">
|
||||
- **Nazwa z API:** Wyświetlana nazwa modelu jest **uzupełniana z GET /v1/models**, gdy API zwraca `name`, `title` lub `display_name`; w przeciwnym razie jest wyprowadzana z identyfikatora modelu (na przykład `deepseek-ai/DeepSeek-R1` staje się „DeepSeek R1”).
|
||||
- **Nadpisanie wyświetlanej nazwy:** Możesz ustawić niestandardową etykietę dla każdego modelu w konfiguracji, aby była wyświetlana tak, jak chcesz w CLI i UI:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
models: {
|
||||
"huggingface/deepseek-ai/DeepSeek-R1": { alias: "DeepSeek R1 (fast)" },
|
||||
"huggingface/deepseek-ai/DeepSeek-R1:cheapest": { alias: "DeepSeek R1 (cheap)" },
|
||||
},
|
||||
},
|
||||
},
|
||||
models: {
|
||||
"huggingface/deepseek-ai/DeepSeek-R1": { alias: "DeepSeek R1" },
|
||||
"huggingface/Qwen/Qwen3-8B": { alias: "Qwen3 8B" },
|
||||
}
|
||||
```
|
||||
|
||||
- **Sufiksy polityk:** Dołączona dokumentacja i helpery OpenClaw dla Hugging Face obecnie traktują te dwa sufiksy jako wbudowane warianty polityk:
|
||||
- **`:fastest`** — najwyższa przepustowość.
|
||||
- **`:cheapest`** — najniższy koszt na token wyjściowy.
|
||||
|
||||
Możesz dodać je jako osobne wpisy w `models.providers.huggingface.models` albo ustawić `model.primary` z sufiksem. Możesz też ustawić domyślną kolejność dostawców w [ustawieniach Inference Provider](https://hf.co/settings/inference-providers) (brak sufiksu = użyj tej kolejności).
|
||||
|
||||
- **Łączenie konfiguracji:** Istniejące wpisy w `models.providers.huggingface.models` (na przykład w `models.json`) są zachowywane podczas łączenia konfiguracji. Oznacza to, że wszelkie niestandardowe `name`, `alias` lub opcje modelu, które tam ustawisz, zostaną zachowane.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Konfiguracja środowiska i demona">
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że `HUGGINGFACE_HUB_TOKEN` lub `HF_TOKEN` jest dostępny dla tego procesu (na przykład w `~/.openclaw/.env` lub przez `env.shellEnv`).
|
||||
|
||||
<Note>
|
||||
OpenClaw akceptuje zarówno `HUGGINGFACE_HUB_TOKEN`, jak i `HF_TOKEN` jako aliasy zmiennych środowiskowych. Każda z nich działa; jeśli ustawione są obie, pierwszeństwo ma `HUGGINGFACE_HUB_TOKEN`.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Konfiguracja: DeepSeek R1 z fallbackiem Qwen">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: {
|
||||
primary: "huggingface/deepseek-ai/DeepSeek-R1",
|
||||
fallbacks: ["huggingface/Qwen/Qwen3-8B"],
|
||||
},
|
||||
models: {
|
||||
"huggingface/deepseek-ai/DeepSeek-R1": { alias: "DeepSeek R1" },
|
||||
"huggingface/Qwen/Qwen3-8B": { alias: "Qwen3 8B" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
**Qwen jako domyślny, z wariantami `:cheapest` i `:fastest`:**
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "huggingface/Qwen/Qwen3-8B" },
|
||||
models: {
|
||||
"huggingface/Qwen/Qwen3-8B": { alias: "Qwen3 8B" },
|
||||
"huggingface/Qwen/Qwen3-8B:cheapest": { alias: "Qwen3 8B (cheapest)" },
|
||||
"huggingface/Qwen/Qwen3-8B:fastest": { alias: "Qwen3 8B (fastest)" },
|
||||
<Accordion title="Konfiguracja: Qwen z wariantami cheapest i fastest">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "huggingface/Qwen/Qwen3-8B" },
|
||||
models: {
|
||||
"huggingface/Qwen/Qwen3-8B": { alias: "Qwen3 8B" },
|
||||
"huggingface/Qwen/Qwen3-8B:cheapest": { alias: "Qwen3 8B (cheapest)" },
|
||||
"huggingface/Qwen/Qwen3-8B:fastest": { alias: "Qwen3 8B (fastest)" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
**DeepSeek + Llama + GPT-OSS z aliasami:**
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: {
|
||||
primary: "huggingface/deepseek-ai/DeepSeek-V3.2",
|
||||
fallbacks: [
|
||||
"huggingface/meta-llama/Llama-3.3-70B-Instruct",
|
||||
"huggingface/openai/gpt-oss-120b",
|
||||
],
|
||||
<Accordion title="Konfiguracja: DeepSeek + Llama + GPT-OSS z aliasami">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: {
|
||||
primary: "huggingface/deepseek-ai/DeepSeek-V3.2",
|
||||
fallbacks: [
|
||||
"huggingface/meta-llama/Llama-3.3-70B-Instruct",
|
||||
"huggingface/openai/gpt-oss-120b",
|
||||
],
|
||||
},
|
||||
models: {
|
||||
"huggingface/deepseek-ai/DeepSeek-V3.2": { alias: "DeepSeek V3.2" },
|
||||
"huggingface/meta-llama/Llama-3.3-70B-Instruct": { alias: "Llama 3.3 70B" },
|
||||
"huggingface/openai/gpt-oss-120b": { alias: "GPT-OSS 120B" },
|
||||
},
|
||||
},
|
||||
},
|
||||
models: {
|
||||
"huggingface/deepseek-ai/DeepSeek-V3.2": { alias: "DeepSeek V3.2" },
|
||||
"huggingface/meta-llama/Llama-3.3-70B-Instruct": { alias: "Llama 3.3 70B" },
|
||||
"huggingface/openai/gpt-oss-120b": { alias: "GPT-OSS 120B" },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
**Wiele modeli Qwen i DeepSeek z sufiksami polityk:**
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "huggingface/Qwen/Qwen2.5-7B-Instruct:cheapest" },
|
||||
models: {
|
||||
"huggingface/Qwen/Qwen2.5-7B-Instruct": { alias: "Qwen2.5 7B" },
|
||||
"huggingface/Qwen/Qwen2.5-7B-Instruct:cheapest": { alias: "Qwen2.5 7B (cheap)" },
|
||||
"huggingface/deepseek-ai/DeepSeek-R1:fastest": { alias: "DeepSeek R1 (fast)" },
|
||||
"huggingface/meta-llama/Llama-3.1-8B-Instruct": { alias: "Llama 3.1 8B" },
|
||||
<Accordion title="Konfiguracja: Wiele modeli Qwen i DeepSeek z sufiksami polityk">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "huggingface/Qwen/Qwen2.5-7B-Instruct:cheapest" },
|
||||
models: {
|
||||
"huggingface/Qwen/Qwen2.5-7B-Instruct": { alias: "Qwen2.5 7B" },
|
||||
"huggingface/Qwen/Qwen2.5-7B-Instruct:cheapest": { alias: "Qwen2.5 7B (cheap)" },
|
||||
"huggingface/deepseek-ai/DeepSeek-R1:fastest": { alias: "DeepSeek R1 (fast)" },
|
||||
"huggingface/meta-llama/Llama-3.1-8B-Instruct": { alias: "Llama 3.1 8B" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Dostawcy modeli" href="/pl/concepts/model-providers" icon="layers">
|
||||
Przegląd wszystkich dostawców, referencji modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/models" icon="brain">
|
||||
Jak wybierać i konfigurować modele.
|
||||
</Card>
|
||||
<Card title="Dokumentacja Inference Providers" href="https://huggingface.co/docs/inference-providers" icon="book">
|
||||
Oficjalna dokumentacja Hugging Face Inference Providers.
|
||||
</Card>
|
||||
<Card title="Konfiguracja" href="/pl/gateway/configuration" icon="gear">
|
||||
Pełna dokumentacja konfiguracji.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,49 +1,49 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz uruchomić OpenClaw z lokalnym serwerem inferrs
|
||||
- Chcesz uruchamiać OpenClaw z lokalnym serwerem inferrs
|
||||
- Udostępniasz Gemma lub inny model przez inferrs
|
||||
- Potrzebujesz dokładnych flag zgodności OpenClaw dla inferrs
|
||||
summary: Uruchamiaj OpenClaw przez inferrs (lokalny serwer zgodny z OpenAI)
|
||||
title: inferrs
|
||||
x-i18n:
|
||||
generated_at: "2026-04-09T01:29:49Z"
|
||||
generated_at: "2026-04-12T23:31:26Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 03b9d5a9935c75fd369068bacb7807a5308cd0bd74303b664227fb664c3a2098
|
||||
source_hash: 847dcc131fe51dfe163dcd60075dbfaa664662ea2a5c3986ccb08ddd37e8c31f
|
||||
source_path: providers/inferrs.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# inferrs
|
||||
|
||||
[inferrs](https://github.com/ericcurtin/inferrs) może udostępniać lokalne modele za
|
||||
interfejsem API `/v1` zgodnym z OpenAI. OpenClaw współpracuje z `inferrs` przez ogólną
|
||||
[inferrs](https://github.com/ericcurtin/inferrs) może udostępniać modele lokalne za
|
||||
zgodnym z OpenAI API `/v1`. OpenClaw współpracuje z `inferrs` przez ogólną
|
||||
ścieżkę `openai-completions`.
|
||||
|
||||
`inferrs` najlepiej obecnie traktować jako niestandardowy, self-hosted
|
||||
backend zgodny z OpenAI, a nie dedykowaną wtyczkę dostawcy OpenClaw.
|
||||
`inferrs` obecnie najlepiej traktować jako niestandardowy samohostowany backend
|
||||
zgodny z OpenAI, a nie jako dedykowany Plugin dostawcy OpenClaw.
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Uruchom `inferrs` z modelem.
|
||||
|
||||
Przykład:
|
||||
|
||||
```bash
|
||||
inferrs serve google/gemma-4-E2B-it \
|
||||
--host 127.0.0.1 \
|
||||
--port 8080 \
|
||||
--device metal
|
||||
```
|
||||
|
||||
2. Sprawdź, czy serwer jest osiągalny.
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:8080/health
|
||||
curl http://127.0.0.1:8080/v1/models
|
||||
```
|
||||
|
||||
3. Dodaj jawny wpis dostawcy OpenClaw i skieruj na niego swój domyślny model.
|
||||
<Steps>
|
||||
<Step title="Uruchom inferrs z modelem">
|
||||
```bash
|
||||
inferrs serve google/gemma-4-E2B-it \
|
||||
--host 127.0.0.1 \
|
||||
--port 8080 \
|
||||
--device metal
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy serwer jest osiągalny">
|
||||
```bash
|
||||
curl http://127.0.0.1:8080/health
|
||||
curl http://127.0.0.1:8080/v1/models
|
||||
```
|
||||
</Step>
|
||||
<Step title="Dodaj wpis dostawcy OpenClaw">
|
||||
Dodaj jawny wpis dostawcy i skieruj na niego swój model domyślny. Zobacz pełny przykład konfiguracji poniżej.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Pełny przykład konfiguracji
|
||||
|
||||
@ -88,93 +88,129 @@ Ten przykład używa Gemma 4 na lokalnym serwerze `inferrs`.
|
||||
}
|
||||
```
|
||||
|
||||
## Dlaczego `requiresStringContent` ma znaczenie
|
||||
## Zaawansowane
|
||||
|
||||
Niektóre trasy Chat Completions w `inferrs` akceptują tylko ciąg znaków w
|
||||
`messages[].content`, a nie ustrukturyzowane tablice części treści.
|
||||
<AccordionGroup>
|
||||
<Accordion title="Dlaczego requiresStringContent ma znaczenie">
|
||||
Niektóre trasy `inferrs` Chat Completions akceptują tylko ciąg znaków w
|
||||
`messages[].content`, a nie ustrukturyzowane tablice części treści.
|
||||
|
||||
Jeśli uruchomienia OpenClaw kończą się błędem takim jak:
|
||||
<Warning>
|
||||
Jeśli uruchomienia OpenClaw kończą się błędem takim jak:
|
||||
|
||||
```text
|
||||
messages[1].content: invalid type: sequence, expected a string
|
||||
```
|
||||
```text
|
||||
messages[1].content: invalid type: sequence, expected a string
|
||||
```
|
||||
|
||||
ustaw:
|
||||
ustaw `compat.requiresStringContent: true` we wpisie modelu.
|
||||
</Warning>
|
||||
|
||||
```json5
|
||||
compat: {
|
||||
requiresStringContent: true
|
||||
}
|
||||
```
|
||||
```json5
|
||||
compat: {
|
||||
requiresStringContent: true
|
||||
}
|
||||
```
|
||||
|
||||
OpenClaw spłaszczy części treści zawierające wyłącznie tekst do zwykłych ciągów
|
||||
przed wysłaniem żądania.
|
||||
OpenClaw spłaszczy części treści zawierające wyłącznie tekst do zwykłych ciągów znaków przed wysłaniem
|
||||
żądania.
|
||||
|
||||
## Zastrzeżenie dotyczące Gemma i schematu narzędzi
|
||||
</Accordion>
|
||||
|
||||
Niektóre obecne kombinacje `inferrs` + Gemma akceptują małe, bezpośrednie
|
||||
żądania do `/v1/chat/completions`, ale nadal kończą się błędem przy pełnych turnach
|
||||
runtime agenta OpenClaw.
|
||||
<Accordion title="Zastrzeżenie dotyczące Gemma i schematu narzędzi">
|
||||
Niektóre obecne kombinacje `inferrs` + Gemma akceptują małe bezpośrednie
|
||||
żądania `/v1/chat/completions`, ale nadal zawodzą przy pełnych turach środowiska uruchomieniowego agenta OpenClaw.
|
||||
|
||||
Jeśli tak się dzieje, najpierw spróbuj tego:
|
||||
Jeśli tak się stanie, najpierw spróbuj tego:
|
||||
|
||||
```json5
|
||||
compat: {
|
||||
requiresStringContent: true,
|
||||
supportsTools: false
|
||||
}
|
||||
```
|
||||
```json5
|
||||
compat: {
|
||||
requiresStringContent: true,
|
||||
supportsTools: false
|
||||
}
|
||||
```
|
||||
|
||||
To wyłącza powierzchnię schematu narzędzi OpenClaw dla modelu i może zmniejszyć nacisk promptu
|
||||
na bardziej restrykcyjnych lokalnych backendach.
|
||||
To wyłącza powierzchnię schematu narzędzi OpenClaw dla modelu i może zmniejszyć obciążenie promptu
|
||||
w bardziej rygorystycznych lokalnych backendach.
|
||||
|
||||
Jeśli małe bezpośrednie żądania nadal działają, ale zwykłe turny agenta OpenClaw dalej
|
||||
powodują awarie wewnątrz `inferrs`, pozostały problem zwykle dotyczy zachowania
|
||||
upstream modelu/serwera, a nie warstwy transportu OpenClaw.
|
||||
Jeśli małe bezpośrednie żądania nadal działają, ale zwykłe tury agenta OpenClaw dalej
|
||||
powodują awarie w `inferrs`, pozostały problem zwykle leży po stronie zachowania modelu/serwera
|
||||
wyżej w stosie, a nie warstwy transportowej OpenClaw.
|
||||
|
||||
## Ręczny test smoke
|
||||
</Accordion>
|
||||
|
||||
Po skonfigurowaniu przetestuj obie warstwy:
|
||||
<Accordion title="Ręczny test smoke">
|
||||
Po skonfigurowaniu przetestuj obie warstwy:
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:8080/v1/chat/completions \
|
||||
-H 'content-type: application/json' \
|
||||
-d '{"model":"google/gemma-4-E2B-it","messages":[{"role":"user","content":"What is 2 + 2?"}],"stream":false}'
|
||||
```bash
|
||||
curl http://127.0.0.1:8080/v1/chat/completions \
|
||||
-H 'content-type: application/json' \
|
||||
-d '{"model":"google/gemma-4-E2B-it","messages":[{"role":"user","content":"What is 2 + 2?"}],"stream":false}'
|
||||
```
|
||||
|
||||
openclaw infer model run \
|
||||
--model inferrs/google/gemma-4-E2B-it \
|
||||
--prompt "What is 2 + 2? Reply with one short sentence." \
|
||||
--json
|
||||
```
|
||||
```bash
|
||||
openclaw infer model run \
|
||||
--model inferrs/google/gemma-4-E2B-it \
|
||||
--prompt "What is 2 + 2? Reply with one short sentence." \
|
||||
--json
|
||||
```
|
||||
|
||||
Jeśli pierwsze polecenie działa, ale drugie kończy się błędem, skorzystaj z poniższych
|
||||
wskazówek rozwiązywania problemów.
|
||||
Jeśli pierwsze polecenie działa, ale drugie kończy się niepowodzeniem, sprawdź sekcję rozwiązywania problemów poniżej.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Zachowanie w stylu proxy">
|
||||
`inferrs` jest traktowany jako backend `/v1` zgodny z OpenAI w stylu proxy, a nie
|
||||
natywny endpoint OpenAI.
|
||||
|
||||
- Natywne kształtowanie żądań tylko dla OpenAI nie ma tu zastosowania
|
||||
- Brak `service_tier`, brak `store` w Responses, brak wskazówek prompt-cache i brak
|
||||
kształtowania ładunku zgodności rozumowania OpenAI
|
||||
- Ukryte nagłówki atrybucji OpenClaw (`originator`, `version`, `User-Agent`)
|
||||
nie są wstrzykiwane do niestandardowych `baseUrl` inferrs
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Rozwiązywanie problemów
|
||||
|
||||
- `curl /v1/models` kończy się błędem: `inferrs` nie działa, nie jest osiągalny lub nie
|
||||
jest zbindowany do oczekiwanego hosta/portu.
|
||||
- `messages[].content ... expected a string`: ustaw
|
||||
`compat.requiresStringContent: true`.
|
||||
- Bezpośrednie małe wywołania `/v1/chat/completions` przechodzą, ale `openclaw infer model run`
|
||||
kończy się błędem: spróbuj `compat.supportsTools: false`.
|
||||
- OpenClaw nie dostaje już błędów schematu, ale `inferrs` nadal ulega awarii przy większych
|
||||
turnach agenta: potraktuj to jako ograniczenie `inferrs` lub modelu upstream i zmniejsz
|
||||
nacisk promptu albo zmień lokalny backend/model.
|
||||
<AccordionGroup>
|
||||
<Accordion title="curl /v1/models kończy się niepowodzeniem">
|
||||
`inferrs` nie działa, nie jest osiągalny lub nie jest powiązany z oczekiwanym
|
||||
hostem/portem. Upewnij się, że serwer został uruchomiony i nasłuchuje na adresie, który
|
||||
skonfigurowałeś.
|
||||
</Accordion>
|
||||
|
||||
## Zachowanie w stylu proxy
|
||||
<Accordion title="messages[].content oczekuje ciągu znaków">
|
||||
Ustaw `compat.requiresStringContent: true` we wpisie modelu. Zobacz sekcję
|
||||
`requiresStringContent` powyżej, aby poznać szczegóły.
|
||||
</Accordion>
|
||||
|
||||
`inferrs` jest traktowany jako backend `/v1` zgodny z OpenAI w stylu proxy, a nie
|
||||
natywny endpoint OpenAI.
|
||||
<Accordion title="Bezpośrednie wywołania /v1/chat/completions przechodzą, ale openclaw infer model run kończy się niepowodzeniem">
|
||||
Spróbuj ustawić `compat.supportsTools: false`, aby wyłączyć powierzchnię schematu narzędzi.
|
||||
Zobacz zastrzeżenie dotyczące schematu narzędzi Gemma powyżej.
|
||||
</Accordion>
|
||||
|
||||
- natywne kształtowanie żądań wyłącznie dla OpenAI nie ma tu zastosowania
|
||||
- brak `service_tier`, brak `store` dla Responses, brak wskazówek cache promptów i brak
|
||||
kształtowania payload zgodności reasoning OpenAI
|
||||
- ukryte nagłówki atrybucji OpenClaw (`originator`, `version`, `User-Agent`)
|
||||
nie są wstrzykiwane dla niestandardowych base URL `inferrs`
|
||||
<Accordion title="inferrs nadal ulega awarii przy większych turach agenta">
|
||||
Jeśli OpenClaw nie otrzymuje już błędów schematu, ale `inferrs` nadal ulega awarii przy większych
|
||||
turach agenta, potraktuj to jako ograniczenie `inferrs` lub modelu wyżej w stosie. Zmniejsz
|
||||
obciążenie promptu albo przełącz się na inny lokalny backend lub model.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Zobacz też
|
||||
<Tip>
|
||||
Aby uzyskać ogólną pomoc, zobacz [Rozwiązywanie problemów](/pl/help/troubleshooting) i [FAQ](/pl/help/faq).
|
||||
</Tip>
|
||||
|
||||
- [Local models](/pl/gateway/local-models)
|
||||
- [Gateway troubleshooting](/pl/gateway/troubleshooting#local-openai-compatible-backend-passes-direct-probes-but-agent-runs-fail)
|
||||
- [Model providers](/pl/concepts/model-providers)
|
||||
## Zobacz także
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Modele lokalne" href="/pl/gateway/local-models" icon="server">
|
||||
Uruchamianie OpenClaw z lokalnymi serwerami modeli.
|
||||
</Card>
|
||||
<Card title="Rozwiązywanie problemów z Gateway" href="/pl/gateway/troubleshooting#local-openai-compatible-backend-passes-direct-probes-but-agent-runs-fail" icon="wrench">
|
||||
Debugowanie lokalnych backendów zgodnych z OpenAI, które przechodzą sondy bezpośrednie, ale kończą niepowodzeniem przy uruchomieniach agentów.
|
||||
</Card>
|
||||
<Card title="Dostawcy modeli" href="/pl/concepts/model-providers" icon="layers">
|
||||
Omówienie wszystkich dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,42 +1,90 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz jednego klucza API do wielu LLM-ów
|
||||
- Chcesz uruchamiać modele przez Kilo Gateway w OpenClaw
|
||||
summary: Używaj zunifikowanego API Kilo Gateway, aby uzyskać dostęp do wielu modeli w OpenClaw
|
||||
title: Kilo Gateway
|
||||
- Chcesz mieć jeden klucz API do wielu LLM-ów
|
||||
- Chcesz uruchamiać modele przez Gateway Kilo w OpenClaw
|
||||
summary: Użyj ujednoliconego API Gateway Kilo, aby uzyskać dostęp do wielu modeli w OpenClaw
|
||||
title: Kilocode
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:05Z"
|
||||
generated_at: "2026-04-12T23:31:32Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 857266967b4a7553d501990631df2bae0f849d061521dc9f34e29687ecb94884
|
||||
source_hash: 32946f2187f3933115341cbe81006718b10583abc4deea7440b5e56366025f4a
|
||||
source_path: providers/kilocode.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Kilo Gateway
|
||||
# Gateway Kilo
|
||||
|
||||
Kilo Gateway udostępnia **zunifikowane API**, które kieruje żądania do wielu modeli za jednym
|
||||
endpointem i kluczem API. Jest zgodne z OpenAI, więc większość SDK OpenAI działa po zmianie base URL.
|
||||
Gateway Kilo udostępnia **ujednolicone API**, które kieruje żądania do wielu modeli za pojedynczym
|
||||
endpointem i kluczem API. Jest zgodne z OpenAI, więc większość SDK OpenAI działa po zmianie bazowego URL.
|
||||
|
||||
## Uzyskanie klucza API
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | ---------------------------------- |
|
||||
| Dostawca | `kilocode` |
|
||||
| Auth | `KILOCODE_API_KEY` |
|
||||
| API | zgodne z OpenAI |
|
||||
| Bazowy URL | `https://api.kilo.ai/api/gateway/` |
|
||||
|
||||
1. Przejdź do [app.kilo.ai](https://app.kilo.ai)
|
||||
2. Zaloguj się lub utwórz konto
|
||||
3. Przejdź do API Keys i wygeneruj nowy klucz
|
||||
## Pierwsze kroki
|
||||
|
||||
## Konfiguracja CLI
|
||||
<Steps>
|
||||
<Step title="Utwórz konto">
|
||||
Przejdź do [app.kilo.ai](https://app.kilo.ai), zaloguj się lub utwórz konto, a następnie przejdź do API Keys i wygeneruj nowy klucz.
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice kilocode-api-key
|
||||
```
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice kilocode-api-key
|
||||
```
|
||||
Albo ustaw zmienną środowiskową bezpośrednio:
|
||||
|
||||
Albo ustaw zmienną środowiskową:
|
||||
```bash
|
||||
export KILOCODE_API_KEY="<your-kilocode-api-key>" # pragma: allowlist secret
|
||||
```
|
||||
|
||||
```bash
|
||||
export KILOCODE_API_KEY="<your-kilocode-api-key>" # pragma: allowlist secret
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider kilocode
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Fragment config
|
||||
## Model domyślny
|
||||
|
||||
Domyślnym modelem jest `kilocode/kilo/auto`, inteligentny model routingu należący do dostawcy,
|
||||
zarządzany przez Gateway Kilo.
|
||||
|
||||
<Note>
|
||||
OpenClaw traktuje `kilocode/kilo/auto` jako stabilne domyślne odwołanie, ale nie
|
||||
publikuje mapowania zadanie → model upstream opartego na źródle dla tej trasy. Dokładne
|
||||
routowanie upstream za `kilocode/kilo/auto` należy do Gateway Kilo, a nie jest
|
||||
zakodowane na sztywno w OpenClaw.
|
||||
</Note>
|
||||
|
||||
## Dostępne modele
|
||||
|
||||
OpenClaw dynamicznie wykrywa dostępne modele z Gateway Kilo przy uruchamianiu. Użyj
|
||||
`/models kilocode`, aby zobaczyć pełną listę modeli dostępnych na Twoim koncie.
|
||||
|
||||
Każdy model dostępny w Gateway można użyć z prefiksem `kilocode/`:
|
||||
|
||||
| Odwołanie do modelu | Uwagi |
|
||||
| -------------------------------------- | --------------------------------- |
|
||||
| `kilocode/kilo/auto` | Domyślny — inteligentne routowanie |
|
||||
| `kilocode/anthropic/claude-sonnet-4` | Anthropic przez Kilo |
|
||||
| `kilocode/openai/gpt-5.4` | OpenAI przez Kilo |
|
||||
| `kilocode/google/gemini-3-pro-preview` | Google przez Kilo |
|
||||
| ...i wiele innych | Użyj `/models kilocode`, aby wyświetlić wszystkie |
|
||||
|
||||
<Tip>
|
||||
Przy uruchamianiu OpenClaw wykonuje zapytanie `GET https://api.kilo.ai/api/gateway/models` i scala
|
||||
wykryte modele przed statycznym katalogiem awaryjnym. Bundlowy fallback zawsze
|
||||
zawiera `kilocode/kilo/auto` (`Kilo Auto`) z `input: ["text", "image"]`,
|
||||
`reasoning: true`, `contextWindow: 1000000` i `maxTokens: 128000`.
|
||||
</Tip>
|
||||
|
||||
## Przykład konfiguracji
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -49,48 +97,47 @@ export KILOCODE_API_KEY="<your-kilocode-api-key>" # pragma: allowlist secret
|
||||
}
|
||||
```
|
||||
|
||||
## Model domyślny
|
||||
<AccordionGroup>
|
||||
<Accordion title="Transport i zgodność">
|
||||
Gateway Kilo jest opisany w kodzie źródłowym jako zgodny z OpenRouter, więc pozostaje na
|
||||
ścieżce zgodnej z OpenAI w stylu proxy, zamiast natywnego kształtowania żądań OpenAI.
|
||||
|
||||
Domyślnym modelem jest `kilocode/kilo/auto`, model smart-routing
|
||||
należący do providera i zarządzany przez Kilo Gateway.
|
||||
- Odwołania Kilo oparte na Gemini pozostają na ścieżce proxy-Gemini, więc OpenClaw zachowuje
|
||||
tam sanityzację thought signature Gemini bez włączania natywnej walidacji replay Gemini
|
||||
ani przepisywania bootstrap.
|
||||
- Gateway Kilo wewnętrznie używa tokenu Bearer z Twoim kluczem API.
|
||||
|
||||
OpenClaw traktuje `kilocode/kilo/auto` jako stabilną domyślną referencję, ale nie
|
||||
publikuje mapowania zadanie-do-modelu-upstream opartego na źródle dla tej trasy.
|
||||
</Accordion>
|
||||
|
||||
## Dostępne modele
|
||||
<Accordion title="Wrapper strumienia i rozumowanie">
|
||||
Wspólny wrapper strumienia Kilo dodaje nagłówek aplikacji dostawcy i normalizuje
|
||||
payloady rozumowania proxy dla obsługiwanych konkretnych odwołań do modeli.
|
||||
|
||||
OpenClaw dynamicznie wykrywa dostępne modele z Kilo Gateway przy starcie. Użyj
|
||||
`/models kilocode`, aby zobaczyć pełną listę modeli dostępnych dla twojego konta.
|
||||
<Warning>
|
||||
`kilocode/kilo/auto` i inne wskazówki bez obsługi proxy reasoning pomijają wstrzykiwanie rozumowania.
|
||||
Jeśli potrzebujesz obsługi rozumowania, użyj konkretnego odwołania do modelu, takiego jak
|
||||
`kilocode/anthropic/claude-sonnet-4`.
|
||||
</Warning>
|
||||
|
||||
Każdy model dostępny w gateway można używać z prefiksem `kilocode/`:
|
||||
</Accordion>
|
||||
|
||||
```
|
||||
kilocode/kilo/auto (domyślny - smart routing)
|
||||
kilocode/anthropic/claude-sonnet-4
|
||||
kilocode/openai/gpt-5.4
|
||||
kilocode/google/gemini-3-pro-preview
|
||||
...i wiele innych
|
||||
```
|
||||
<Accordion title="Rozwiązywanie problemów">
|
||||
- Jeśli wykrywanie modeli nie powiedzie się przy uruchamianiu, OpenClaw wraca do bundlowego statycznego katalogu zawierającego `kilocode/kilo/auto`.
|
||||
- Potwierdź, że Twój klucz API jest prawidłowy i że na koncie Kilo włączono żądane modele.
|
||||
- Gdy Gateway działa jako demon, upewnij się, że `KILOCODE_API_KEY` jest dostępny dla tego procesu (na przykład w `~/.openclaw/.env` albo przez `env.shellEnv`).
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Uwagi
|
||||
## Powiązane
|
||||
|
||||
- Referencje modeli mają postać `kilocode/<model-id>` (np. `kilocode/anthropic/claude-sonnet-4`).
|
||||
- Model domyślny: `kilocode/kilo/auto`
|
||||
- Base URL: `https://api.kilo.ai/api/gateway/`
|
||||
- Dołączony katalog fallback zawsze zawiera `kilocode/kilo/auto` (`Kilo Auto`) z
|
||||
`input: ["text", "image"]`, `reasoning: true`, `contextWindow: 1000000`
|
||||
oraz `maxTokens: 128000`
|
||||
- Przy starcie OpenClaw próbuje `GET https://api.kilo.ai/api/gateway/models` i
|
||||
scala wykryte modele przed statycznym katalogiem fallback
|
||||
- Dokładny routing upstream za `kilocode/kilo/auto` należy do Kilo Gateway,
|
||||
a nie jest zakodowany na stałe w OpenClaw
|
||||
- Kilo Gateway jest udokumentowany w źródłach jako zgodny z OpenRouter, więc pozostaje na
|
||||
ścieżce proxy-style OpenAI-compatible zamiast natywnego kształtowania żądań OpenAI
|
||||
- Referencje Kilo oparte na Gemini pozostają na ścieżce proxy-Gemini, więc OpenClaw zachowuje tam
|
||||
sanityzację sygnatur myśli Gemini bez włączania natywnej walidacji odtwarzania Gemini
|
||||
ani przepisywania bootstrapu.
|
||||
- Współdzielony wrapper strumieni Kilo dodaje nagłówek aplikacji providera i normalizuje
|
||||
proxy reasoning payloads dla obsługiwanych referencji konkretnych modeli. `kilocode/kilo/auto`
|
||||
oraz inne wskazówki bez obsługi proxy-reasoning pomijają to wstrzykiwanie rozumowania.
|
||||
- Więcej opcji modeli/providerów znajdziesz w [/concepts/model-providers](/concepts/model-providers).
|
||||
- Kilo Gateway pod spodem używa Bearer tokena z twoim kluczem API.
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Informacje o konfiguracji" href="/pl/gateway/configuration" icon="gear">
|
||||
Pełne informacje o konfiguracji OpenClaw.
|
||||
</Card>
|
||||
<Card title="Gateway Kilo" href="https://app.kilo.ai" icon="arrow-up-right-from-square">
|
||||
Panel Gateway Kilo, klucze API i zarządzanie kontem.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -5,52 +5,67 @@ read_when:
|
||||
summary: Uruchamiaj OpenClaw przez LiteLLM Proxy, aby uzyskać ujednolicony dostęp do modeli i śledzenie kosztów
|
||||
title: LiteLLM
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:25Z"
|
||||
generated_at: "2026-04-12T23:31:39Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 4e8ca73458186285bc06967b397b8a008791dc58eea1159d6c358e1a794982d1
|
||||
source_hash: 766692eb83a1be83811d8e09a970697530ffdd4f3392247cfb2927fd590364a0
|
||||
source_path: providers/litellm.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# LiteLLM
|
||||
|
||||
[LiteLLM](https://litellm.ai) to bramka LLM typu open source, która zapewnia ujednolicone API do ponad 100 dostawców modeli. Kieruj OpenClaw przez LiteLLM, aby uzyskać scentralizowane śledzenie kosztów, logowanie i elastyczność przełączania backendów bez zmiany konfiguracji OpenClaw.
|
||||
[LiteLLM](https://litellm.ai) to open-source’owa brama LLM, która zapewnia ujednolicone API do ponad 100 dostawców modeli. Kieruj OpenClaw przez LiteLLM, aby uzyskać scentralizowane śledzenie kosztów, logowanie oraz elastyczność przełączania backendów bez zmiany konfiguracji OpenClaw.
|
||||
|
||||
## Dlaczego warto używać LiteLLM z OpenClaw?
|
||||
<Tip>
|
||||
**Dlaczego warto używać LiteLLM z OpenClaw?**
|
||||
|
||||
- **Śledzenie kosztów** — dokładnie sprawdzisz, ile OpenClaw wydaje na wszystkie modele
|
||||
- **Routing modeli** — przełączanie między Claude, GPT-4, Gemini i Bedrock bez zmian konfiguracji
|
||||
- **Śledzenie kosztów** — dokładnie widzisz, ile OpenClaw wydaje na wszystkie modele
|
||||
- **Routing modeli** — przełączaj się między Claude, GPT-4, Gemini, Bedrock bez zmian konfiguracji
|
||||
- **Klucze wirtualne** — twórz klucze z limitami wydatków dla OpenClaw
|
||||
- **Logowanie** — pełne logi żądań/odpowiedzi do debugowania
|
||||
- **Przełączanie awaryjne** — automatyczny failover, jeśli główny dostawca jest niedostępny
|
||||
- **Przełączenia awaryjne** — automatyczny failover, jeśli Twój główny dostawca jest niedostępny
|
||||
</Tip>
|
||||
|
||||
## Szybki start
|
||||
|
||||
### Przez onboarding
|
||||
<Tabs>
|
||||
<Tab title="Onboarding (zalecane)">
|
||||
**Najlepsze do:** najszybszej ścieżki do działającej konfiguracji LiteLLM.
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice litellm-api-key
|
||||
```
|
||||
<Steps>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice litellm-api-key
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
### Konfiguracja ręczna
|
||||
</Tab>
|
||||
|
||||
1. Uruchom LiteLLM Proxy:
|
||||
<Tab title="Konfiguracja ręczna">
|
||||
**Najlepsze do:** pełnej kontroli nad instalacją i konfiguracją.
|
||||
|
||||
```bash
|
||||
pip install 'litellm[proxy]'
|
||||
litellm --model claude-opus-4-6
|
||||
```
|
||||
<Steps>
|
||||
<Step title="Uruchom LiteLLM Proxy">
|
||||
```bash
|
||||
pip install 'litellm[proxy]'
|
||||
litellm --model claude-opus-4-6
|
||||
```
|
||||
</Step>
|
||||
<Step title="Skieruj OpenClaw do LiteLLM">
|
||||
```bash
|
||||
export LITELLM_API_KEY="your-litellm-key"
|
||||
|
||||
2. Skieruj OpenClaw do LiteLLM:
|
||||
openclaw
|
||||
```
|
||||
|
||||
```bash
|
||||
export LITELLM_API_KEY="your-litellm-key"
|
||||
To wszystko. OpenClaw teraz kieruje ruch przez LiteLLM.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
openclaw
|
||||
```
|
||||
|
||||
To wszystko. OpenClaw teraz kieruje ruch przez LiteLLM.
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
@ -99,67 +114,90 @@ export LITELLM_API_KEY="sk-litellm-key"
|
||||
}
|
||||
```
|
||||
|
||||
## Klucze wirtualne
|
||||
## Tematy zaawansowane
|
||||
|
||||
Utwórz dedykowany klucz dla OpenClaw z limitami wydatków:
|
||||
<AccordionGroup>
|
||||
<Accordion title="Klucze wirtualne">
|
||||
Utwórz dedykowany klucz dla OpenClaw z limitami wydatków:
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:4000/key/generate" \
|
||||
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"key_alias": "openclaw",
|
||||
"max_budget": 50.00,
|
||||
"budget_duration": "monthly"
|
||||
}'
|
||||
```
|
||||
```bash
|
||||
curl -X POST "http://localhost:4000/key/generate" \
|
||||
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"key_alias": "openclaw",
|
||||
"max_budget": 50.00,
|
||||
"budget_duration": "monthly"
|
||||
}'
|
||||
```
|
||||
|
||||
Użyj wygenerowanego klucza jako `LITELLM_API_KEY`.
|
||||
Użyj wygenerowanego klucza jako `LITELLM_API_KEY`.
|
||||
|
||||
## Routing modeli
|
||||
</Accordion>
|
||||
|
||||
LiteLLM może kierować żądania modeli do różnych backendów. Skonfiguruj to w `config.yaml` LiteLLM:
|
||||
<Accordion title="Routing modeli">
|
||||
LiteLLM może kierować żądania modeli do różnych backendów. Skonfiguruj to w `config.yaml` LiteLLM:
|
||||
|
||||
```yaml
|
||||
model_list:
|
||||
- model_name: claude-opus-4-6
|
||||
litellm_params:
|
||||
model: claude-opus-4-6
|
||||
api_key: os.environ/ANTHROPIC_API_KEY
|
||||
```yaml
|
||||
model_list:
|
||||
- model_name: claude-opus-4-6
|
||||
litellm_params:
|
||||
model: claude-opus-4-6
|
||||
api_key: os.environ/ANTHROPIC_API_KEY
|
||||
|
||||
- model_name: gpt-4o
|
||||
litellm_params:
|
||||
model: gpt-4o
|
||||
api_key: os.environ/OPENAI_API_KEY
|
||||
```
|
||||
- model_name: gpt-4o
|
||||
litellm_params:
|
||||
model: gpt-4o
|
||||
api_key: os.environ/OPENAI_API_KEY
|
||||
```
|
||||
|
||||
OpenClaw nadal wysyła żądania do `claude-opus-4-6` — routing obsługuje LiteLLM.
|
||||
OpenClaw nadal wysyła żądania do `claude-opus-4-6` — LiteLLM obsługuje routing.
|
||||
|
||||
## Wyświetlanie użycia
|
||||
</Accordion>
|
||||
|
||||
Sprawdź panel LiteLLM lub API:
|
||||
<Accordion title="Wyświetlanie użycia">
|
||||
Sprawdź dashboard albo API LiteLLM:
|
||||
|
||||
```bash
|
||||
# Informacje o kluczu
|
||||
curl "http://localhost:4000/key/info" \
|
||||
-H "Authorization: Bearer sk-litellm-key"
|
||||
```bash
|
||||
# Informacje o kluczu
|
||||
curl "http://localhost:4000/key/info" \
|
||||
-H "Authorization: Bearer sk-litellm-key"
|
||||
|
||||
# Logi wydatków
|
||||
curl "http://localhost:4000/spend/logs" \
|
||||
-H "Authorization: Bearer $LITELLM_MASTER_KEY"
|
||||
```
|
||||
# Logi wydatków
|
||||
curl "http://localhost:4000/spend/logs" \
|
||||
-H "Authorization: Bearer $LITELLM_MASTER_KEY"
|
||||
```
|
||||
|
||||
## Uwagi
|
||||
</Accordion>
|
||||
|
||||
- LiteLLM domyślnie działa pod adresem `http://localhost:4000`
|
||||
- OpenClaw łączy się przez endpoint `/v1` zgodny z OpenAI w stylu proxy LiteLLM
|
||||
- Natywne formatowanie żądań wyłącznie dla OpenAI nie ma zastosowania przez LiteLLM:
|
||||
brak `service_tier`, brak `store` dla Responses, brak wskazówek pamięci podręcznej promptów i brak
|
||||
formatowania payloadów zgodności reasoning OpenAI
|
||||
- Ukryte nagłówki atrybucji OpenClaw (`originator`, `version`, `User-Agent`)
|
||||
nie są wstrzykiwane dla niestandardowych adresów base URL LiteLLM
|
||||
<Accordion title="Uwagi o zachowaniu proxy">
|
||||
- LiteLLM domyślnie działa na `http://localhost:4000`
|
||||
- OpenClaw łączy się przez kompatybilny z OpenAI endpoint `/v1` w stylu proxy LiteLLM
|
||||
- Natywne formatowanie żądań specyficzne dla OpenAI nie ma zastosowania przez LiteLLM:
|
||||
brak `service_tier`, brak `store` dla Responses, brak wskazówek cache promptów i brak
|
||||
formatowania payloadu zgodności reasoning OpenAI
|
||||
- Ukryte nagłówki atrybucji OpenClaw (`originator`, `version`, `User-Agent`)
|
||||
nie są wstrzykiwane dla niestandardowych bazowych URL LiteLLM
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Zobacz także
|
||||
<Note>
|
||||
Aby uzyskać ogólne informacje o konfiguracji dostawców i zachowaniu failover, zobacz [Dostawcy modeli](/pl/concepts/model-providers).
|
||||
</Note>
|
||||
|
||||
- [Dokumentacja LiteLLM](https://docs.litellm.ai)
|
||||
- [Dostawcy modeli](/pl/concepts/model-providers)
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Dokumentacja LiteLLM" href="https://docs.litellm.ai" icon="book">
|
||||
Oficjalna dokumentacja LiteLLM i referencja API.
|
||||
</Card>
|
||||
<Card title="Dostawcy modeli" href="/pl/concepts/model-providers" icon="layers">
|
||||
Przegląd wszystkich dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Konfiguracja" href="/pl/gateway/configuration" icon="gear">
|
||||
Pełna referencja konfiguracji.
|
||||
</Card>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/models" icon="brain">
|
||||
Jak wybierać i konfigurować modele.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -2,13 +2,13 @@
|
||||
read_when:
|
||||
- Chcesz używać modeli MiniMax w OpenClaw
|
||||
- Potrzebujesz wskazówek dotyczących konfiguracji MiniMax
|
||||
summary: Używanie modeli MiniMax w OpenClaw
|
||||
summary: Używaj modeli MiniMax w OpenClaw
|
||||
title: MiniMax
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T03:12:19Z"
|
||||
generated_at: "2026-04-12T23:31:53Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 9ca35c43cdde53f6f09d9e12d48ce09e4c099cf8cbe1407ac6dbb45b1422507e
|
||||
source_hash: ee9c89faf57384feb66cda30934000e5746996f24b59122db309318f42c22389
|
||||
source_path: providers/minimax.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -17,33 +17,214 @@ x-i18n:
|
||||
|
||||
Dostawca MiniMax w OpenClaw domyślnie używa **MiniMax M2.7**.
|
||||
|
||||
MiniMax udostępnia także:
|
||||
MiniMax zapewnia także:
|
||||
|
||||
- wbudowaną syntezę mowy przez T2A v2
|
||||
- wbudowane rozumienie obrazów przez `MiniMax-VL-01`
|
||||
- wbudowane generowanie muzyki przez `music-2.5+`
|
||||
- wbudowane `web_search` przez API wyszukiwania MiniMax Coding Plan
|
||||
- Bundlową syntezę mowy przez T2A v2
|
||||
- Bundlowe rozumienie obrazów przez `MiniMax-VL-01`
|
||||
- Bundlowe generowanie muzyki przez `music-2.5+`
|
||||
- Bundlowe `web_search` przez API wyszukiwania MiniMax Coding Plan
|
||||
|
||||
Podział dostawców:
|
||||
|
||||
- `minimax`: dostawca tekstu z kluczem API oraz wbudowane generowanie obrazów, rozumienie obrazów, mowa i wyszukiwanie w sieci
|
||||
- `minimax-portal`: dostawca tekstu OAuth oraz wbudowane generowanie obrazów i rozumienie obrazów
|
||||
| ID dostawcy | Auth | Capabilities |
|
||||
| ---------------- | -------- | -------------------------------------------------------------- |
|
||||
| `minimax` | Klucz API | Tekst, generowanie obrazów, rozumienie obrazów, mowa, web search |
|
||||
| `minimax-portal` | OAuth | Tekst, generowanie obrazów, rozumienie obrazów |
|
||||
|
||||
## Zestaw modeli
|
||||
|
||||
- `MiniMax-M2.7`: domyślny hostowany model rozumowania.
|
||||
- `MiniMax-M2.7-highspeed`: szybszy poziom rozumowania M2.7.
|
||||
- `image-01`: model generowania obrazów (generowanie oraz edycja obraz-do-obrazu).
|
||||
| Model | Typ | Opis |
|
||||
| ------------------------ | ----------------- | ----------------------------------------- |
|
||||
| `MiniMax-M2.7` | Czat (rozumowanie) | Domyślny hostowany model rozumowania |
|
||||
| `MiniMax-M2.7-highspeed` | Czat (rozumowanie) | Szybszy poziom rozumowania M2.7 |
|
||||
| `MiniMax-VL-01` | Vision | Model rozumienia obrazów |
|
||||
| `image-01` | Generowanie obrazów | Text-to-image i edycja image-to-image |
|
||||
| `music-2.5+` | Generowanie muzyki | Domyślny model muzyczny |
|
||||
| `music-2.5` | Generowanie muzyki | Poprzedni poziom generowania muzyki |
|
||||
| `music-2.0` | Generowanie muzyki | Starszy poziom generowania muzyki |
|
||||
| `MiniMax-Hailuo-2.3` | Generowanie wideo | Przepływy text-to-video i z obrazem referencyjnym |
|
||||
|
||||
## Generowanie obrazów
|
||||
## Pierwsze kroki
|
||||
|
||||
Plugin MiniMax rejestruje model `image-01` dla narzędzia `image_generate`. Obsługuje on:
|
||||
Wybierz preferowaną metodę auth i wykonaj kroki konfiguracji.
|
||||
|
||||
- **Generowanie tekst-do-obrazu** z kontrolą proporcji.
|
||||
- **Edycję obraz-do-obrazu** (odniesienie do obiektu) z kontrolą proporcji.
|
||||
- Do **9 obrazów wyjściowych** na żądanie.
|
||||
- Do **1 obrazu referencyjnego** na żądanie edycji.
|
||||
- Obsługiwane proporcje: `1:1`, `16:9`, `4:3`, `3:2`, `2:3`, `3:4`, `9:16`, `21:9`.
|
||||
<Tabs>
|
||||
<Tab title="OAuth (Coding Plan)">
|
||||
**Najlepsze do:** szybkiej konfiguracji z MiniMax Coding Plan przez OAuth, bez wymaganego klucza API.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Międzynarodowy">
|
||||
<Steps>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice minimax-global-oauth
|
||||
```
|
||||
|
||||
To uwierzytelnia względem `api.minimax.io`.
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider minimax-portal
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
</Tab>
|
||||
<Tab title="Chiny">
|
||||
<Steps>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice minimax-cn-oauth
|
||||
```
|
||||
|
||||
To uwierzytelnia względem `api.minimaxi.com`.
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider minimax-portal
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<Note>
|
||||
Konfiguracje OAuth używają identyfikatora dostawcy `minimax-portal`. Odwołania do modeli mają postać `minimax-portal/MiniMax-M2.7`.
|
||||
</Note>
|
||||
|
||||
<Tip>
|
||||
Link polecający do MiniMax Coding Plan (10% zniżki): [MiniMax Coding Plan](https://platform.minimax.io/subscribe/coding-plan?code=DbXJTRClnb&source=link)
|
||||
</Tip>
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Klucz API">
|
||||
**Najlepsze do:** hostowanego MiniMax z API zgodnym z Anthropic.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Międzynarodowy">
|
||||
<Steps>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice minimax-global-api
|
||||
```
|
||||
|
||||
To konfiguruje `api.minimax.io` jako bazowy URL.
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider minimax
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
</Tab>
|
||||
<Tab title="Chiny">
|
||||
<Steps>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice minimax-cn-api
|
||||
```
|
||||
|
||||
To konfiguruje `api.minimaxi.com` jako bazowy URL.
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider minimax
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
### Przykład konfiguracji
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { MINIMAX_API_KEY: "sk-..." },
|
||||
agents: { defaults: { model: { primary: "minimax/MiniMax-M2.7" } } },
|
||||
models: {
|
||||
mode: "merge",
|
||||
providers: {
|
||||
minimax: {
|
||||
baseUrl: "https://api.minimax.io/anthropic",
|
||||
apiKey: "${MINIMAX_API_KEY}",
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "MiniMax-M2.7",
|
||||
name: "MiniMax M2.7",
|
||||
reasoning: true,
|
||||
input: ["text", "image"],
|
||||
cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0.375 },
|
||||
contextWindow: 204800,
|
||||
maxTokens: 131072,
|
||||
},
|
||||
{
|
||||
id: "MiniMax-M2.7-highspeed",
|
||||
name: "MiniMax M2.7 Highspeed",
|
||||
reasoning: true,
|
||||
input: ["text", "image"],
|
||||
cost: { input: 0.6, output: 2.4, cacheRead: 0.06, cacheWrite: 0.375 },
|
||||
contextWindow: 204800,
|
||||
maxTokens: 131072,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
<Warning>
|
||||
Na ścieżce strumieniowania zgodnej z Anthropic OpenClaw domyślnie wyłącza thinking MiniMax, chyba że jawnie ustawisz `thinking` samodzielnie. Endpoint strumieniowania MiniMax emituje `reasoning_content` w fragmentach delta w stylu OpenAI zamiast natywnych bloków thinking Anthropic, co może ujawniać wewnętrzne rozumowanie w widocznym wyjściu, jeśli pozostanie domyślnie włączone.
|
||||
</Warning>
|
||||
|
||||
<Note>
|
||||
Konfiguracje z kluczem API używają identyfikatora dostawcy `minimax`. Odwołania do modeli mają postać `minimax/MiniMax-M2.7`.
|
||||
</Note>
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Konfiguracja przez `openclaw configure`
|
||||
|
||||
Użyj interaktywnego kreatora konfiguracji, aby ustawić MiniMax bez edytowania JSON:
|
||||
|
||||
<Steps>
|
||||
<Step title="Uruchom kreator">
|
||||
```bash
|
||||
openclaw configure
|
||||
```
|
||||
</Step>
|
||||
<Step title="Wybierz Model/auth">
|
||||
Wybierz w menu **Model/auth**.
|
||||
</Step>
|
||||
<Step title="Wybierz opcję auth MiniMax">
|
||||
Wybierz jedną z dostępnych opcji MiniMax:
|
||||
|
||||
| Wybór auth | Opis |
|
||||
| --- | --- |
|
||||
| `minimax-global-oauth` | Międzynarodowy OAuth (Coding Plan) |
|
||||
| `minimax-cn-oauth` | OAuth dla Chin (Coding Plan) |
|
||||
| `minimax-global-api` | Międzynarodowy klucz API |
|
||||
| `minimax-cn-api` | Klucz API dla Chin |
|
||||
|
||||
</Step>
|
||||
<Step title="Wybierz model domyślny">
|
||||
Po wyświetleniu monitu wybierz model domyślny.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Capabilities
|
||||
|
||||
### Generowanie obrazów
|
||||
|
||||
Plugin MiniMax rejestruje model `image-01` dla narzędzia `image_generate`. Obsługuje:
|
||||
|
||||
- **Generowanie text-to-image** z kontrolą proporcji
|
||||
- **Edycja image-to-image** (odwołanie do obiektu) z kontrolą proporcji
|
||||
- Do **9 obrazów wyjściowych** na żądanie
|
||||
- Do **1 obrazu referencyjnego** na żądanie edycji
|
||||
- Obsługiwane proporcje: `1:1`, `16:9`, `4:3`, `3:2`, `2:3`, `3:4`, `9:16`, `21:9`
|
||||
|
||||
Aby używać MiniMax do generowania obrazów, ustaw go jako dostawcę generowania obrazów:
|
||||
|
||||
@ -57,33 +238,34 @@ Aby używać MiniMax do generowania obrazów, ustaw go jako dostawcę generowani
|
||||
}
|
||||
```
|
||||
|
||||
Plugin używa tego samego `MINIMAX_API_KEY` albo uwierzytelniania OAuth co modele tekstowe. Jeśli MiniMax jest już skonfigurowany, nie jest wymagana żadna dodatkowa konfiguracja.
|
||||
Plugin używa tego samego auth `MINIMAX_API_KEY` lub OAuth co modele tekstowe. Jeśli MiniMax jest już skonfigurowany, nie jest wymagana dodatkowa konfiguracja.
|
||||
|
||||
Zarówno `minimax`, jak i `minimax-portal` rejestrują `image_generate` z tym samym
|
||||
modelem `image-01`. Konfiguracje z kluczem API używają `MINIMAX_API_KEY`; konfiguracje OAuth mogą używać
|
||||
zamiast tego wbudowanej ścieżki uwierzytelniania `minimax-portal`.
|
||||
zamiast tego bundlowej ścieżki auth `minimax-portal`.
|
||||
|
||||
Gdy onboarding albo konfiguracja z kluczem API zapisuje jawne wpisy
|
||||
`models.providers.minimax`, OpenClaw materializuje `MiniMax-M2.7` i
|
||||
Gdy onboarding albo konfiguracja z kluczem API zapisuje jawne wpisy `models.providers.minimax`,
|
||||
OpenClaw materializuje `MiniMax-M2.7` i
|
||||
`MiniMax-M2.7-highspeed` z `input: ["text", "image"]`.
|
||||
|
||||
Sam wbudowany katalog tekstowy MiniMax pozostaje metadanymi tylko tekstowymi, dopóki
|
||||
nie istnieje jawna konfiguracja tego dostawcy. Rozumienie obrazów jest udostępniane osobno
|
||||
przez należącego do pluginu dostawcę mediów `MiniMax-VL-01`.
|
||||
Sam wbudowany bundlowy katalog tekstowy MiniMax pozostaje metadanymi tylko dla tekstu, dopóki
|
||||
nie pojawi się jawna konfiguracja dostawcy. Rozumienie obrazów jest udostępniane osobno
|
||||
przez należącego do Pluginu dostawcę mediów `MiniMax-VL-01`.
|
||||
|
||||
Zobacz [Image Generation](/pl/tools/image-generation), aby poznać współdzielone parametry
|
||||
narzędzia, wybór dostawcy i zachowanie failover.
|
||||
<Note>
|
||||
Zobacz [Generowanie obrazów](/pl/tools/image-generation), aby poznać wspólne parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
</Note>
|
||||
|
||||
## Generowanie muzyki
|
||||
### Generowanie muzyki
|
||||
|
||||
Wbudowany plugin `minimax` rejestruje także generowanie muzyki przez współdzielone
|
||||
Bundlowy Plugin `minimax` rejestruje także generowanie muzyki przez wspólne
|
||||
narzędzie `music_generate`.
|
||||
|
||||
- Domyślny model muzyczny: `minimax/music-2.5+`
|
||||
- Obsługuje także `minimax/music-2.5` i `minimax/music-2.0`
|
||||
- Kontrolki promptu: `lyrics`, `instrumental`, `durationSeconds`
|
||||
- Format wyjściowy: `mp3`
|
||||
- Uruchomienia powiązane z sesją są odłączane przez współdzielony przepływ zadanie/status, w tym `action: "status"`
|
||||
- Przebiegi oparte na sesji są odłączane przez wspólny przepływ zadania/statusu, w tym `action: "status"`
|
||||
|
||||
Aby używać MiniMax jako domyślnego dostawcy muzyki:
|
||||
|
||||
@ -99,16 +281,17 @@ Aby używać MiniMax jako domyślnego dostawcy muzyki:
|
||||
}
|
||||
```
|
||||
|
||||
Zobacz [Music Generation](/tools/music-generation), aby poznać współdzielone parametry
|
||||
narzędzia, wybór dostawcy i zachowanie failover.
|
||||
<Note>
|
||||
Zobacz [Generowanie muzyki](/pl/tools/music-generation), aby poznać wspólne parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
</Note>
|
||||
|
||||
## Generowanie wideo
|
||||
### Generowanie wideo
|
||||
|
||||
Wbudowany plugin `minimax` rejestruje także generowanie wideo przez współdzielone
|
||||
Bundlowy Plugin `minimax` rejestruje także generowanie wideo przez wspólne
|
||||
narzędzie `video_generate`.
|
||||
|
||||
- Domyślny model wideo: `minimax/MiniMax-Hailuo-2.3`
|
||||
- Tryby: tekst-do-wideo i przepływy z pojedynczym obrazem referencyjnym
|
||||
- Tryby: text-to-video i przepływy z pojedynczym obrazem referencyjnym
|
||||
- Obsługuje `aspectRatio` i `resolution`
|
||||
|
||||
Aby używać MiniMax jako domyślnego dostawcy wideo:
|
||||
@ -125,223 +308,165 @@ Aby używać MiniMax jako domyślnego dostawcy wideo:
|
||||
}
|
||||
```
|
||||
|
||||
Zobacz [Video Generation](/tools/video-generation), aby poznać współdzielone parametry
|
||||
narzędzia, wybór dostawcy i zachowanie failover.
|
||||
<Note>
|
||||
Zobacz [Generowanie wideo](/pl/tools/video-generation), aby poznać wspólne parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
</Note>
|
||||
|
||||
## Rozumienie obrazów
|
||||
### Rozumienie obrazów
|
||||
|
||||
Plugin MiniMax rejestruje rozumienie obrazów oddzielnie od katalogu
|
||||
Plugin MiniMax rejestruje rozumienie obrazów osobno od katalogu
|
||||
tekstowego:
|
||||
|
||||
- `minimax`: domyślny model obrazów `MiniMax-VL-01`
|
||||
- `minimax-portal`: domyślny model obrazów `MiniMax-VL-01`
|
||||
| ID dostawcy | Domyślny model obrazu |
|
||||
| ---------------- | --------------------- |
|
||||
| `minimax` | `MiniMax-VL-01` |
|
||||
| `minimax-portal` | `MiniMax-VL-01` |
|
||||
|
||||
Dlatego automatyczny routing mediów może używać rozumienia obrazów MiniMax nawet
|
||||
wtedy, gdy wbudowany katalog dostawcy tekstu nadal pokazuje odwołania do czatu M2.7
|
||||
jako metadane tylko tekstowe.
|
||||
Dlatego automatyczne routowanie mediów może używać rozumienia obrazów MiniMax nawet
|
||||
wtedy, gdy bundlowy katalog dostawcy tekstu nadal pokazuje wyłącznie tekstowe odwołania czatu M2.7.
|
||||
|
||||
## Wyszukiwanie w sieci
|
||||
### Web search
|
||||
|
||||
Plugin MiniMax rejestruje także `web_search` przez API wyszukiwania
|
||||
MiniMax Coding Plan.
|
||||
Plugin MiniMax rejestruje także `web_search` przez API wyszukiwania MiniMax Coding Plan.
|
||||
|
||||
- ID dostawcy: `minimax`
|
||||
- Wyniki strukturalne: tytuły, URL-e, snippety, powiązane zapytania
|
||||
- Identyfikator dostawcy: `minimax`
|
||||
- Wyniki strukturalne: tytuły, URL-e, fragmenty, powiązane zapytania
|
||||
- Preferowana zmienna env: `MINIMAX_CODE_PLAN_KEY`
|
||||
- Akceptowany alias env: `MINIMAX_CODING_API_KEY`
|
||||
- Fallback zgodności: `MINIMAX_API_KEY`, gdy już wskazuje na token coding-plan
|
||||
- Ponowne użycie regionu: `plugins.entries.minimax.config.webSearch.region`, potem `MINIMAX_API_HOST`, potem bazowe URL-e dostawców MiniMax
|
||||
- Wyszukiwanie pozostaje przy ID dostawcy `minimax`; konfiguracja OAuth CN/global może nadal pośrednio sterować regionem przez `models.providers.minimax-portal.baseUrl`
|
||||
- Ponowne użycie regionu: `plugins.entries.minimax.config.webSearch.region`, następnie `MINIMAX_API_HOST`, a potem bazowe URL-e dostawcy MiniMax
|
||||
- Wyszukiwanie pozostaje przy identyfikatorze dostawcy `minimax`; konfiguracja OAuth CN/global nadal może pośrednio sterować regionem przez `models.providers.minimax-portal.baseUrl`
|
||||
|
||||
Konfiguracja znajduje się pod `plugins.entries.minimax.config.webSearch.*`.
|
||||
Zobacz [MiniMax Search](/pl/tools/minimax-search).
|
||||
|
||||
## Wybierz konfigurację
|
||||
<Note>
|
||||
Zobacz [Wyszukiwanie MiniMax](/pl/tools/minimax-search), aby poznać pełną konfigurację i użycie web search.
|
||||
</Note>
|
||||
|
||||
### MiniMax OAuth (Coding Plan) - zalecane
|
||||
## Konfiguracja zaawansowana
|
||||
|
||||
**Najlepsze dla:** szybkiej konfiguracji MiniMax Coding Plan przez OAuth, bez wymaganego klucza API.
|
||||
<AccordionGroup>
|
||||
<Accordion title="Opcje konfiguracji">
|
||||
| Opcja | Opis |
|
||||
| --- | --- |
|
||||
| `models.providers.minimax.baseUrl` | Preferuj `https://api.minimax.io/anthropic` (zgodne z Anthropic); `https://api.minimax.io/v1` jest opcjonalne dla payloadów zgodnych z OpenAI |
|
||||
| `models.providers.minimax.api` | Preferuj `anthropic-messages`; `openai-completions` jest opcjonalne dla payloadów zgodnych z OpenAI |
|
||||
| `models.providers.minimax.apiKey` | Klucz API MiniMax (`MINIMAX_API_KEY`) |
|
||||
| `models.providers.minimax.models` | Zdefiniuj `id`, `name`, `reasoning`, `contextWindow`, `maxTokens`, `cost` |
|
||||
| `agents.defaults.models` | Modele aliasów, które chcesz umieścić na allowlist |
|
||||
| `models.mode` | Zachowaj `merge`, jeśli chcesz dodać MiniMax obok wbudowanych |
|
||||
</Accordion>
|
||||
|
||||
Uwierzytelnij się za pomocą jawnego regionalnego wyboru OAuth:
|
||||
<Accordion title="Domyślne ustawienia thinking">
|
||||
Przy `api: "anthropic-messages"` OpenClaw wstrzykuje `thinking: { type: "disabled" }`, chyba że thinking jest już jawnie ustawione w parametrach/konfiguracji.
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice minimax-global-oauth
|
||||
# or
|
||||
openclaw onboard --auth-choice minimax-cn-oauth
|
||||
```
|
||||
Zapobiega to emitowaniu przez endpoint strumieniowania MiniMax `reasoning_content` w fragmentach delta w stylu OpenAI, co ujawniałoby wewnętrzne rozumowanie w widocznym wyjściu.
|
||||
|
||||
Mapowanie opcji:
|
||||
</Accordion>
|
||||
|
||||
- `minimax-global-oauth`: użytkownicy międzynarodowi (`api.minimax.io`)
|
||||
- `minimax-cn-oauth`: użytkownicy w Chinach (`api.minimaxi.com`)
|
||||
<Accordion title="Tryb szybki">
|
||||
`/fast on` albo `params.fastMode: true` przepisuje `MiniMax-M2.7` na `MiniMax-M2.7-highspeed` na ścieżce strumieniowania zgodnej z Anthropic.
|
||||
</Accordion>
|
||||
|
||||
Szczegóły znajdziesz w README pakietu pluginu MiniMax w repozytorium OpenClaw.
|
||||
<Accordion title="Przykład fallback">
|
||||
**Najlepsze do:** zachowania najmocniejszego modelu najnowszej generacji jako podstawowego i przejścia awaryjnego na MiniMax M2.7. Poniższy przykład używa Opus jako konkretnego modelu podstawowego; zamień go na preferowany model podstawowy najnowszej generacji.
|
||||
|
||||
### MiniMax M2.7 (klucz API)
|
||||
|
||||
**Najlepsze dla:** hostowanego MiniMax z API zgodnym z Anthropic.
|
||||
|
||||
Skonfiguruj przez CLI:
|
||||
|
||||
- Interaktywny onboarding:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice minimax-global-api
|
||||
# or
|
||||
openclaw onboard --auth-choice minimax-cn-api
|
||||
```
|
||||
|
||||
- `minimax-global-api`: użytkownicy międzynarodowi (`api.minimax.io`)
|
||||
- `minimax-cn-api`: użytkownicy w Chinach (`api.minimaxi.com`)
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { MINIMAX_API_KEY: "sk-..." },
|
||||
agents: { defaults: { model: { primary: "minimax/MiniMax-M2.7" } } },
|
||||
models: {
|
||||
mode: "merge",
|
||||
providers: {
|
||||
minimax: {
|
||||
baseUrl: "https://api.minimax.io/anthropic",
|
||||
apiKey: "${MINIMAX_API_KEY}",
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "MiniMax-M2.7",
|
||||
name: "MiniMax M2.7",
|
||||
reasoning: true,
|
||||
input: ["text", "image"],
|
||||
cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0.375 },
|
||||
contextWindow: 204800,
|
||||
maxTokens: 131072,
|
||||
```json5
|
||||
{
|
||||
env: { MINIMAX_API_KEY: "sk-..." },
|
||||
agents: {
|
||||
defaults: {
|
||||
models: {
|
||||
"anthropic/claude-opus-4-6": { alias: "primary" },
|
||||
"minimax/MiniMax-M2.7": { alias: "minimax" },
|
||||
},
|
||||
{
|
||||
id: "MiniMax-M2.7-highspeed",
|
||||
name: "MiniMax M2.7 Highspeed",
|
||||
reasoning: true,
|
||||
input: ["text", "image"],
|
||||
cost: { input: 0.6, output: 2.4, cacheRead: 0.06, cacheWrite: 0.375 },
|
||||
contextWindow: 204800,
|
||||
maxTokens: 131072,
|
||||
model: {
|
||||
primary: "anthropic/claude-opus-4-6",
|
||||
fallbacks: ["minimax/MiniMax-M2.7"],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
W ścieżce strumieniowania zgodnej z Anthropic OpenClaw teraz domyślnie wyłącza
|
||||
thinking dla MiniMax, chyba że jawnie ustawisz `thinking` samodzielnie. Punkt końcowy
|
||||
strumieniowania MiniMax emituje `reasoning_content` w fragmentach delta w stylu OpenAI
|
||||
zamiast natywnych bloków thinking Anthropic, co może ujawniać wewnętrzne rozumowanie
|
||||
w widocznym wyjściu, jeśli pozostanie to niejawnie włączone.
|
||||
</Accordion>
|
||||
|
||||
### MiniMax M2.7 jako fallback (przykład)
|
||||
|
||||
**Najlepsze dla:** zachowania najmocniejszego modelu najnowszej generacji jako głównego i przełączania awaryjnego na MiniMax M2.7.
|
||||
Poniższy przykład używa Opus jako konkretnego modelu głównego; zamień go na preferowany model główny najnowszej generacji.
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { MINIMAX_API_KEY: "sk-..." },
|
||||
agents: {
|
||||
defaults: {
|
||||
models: {
|
||||
"anthropic/claude-opus-4-6": { alias: "primary" },
|
||||
"minimax/MiniMax-M2.7": { alias: "minimax" },
|
||||
},
|
||||
model: {
|
||||
primary: "anthropic/claude-opus-4-6",
|
||||
fallbacks: ["minimax/MiniMax-M2.7"],
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
## Konfiguracja przez `openclaw configure`
|
||||
|
||||
Użyj interaktywnego kreatora konfiguracji, aby ustawić MiniMax bez edytowania JSON:
|
||||
|
||||
1. Uruchom `openclaw configure`.
|
||||
2. Wybierz **Model/auth**.
|
||||
3. Wybierz opcję uwierzytelniania **MiniMax**.
|
||||
4. Po wyświetleniu monitu wybierz swój domyślny model.
|
||||
|
||||
Aktualne opcje uwierzytelniania MiniMax w kreatorze/CLI:
|
||||
|
||||
- `minimax-global-oauth`
|
||||
- `minimax-cn-oauth`
|
||||
- `minimax-global-api`
|
||||
- `minimax-cn-api`
|
||||
|
||||
## Opcje konfiguracji
|
||||
|
||||
- `models.providers.minimax.baseUrl`: preferowane `https://api.minimax.io/anthropic` (zgodne z Anthropic); `https://api.minimax.io/v1` jest opcjonalne dla ładunków zgodnych z OpenAI.
|
||||
- `models.providers.minimax.api`: preferowane `anthropic-messages`; `openai-completions` jest opcjonalne dla ładunków zgodnych z OpenAI.
|
||||
- `models.providers.minimax.apiKey`: klucz API MiniMax (`MINIMAX_API_KEY`).
|
||||
- `models.providers.minimax.models`: zdefiniuj `id`, `name`, `reasoning`, `contextWindow`, `maxTokens`, `cost`.
|
||||
- `agents.defaults.models`: aliasuj modele, które chcesz mieć na liście dozwolonych.
|
||||
- `models.mode`: pozostaw `merge`, jeśli chcesz dodać MiniMax obok wbudowanych dostawców.
|
||||
<Accordion title="Szczegóły użycia Coding Plan">
|
||||
- API użycia Coding Plan: `https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains` (wymaga klucza coding plan).
|
||||
- OpenClaw normalizuje użycie MiniMax coding plan do tego samego formatu wyświetlania `% pozostało`, co u innych dostawców. Surowe pola MiniMax `usage_percent` / `usagePercent` oznaczają pozostały limit, a nie wykorzystany limit, więc OpenClaw je odwraca. Pola oparte na liczbie mają pierwszeństwo, jeśli są obecne.
|
||||
- Gdy API zwraca `model_remains`, OpenClaw preferuje wpis modelu czatu, w razie potrzeby wyprowadza etykietę okna z `start_time` / `end_time` i uwzględnia wybraną nazwę modelu w etykiecie planu, aby łatwiej odróżniać okna coding plan.
|
||||
- Snapshoty użycia traktują `minimax`, `minimax-cn` i `minimax-portal` jako tę samą powierzchnię limitu MiniMax oraz preferują zapisany OAuth MiniMax, zanim przejdą do fallbacku do zmiennych env klucza Coding Plan.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Uwagi
|
||||
|
||||
- Odwołania do modeli podążają za ścieżką uwierzytelniania:
|
||||
- Odwołania do modeli zależą od ścieżki auth:
|
||||
- konfiguracja z kluczem API: `minimax/<model>`
|
||||
- konfiguracja OAuth: `minimax-portal/<model>`
|
||||
- Domyślny model czatu: `MiniMax-M2.7`
|
||||
- Alternatywny model czatu: `MiniMax-M2.7-highspeed`
|
||||
- Przy `api: "anthropic-messages"` OpenClaw wstrzykuje
|
||||
`thinking: { type: "disabled" }`, chyba że thinking jest już jawnie ustawione w
|
||||
params/config.
|
||||
- `/fast on` lub `params.fastMode: true` przepisuje `MiniMax-M2.7` na
|
||||
`MiniMax-M2.7-highspeed` w ścieżce strumienia zgodnej z Anthropic.
|
||||
- Onboarding i bezpośrednia konfiguracja z kluczem API zapisują jawne definicje modeli z
|
||||
`input: ["text", "image"]` dla obu wariantów M2.7
|
||||
- Wbudowany katalog dostawców obecnie udostępnia odwołania czatu jako
|
||||
metadane tylko tekstowe, dopóki nie istnieje jawna konfiguracja dostawcy MiniMax
|
||||
- API użycia Coding Plan: `https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains` (wymaga klucza coding plan).
|
||||
- OpenClaw normalizuje użycie MiniMax coding-plan do tego samego wyświetlania `% left`,
|
||||
którego używają inni dostawcy. Surowe pola `usage_percent` / `usagePercent` MiniMax
|
||||
oznaczają pozostały limit, a nie zużyty limit, więc OpenClaw je odwraca.
|
||||
Jeśli są obecne, pierwszeństwo mają pola liczbowe. Gdy API zwraca `model_remains`,
|
||||
OpenClaw preferuje wpis modelu czatu, w razie potrzeby wyprowadza etykietę okna z
|
||||
`start_time` / `end_time` i dołącza wybraną nazwę modelu
|
||||
do etykiety planu, aby okna coding-plan były łatwiejsze do odróżnienia.
|
||||
- Migawki użycia traktują `minimax`, `minimax-cn` i `minimax-portal` jako
|
||||
tę samą powierzchnię limitu MiniMax i preferują zapisany OAuth MiniMax przed
|
||||
fallbackiem do zmiennych env klucza Coding Plan.
|
||||
- Zaktualizuj wartości cen w `models.json`, jeśli potrzebujesz dokładnego śledzenia kosztów.
|
||||
- Link polecający do MiniMax Coding Plan (10% zniżki): [https://platform.minimax.io/subscribe/coding-plan?code=DbXJTRClnb&source=link](https://platform.minimax.io/subscribe/coding-plan?code=DbXJTRClnb&source=link)
|
||||
- Zobacz [/concepts/model-providers](/pl/concepts/model-providers), aby poznać zasady dostawców.
|
||||
- Użyj `openclaw models list`, aby potwierdzić bieżące ID dostawcy, a następnie przełącz za pomocą
|
||||
`openclaw models set minimax/MiniMax-M2.7` lub
|
||||
`openclaw models set minimax-portal/MiniMax-M2.7`.
|
||||
- Onboarding i bezpośrednia konfiguracja klucza API zapisują jawne definicje modeli z `input: ["text", "image"]` dla obu wariantów M2.7
|
||||
- Bundlowy katalog dostawcy obecnie udostępnia odwołania czatu jako metadane wyłącznie tekstowe, dopóki nie pojawi się jawna konfiguracja dostawcy MiniMax
|
||||
- Zaktualizuj wartości cen w `models.json`, jeśli potrzebujesz dokładnego śledzenia kosztów
|
||||
- Użyj `openclaw models list`, aby potwierdzić bieżący identyfikator dostawcy, a następnie przełącz się przez `openclaw models set minimax/MiniMax-M2.7` albo `openclaw models set minimax-portal/MiniMax-M2.7`
|
||||
|
||||
<Tip>
|
||||
Link polecający do MiniMax Coding Plan (10% zniżki): [MiniMax Coding Plan](https://platform.minimax.io/subscribe/coding-plan?code=DbXJTRClnb&source=link)
|
||||
</Tip>
|
||||
|
||||
<Note>
|
||||
Zobacz [Dostawcy modeli](/pl/concepts/model-providers), aby poznać zasady dotyczące dostawców.
|
||||
</Note>
|
||||
|
||||
## Rozwiązywanie problemów
|
||||
|
||||
### "Unknown model: minimax/MiniMax-M2.7"
|
||||
<AccordionGroup>
|
||||
<Accordion title='"Nieznany model: minimax/MiniMax-M2.7"'>
|
||||
Zwykle oznacza to, że **dostawca MiniMax nie jest skonfigurowany** (brak pasującego wpisu dostawcy i brak klucza env/profilu auth MiniMax). Poprawka dla tego wykrywania znajduje się w wersji **2026.1.12**. Napraw to przez:
|
||||
|
||||
To zwykle oznacza, że **dostawca MiniMax nie jest skonfigurowany** (brak pasującego
|
||||
wpisu dostawcy i brak profilu uwierzytelniania/env key MiniMax). Poprawka tego
|
||||
wykrywania znajduje się w wersji **2026.1.12**. Napraw to przez:
|
||||
- aktualizację do wersji **2026.1.12** (albo uruchomienie ze źródła z `main`), a następnie ponowne uruchomienie gateway;
|
||||
- uruchomienie `openclaw configure` i wybranie opcji auth **MiniMax**, albo
|
||||
- ręczne dodanie pasującego bloku `models.providers.minimax` albo `models.providers.minimax-portal`, albo
|
||||
- ustawienie `MINIMAX_API_KEY`, `MINIMAX_OAUTH_TOKEN` albo profilu auth MiniMax, aby można było wstrzyknąć pasującego dostawcę.
|
||||
|
||||
- aktualizację do **2026.1.12** (albo uruchomienie ze źródła `main`), a następnie ponowne uruchomienie bramy.
|
||||
- uruchomienie `openclaw configure` i wybranie opcji uwierzytelniania **MiniMax**, albo
|
||||
- ręczne dodanie pasującego bloku `models.providers.minimax` lub
|
||||
`models.providers.minimax-portal`, albo
|
||||
- ustawienie `MINIMAX_API_KEY`, `MINIMAX_OAUTH_TOKEN` albo profilu uwierzytelniania MiniMax,
|
||||
aby odpowiedni dostawca mógł zostać wstrzyknięty.
|
||||
Upewnij się, że identyfikator modelu jest **rozróżniający wielkość liter**:
|
||||
|
||||
Upewnij się, że ID modelu jest **wrażliwe na wielkość liter**:
|
||||
- ścieżka z kluczem API: `minimax/MiniMax-M2.7` albo `minimax/MiniMax-M2.7-highspeed`
|
||||
- ścieżka OAuth: `minimax-portal/MiniMax-M2.7` albo `minimax-portal/MiniMax-M2.7-highspeed`
|
||||
|
||||
- ścieżka klucza API: `minimax/MiniMax-M2.7` lub `minimax/MiniMax-M2.7-highspeed`
|
||||
- ścieżka OAuth: `minimax-portal/MiniMax-M2.7` lub
|
||||
`minimax-portal/MiniMax-M2.7-highspeed`
|
||||
Następnie sprawdź ponownie przez:
|
||||
|
||||
Następnie sprawdź ponownie za pomocą:
|
||||
```bash
|
||||
openclaw models list
|
||||
```
|
||||
|
||||
```bash
|
||||
openclaw models list
|
||||
```
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
<Note>
|
||||
Więcej pomocy: [Rozwiązywanie problemów](/pl/help/troubleshooting) i [FAQ](/pl/help/faq).
|
||||
</Note>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Generowanie obrazów" href="/pl/tools/image-generation" icon="image">
|
||||
Wspólne parametry narzędzia obrazu i wybór dostawcy.
|
||||
</Card>
|
||||
<Card title="Generowanie muzyki" href="/pl/tools/music-generation" icon="music">
|
||||
Wspólne parametry narzędzia muzyki i wybór dostawcy.
|
||||
</Card>
|
||||
<Card title="Generowanie wideo" href="/pl/tools/video-generation" icon="video">
|
||||
Wspólne parametry narzędzia wideo i wybór dostawcy.
|
||||
</Card>
|
||||
<Card title="Wyszukiwanie MiniMax" href="/pl/tools/minimax-search" icon="magnifying-glass">
|
||||
Konfiguracja web search przez MiniMax Coding Plan.
|
||||
</Card>
|
||||
<Card title="Rozwiązywanie problemów" href="/pl/help/troubleshooting" icon="wrench">
|
||||
Ogólne rozwiązywanie problemów i FAQ.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać modeli Mistral w OpenClaw
|
||||
- Potrzebujesz onboardingu klucza API Mistral i odwołań do modeli
|
||||
- Potrzebujesz onboardingu z kluczem API Mistral i referencji modeli
|
||||
summary: Używaj modeli Mistral i transkrypcji Voxtral z OpenClaw
|
||||
title: Mistral
|
||||
x-i18n:
|
||||
generated_at: "2026-04-07T09:49:07Z"
|
||||
generated_at: "2026-04-12T23:31:53Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 4e32a0eb2a37dba6383ba338b06a8d0be600e7443aa916225794ccb0fdf46aee
|
||||
source_hash: 0474f55587909ce9bbdd47b881262edbeb1b07eb3ed52de1090a8ec4d260c97b
|
||||
source_path: providers/mistral.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -16,41 +16,63 @@ x-i18n:
|
||||
# Mistral
|
||||
|
||||
OpenClaw obsługuje Mistral zarówno do routingu modeli tekstowych/obrazowych (`mistral/...`), jak i
|
||||
do transkrypcji audio przez Voxtral w media understanding.
|
||||
Mistral może być również używany do embeddingów pamięci (`memorySearch.provider = "mistral"`).
|
||||
transkrypcji audio przez Voxtral w media understanding.
|
||||
Mistral może być także używany do embeddings pamięci (`memorySearch.provider = "mistral"`).
|
||||
|
||||
## Konfiguracja CLI
|
||||
- Dostawca: `mistral`
|
||||
- Uwierzytelnianie: `MISTRAL_API_KEY`
|
||||
- API: Mistral Chat Completions (`https://api.mistral.ai/v1`)
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice mistral-api-key
|
||||
# or non-interactive
|
||||
openclaw onboard --mistral-api-key "$MISTRAL_API_KEY"
|
||||
```
|
||||
## Pierwsze kroki
|
||||
|
||||
## Fragment konfiguracji (dostawca LLM)
|
||||
<Steps>
|
||||
<Step title="Pobierz klucz API">
|
||||
Utwórz klucz API w [Mistral Console](https://console.mistral.ai/).
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice mistral-api-key
|
||||
```
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { MISTRAL_API_KEY: "sk-..." },
|
||||
agents: { defaults: { model: { primary: "mistral/mistral-large-latest" } } },
|
||||
}
|
||||
```
|
||||
Lub przekaż klucz bezpośrednio:
|
||||
|
||||
```bash
|
||||
openclaw onboard --mistral-api-key "$MISTRAL_API_KEY"
|
||||
```
|
||||
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
env: { MISTRAL_API_KEY: "sk-..." },
|
||||
agents: { defaults: { model: { primary: "mistral/mistral-large-latest" } } },
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider mistral
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Wbudowany katalog LLM
|
||||
|
||||
OpenClaw obecnie udostępnia ten dołączony katalog Mistral:
|
||||
OpenClaw obecnie dostarcza ten dołączony katalog Mistral:
|
||||
|
||||
| Model ref | Wejście | Kontekst | Maks. wyjście | Uwagi |
|
||||
| -------------------------------- | ------------ | -------- | ------------- | ---------------------------------------------------------------- |
|
||||
| `mistral/mistral-large-latest` | tekst, obraz | 262,144 | 16,384 | Model domyślny |
|
||||
| `mistral/mistral-medium-2508` | tekst, obraz | 262,144 | 8,192 | Mistral Medium 3.1 |
|
||||
| `mistral/mistral-small-latest` | tekst, obraz | 128,000 | 16,384 | Mistral Small 4; regulowane reasoning przez API `reasoning_effort` |
|
||||
| `mistral/pixtral-large-latest` | tekst, obraz | 128,000 | 32,768 | Pixtral |
|
||||
| `mistral/codestral-latest` | tekst | 256,000 | 4,096 | Kodowanie |
|
||||
| `mistral/devstral-medium-latest` | tekst | 262,144 | 32,768 | Devstral 2 |
|
||||
| `mistral/magistral-small` | tekst | 128,000 | 40,000 | Z włączonym reasoning |
|
||||
| Ref modelu | Wejście | Kontekst | Maks. wyjście | Uwagi |
|
||||
| -------------------------------- | ----------- | -------- | ------------- | ---------------------------------------------------------------- |
|
||||
| `mistral/mistral-large-latest` | text, image | 262,144 | 16,384 | Model domyślny |
|
||||
| `mistral/mistral-medium-2508` | text, image | 262,144 | 8,192 | Mistral Medium 3.1 |
|
||||
| `mistral/mistral-small-latest` | text, image | 128,000 | 16,384 | Mistral Small 4; regulowane rozumowanie przez API `reasoning_effort` |
|
||||
| `mistral/pixtral-large-latest` | text, image | 128,000 | 32,768 | Pixtral |
|
||||
| `mistral/codestral-latest` | text | 256,000 | 4,096 | Kodowanie |
|
||||
| `mistral/devstral-medium-latest` | text | 262,144 | 32,768 | Devstral 2 |
|
||||
| `mistral/magistral-small` | text | 128,000 | 40,000 | Rozumowanie włączone |
|
||||
|
||||
## Fragment konfiguracji (transkrypcja audio z Voxtral)
|
||||
## Transkrypcja audio (Voxtral)
|
||||
|
||||
Używaj Voxtral do transkrypcji audio przez pipeline media understanding.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -65,22 +87,55 @@ OpenClaw obecnie udostępnia ten dołączony katalog Mistral:
|
||||
}
|
||||
```
|
||||
|
||||
## Regulowane reasoning (`mistral-small-latest`)
|
||||
<Tip>
|
||||
Ścieżka transkrypcji mediów używa `/v1/audio/transcriptions`. Domyślny model audio dla Mistral to `voxtral-mini-latest`.
|
||||
</Tip>
|
||||
|
||||
`mistral/mistral-small-latest` odpowiada Mistral Small 4 i obsługuje [regulowane reasoning](https://docs.mistral.ai/capabilities/reasoning/adjustable) w API Chat Completions przez `reasoning_effort` (`none` minimalizuje dodatkowe myślenie w wyniku; `high` ujawnia pełne ślady myślenia przed końcową odpowiedzią).
|
||||
## Konfiguracja zaawansowana
|
||||
|
||||
OpenClaw mapuje poziom **thinking** sesji na API Mistral:
|
||||
<AccordionGroup>
|
||||
<Accordion title="Regulowane rozumowanie (`mistral-small-latest`)">
|
||||
`mistral/mistral-small-latest` mapuje do Mistral Small 4 i obsługuje [regulowane rozumowanie](https://docs.mistral.ai/capabilities/reasoning/adjustable) w Chat Completions API przez `reasoning_effort` (`none` minimalizuje dodatkowe myślenie w odpowiedzi; `high` pokazuje pełne ślady myślenia przed odpowiedzią końcową).
|
||||
|
||||
- **off** / **minimal** → `none`
|
||||
- **low** / **medium** / **high** / **xhigh** / **adaptive** → `high`
|
||||
OpenClaw mapuje poziom **thinking** sesji na API Mistral:
|
||||
|
||||
Inne modele z dołączonego katalogu Mistral nie używają tego parametru; nadal używaj modeli `magistral-*`, gdy chcesz uzyskać natywne dla Mistral zachowanie z priorytetem reasoning.
|
||||
| Poziom thinking w OpenClaw | Mistral `reasoning_effort` |
|
||||
| ----------------------------------------------- | -------------------------- |
|
||||
| **off** / **minimal** | `none` |
|
||||
| **low** / **medium** / **high** / **xhigh** / **adaptive** | `high` |
|
||||
|
||||
## Uwagi
|
||||
<Note>
|
||||
Pozostałe modele z dołączonego katalogu Mistral nie używają tego parametru. Nadal używaj modeli `magistral-*`, gdy chcesz korzystać z natywnego dla Mistral zachowania nastawionego na rozumowanie.
|
||||
</Note>
|
||||
|
||||
- Uwierzytelnianie Mistral używa `MISTRAL_API_KEY`.
|
||||
- Bazowy URL dostawcy domyślnie to `https://api.mistral.ai/v1`.
|
||||
- Domyślny model onboardingu to `mistral/mistral-large-latest`.
|
||||
- Domyślny model audio dla media-understanding w Mistral to `voxtral-mini-latest`.
|
||||
- Ścieżka transkrypcji mediów używa `/v1/audio/transcriptions`.
|
||||
- Ścieżka embeddingów pamięci używa `/v1/embeddings` (model domyślny: `mistral-embed`).
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Embeddings pamięci">
|
||||
Mistral może udostępniać embeddings pamięci przez `/v1/embeddings` (model domyślny: `mistral-embed`).
|
||||
|
||||
```json5
|
||||
{
|
||||
memorySearch: { provider: "mistral" },
|
||||
}
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Uwierzytelnianie i bazowy URL">
|
||||
- Uwierzytelnianie Mistral używa `MISTRAL_API_KEY`.
|
||||
- Bazowy URL dostawcy domyślnie to `https://api.mistral.ai/v1`.
|
||||
- Domyślnym modelem w onboardingu jest `mistral/mistral-large-latest`.
|
||||
- Z.AI używa uwierzytelniania Bearer z Twoim kluczem API.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, referencji modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Media understanding" href="/tools/media-understanding" icon="microphone">
|
||||
Konfiguracja transkrypcji audio i wybór dostawcy.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz skonfigurować Moonshot K2 (Moonshot Open Platform) lub Kimi Coding
|
||||
- Musisz zrozumieć oddzielne endpointy, klucze i referencje modeli
|
||||
- Chcesz mieć gotową do skopiowania konfigurację dla jednego z dostawców
|
||||
- Chcesz skonfigurować Moonshot K2 (Moonshot Open Platform) oraz Kimi Coding
|
||||
- Musisz zrozumieć oddzielne endpointy, klucze i odwołania do modeli
|
||||
- Chcesz konfigurację do skopiowania i wklejenia dla dowolnego z dostawców
|
||||
summary: Skonfiguruj Moonshot K2 i Kimi Coding (oddzielni dostawcy + klucze)
|
||||
title: Moonshot AI
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:41Z"
|
||||
generated_at: "2026-04-12T23:32:05Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: a80c71ef432b778e296bd60b7d9ec7c72d025d13fd9bdae474b3d58436d15695
|
||||
source_hash: 3f261f83a9b37e4fffb0cd0803e0c64f27eae8bae91b91d8a781a030663076f8
|
||||
source_path: providers/moonshot.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -17,140 +17,217 @@ x-i18n:
|
||||
# Moonshot AI (Kimi)
|
||||
|
||||
Moonshot udostępnia API Kimi z endpointami zgodnymi z OpenAI. Skonfiguruj
|
||||
dostawcę i ustaw model domyślny na `moonshot/kimi-k2.5`, albo użyj
|
||||
dostawcę i ustaw domyślny model na `moonshot/kimi-k2.5`, albo użyj
|
||||
Kimi Coding z `kimi/kimi-code`.
|
||||
|
||||
Aktualne identyfikatory modeli Kimi K2:
|
||||
<Warning>
|
||||
Moonshot i Kimi Coding to **oddzielni dostawcy**. Klucze nie są zamienne, endpointy są różne, a odwołania do modeli też się różnią (`moonshot/...` vs `kimi/...`).
|
||||
</Warning>
|
||||
|
||||
## Wbudowany katalog modeli
|
||||
|
||||
[//]: # "moonshot-kimi-k2-ids:start"
|
||||
|
||||
- `kimi-k2.5`
|
||||
- `kimi-k2-thinking`
|
||||
- `kimi-k2-thinking-turbo`
|
||||
- `kimi-k2-turbo`
|
||||
| Odwołanie modelu | Nazwa | Reasoning | Wejście | Kontekst | Maks. wyjście |
|
||||
| -------------------------------- | ---------------------- | --------- | ----------- | -------- | ------------- |
|
||||
| `moonshot/kimi-k2.5` | Kimi K2.5 | Nie | text, image | 262,144 | 262,144 |
|
||||
| `moonshot/kimi-k2-thinking` | Kimi K2 Thinking | Tak | text | 262,144 | 262,144 |
|
||||
| `moonshot/kimi-k2-thinking-turbo`| Kimi K2 Thinking Turbo | Tak | text | 262,144 | 262,144 |
|
||||
| `moonshot/kimi-k2-turbo` | Kimi K2 Turbo | Nie | text | 256,000 | 16,384 |
|
||||
|
||||
[//]: # "moonshot-kimi-k2-ids:end"
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice moonshot-api-key
|
||||
# lub
|
||||
openclaw onboard --auth-choice moonshot-api-key-cn
|
||||
```
|
||||
## Pierwsze kroki
|
||||
|
||||
Kimi Coding:
|
||||
Wybierz dostawcę i wykonaj kroki konfiguracji.
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice kimi-code-api-key
|
||||
```
|
||||
<Tabs>
|
||||
<Tab title="Moonshot API">
|
||||
**Najlepsze do:** modeli Kimi K2 przez Moonshot Open Platform.
|
||||
|
||||
Uwaga: Moonshot i Kimi Coding to oddzielni dostawcy. Klucze nie są zamienne, endpointy są różne, a referencje modeli się różnią (Moonshot używa `moonshot/...`, Kimi Coding używa `kimi/...`).
|
||||
<Steps>
|
||||
<Step title="Wybierz region endpointu">
|
||||
| Wybór uwierzytelniania | Endpoint | Region |
|
||||
| ------------------------ | ---------------------------- | -------------- |
|
||||
| `moonshot-api-key` | `https://api.moonshot.ai/v1` | Międzynarodowy |
|
||||
| `moonshot-api-key-cn` | `https://api.moonshot.cn/v1` | Chiny |
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice moonshot-api-key
|
||||
```
|
||||
|
||||
Wyszukiwanie w sieci Kimi również używa wtyczki Moonshot:
|
||||
Albo dla endpointu w Chinach:
|
||||
|
||||
```bash
|
||||
openclaw configure --section web
|
||||
```
|
||||
```bash
|
||||
openclaw onboard --auth-choice moonshot-api-key-cn
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "moonshot/kimi-k2.5" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są dostępne">
|
||||
```bash
|
||||
openclaw models list --provider moonshot
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
W sekcji wyszukiwania w sieci wybierz **Kimi**, aby zapisać
|
||||
`plugins.entries.moonshot.config.webSearch.*`.
|
||||
### Przykład konfiguracji
|
||||
|
||||
## Fragment konfiguracji (API Moonshot)
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { MOONSHOT_API_KEY: "sk-..." },
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "moonshot/kimi-k2.5" },
|
||||
```json5
|
||||
{
|
||||
env: { MOONSHOT_API_KEY: "sk-..." },
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "moonshot/kimi-k2.5" },
|
||||
models: {
|
||||
// moonshot-kimi-k2-aliases:start
|
||||
"moonshot/kimi-k2.5": { alias: "Kimi K2.5" },
|
||||
"moonshot/kimi-k2-thinking": { alias: "Kimi K2 Thinking" },
|
||||
"moonshot/kimi-k2-thinking-turbo": { alias: "Kimi K2 Thinking Turbo" },
|
||||
"moonshot/kimi-k2-turbo": { alias: "Kimi K2 Turbo" },
|
||||
// moonshot-kimi-k2-aliases:end
|
||||
},
|
||||
},
|
||||
},
|
||||
models: {
|
||||
// moonshot-kimi-k2-aliases:start
|
||||
"moonshot/kimi-k2.5": { alias: "Kimi K2.5" },
|
||||
"moonshot/kimi-k2-thinking": { alias: "Kimi K2 Thinking" },
|
||||
"moonshot/kimi-k2-thinking-turbo": { alias: "Kimi K2 Thinking Turbo" },
|
||||
"moonshot/kimi-k2-turbo": { alias: "Kimi K2 Turbo" },
|
||||
// moonshot-kimi-k2-aliases:end
|
||||
mode: "merge",
|
||||
providers: {
|
||||
moonshot: {
|
||||
baseUrl: "https://api.moonshot.ai/v1",
|
||||
apiKey: "${MOONSHOT_API_KEY}",
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
// moonshot-kimi-k2-models:start
|
||||
{
|
||||
id: "kimi-k2.5",
|
||||
name: "Kimi K2.5",
|
||||
reasoning: false,
|
||||
input: ["text", "image"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 262144,
|
||||
maxTokens: 262144,
|
||||
},
|
||||
{
|
||||
id: "kimi-k2-thinking",
|
||||
name: "Kimi K2 Thinking",
|
||||
reasoning: true,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 262144,
|
||||
maxTokens: 262144,
|
||||
},
|
||||
{
|
||||
id: "kimi-k2-thinking-turbo",
|
||||
name: "Kimi K2 Thinking Turbo",
|
||||
reasoning: true,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 262144,
|
||||
maxTokens: 262144,
|
||||
},
|
||||
{
|
||||
id: "kimi-k2-turbo",
|
||||
name: "Kimi K2 Turbo",
|
||||
reasoning: false,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 256000,
|
||||
maxTokens: 16384,
|
||||
},
|
||||
// moonshot-kimi-k2-models:end
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
models: {
|
||||
mode: "merge",
|
||||
providers: {
|
||||
moonshot: {
|
||||
baseUrl: "https://api.moonshot.ai/v1",
|
||||
apiKey: "${MOONSHOT_API_KEY}",
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
// moonshot-kimi-k2-models:start
|
||||
{
|
||||
id: "kimi-k2.5",
|
||||
name: "Kimi K2.5",
|
||||
reasoning: false,
|
||||
input: ["text", "image"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 262144,
|
||||
maxTokens: 262144,
|
||||
},
|
||||
{
|
||||
id: "kimi-k2-thinking",
|
||||
name: "Kimi K2 Thinking",
|
||||
reasoning: true,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 262144,
|
||||
maxTokens: 262144,
|
||||
},
|
||||
{
|
||||
id: "kimi-k2-thinking-turbo",
|
||||
name: "Kimi K2 Thinking Turbo",
|
||||
reasoning: true,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 262144,
|
||||
maxTokens: 262144,
|
||||
},
|
||||
{
|
||||
id: "kimi-k2-turbo",
|
||||
name: "Kimi K2 Turbo",
|
||||
reasoning: false,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 256000,
|
||||
maxTokens: 16384,
|
||||
},
|
||||
// moonshot-kimi-k2-models:end
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
## Kimi Coding
|
||||
</Tab>
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { KIMI_API_KEY: "sk-..." },
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "kimi/kimi-code" },
|
||||
models: {
|
||||
"kimi/kimi-code": { alias: "Kimi" },
|
||||
<Tab title="Kimi Coding">
|
||||
**Najlepsze do:** zadań skoncentrowanych na kodzie przez endpoint Kimi Coding.
|
||||
|
||||
<Note>
|
||||
Kimi Coding używa innego klucza API i prefiksu dostawcy (`kimi/...`) niż Moonshot (`moonshot/...`). Starsze odwołanie do modelu `kimi/k2p5` pozostaje akceptowane jako identyfikator zgodności.
|
||||
</Note>
|
||||
|
||||
<Steps>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice kimi-code-api-key
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "kimi/kimi-code" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider kimi
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
### Przykład konfiguracji
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { KIMI_API_KEY: "sk-..." },
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "kimi/kimi-code" },
|
||||
models: {
|
||||
"kimi/kimi-code": { alias: "Kimi" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Wyszukiwanie w sieci Kimi
|
||||
|
||||
OpenClaw dostarcza też **Kimi** jako dostawcę `web_search`, opartego na wyszukiwaniu w sieci Moonshot.
|
||||
OpenClaw zawiera też **Kimi** jako dostawcę `web_search`, oparty na wyszukiwaniu w sieci Moonshot.
|
||||
|
||||
Konfiguracja interaktywna może pytać o:
|
||||
<Steps>
|
||||
<Step title="Uruchom interaktywną konfigurację wyszukiwania w sieci">
|
||||
```bash
|
||||
openclaw configure --section web
|
||||
```
|
||||
|
||||
- region API Moonshot:
|
||||
- `https://api.moonshot.ai/v1`
|
||||
- `https://api.moonshot.cn/v1`
|
||||
- domyślny model wyszukiwania w sieci Kimi (domyślnie `kimi-k2.5`)
|
||||
W sekcji wyszukiwania w sieci wybierz **Kimi**, aby zapisać
|
||||
`plugins.entries.moonshot.config.webSearch.*`.
|
||||
|
||||
</Step>
|
||||
<Step title="Skonfiguruj region wyszukiwania w sieci i model">
|
||||
Interaktywna konfiguracja pyta o:
|
||||
|
||||
| Ustawienie | Opcje |
|
||||
| ------------------- | ------------------------------------------------------------------- |
|
||||
| Region API | `https://api.moonshot.ai/v1` (międzynarodowy) lub `https://api.moonshot.cn/v1` (Chiny) |
|
||||
| Model wyszukiwania w sieci | Domyślnie `kimi-k2.5` |
|
||||
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
Konfiguracja znajduje się pod `plugins.entries.moonshot.config.webSearch`:
|
||||
|
||||
@ -179,52 +256,82 @@ Konfiguracja znajduje się pod `plugins.entries.moonshot.config.webSearch`:
|
||||
}
|
||||
```
|
||||
|
||||
## Uwagi
|
||||
## Zaawansowane
|
||||
|
||||
- Referencje modeli Moonshot używają `moonshot/<modelId>`. Referencje modeli Kimi Coding używają `kimi/<modelId>`.
|
||||
- Aktualna domyślna referencja modelu Kimi Coding to `kimi/kimi-code`. Starsze `kimi/k2p5` nadal jest akceptowane jako zgodny identyfikator modelu.
|
||||
- Wyszukiwanie w sieci Kimi używa `KIMI_API_KEY` lub `MOONSHOT_API_KEY` i domyślnie korzysta z `https://api.moonshot.ai/v1` z modelem `kimi-k2.5`.
|
||||
- Natywne endpointy Moonshot (`https://api.moonshot.ai/v1` i
|
||||
`https://api.moonshot.cn/v1`) deklarują zgodność użycia strumieniowego we
|
||||
współdzielonym transporcie `openai-completions`. OpenClaw opiera to teraz na możliwościach endpointu,
|
||||
więc zgodne niestandardowe identyfikatory dostawców kierujące na te same natywne
|
||||
hosty Moonshot dziedziczą to samo zachowanie użycia strumieniowego.
|
||||
- W razie potrzeby nadpisz ceny i metadane kontekstu w `models.providers`.
|
||||
- Jeśli Moonshot opublikuje inne limity kontekstu dla modelu, odpowiednio dostosuj
|
||||
`contextWindow`.
|
||||
- Używaj `https://api.moonshot.ai/v1` dla endpointu międzynarodowego oraz `https://api.moonshot.cn/v1` dla endpointu w Chinach.
|
||||
- Opcje onboardingu:
|
||||
- `moonshot-api-key` dla `https://api.moonshot.ai/v1`
|
||||
- `moonshot-api-key-cn` dla `https://api.moonshot.cn/v1`
|
||||
<AccordionGroup>
|
||||
<Accordion title="Natywny tryb thinking">
|
||||
Moonshot Kimi obsługuje binarny natywny tryb thinking:
|
||||
|
||||
## Natywny tryb myślenia (Moonshot)
|
||||
- `thinking: { type: "enabled" }`
|
||||
- `thinking: { type: "disabled" }`
|
||||
|
||||
Moonshot Kimi obsługuje binarny natywny tryb myślenia:
|
||||
Skonfiguruj go per model przez `agents.defaults.models.<provider/model>.params`:
|
||||
|
||||
- `thinking: { type: "enabled" }`
|
||||
- `thinking: { type: "disabled" }`
|
||||
|
||||
Skonfiguruj go dla modelu w `agents.defaults.models.<provider/model>.params`:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
models: {
|
||||
"moonshot/kimi-k2.5": {
|
||||
params: {
|
||||
thinking: { type: "disabled" },
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
models: {
|
||||
"moonshot/kimi-k2.5": {
|
||||
params: {
|
||||
thinking: { type: "disabled" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
OpenClaw mapuje też poziomy `/think` w runtime dla Moonshot:
|
||||
OpenClaw mapuje też poziomy `/think` w czasie działania dla Moonshot:
|
||||
|
||||
- `/think off` -> `thinking.type=disabled`
|
||||
- dowolny poziom myślenia inny niż off -> `thinking.type=enabled`
|
||||
| Poziom `/think` | Zachowanie Moonshot |
|
||||
| -------------------- | -------------------------- |
|
||||
| `/think off` | `thinking.type=disabled` |
|
||||
| Dowolny poziom inny niż off | `thinking.type=enabled` |
|
||||
|
||||
Gdy tryb myślenia Moonshot jest włączony, `tool_choice` musi mieć wartość `auto` lub `none`. OpenClaw normalizuje niezgodne wartości `tool_choice` do `auto` dla zachowania zgodności.
|
||||
<Warning>
|
||||
Gdy thinking Moonshot jest włączone, `tool_choice` musi mieć wartość `auto` albo `none`. OpenClaw normalizuje niezgodne wartości `tool_choice` do `auto` dla zgodności.
|
||||
</Warning>
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Zgodność użycia streamingu">
|
||||
Natywne endpointy Moonshot (`https://api.moonshot.ai/v1` i
|
||||
`https://api.moonshot.cn/v1`) deklarują zgodność użycia streamingu na
|
||||
współdzielonym transporcie `openai-completions`. OpenClaw opiera się na możliwościach endpointu,
|
||||
więc zgodne niestandardowe identyfikatory dostawców kierujące na te same natywne
|
||||
hosty Moonshot dziedziczą to samo zachowanie użycia streamingu.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Referencja endpointów i odwołań do modeli">
|
||||
| Dostawca | Prefiks odwołania modelu | Endpoint | Zmienna środowiskowa uwierzytelniania |
|
||||
| ------------ | ------------------------ | ---------------------------- | ------------------------------------- |
|
||||
| Moonshot | `moonshot/` | `https://api.moonshot.ai/v1` | `MOONSHOT_API_KEY` |
|
||||
| Moonshot CN | `moonshot/` | `https://api.moonshot.cn/v1` | `MOONSHOT_API_KEY` |
|
||||
| Kimi Coding | `kimi/` | endpoint Kimi Coding | `KIMI_API_KEY` |
|
||||
| Wyszukiwanie w sieci | N/A | Taki sam jak region API Moonshot | `KIMI_API_KEY` lub `MOONSHOT_API_KEY` |
|
||||
|
||||
- Wyszukiwanie w sieci Kimi używa `KIMI_API_KEY` lub `MOONSHOT_API_KEY`, a domyślnie korzysta z `https://api.moonshot.ai/v1` z modelem `kimi-k2.5`.
|
||||
- W razie potrzeby nadpisz ceny i metadane kontekstowe w `models.providers`.
|
||||
- Jeśli Moonshot opublikuje inne limity kontekstu dla modelu, odpowiednio dostosuj `contextWindow`.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Wyszukiwanie w sieci" href="/tools/web-search" icon="magnifying-glass">
|
||||
Konfigurowanie dostawców wyszukiwania w sieci, w tym Kimi.
|
||||
</Card>
|
||||
<Card title="Referencja konfiguracji" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełny schemat konfiguracji dostawców, modeli i Plugin.
|
||||
</Card>
|
||||
<Card title="Moonshot Open Platform" href="https://platform.moonshot.ai" icon="globe">
|
||||
Zarządzanie kluczami API Moonshot i dokumentacja.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,35 +1,49 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać otwartych modeli w OpenClaw za darmo
|
||||
- Potrzebujesz konfiguracji NVIDIA_API_KEY
|
||||
summary: Używaj zgodnego z OpenAI API NVIDIA w OpenClaw
|
||||
- Musisz skonfigurować `NVIDIA_API_KEY`
|
||||
summary: Używanie zgodnego z OpenAI API NVIDIA w OpenClaw
|
||||
title: NVIDIA
|
||||
x-i18n:
|
||||
generated_at: "2026-04-08T02:17:20Z"
|
||||
generated_at: "2026-04-12T23:32:07Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: b00f8cedaf223a33ba9f6a6dd8cf066d88cebeea52d391b871e435026182228a
|
||||
source_hash: 45048037365138141ee82cefa0c0daaf073a1c2ae3aa7b23815f6ca676fc0d3e
|
||||
source_path: providers/nvidia.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# NVIDIA
|
||||
|
||||
NVIDIA udostępnia zgodne z OpenAI API pod adresem `https://integrate.api.nvidia.com/v1` dla otwartych modeli za darmo. Uwierzytelnij się za pomocą klucza API z [build.nvidia.com](https://build.nvidia.com/settings/api-keys).
|
||||
NVIDIA udostępnia zgodne z OpenAI API pod adresem `https://integrate.api.nvidia.com/v1` dla
|
||||
otwartych modeli za darmo. Uwierzytelnianie odbywa się za pomocą klucza API z
|
||||
[build.nvidia.com](https://build.nvidia.com/settings/api-keys).
|
||||
|
||||
## Konfiguracja CLI
|
||||
## Pierwsze kroki
|
||||
|
||||
Wyeksportuj klucz raz, a następnie uruchom onboarding i ustaw model NVIDIA:
|
||||
<Steps>
|
||||
<Step title="Pobierz swój klucz API">
|
||||
Utwórz klucz API na stronie [build.nvidia.com](https://build.nvidia.com/settings/api-keys).
|
||||
</Step>
|
||||
<Step title="Wyeksportuj klucz i uruchom onboarding">
|
||||
```bash
|
||||
export NVIDIA_API_KEY="nvapi-..."
|
||||
openclaw onboard --auth-choice skip
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model NVIDIA">
|
||||
```bash
|
||||
openclaw models set nvidia/nvidia/nemotron-3-super-120b-a12b
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
```bash
|
||||
export NVIDIA_API_KEY="nvapi-..."
|
||||
openclaw onboard --auth-choice skip
|
||||
openclaw models set nvidia/nvidia/nemotron-3-super-120b-a12b
|
||||
```
|
||||
<Warning>
|
||||
Jeśli przekażesz `--token` zamiast zmiennej env, wartość trafi do historii powłoki i
|
||||
wyjścia `ps`. Gdy to możliwe, preferuj zmienną środowiskową `NVIDIA_API_KEY`.
|
||||
</Warning>
|
||||
|
||||
Jeśli nadal przekazujesz `--token`, pamiętaj, że trafia on do historii powłoki i danych wyjściowych `ps`; jeśli to możliwe, preferuj zmienną środowiskową.
|
||||
|
||||
## Fragment konfiguracji
|
||||
## Przykład konfiguracji
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -50,17 +64,47 @@ Jeśli nadal przekazujesz `--token`, pamiętaj, że trafia on do historii powło
|
||||
}
|
||||
```
|
||||
|
||||
## Identyfikatory modeli
|
||||
## Wbudowany katalog
|
||||
|
||||
| Model ref | Nazwa | Kontekst | Maks. wynik |
|
||||
| ------------------------------------------ | ---------------------------- | -------- | ----------- |
|
||||
| `nvidia/nvidia/nemotron-3-super-120b-a12b` | NVIDIA Nemotron 3 Super 120B | 262,144 | 8,192 |
|
||||
| `nvidia/moonshotai/kimi-k2.5` | Kimi K2.5 | 262,144 | 8,192 |
|
||||
| `nvidia/minimaxai/minimax-m2.5` | Minimax M2.5 | 196,608 | 8,192 |
|
||||
| `nvidia/z-ai/glm5` | GLM 5 | 202,752 | 8,192 |
|
||||
| Model ref | Nazwa | Kontekst | Maks. wyjście |
|
||||
| ------------------------------------------ | ---------------------------- | -------- | ------------- |
|
||||
| `nvidia/nvidia/nemotron-3-super-120b-a12b` | NVIDIA Nemotron 3 Super 120B | 262,144 | 8,192 |
|
||||
| `nvidia/moonshotai/kimi-k2.5` | Kimi K2.5 | 262,144 | 8,192 |
|
||||
| `nvidia/minimaxai/minimax-m2.5` | Minimax M2.5 | 196,608 | 8,192 |
|
||||
| `nvidia/z-ai/glm5` | GLM 5 | 202,752 | 8,192 |
|
||||
|
||||
## Uwagi
|
||||
## Uwagi zaawansowane
|
||||
|
||||
- Zgodny z OpenAI punkt końcowy `/v1`; użyj klucza API z [build.nvidia.com](https://build.nvidia.com/).
|
||||
- Dostawca włącza się automatycznie, gdy ustawiono `NVIDIA_API_KEY`.
|
||||
- Dołączony katalog jest statyczny; koszty domyślnie wynoszą `0` w źródle.
|
||||
<AccordionGroup>
|
||||
<Accordion title="Zachowanie automatycznego włączania">
|
||||
Dostawca włącza się automatycznie, gdy ustawiona jest zmienna środowiskowa `NVIDIA_API_KEY`.
|
||||
Poza kluczem nie jest wymagana żadna jawna konfiguracja dostawcy.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Katalog i ceny">
|
||||
Bundlowany katalog jest statyczny. Koszty domyślnie mają wartość `0` w źródle, ponieważ NVIDIA
|
||||
obecnie oferuje darmowy dostęp do API dla wymienionych modeli.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Endpoint zgodny z OpenAI">
|
||||
NVIDIA używa standardowego endpointu completions `/v1`. Każde narzędzie zgodne z OpenAI
|
||||
powinno działać od razu z bazowym adresem URL NVIDIA.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
<Tip>
|
||||
Modele NVIDIA są obecnie darmowe w użyciu. Sprawdź
|
||||
[build.nvidia.com](https://build.nvidia.com/) pod kątem aktualnej dostępności i
|
||||
szczegółów limitów szybkości.
|
||||
</Tip>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, referencji modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Dokumentacja konfiguracji" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełna dokumentacja konfiguracji agentów, modeli i dostawców.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,142 +1,174 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz uruchamiać OpenClaw z modelami chmurowymi lub lokalnymi przez Ollama
|
||||
- Potrzebujesz wskazówek dotyczących konfiguracji i ustawiania Ollama
|
||||
summary: Uruchamianie OpenClaw z Ollama (modele chmurowe i lokalne)
|
||||
- Potrzebujesz wskazówek dotyczących konfiguracji i ustawień Ollama
|
||||
summary: Uruchamiaj OpenClaw z Ollama (modele chmurowe i lokalne)
|
||||
title: Ollama
|
||||
x-i18n:
|
||||
generated_at: "2026-04-08T09:44:32Z"
|
||||
generated_at: "2026-04-12T23:32:09Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: d3295a7c879d3636a2ffdec05aea6e670e54a990ef52bd9b0cae253bc24aa3f7
|
||||
source_hash: ec796241b884ca16ec7077df4f3f1910e2850487bb3ea94f8fdb37c77e02b219
|
||||
source_path: providers/ollama.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Ollama
|
||||
|
||||
Ollama to lokalne środowisko uruchomieniowe LLM, które ułatwia uruchamianie modeli open source na Twoim komputerze. OpenClaw integruje się z natywnym API Ollama (`/api/chat`), obsługuje strumieniowanie i wywoływanie narzędzi oraz może automatycznie wykrywać lokalne modele Ollama, gdy włączysz tę opcję za pomocą `OLLAMA_API_KEY` (lub profilu uwierzytelniania) i nie zdefiniujesz jawnego wpisu `models.providers.ollama`.
|
||||
Ollama to lokalne środowisko uruchomieniowe LLM, które ułatwia uruchamianie modeli open source na Twojej maszynie. OpenClaw integruje się z natywnym API Ollama (`/api/chat`), obsługuje przesyłanie strumieniowe i wywoływanie narzędzi oraz może automatycznie wykrywać lokalne modele Ollama, gdy włączysz to przez `OLLAMA_API_KEY` (lub profil uwierzytelniania) i nie zdefiniujesz jawnego wpisu `models.providers.ollama`.
|
||||
|
||||
<Warning>
|
||||
**Użytkownicy zdalnego Ollama**: Nie używaj adresu URL zgodnego z OpenAI `/v1` (`http://host:11434/v1`) z OpenClaw. Powoduje to problemy z wywoływaniem narzędzi, a modele mogą zwracać surowy JSON narzędzi jako zwykły tekst. Zamiast tego użyj natywnego adresu URL API Ollama: `baseUrl: "http://host:11434"` (bez `/v1`).
|
||||
**Użytkownicy zdalnego Ollama**: Nie używaj adresu URL `/v1` zgodnego z OpenAI (`http://host:11434/v1`) z OpenClaw. Powoduje to awarie wywoływania narzędzi, a modele mogą zwracać surowy JSON narzędzi jako zwykły tekst. Zamiast tego używaj natywnego adresu URL API Ollama: `baseUrl: "http://host:11434"` (bez `/v1`).
|
||||
</Warning>
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
### Onboarding (zalecane)
|
||||
Wybierz preferowaną metodę konfiguracji i tryb.
|
||||
|
||||
Najszybszym sposobem konfiguracji Ollama jest użycie onboardingu:
|
||||
|
||||
```bash
|
||||
openclaw onboard
|
||||
```
|
||||
|
||||
Wybierz **Ollama** z listy dostawców. Onboarding:
|
||||
|
||||
1. Poprosi o bazowy adres URL Ollama, pod którym Twoja instancja jest osiągalna (domyślnie `http://127.0.0.1:11434`).
|
||||
2. Pozwoli wybrać **Cloud + Local** (modele chmurowe i lokalne) lub **Local** (tylko modele lokalne).
|
||||
3. Otworzy w przeglądarce proces logowania, jeśli wybierzesz **Cloud + Local** i nie jesteś zalogowany w ollama.com.
|
||||
4. Wykryje dostępne modele i zasugeruje wartości domyślne.
|
||||
5. Automatycznie pobierze wybrany model, jeśli nie jest dostępny lokalnie.
|
||||
|
||||
Obsługiwany jest także tryb nieinteraktywny:
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--auth-choice ollama \
|
||||
--accept-risk
|
||||
```
|
||||
|
||||
Opcjonalnie możesz podać własny bazowy adres URL lub model:
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--auth-choice ollama \
|
||||
--custom-base-url "http://ollama-host:11434" \
|
||||
--custom-model-id "qwen3.5:27b" \
|
||||
--accept-risk
|
||||
```
|
||||
|
||||
### Konfiguracja ręczna
|
||||
|
||||
1. Zainstaluj Ollama: [https://ollama.com/download](https://ollama.com/download)
|
||||
|
||||
2. Pobierz model lokalny, jeśli chcesz używać inferencji lokalnej:
|
||||
|
||||
```bash
|
||||
ollama pull gemma4
|
||||
# lub
|
||||
ollama pull gpt-oss:20b
|
||||
# lub
|
||||
ollama pull llama3.3
|
||||
```
|
||||
|
||||
3. Jeśli chcesz także używać modeli chmurowych, zaloguj się:
|
||||
|
||||
```bash
|
||||
ollama signin
|
||||
```
|
||||
|
||||
4. Uruchom onboarding i wybierz `Ollama`:
|
||||
|
||||
```bash
|
||||
openclaw onboard
|
||||
```
|
||||
|
||||
- `Local`: tylko modele lokalne
|
||||
- `Cloud + Local`: modele lokalne oraz modele chmurowe
|
||||
- Modele chmurowe takie jak `kimi-k2.5:cloud`, `minimax-m2.7:cloud` i `glm-5.1:cloud` **nie** wymagają lokalnego `ollama pull`
|
||||
|
||||
OpenClaw obecnie sugeruje:
|
||||
|
||||
- lokalna wartość domyślna: `gemma4`
|
||||
- chmurowe wartości domyślne: `kimi-k2.5:cloud`, `minimax-m2.7:cloud`, `glm-5.1:cloud`
|
||||
|
||||
5. Jeśli wolisz konfigurację ręczną, włącz Ollama bezpośrednio dla OpenClaw (dowolna wartość działa; Ollama nie wymaga prawdziwego klucza):
|
||||
|
||||
```bash
|
||||
# Ustaw zmienną środowiskową
|
||||
export OLLAMA_API_KEY="ollama-local"
|
||||
|
||||
# Lub skonfiguruj w pliku konfiguracyjnym
|
||||
openclaw config set models.providers.ollama.apiKey "ollama-local"
|
||||
```
|
||||
|
||||
6. Wyświetl modele lub przełącz model:
|
||||
|
||||
```bash
|
||||
openclaw models list
|
||||
openclaw models set ollama/gemma4
|
||||
```
|
||||
|
||||
7. Lub ustaw domyślny model w konfiguracji:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "ollama/gemma4" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
## Wykrywanie modeli (provider niejawny)
|
||||
|
||||
Gdy ustawisz `OLLAMA_API_KEY` (lub profil uwierzytelniania) i **nie** zdefiniujesz `models.providers.ollama`, OpenClaw wykrywa modele z lokalnej instancji Ollama pod adresem `http://127.0.0.1:11434`:
|
||||
|
||||
- Odpytuje `/api/tags`
|
||||
- Używa wywołań `/api/show` w trybie best-effort, aby odczytać `contextWindow` i wykrywać możliwości modelu (w tym vision), gdy są dostępne
|
||||
- Modele z możliwością `vision` zgłoszoną przez `/api/show` są oznaczane jako obsługujące obrazy (`input: ["text", "image"]`), dzięki czemu OpenClaw automatycznie wstrzykuje obrazy do promptu dla tych modeli
|
||||
- Oznacza `reasoning` na podstawie heurystyki nazwy modelu (`r1`, `reasoning`, `think`)
|
||||
- Ustawia `maxTokens` na domyślny limit maksymalnej liczby tokenów Ollama używany przez OpenClaw
|
||||
- Ustawia wszystkie koszty na `0`
|
||||
|
||||
Pozwala to uniknąć ręcznego definiowania modeli, a jednocześnie utrzymać katalog zgodny z lokalną instancją Ollama.
|
||||
|
||||
Aby zobaczyć, jakie modele są dostępne:
|
||||
<Tabs>
|
||||
<Tab title="Onboarding (zalecane)">
|
||||
**Najlepsze dla:** najszybszej ścieżki do działającej konfiguracji Ollama z automatycznym wykrywaniem modeli.
|
||||
|
||||
<Steps>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard
|
||||
```
|
||||
|
||||
Wybierz **Ollama** z listy dostawców.
|
||||
</Step>
|
||||
<Step title="Wybierz tryb">
|
||||
- **Cloud + Local** — modele hostowane w chmurze i modele lokalne razem
|
||||
- **Local** — tylko modele lokalne
|
||||
|
||||
Jeśli wybierzesz **Cloud + Local** i nie jesteś zalogowany w ollama.com, onboarding otworzy przepływ logowania w przeglądarce.
|
||||
</Step>
|
||||
<Step title="Wybierz model">
|
||||
Onboarding wykrywa dostępne modele i sugeruje ustawienia domyślne. Automatycznie pobiera wybrany model, jeśli nie jest dostępny lokalnie.
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider ollama
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
### Tryb nieinteraktywny
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--auth-choice ollama \
|
||||
--accept-risk
|
||||
```
|
||||
|
||||
Opcjonalnie podaj niestandardowy base URL lub model:
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--auth-choice ollama \
|
||||
--custom-base-url "http://ollama-host:11434" \
|
||||
--custom-model-id "qwen3.5:27b" \
|
||||
--accept-risk
|
||||
```
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Konfiguracja ręczna">
|
||||
**Najlepsze dla:** pełnej kontroli nad instalacją, pobieraniem modeli i konfiguracją.
|
||||
|
||||
<Steps>
|
||||
<Step title="Zainstaluj Ollama">
|
||||
Pobierz z [ollama.com/download](https://ollama.com/download).
|
||||
</Step>
|
||||
<Step title="Pobierz model lokalny">
|
||||
```bash
|
||||
ollama pull gemma4
|
||||
# lub
|
||||
ollama pull gpt-oss:20b
|
||||
# lub
|
||||
ollama pull llama3.3
|
||||
```
|
||||
</Step>
|
||||
<Step title="Zaloguj się do modeli chmurowych (opcjonalnie)">
|
||||
Jeśli chcesz także modeli chmurowych:
|
||||
|
||||
```bash
|
||||
ollama signin
|
||||
```
|
||||
</Step>
|
||||
<Step title="Włącz Ollama dla OpenClaw">
|
||||
Ustaw dowolną wartość klucza API (Ollama nie wymaga prawdziwego klucza):
|
||||
|
||||
```bash
|
||||
# Ustaw zmienną środowiskową
|
||||
export OLLAMA_API_KEY="ollama-local"
|
||||
|
||||
# Albo skonfiguruj w pliku konfiguracyjnym
|
||||
openclaw config set models.providers.ollama.apiKey "ollama-local"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź i ustaw model">
|
||||
```bash
|
||||
openclaw models list
|
||||
openclaw models set ollama/gemma4
|
||||
```
|
||||
|
||||
Albo ustaw model domyślny w konfiguracji:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "ollama/gemma4" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Modele chmurowe
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Cloud + Local">
|
||||
Modele chmurowe pozwalają uruchamiać modele hostowane w chmurze obok modeli lokalnych. Przykłady obejmują `kimi-k2.5:cloud`, `minimax-m2.7:cloud` i `glm-5.1:cloud` -- te modele **nie** wymagają lokalnego `ollama pull`.
|
||||
|
||||
Wybierz tryb **Cloud + Local** podczas konfiguracji. Kreator sprawdza, czy jesteś zalogowany, i w razie potrzeby otwiera przepływ logowania w przeglądarce. Jeśli nie da się zweryfikować uwierzytelnienia, kreator wraca do domyślnych modeli lokalnych.
|
||||
|
||||
Możesz też zalogować się bezpośrednio na [ollama.com/signin](https://ollama.com/signin).
|
||||
|
||||
OpenClaw obecnie sugeruje następujące domyślne modele chmurowe: `kimi-k2.5:cloud`, `minimax-m2.7:cloud`, `glm-5.1:cloud`.
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Tylko lokalne">
|
||||
W trybie tylko lokalnym OpenClaw wykrywa modele z lokalnej instancji Ollama. Logowanie do chmury nie jest potrzebne.
|
||||
|
||||
OpenClaw obecnie sugeruje `gemma4` jako lokalny model domyślny.
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Wykrywanie modeli (dostawca niejawny)
|
||||
|
||||
Gdy ustawisz `OLLAMA_API_KEY` (lub profil uwierzytelniania) i **nie** zdefiniujesz `models.providers.ollama`, OpenClaw wykrywa modele z lokalnej instancji Ollama pod adresem `http://127.0.0.1:11434`.
|
||||
|
||||
| Zachowanie | Szczegóły |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Zapytanie do katalogu | Wysyła zapytania do `/api/tags` |
|
||||
| Wykrywanie możliwości | Używa możliwie najlepszych odczytów `/api/show`, aby odczytać `contextWindow` i wykryć możliwości (w tym vision) |
|
||||
| Modele vision | Modele z możliwością `vision` zgłoszoną przez `/api/show` są oznaczane jako obsługujące obrazy (`input: ["text", "image"]`), więc OpenClaw automatycznie wstrzykuje obrazy do promptu |
|
||||
| Wykrywanie rozumowania | Oznacza `reasoning` za pomocą heurystyki nazwy modelu (`r1`, `reasoning`, `think`) |
|
||||
| Limity tokenów | Ustawia `maxTokens` na domyślny limit maksymalnej liczby tokenów Ollama używany przez OpenClaw |
|
||||
| Koszty | Ustawia wszystkie koszty na `0` |
|
||||
|
||||
Pozwala to uniknąć ręcznych wpisów modeli, a jednocześnie utrzymać katalog zgodny z lokalną instancją Ollama.
|
||||
|
||||
```bash
|
||||
# Zobacz, jakie modele są dostępne
|
||||
ollama list
|
||||
openclaw models list
|
||||
```
|
||||
@ -149,74 +181,79 @@ ollama pull mistral
|
||||
|
||||
Nowy model zostanie automatycznie wykryty i będzie dostępny do użycia.
|
||||
|
||||
Jeśli jawnie ustawisz `models.providers.ollama`, automatyczne wykrywanie zostanie pominięte i musisz zdefiniować modele ręcznie (patrz niżej).
|
||||
<Note>
|
||||
Jeśli jawnie ustawisz `models.providers.ollama`, automatyczne wykrywanie zostanie pominięte i modele trzeba będzie definiować ręcznie. Zobacz sekcję jawnej konfiguracji poniżej.
|
||||
</Note>
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
### Podstawowa konfiguracja (wykrywanie niejawne)
|
||||
<Tabs>
|
||||
<Tab title="Podstawowa (wykrywanie niejawne)">
|
||||
Najprostszy sposób włączenia Ollama to zmienna środowiskowa:
|
||||
|
||||
Najprostszy sposób włączenia Ollama to użycie zmiennej środowiskowej:
|
||||
```bash
|
||||
export OLLAMA_API_KEY="ollama-local"
|
||||
```
|
||||
|
||||
```bash
|
||||
export OLLAMA_API_KEY="ollama-local"
|
||||
```
|
||||
<Tip>
|
||||
Jeśli ustawiono `OLLAMA_API_KEY`, możesz pominąć `apiKey` we wpisie dostawcy, a OpenClaw uzupełni je na potrzeby kontroli dostępności.
|
||||
</Tip>
|
||||
|
||||
### Konfiguracja jawna (modele ręczne)
|
||||
</Tab>
|
||||
|
||||
Użyj konfiguracji jawnej, gdy:
|
||||
<Tab title="Jawna (modele ręczne)">
|
||||
Użyj jawnej konfiguracji, gdy Ollama działa na innym hoście/porcie, chcesz wymusić określone okna kontekstu lub listy modeli albo chcesz mieć w pełni ręczne definicje modeli.
|
||||
|
||||
- Ollama działa na innym hoście lub porcie.
|
||||
- Chcesz wymusić określone okna kontekstu lub listy modeli.
|
||||
- Chcesz w pełni ręcznie definiować modele.
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
ollama: {
|
||||
baseUrl: "http://ollama-host:11434",
|
||||
apiKey: "ollama-local",
|
||||
api: "ollama",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-oss:20b",
|
||||
name: "GPT-OSS 20B",
|
||||
reasoning: false,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 8192,
|
||||
maxTokens: 8192 * 10
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
ollama: {
|
||||
baseUrl: "http://ollama-host:11434",
|
||||
apiKey: "ollama-local",
|
||||
api: "ollama",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-oss:20b",
|
||||
name: "GPT-OSS 20B",
|
||||
reasoning: false,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 8192,
|
||||
maxTokens: 8192 * 10
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
Jeśli ustawiono `OLLAMA_API_KEY`, możesz pominąć `apiKey` we wpisie providera, a OpenClaw uzupełni go na potrzeby kontroli dostępności.
|
||||
</Tab>
|
||||
|
||||
### Niestandardowy bazowy adres URL (konfiguracja jawna)
|
||||
<Tab title="Niestandardowy base URL">
|
||||
Jeśli Ollama działa na innym hoście lub porcie (jawna konfiguracja wyłącza automatyczne wykrywanie, więc modele trzeba definiować ręcznie):
|
||||
|
||||
Jeśli Ollama działa na innym hoście lub porcie (konfiguracja jawna wyłącza automatyczne wykrywanie, więc zdefiniuj modele ręcznie):
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
ollama: {
|
||||
apiKey: "ollama-local",
|
||||
baseUrl: "http://ollama-host:11434", // Bez /v1 - użyj natywnego adresu URL API Ollama
|
||||
api: "ollama", // Ustaw jawnie, aby zagwarantować natywne zachowanie wywoływania narzędzi
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
ollama: {
|
||||
apiKey: "ollama-local",
|
||||
baseUrl: "http://ollama-host:11434", // Bez /v1 — użyj natywnego adresu URL API Ollama
|
||||
api: "ollama", // Ustaw jawnie, aby zagwarantować natywne zachowanie wywoływania narzędzi
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
<Warning>
|
||||
Nie dodawaj `/v1` do adresu URL. Ścieżka `/v1` używa trybu zgodnego z OpenAI, w którym wywoływanie narzędzi nie jest niezawodne. Użyj bazowego adresu URL Ollama bez sufiksu ścieżki.
|
||||
</Warning>
|
||||
<Warning>
|
||||
Nie dodawaj `/v1` do adresu URL. Ścieżka `/v1` używa trybu zgodnego z OpenAI, w którym wywoływanie narzędzi nie jest niezawodne. Używaj bazowego adresu URL Ollama bez sufiksu ścieżki.
|
||||
</Warning>
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
### Wybór modelu
|
||||
|
||||
@ -235,21 +272,15 @@ Po skonfigurowaniu wszystkie Twoje modele Ollama są dostępne:
|
||||
}
|
||||
```
|
||||
|
||||
## Modele chmurowe
|
||||
|
||||
Modele chmurowe pozwalają uruchamiać modele hostowane w chmurze (na przykład `kimi-k2.5:cloud`, `minimax-m2.7:cloud`, `glm-5.1:cloud`) obok modeli lokalnych.
|
||||
|
||||
Aby używać modeli chmurowych, wybierz tryb **Cloud + Local** podczas konfiguracji. Kreator sprawdza, czy jesteś zalogowany, i w razie potrzeby otwiera w przeglądarce proces logowania. Jeśli nie można zweryfikować uwierzytelnienia, kreator przełącza się na domyślne ustawienia modeli lokalnych.
|
||||
|
||||
Możesz też zalogować się bezpośrednio na [ollama.com/signin](https://ollama.com/signin).
|
||||
|
||||
## Ollama Web Search
|
||||
|
||||
OpenClaw obsługuje także **Ollama Web Search** jako wbudowany provider `web_search`.
|
||||
OpenClaw obsługuje **Ollama Web Search** jako dołączonego dostawcę `web_search`.
|
||||
|
||||
- Używa skonfigurowanego hosta Ollama (`models.providers.ollama.baseUrl`, jeśli jest ustawiony, w przeciwnym razie `http://127.0.0.1:11434`).
|
||||
- Nie wymaga klucza.
|
||||
- Wymaga uruchomionego Ollama i zalogowania przez `ollama signin`.
|
||||
| Właściwość | Szczegóły |
|
||||
| ---------- | -------------------------------------------------------------------------------------------------------------------- |
|
||||
| Host | Używa skonfigurowanego hosta Ollama (`models.providers.ollama.baseUrl`, jeśli ustawiono, w przeciwnym razie `http://127.0.0.1:11434`) |
|
||||
| Uwierzytelnianie | Bez klucza |
|
||||
| Wymaganie | Ollama musi działać i być zalogowane przez `ollama signin` |
|
||||
|
||||
Wybierz **Ollama Web Search** podczas `openclaw onboard` lub `openclaw configure --section web`, albo ustaw:
|
||||
|
||||
@ -265,120 +296,193 @@ Wybierz **Ollama Web Search** podczas `openclaw onboard` lub `openclaw configure
|
||||
}
|
||||
```
|
||||
|
||||
Pełne informacje o konfiguracji i szczegółach działania znajdziesz w [Ollama Web Search](/pl/tools/ollama-search).
|
||||
<Note>
|
||||
Pełne szczegóły konfiguracji i działania znajdziesz w [Ollama Web Search](/pl/tools/ollama-search).
|
||||
</Note>
|
||||
|
||||
## Zaawansowane
|
||||
## Konfiguracja zaawansowana
|
||||
|
||||
### Modele reasoning
|
||||
<AccordionGroup>
|
||||
<Accordion title="Starszy tryb zgodny z OpenAI">
|
||||
<Warning>
|
||||
**Wywoływanie narzędzi nie jest niezawodne w trybie zgodnym z OpenAI.** Używaj tego trybu tylko wtedy, gdy potrzebujesz formatu OpenAI dla serwera proxy i nie zależy Ci na natywnym zachowaniu wywoływania narzędzi.
|
||||
</Warning>
|
||||
|
||||
OpenClaw domyślnie traktuje modele o nazwach takich jak `deepseek-r1`, `reasoning` lub `think` jako obsługujące reasoning:
|
||||
Jeśli zamiast tego musisz używać endpointu zgodnego z OpenAI (na przykład za serwerem proxy obsługującym tylko format OpenAI), ustaw jawnie `api: "openai-completions"`:
|
||||
|
||||
```bash
|
||||
ollama pull deepseek-r1:32b
|
||||
```
|
||||
|
||||
### Koszty modeli
|
||||
|
||||
Ollama jest bezpłatne i działa lokalnie, więc wszystkie koszty modeli są ustawione na $0.
|
||||
|
||||
### Konfiguracja strumieniowania
|
||||
|
||||
Integracja Ollama w OpenClaw domyślnie używa **natywnego API Ollama** (`/api/chat`), które w pełni obsługuje jednocześnie strumieniowanie i wywoływanie narzędzi. Nie jest wymagana żadna specjalna konfiguracja.
|
||||
|
||||
#### Starszy tryb zgodny z OpenAI
|
||||
|
||||
<Warning>
|
||||
**Wywoływanie narzędzi nie jest niezawodne w trybie zgodnym z OpenAI.** Używaj tego trybu tylko wtedy, gdy potrzebujesz formatu OpenAI dla proxy i nie polegasz na natywnym zachowaniu wywoływania narzędzi.
|
||||
</Warning>
|
||||
|
||||
Jeśli zamiast tego musisz użyć punktu końcowego zgodnego z OpenAI (np. za proxy obsługującym tylko format OpenAI), ustaw jawnie `api: "openai-completions"`:
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
ollama: {
|
||||
baseUrl: "http://ollama-host:11434/v1",
|
||||
api: "openai-completions",
|
||||
injectNumCtxForOpenAICompat: true, // domyślnie: true
|
||||
apiKey: "ollama-local",
|
||||
models: [...]
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
ollama: {
|
||||
baseUrl: "http://ollama-host:11434/v1",
|
||||
api: "openai-completions",
|
||||
injectNumCtxForOpenAICompat: true, // domyślnie: true
|
||||
apiKey: "ollama-local",
|
||||
models: [...]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
Ten tryb może nie obsługiwać jednocześnie strumieniowania i wywoływania narzędzi. Może być konieczne wyłączenie strumieniowania za pomocą `params: { streaming: false }` w konfiguracji modelu.
|
||||
Ten tryb może nie obsługiwać jednocześnie przesyłania strumieniowego i wywoływania narzędzi. Może być konieczne wyłączenie przesyłania strumieniowego za pomocą `params: { streaming: false }` w konfiguracji modelu.
|
||||
|
||||
Gdy `api: "openai-completions"` jest używane z Ollama, OpenClaw domyślnie wstrzykuje `options.num_ctx`, aby Ollama nie przełączało się po cichu na okno kontekstu 4096. Jeśli Twoje proxy/upstream odrzuca nieznane pola `options`, wyłącz to zachowanie:
|
||||
Gdy `api: "openai-completions"` jest używane z Ollama, OpenClaw domyślnie wstrzykuje `options.num_ctx`, aby Ollama nie przechodziło po cichu do okna kontekstu 4096. Jeśli Twój serwer proxy/upstream odrzuca nieznane pola `options`, wyłącz to zachowanie:
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
ollama: {
|
||||
baseUrl: "http://ollama-host:11434/v1",
|
||||
api: "openai-completions",
|
||||
injectNumCtxForOpenAICompat: false,
|
||||
apiKey: "ollama-local",
|
||||
models: [...]
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
ollama: {
|
||||
baseUrl: "http://ollama-host:11434/v1",
|
||||
api: "openai-completions",
|
||||
injectNumCtxForOpenAICompat: false,
|
||||
apiKey: "ollama-local",
|
||||
models: [...]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
### Okna kontekstu
|
||||
</Accordion>
|
||||
|
||||
W przypadku modeli wykrywanych automatycznie OpenClaw używa okna kontekstu zgłaszanego przez Ollama, gdy jest dostępne, a w przeciwnym razie przechodzi do domyślnego okna kontekstu Ollama używanego przez OpenClaw. Możesz zastąpić `contextWindow` i `maxTokens` w jawnej konfiguracji providera.
|
||||
<Accordion title="Okna kontekstu">
|
||||
W przypadku modeli wykrytych automatycznie OpenClaw używa okna kontekstu zgłoszonego przez Ollama, jeśli jest dostępne, w przeciwnym razie wraca do domyślnego okna kontekstu Ollama używanego przez OpenClaw.
|
||||
|
||||
Możesz nadpisać `contextWindow` i `maxTokens` w jawnej konfiguracji dostawcy:
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
ollama: {
|
||||
models: [
|
||||
{
|
||||
id: "llama3.3",
|
||||
contextWindow: 131072,
|
||||
maxTokens: 65536,
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Modele rozumujące">
|
||||
OpenClaw domyślnie traktuje modele o nazwach takich jak `deepseek-r1`, `reasoning` lub `think` jako zdolne do rozumowania.
|
||||
|
||||
```bash
|
||||
ollama pull deepseek-r1:32b
|
||||
```
|
||||
|
||||
Nie jest potrzebna żadna dodatkowa konfiguracja -- OpenClaw oznacza je automatycznie.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Koszty modeli">
|
||||
Ollama jest darmowe i działa lokalnie, więc wszystkie koszty modeli są ustawione na 0 USD. Dotyczy to zarówno modeli wykrytych automatycznie, jak i zdefiniowanych ręcznie.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Osadzania pamięci">
|
||||
Dołączony Plugin Ollama rejestruje dostawcę osadzań pamięci dla
|
||||
[wyszukiwania pamięci](/pl/concepts/memory). Używa skonfigurowanego base URL
|
||||
oraz klucza API Ollama.
|
||||
|
||||
| Właściwość | Wartość |
|
||||
| ------------- | ------------------- |
|
||||
| Model domyślny | `nomic-embed-text` |
|
||||
| Auto-pull | Tak — model osadzania jest pobierany automatycznie, jeśli nie jest obecny lokalnie |
|
||||
|
||||
Aby wybrać Ollama jako dostawcę osadzań dla wyszukiwania pamięci:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
memorySearch: { provider: "ollama" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Konfiguracja przesyłania strumieniowego">
|
||||
Integracja Ollama w OpenClaw domyślnie używa **natywnego API Ollama** (`/api/chat`), które w pełni obsługuje jednocześnie przesyłanie strumieniowe i wywoływanie narzędzi. Nie jest potrzebna żadna specjalna konfiguracja.
|
||||
|
||||
<Tip>
|
||||
Jeśli musisz używać endpointu zgodnego z OpenAI, zobacz sekcję „Starszy tryb zgodny z OpenAI” powyżej. W tym trybie przesyłanie strumieniowe i wywoływanie narzędzi mogą nie działać jednocześnie.
|
||||
</Tip>
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Rozwiązywanie problemów
|
||||
|
||||
### Ollama nie zostało wykryte
|
||||
<AccordionGroup>
|
||||
<Accordion title="Nie wykryto Ollama">
|
||||
Upewnij się, że Ollama działa, że ustawiono `OLLAMA_API_KEY` (lub profil uwierzytelniania) oraz że **nie** zdefiniowano jawnego wpisu `models.providers.ollama`:
|
||||
|
||||
Upewnij się, że Ollama jest uruchomione, że ustawiono `OLLAMA_API_KEY` (lub profil uwierzytelniania) i że **nie** zdefiniowano jawnego wpisu `models.providers.ollama`:
|
||||
```bash
|
||||
ollama serve
|
||||
```
|
||||
|
||||
```bash
|
||||
ollama serve
|
||||
```
|
||||
Sprawdź, czy API jest dostępne:
|
||||
|
||||
I że API jest dostępne:
|
||||
```bash
|
||||
curl http://localhost:11434/api/tags
|
||||
```
|
||||
|
||||
```bash
|
||||
curl http://localhost:11434/api/tags
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
### Brak dostępnych modeli
|
||||
<Accordion title="Brak dostępnych modeli">
|
||||
Jeśli Twojego modelu nie ma na liście, pobierz go lokalnie albo zdefiniuj jawnie w `models.providers.ollama`.
|
||||
|
||||
Jeśli Twojego modelu nie ma na liście, wykonaj jedną z tych czynności:
|
||||
```bash
|
||||
ollama list # Zobacz, co jest zainstalowane
|
||||
ollama pull gemma4
|
||||
ollama pull gpt-oss:20b
|
||||
ollama pull llama3.3 # Albo inny model
|
||||
```
|
||||
|
||||
- Pobierz model lokalnie, albo
|
||||
- Zdefiniuj model jawnie w `models.providers.ollama`.
|
||||
</Accordion>
|
||||
|
||||
Aby dodać modele:
|
||||
<Accordion title="Połączenie odrzucone">
|
||||
Sprawdź, czy Ollama działa na właściwym porcie:
|
||||
|
||||
```bash
|
||||
ollama list # Zobacz, co jest zainstalowane
|
||||
ollama pull gemma4
|
||||
ollama pull gpt-oss:20b
|
||||
ollama pull llama3.3 # Lub inny model
|
||||
```
|
||||
```bash
|
||||
# Sprawdź, czy Ollama działa
|
||||
ps aux | grep ollama
|
||||
|
||||
### Połączenie odrzucone
|
||||
# Albo uruchom Ollama ponownie
|
||||
ollama serve
|
||||
```
|
||||
|
||||
Sprawdź, czy Ollama działa na właściwym porcie:
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
```bash
|
||||
# Sprawdź, czy Ollama działa
|
||||
ps aux | grep ollama
|
||||
<Note>
|
||||
Więcej pomocy: [Rozwiązywanie problemów](/pl/help/troubleshooting) i [FAQ](/pl/help/faq).
|
||||
</Note>
|
||||
|
||||
# Lub uruchom Ollama ponownie
|
||||
ollama serve
|
||||
```
|
||||
## Powiązane
|
||||
|
||||
## Zobacz także
|
||||
|
||||
- [Model Providers](/pl/concepts/model-providers) - Przegląd wszystkich providerów
|
||||
- [Model Selection](/pl/concepts/models) - Jak wybierać modele
|
||||
- [Configuration](/pl/gateway/configuration) - Pełna dokumentacja konfiguracji
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Dostawcy modeli" href="/pl/concepts/model-providers" icon="layers">
|
||||
Omówienie wszystkich dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/models" icon="brain">
|
||||
Jak wybierać i konfigurować modele.
|
||||
</Card>
|
||||
<Card title="Ollama Web Search" href="/pl/tools/ollama-search" icon="magnifying-glass">
|
||||
Pełne szczegóły konfiguracji i działania dla wyszukiwania w sieci opartego na Ollama.
|
||||
</Card>
|
||||
<Card title="Configuration" href="/pl/gateway/configuration" icon="gear">
|
||||
Pełna dokumentacja konfiguracji.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -2,38 +2,77 @@
|
||||
read_when:
|
||||
- Chcesz używać katalogu OpenCode Go
|
||||
- Potrzebujesz referencji modeli runtime dla modeli hostowanych przez Go
|
||||
summary: Używaj katalogu OpenCode Go ze współdzieloną konfiguracją OpenCode
|
||||
summary: Używanie katalogu OpenCode Go ze współdzieloną konfiguracją OpenCode
|
||||
title: OpenCode Go
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:18Z"
|
||||
generated_at: "2026-04-12T23:32:22Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 8650af7c64220c14bab8c22472fff8bebd7abde253e972b6a11784ad833d321c
|
||||
source_hash: d1f0f182de81729616ccc19125d93ba0445de2349daf7067b52e8c15b9d3539c
|
||||
source_path: providers/opencode-go.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# OpenCode Go
|
||||
|
||||
OpenCode Go to katalog Go w ramach [OpenCode](/providers/opencode).
|
||||
OpenCode Go to katalog Go w ramach [OpenCode](/pl/providers/opencode).
|
||||
Używa tego samego `OPENCODE_API_KEY` co katalog Zen, ale zachowuje identyfikator
|
||||
providera runtime `opencode-go`, aby routing upstream per model pozostał poprawny.
|
||||
dostawcy runtime `opencode-go`, aby routing upstream per model pozostawał poprawny.
|
||||
|
||||
| Właściwość | Wartość |
|
||||
| --------------- | ------------------------------ |
|
||||
| Dostawca runtime | `opencode-go` |
|
||||
| Uwierzytelnianie | `OPENCODE_API_KEY` |
|
||||
| Konfiguracja nadrzędna | [OpenCode](/pl/providers/opencode) |
|
||||
|
||||
## Obsługiwane modele
|
||||
|
||||
- `opencode-go/kimi-k2.5`
|
||||
- `opencode-go/glm-5`
|
||||
- `opencode-go/minimax-m2.5`
|
||||
| Model ref | Nazwa |
|
||||
| -------------------------- | ------------- |
|
||||
| `opencode-go/kimi-k2.5` | Kimi K2.5 |
|
||||
| `opencode-go/glm-5` | GLM 5 |
|
||||
| `opencode-go/minimax-m2.5` | MiniMax M2.5 |
|
||||
|
||||
## Konfiguracja CLI
|
||||
## Pierwsze kroki
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice opencode-go
|
||||
# albo nieinteraktywnie
|
||||
openclaw onboard --opencode-go-api-key "$OPENCODE_API_KEY"
|
||||
```
|
||||
<Tabs>
|
||||
<Tab title="Interaktywnie">
|
||||
<Steps>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice opencode-go
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model Go jako domyślny">
|
||||
```bash
|
||||
openclaw config set agents.defaults.model.primary "opencode-go/kimi-k2.5"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są dostępne">
|
||||
```bash
|
||||
openclaw models list --provider opencode-go
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
</Tab>
|
||||
|
||||
## Fragment config
|
||||
<Tab title="Nieinteraktywnie">
|
||||
<Steps>
|
||||
<Step title="Przekaż klucz bezpośrednio">
|
||||
```bash
|
||||
openclaw onboard --opencode-go-api-key "$OPENCODE_API_KEY"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są dostępne">
|
||||
```bash
|
||||
openclaw models list --provider opencode-go
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Przykład konfiguracji
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -42,11 +81,37 @@ openclaw onboard --opencode-go-api-key "$OPENCODE_API_KEY"
|
||||
}
|
||||
```
|
||||
|
||||
## Zachowanie routingu
|
||||
## Uwagi zaawansowane
|
||||
|
||||
OpenClaw automatycznie obsługuje routing per model, gdy referencja modelu używa `opencode-go/...`.
|
||||
<AccordionGroup>
|
||||
<Accordion title="Zachowanie routingu">
|
||||
OpenClaw automatycznie obsługuje routing per model, gdy referencja modelu używa
|
||||
`opencode-go/...`. Nie jest wymagana żadna dodatkowa konfiguracja dostawcy.
|
||||
</Accordion>
|
||||
|
||||
## Uwagi
|
||||
<Accordion title="Konwencja referencji runtime">
|
||||
Referencje runtime pozostają jawne: `opencode/...` dla Zen, `opencode-go/...` dla Go.
|
||||
Dzięki temu routing upstream per model pozostaje poprawny w obu katalogach.
|
||||
</Accordion>
|
||||
|
||||
- Informacje o współdzielonym onboardingu i przeglądzie katalogu znajdziesz w [OpenCode](/providers/opencode).
|
||||
- Referencje runtime pozostają jawne: `opencode/...` dla Zen, `opencode-go/...` dla Go.
|
||||
<Accordion title="Współdzielone poświadczenia">
|
||||
To samo `OPENCODE_API_KEY` jest używane zarówno przez katalog Zen, jak i Go. Wprowadzenie
|
||||
klucza podczas konfiguracji zapisuje poświadczenia dla obu dostawców runtime.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
<Tip>
|
||||
Zobacz [OpenCode](/pl/providers/opencode), aby poznać wspólny przegląd onboardingu oraz pełną
|
||||
dokumentację katalogów Zen + Go.
|
||||
</Tip>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="OpenCode (nadrzędne)" href="/pl/providers/opencode" icon="server">
|
||||
Wspólny onboarding, przegląd katalogu i uwagi zaawansowane.
|
||||
</Card>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, referencji modeli i zachowania failover.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,46 +1,94 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz dostępu do modeli hostowanych przez OpenCode
|
||||
- Chcesz wybrać między katalogami Zen i Go
|
||||
summary: Używaj katalogów OpenCode Zen i Go z OpenClaw
|
||||
- Chcesz uzyskać dostęp do modeli hostowanych przez OpenCode
|
||||
- Chcesz wybierać między katalogami Zen i Go
|
||||
summary: Używanie katalogów OpenCode Zen i Go w OpenClaw
|
||||
title: OpenCode
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:22Z"
|
||||
generated_at: "2026-04-12T23:32:38Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: c23bc99208d9275afcb1731c28eee250c9f4b7d0578681ace31416135c330865
|
||||
source_hash: a68444d8c403c3caba4a18ea47f078c7a4c163f874560e1fad0e818afb6e0e60
|
||||
source_path: providers/opencode.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# OpenCode
|
||||
|
||||
OpenCode udostępnia w OpenClaw dwa hostowane katalogi:
|
||||
OpenCode udostępnia dwa hostowane katalogi w OpenClaw:
|
||||
|
||||
- `opencode/...` dla katalogu **Zen**
|
||||
- `opencode-go/...` dla katalogu **Go**
|
||||
| Katalog | Prefiks | Dostawca runtime |
|
||||
| ------- | ----------------- | ---------------- |
|
||||
| **Zen** | `opencode/...` | `opencode` |
|
||||
| **Go** | `opencode-go/...` | `opencode-go` |
|
||||
|
||||
Oba katalogi używają tego samego klucza API OpenCode. OpenClaw utrzymuje rozdzielone identyfikatory dostawców runtime,
|
||||
aby routing upstream per model pozostał poprawny, ale onboarding i dokumentacja traktują je
|
||||
Oba katalogi używają tego samego klucza API OpenCode. OpenClaw zachowuje rozdzielone identyfikatory
|
||||
dostawców runtime, aby routing upstream per model pozostawał poprawny, ale onboarding i dokumentacja traktują je
|
||||
jako jedną konfigurację OpenCode.
|
||||
|
||||
## Konfiguracja przez CLI
|
||||
## Pierwsze kroki
|
||||
|
||||
### Katalog Zen
|
||||
<Tabs>
|
||||
<Tab title="Katalog Zen">
|
||||
**Najlepszy do:** wyselekcjonowanego wielomodelowego proxy OpenCode (Claude, GPT, Gemini).
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice opencode-zen
|
||||
openclaw onboard --opencode-zen-api-key "$OPENCODE_API_KEY"
|
||||
```
|
||||
<Steps>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice opencode-zen
|
||||
```
|
||||
|
||||
### Katalog Go
|
||||
Lub przekaż klucz bezpośrednio:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice opencode-go
|
||||
openclaw onboard --opencode-go-api-key "$OPENCODE_API_KEY"
|
||||
```
|
||||
```bash
|
||||
openclaw onboard --opencode-zen-api-key "$OPENCODE_API_KEY"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model Zen jako domyślny">
|
||||
```bash
|
||||
openclaw config set agents.defaults.model.primary "opencode/claude-opus-4-6"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są dostępne">
|
||||
```bash
|
||||
openclaw models list --provider opencode
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Fragment konfiguracji
|
||||
</Tab>
|
||||
|
||||
<Tab title="Katalog Go">
|
||||
**Najlepszy do:** linii modeli Kimi, GLM i MiniMax hostowanych przez OpenCode.
|
||||
|
||||
<Steps>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice opencode-go
|
||||
```
|
||||
|
||||
Lub przekaż klucz bezpośrednio:
|
||||
|
||||
```bash
|
||||
openclaw onboard --opencode-go-api-key "$OPENCODE_API_KEY"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model Go jako domyślny">
|
||||
```bash
|
||||
openclaw config set agents.defaults.model.primary "opencode-go/kimi-k2.5"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są dostępne">
|
||||
```bash
|
||||
openclaw models list --provider opencode-go
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Przykład konfiguracji
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -53,23 +101,58 @@ openclaw onboard --opencode-go-api-key "$OPENCODE_API_KEY"
|
||||
|
||||
### Zen
|
||||
|
||||
- Dostawca runtime: `opencode`
|
||||
- Przykładowe modele: `opencode/claude-opus-4-6`, `opencode/gpt-5.4`, `opencode/gemini-3-pro`
|
||||
- Najlepszy wybór, gdy chcesz kuratorowany wielomodelowy proxy OpenCode
|
||||
| Właściwość | Wartość |
|
||||
| --------------- | ------------------------------------------------------------------------ |
|
||||
| Dostawca runtime | `opencode` |
|
||||
| Przykładowe modele | `opencode/claude-opus-4-6`, `opencode/gpt-5.4`, `opencode/gemini-3-pro` |
|
||||
|
||||
### Go
|
||||
|
||||
- Dostawca runtime: `opencode-go`
|
||||
- Przykładowe modele: `opencode-go/kimi-k2.5`, `opencode-go/glm-5`, `opencode-go/minimax-m2.5`
|
||||
- Najlepszy wybór, gdy chcesz linię Kimi/GLM/MiniMax hostowaną przez OpenCode
|
||||
| Właściwość | Wartość |
|
||||
| --------------- | ------------------------------------------------------------------------- |
|
||||
| Dostawca runtime | `opencode-go` |
|
||||
| Przykładowe modele | `opencode-go/kimi-k2.5`, `opencode-go/glm-5`, `opencode-go/minimax-m2.5` |
|
||||
|
||||
## Uwagi
|
||||
## Uwagi zaawansowane
|
||||
|
||||
- `OPENCODE_ZEN_API_KEY` jest również obsługiwane.
|
||||
- Wprowadzenie jednego klucza OpenCode podczas konfiguracji zapisuje poświadczenia dla obu dostawców runtime.
|
||||
- Logujesz się do OpenCode, dodajesz dane rozliczeniowe i kopiujesz swój klucz API.
|
||||
- Billing i dostępność katalogów są zarządzane z panelu OpenCode.
|
||||
- Referencje OpenCode oparte na Gemini pozostają na ścieżce proxy-Gemini, więc OpenClaw zachowuje
|
||||
tam sanityzację thought-signature Gemini bez włączania natywnej walidacji replay Gemini
|
||||
ani przepisywania bootstrap.
|
||||
- Referencje OpenCode inne niż Gemini zachowują minimalną politykę replay zgodną z OpenAI.
|
||||
<AccordionGroup>
|
||||
<Accordion title="Aliasy klucza API">
|
||||
`OPENCODE_ZEN_API_KEY` jest także obsługiwany jako alias dla `OPENCODE_API_KEY`.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Współdzielone poświadczenia">
|
||||
Wprowadzenie jednego klucza OpenCode podczas konfiguracji zapisuje poświadczenia dla obu
|
||||
dostawców runtime. Nie musisz przechodzić onboardingu dla każdego katalogu osobno.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Rozliczenia i panel">
|
||||
Logujesz się do OpenCode, dodajesz dane rozliczeniowe i kopiujesz swój klucz API. Rozliczenia
|
||||
i dostępność katalogów są zarządzane z panelu OpenCode.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Zachowanie odtwarzania Gemini">
|
||||
Referencje OpenCode oparte na Gemini pozostają na ścieżce proxy-Gemini, więc OpenClaw zachowuje tam
|
||||
sanityzację thought-signature Gemini bez włączania natywnej walidacji odtwarzania Gemini
|
||||
ani przepisywania bootstrapu.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Zachowanie odtwarzania inne niż Gemini">
|
||||
Referencje OpenCode inne niż Gemini zachowują minimalną politykę odtwarzania zgodną z OpenAI.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
<Tip>
|
||||
Wprowadzenie jednego klucza OpenCode podczas konfiguracji zapisuje poświadczenia dla dostawców runtime Zen i
|
||||
Go, więc onboarding wystarczy przejść tylko raz.
|
||||
</Tip>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, referencji modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Dokumentacja konfiguracji" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełna dokumentacja konfiguracji agentów, modeli i dostawców.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,30 +1,45 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz mieć jeden klucz API do wielu LLM-ów
|
||||
- Chcesz używać jednego klucza API do wielu LLM-ów
|
||||
- Chcesz uruchamiać modele przez OpenRouter w OpenClaw
|
||||
summary: Używaj ujednoliconego API OpenRouter, aby uzyskać dostęp do wielu modeli w OpenClaw
|
||||
title: OpenRouter
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:37Z"
|
||||
generated_at: "2026-04-12T23:32:40Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 8dd354ba060bcb47724c89ae17c8e2af8caecac4bd996fcddb584716c1840b87
|
||||
source_hash: 9083c30b9e9846a9d4ef071c350576d4c3083475f4108871eabbef0b9bb9a368
|
||||
source_path: providers/openrouter.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# OpenRouter
|
||||
|
||||
OpenRouter zapewnia **ujednolicone API**, które kieruje żądania do wielu modeli za jednym
|
||||
endpointem i kluczem API. Jest zgodne z OpenAI, więc większość SDK OpenAI działa po zmianie base URL.
|
||||
OpenRouter udostępnia **ujednolicone API**, które kieruje żądania do wielu modeli za jednym
|
||||
endpointem i kluczem API. Jest zgodne z OpenAI, więc większość SDK OpenAI działa po zmianie bazowego URL.
|
||||
|
||||
## Konfiguracja CLI
|
||||
## Pierwsze kroki
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice openrouter-api-key
|
||||
```
|
||||
<Steps>
|
||||
<Step title="Pobierz klucz API">
|
||||
Utwórz klucz API na [openrouter.ai/keys](https://openrouter.ai/keys).
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice openrouter-api-key
|
||||
```
|
||||
</Step>
|
||||
<Step title="(Opcjonalnie) Przełącz na konkretny model">
|
||||
Onboarding domyślnie ustawia `openrouter/auto`. Później wybierz konkretny model:
|
||||
|
||||
## Fragment konfiguracji
|
||||
```bash
|
||||
openclaw models set openrouter/<provider>/<model>
|
||||
```
|
||||
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Przykład konfiguracji
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -37,30 +52,71 @@ openclaw onboard --auth-choice openrouter-api-key
|
||||
}
|
||||
```
|
||||
|
||||
## Uwagi
|
||||
## Odwołania do modeli
|
||||
|
||||
- Odwołania do modeli mają postać `openrouter/<provider>/<model>`.
|
||||
- Onboarding domyślnie ustawia `openrouter/auto`. Później przełącz się na konkretny model za pomocą
|
||||
`openclaw models set openrouter/<provider>/<model>`.
|
||||
- Więcej opcji modeli/dostawców znajdziesz w [/concepts/model-providers](/pl/concepts/model-providers).
|
||||
- OpenRouter używa wewnętrznie tokenu Bearer z Twoim kluczem API.
|
||||
- Przy rzeczywistych żądaniach OpenRouter (`https://openrouter.ai/api/v1`) OpenClaw również
|
||||
dodaje udokumentowane nagłówki atrybucji aplikacji OpenRouter:
|
||||
`HTTP-Referer: https://openclaw.ai`, `X-OpenRouter-Title: OpenClaw` oraz
|
||||
`X-OpenRouter-Categories: cli-agent`.
|
||||
- Na zweryfikowanych trasach OpenRouter odwołania do modeli Anthropic zachowują również
|
||||
specyficzne dla OpenRouter znaczniki Anthropic `cache_control`, których OpenClaw używa
|
||||
do lepszego ponownego wykorzystania pamięci podręcznej promptów w blokach promptów systemowych/developerskich.
|
||||
- Jeśli przekierujesz dostawcę OpenRouter na inne proxy/base URL, OpenClaw
|
||||
nie wstrzykuje tych specyficznych dla OpenRouter nagłówków ani znaczników pamięci podręcznej Anthropic.
|
||||
- OpenRouter nadal działa przez ścieżkę proxy zgodną z OpenAI, więc
|
||||
natywne formatowanie żądań wyłącznie dla OpenAI, takie jak `serviceTier`, `store` dla Responses,
|
||||
payloady zgodności reasoning OpenAI i wskazówki pamięci podręcznej promptów, nie są przekazywane dalej.
|
||||
- Odwołania OpenRouter oparte na Gemini pozostają na ścieżce proxy-Gemini: OpenClaw zachowuje tam
|
||||
sanityzację sygnatur myślenia Gemini, ale nie włącza natywnej walidacji replay Gemini
|
||||
ani przepisów bootstrap.
|
||||
- Na obsługiwanych trasach innych niż `auto` OpenClaw mapuje wybrany poziom thinking na
|
||||
payloady reasoning proxy OpenRouter. Nieobsługiwane wskazówki modelu oraz
|
||||
`openrouter/auto` pomijają to wstrzykiwanie reasoning.
|
||||
- Jeśli przekazujesz routing dostawcy OpenRouter w parametrach modelu, OpenClaw przekazuje
|
||||
go jako metadane routingu OpenRouter, zanim uruchomione zostaną współdzielone wrappery strumieni.
|
||||
<Note>
|
||||
Odwołania do modeli mają postać `openrouter/<provider>/<model>`. Pełną listę
|
||||
dostępnych dostawców i modeli znajdziesz w [/concepts/model-providers](/pl/concepts/model-providers).
|
||||
</Note>
|
||||
|
||||
## Uwierzytelnianie i nagłówki
|
||||
|
||||
OpenRouter używa wewnętrznie tokenu Bearer z Twoim kluczem API.
|
||||
|
||||
Przy rzeczywistych żądaniach OpenRouter (`https://openrouter.ai/api/v1`) OpenClaw dodaje też
|
||||
udokumentowane przez OpenRouter nagłówki atrybucji aplikacji:
|
||||
|
||||
| Nagłówek | Wartość |
|
||||
| ------------------------ | --------------------- |
|
||||
| `HTTP-Referer` | `https://openclaw.ai` |
|
||||
| `X-OpenRouter-Title` | `OpenClaw` |
|
||||
| `X-OpenRouter-Categories`| `cli-agent` |
|
||||
|
||||
<Warning>
|
||||
Jeśli przekierujesz dostawcę OpenRouter na inne proxy lub bazowy URL, OpenClaw
|
||||
**nie** wstrzykuje tych nagłówków specyficznych dla OpenRouter ani znaczników cache Anthropic.
|
||||
</Warning>
|
||||
|
||||
## Uwagi zaawansowane
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Znaczniki cache Anthropic">
|
||||
Na zweryfikowanych trasach OpenRouter odwołania do modeli Anthropic zachowują
|
||||
specyficzne dla OpenRouter znaczniki Anthropic `cache_control`, których OpenClaw używa do
|
||||
lepszego ponownego użycia cache promptów w blokach promptów system/developer.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Wstrzykiwanie thinking / reasoning">
|
||||
Na obsługiwanych trasach innych niż `auto` OpenClaw mapuje wybrany poziom thinking na
|
||||
payloady reasoning proxy OpenRouter. Nieobsługiwane wskazówki modelu oraz
|
||||
`openrouter/auto` pomijają to wstrzykiwanie reasoning.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Formatowanie żądań tylko dla OpenAI">
|
||||
OpenRouter nadal działa przez kompatybilną z OpenAI ścieżkę w stylu proxy, więc
|
||||
natywne formatowanie żądań tylko dla OpenAI, takie jak `serviceTier`, `store` dla Responses,
|
||||
payloady zgodności reasoning OpenAI i wskazówki cache promptów, nie jest przekazywane dalej.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Trasy oparte na Gemini">
|
||||
Odwołania OpenRouter oparte na Gemini pozostają na ścieżce proxy-Gemini: OpenClaw zachowuje tam
|
||||
sanityzację podpisu myśli Gemini, ale nie włącza natywnej walidacji replay Gemini
|
||||
ani przepisania bootstrapu.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Metadane routingu dostawcy">
|
||||
Jeśli przekażesz routing dostawcy OpenRouter w parametrach modelu, OpenClaw przekaże
|
||||
go jako metadane routingu OpenRouter, zanim uruchomią się współdzielone wrappery streamu.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Referencja konfiguracji" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełna referencja konfiguracji agentów, modeli i dostawców.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,69 +1,132 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz skonfigurować Perplexity jako providera web search
|
||||
- Potrzebujesz klucza API Perplexity lub konfiguracji proxy OpenRouter
|
||||
summary: Konfiguracja providera web search Perplexity (klucz API, tryby wyszukiwania, filtrowanie)
|
||||
title: Perplexity (Provider)
|
||||
- Chcesz skonfigurować Perplexity jako dostawcę wyszukiwania w sieci
|
||||
- Potrzebujesz klucza API Perplexity albo konfiguracji proxy OpenRouter
|
||||
summary: Konfiguracja dostawcy wyszukiwania w sieci Perplexity (klucz API, tryby wyszukiwania, filtrowanie)
|
||||
title: Perplexity
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:29Z"
|
||||
generated_at: "2026-04-12T23:32:57Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: df9082d15d6a36a096e21efe8cee78e4b8643252225520f5b96a0b99cf5a7a4b
|
||||
source_hash: 55c089e96601ebe05480d305364272c7f0ac721caa79746297c73002a9f20f55
|
||||
source_path: providers/perplexity-provider.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Perplexity (Provider web search)
|
||||
# Perplexity (dostawca wyszukiwania w sieci)
|
||||
|
||||
Plugin Perplexity udostępnia możliwości web search przez Perplexity
|
||||
Plugin Perplexity udostępnia możliwości wyszukiwania w sieci przez Perplexity
|
||||
Search API albo Perplexity Sonar przez OpenRouter.
|
||||
|
||||
<Note>
|
||||
Ta strona opisuje konfigurację **providera** Perplexity. Informacje o
|
||||
**narzędziu** Perplexity (jak agent go używa) znajdziesz w [Perplexity tool](/tools/perplexity-search).
|
||||
Ta strona dotyczy konfiguracji **dostawcy** Perplexity. Informacje o **narzędziu**
|
||||
Perplexity (czyli o tym, jak używa go agent) znajdziesz w [narzędziu Perplexity](/pl/tools/perplexity-search).
|
||||
</Note>
|
||||
|
||||
- Typ: provider web search (nie provider modeli)
|
||||
- Auth: `PERPLEXITY_API_KEY` (bezpośrednio) albo `OPENROUTER_API_KEY` (przez OpenRouter)
|
||||
- Ścieżka konfiguracji: `plugins.entries.perplexity.config.webSearch.apiKey`
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | --------------------------------------------------------------------- |
|
||||
| Typ | Dostawca wyszukiwania w sieci (nie dostawca modeli) |
|
||||
| Auth | `PERPLEXITY_API_KEY` (bezpośrednio) lub `OPENROUTER_API_KEY` (przez OpenRouter) |
|
||||
| Ścieżka konfiguracji | `plugins.entries.perplexity.config.webSearch.apiKey` |
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Ustaw klucz API:
|
||||
<Steps>
|
||||
<Step title="Ustaw klucz API">
|
||||
Uruchom interaktywny przepływ konfiguracji wyszukiwania w sieci:
|
||||
|
||||
```bash
|
||||
openclaw configure --section web
|
||||
```
|
||||
```bash
|
||||
openclaw configure --section web
|
||||
```
|
||||
|
||||
Albo ustaw go bezpośrednio:
|
||||
Albo ustaw klucz bezpośrednio:
|
||||
|
||||
```bash
|
||||
openclaw config set plugins.entries.perplexity.config.webSearch.apiKey "pplx-xxxxxxxxxxxx"
|
||||
```
|
||||
```bash
|
||||
openclaw config set plugins.entries.perplexity.config.webSearch.apiKey "pplx-xxxxxxxxxxxx"
|
||||
```
|
||||
|
||||
2. Agent będzie automatycznie używać Perplexity do web search, gdy zostanie skonfigurowany.
|
||||
</Step>
|
||||
<Step title="Rozpocznij wyszukiwanie">
|
||||
Agent będzie automatycznie używać Perplexity do wyszukiwań w sieci, gdy klucz
|
||||
zostanie skonfigurowany. Nie są wymagane żadne dodatkowe kroki.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Tryby wyszukiwania
|
||||
|
||||
Plugin automatycznie wybiera transport na podstawie prefiksu klucza API:
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Natywne Perplexity API (pplx-)">
|
||||
Gdy Twój klucz zaczyna się od `pplx-`, OpenClaw używa natywnego Perplexity Search
|
||||
API. Ten transport zwraca uporządkowane wyniki i obsługuje filtry domen, języka
|
||||
oraz daty (zobacz opcje filtrowania poniżej).
|
||||
</Tab>
|
||||
<Tab title="OpenRouter / Sonar (sk-or-)">
|
||||
Gdy Twój klucz zaczyna się od `sk-or-`, OpenClaw kieruje ruch przez OpenRouter, używając
|
||||
modelu Perplexity Sonar. Ten transport zwraca odpowiedzi syntetyzowane przez AI wraz z
|
||||
cytowaniami.
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
| Prefiks klucza | Transport | Funkcje |
|
||||
| -------------- | ----------------------------- | ------------------------------------------------ |
|
||||
| `pplx-` | Natywne Perplexity Search API | Ustrukturyzowane wyniki, filtry domen/języka/daty |
|
||||
| `pplx-` | Natywne Perplexity Search API | Uporządkowane wyniki, filtry domen/języka/daty |
|
||||
| `sk-or-` | OpenRouter (Sonar) | Odpowiedzi syntetyzowane przez AI z cytowaniami |
|
||||
|
||||
## Filtrowanie natywnego API
|
||||
## Filtrowanie w natywnym API
|
||||
|
||||
Przy użyciu natywnego API Perplexity (klucz `pplx-`) wyszukiwania obsługują:
|
||||
<Note>
|
||||
Opcje filtrowania są dostępne tylko podczas korzystania z natywnego Perplexity API
|
||||
(klucz `pplx-`). Wyszukiwania OpenRouter/Sonar nie obsługują tych parametrów.
|
||||
</Note>
|
||||
|
||||
- **Kraj**: 2-literowy kod kraju
|
||||
- **Język**: kod języka ISO 639-1
|
||||
- **Zakres dat**: day, week, month, year
|
||||
- **Filtry domen**: allowlist/denylist (maks. 20 domen)
|
||||
- **Budżet treści**: `max_tokens`, `max_tokens_per_page`
|
||||
Podczas korzystania z natywnego Perplexity API wyszukiwania obsługują następujące filtry:
|
||||
|
||||
## Uwaga dotycząca środowiska
|
||||
| Filtr | Opis | Przykład |
|
||||
| -------------- | ----------------------------------------- | ----------------------------------- |
|
||||
| Kraj | 2-literowy kod kraju | `us`, `de`, `jp` |
|
||||
| Język | Kod języka ISO 639-1 | `en`, `fr`, `zh` |
|
||||
| Zakres dat | Okno świeżości | `day`, `week`, `month`, `year` |
|
||||
| Filtry domen | Allowlist lub denylist (maks. 20 domen) | `example.com` |
|
||||
| Budżet treści | Limity tokenów na odpowiedź / na stronę | `max_tokens`, `max_tokens_per_page` |
|
||||
|
||||
Jeśli Gateway działa jako daemon (launchd/systemd), upewnij się, że
|
||||
`PERPLEXITY_API_KEY` jest dostępny dla tego procesu (na przykład w
|
||||
`~/.openclaw/.env` albo przez `env.shellEnv`).
|
||||
## Uwagi zaawansowane
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Zmienna środowiskowa dla procesów daemon">
|
||||
Jeśli Gateway OpenClaw działa jako daemon (`launchd`/`systemd`), upewnij się,
|
||||
że `PERPLEXITY_API_KEY` jest dostępny dla tego procesu.
|
||||
|
||||
<Warning>
|
||||
Klucz ustawiony tylko w `~/.profile` nie będzie widoczny dla daemona `launchd`/`systemd`,
|
||||
chyba że to środowisko zostanie jawnie zaimportowane. Ustaw klucz w
|
||||
`~/.openclaw/.env` albo przez `env.shellEnv`, aby proces Gateway mógł go
|
||||
odczytać.
|
||||
</Warning>
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Konfiguracja proxy OpenRouter">
|
||||
Jeśli wolisz kierować wyszukiwania Perplexity przez OpenRouter, ustaw
|
||||
`OPENROUTER_API_KEY` (prefiks `sk-or-`) zamiast natywnego klucza Perplexity.
|
||||
OpenClaw wykryje prefiks i automatycznie przełączy się na transport Sonar.
|
||||
|
||||
<Tip>
|
||||
Transport OpenRouter jest przydatny, jeśli masz już konto OpenRouter
|
||||
i chcesz mieć skonsolidowane rozliczenia dla wielu dostawców.
|
||||
</Tip>
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Narzędzie wyszukiwania Perplexity" href="/pl/tools/perplexity-search" icon="magnifying-glass">
|
||||
Jak agent wywołuje wyszukiwania Perplexity i interpretuje wyniki.
|
||||
</Card>
|
||||
<Card title="Dokumentacja konfiguracji" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełna dokumentacja konfiguracji, w tym wpisów pluginów.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -2,42 +2,62 @@
|
||||
read_when:
|
||||
- Chcesz używać jednego klucza API do wielu LLM-ów
|
||||
- Potrzebujesz wskazówek dotyczących konfiguracji Baidu Qianfan
|
||||
summary: Używaj zunifikowanego API Qianfan, aby uzyskać dostęp do wielu modeli w OpenClaw
|
||||
summary: Używaj ujednoliconego API Qianfan, aby uzyskać dostęp do wielu modeli w OpenClaw
|
||||
title: Qianfan
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:41Z"
|
||||
generated_at: "2026-04-12T23:32:57Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 965d83dd968563447ce3571a73bd71c6876275caff8664311a852b2f9827e55b
|
||||
source_hash: 1d0eeee9ec24b335c2fb8ac5e985a9edc35cfc5b2641c545cb295dd2de619f50
|
||||
source_path: providers/qianfan.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Przewodnik po providerze Qianfan
|
||||
# Qianfan
|
||||
|
||||
Qianfan to platforma MaaS firmy Baidu, która udostępnia **zunifikowane API** kierujące żądania do wielu modeli za jednym
|
||||
endpointem i kluczem API. Jest zgodna z OpenAI, więc większość SDK OpenAI działa po zmianie base URL.
|
||||
Qianfan to platforma MaaS firmy Baidu, zapewniająca **ujednolicone API**, które kieruje żądania do wielu modeli za jednym
|
||||
endpointem i kluczem API. Jest zgodne z OpenAI, więc większość SDK OpenAI działa po zmianie bazowego URL.
|
||||
|
||||
## Wymagania wstępne
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | -------------------------------- |
|
||||
| Dostawca | `qianfan` |
|
||||
| Uwierzytelnianie | `QIANFAN_API_KEY` |
|
||||
| API | Zgodne z OpenAI |
|
||||
| Bazowy URL | `https://qianfan.baidubce.com/v2` |
|
||||
|
||||
1. Konto Baidu Cloud z dostępem do API Qianfan
|
||||
2. Klucz API z konsoli Qianfan
|
||||
3. OpenClaw zainstalowany w systemie
|
||||
## Pierwsze kroki
|
||||
|
||||
## Uzyskanie klucza API
|
||||
<Steps>
|
||||
<Step title="Utwórz konto Baidu Cloud">
|
||||
Zarejestruj się lub zaloguj w [Qianfan Console](https://console.bce.baidu.com/qianfan/ais/console/apiKey) i upewnij się, że masz włączony dostęp do API Qianfan.
|
||||
</Step>
|
||||
<Step title="Wygeneruj klucz API">
|
||||
Utwórz nową aplikację albo wybierz istniejącą, a następnie wygeneruj klucz API. Format klucza to `bce-v3/ALTAK-...`.
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice qianfan-api-key
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider qianfan
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
1. Odwiedź [konsolę Qianfan](https://console.bce.baidu.com/qianfan/ais/console/apiKey)
|
||||
2. Utwórz nową aplikację lub wybierz istniejącą
|
||||
3. Wygeneruj klucz API (format: `bce-v3/ALTAK-...`)
|
||||
4. Skopiuj klucz API do użycia z OpenClaw
|
||||
## Dostępne modele
|
||||
|
||||
## Konfiguracja CLI
|
||||
| Odwołanie modelu | Wejście | Kontekst | Maks. wyjście | Reasoning | Uwagi |
|
||||
| ----------------------------------- | ----------- | -------- | ------------- | --------- | ---------------- |
|
||||
| `qianfan/deepseek-v3.2` | text | 98,304 | 32,768 | Tak | Model domyślny |
|
||||
| `qianfan/ernie-5.0-thinking-preview`| text, image | 119,000 | 64,000 | Tak | Multimodalny |
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice qianfan-api-key
|
||||
```
|
||||
<Tip>
|
||||
Domyślnym dołączonym odwołaniem do modelu jest `qianfan/deepseek-v3.2`. `models.providers.qianfan` trzeba nadpisywać tylko wtedy, gdy potrzebujesz niestandardowego bazowego URL albo metadanych modelu.
|
||||
</Tip>
|
||||
|
||||
## Fragment konfiguracji
|
||||
## Przykład konfiguracji
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -81,17 +101,40 @@ openclaw onboard --auth-choice qianfan-api-key
|
||||
}
|
||||
```
|
||||
|
||||
## Uwagi
|
||||
<AccordionGroup>
|
||||
<Accordion title="Transport i zgodność">
|
||||
Qianfan działa przez ścieżkę transportu zgodną z OpenAI, a nie przez natywne formatowanie żądań OpenAI. Oznacza to, że standardowe funkcje SDK OpenAI działają, ale parametry specyficzne dla dostawcy mogą nie być przekazywane dalej.
|
||||
</Accordion>
|
||||
|
||||
- Domyślne odwołanie do dołączonego modelu: `qianfan/deepseek-v3.2`
|
||||
- Domyślny base URL: `https://qianfan.baidubce.com/v2`
|
||||
- Dołączony katalog obecnie zawiera `deepseek-v3.2` i `ernie-5.0-thinking-preview`
|
||||
- Dodawaj lub nadpisuj `models.providers.qianfan` tylko wtedy, gdy potrzebujesz niestandardowego base URL lub metadanych modelu
|
||||
- Qianfan działa przez ścieżkę transportu zgodną z OpenAI, a nie przez natywne kształtowanie żądań OpenAI
|
||||
<Accordion title="Katalog i nadpisania">
|
||||
Dołączony katalog zawiera obecnie `deepseek-v3.2` i `ernie-5.0-thinking-preview`. Dodawaj lub nadpisuj `models.providers.qianfan` tylko wtedy, gdy potrzebujesz niestandardowego bazowego URL albo metadanych modelu.
|
||||
|
||||
## Powiązana dokumentacja
|
||||
<Note>
|
||||
Odwołania do modeli używają prefiksu `qianfan/` (na przykład `qianfan/deepseek-v3.2`).
|
||||
</Note>
|
||||
|
||||
- [Konfiguracja OpenClaw](/pl/gateway/configuration)
|
||||
- [Providerzy modeli](/pl/concepts/model-providers)
|
||||
- [Konfiguracja agenta](/pl/concepts/agent)
|
||||
- [Dokumentacja API Qianfan](https://cloud.baidu.com/doc/qianfan-api/s/3m7of64lb)
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Rozwiązywanie problemów">
|
||||
- Upewnij się, że Twój klucz API zaczyna się od `bce-v3/ALTAK-` i ma włączony dostęp do API Qianfan w konsoli Baidu Cloud.
|
||||
- Jeśli modele nie są wyświetlane, potwierdź, że na Twoim koncie usługa Qianfan jest aktywna.
|
||||
- Domyślny bazowy URL to `https://qianfan.baidubce.com/v2`. Zmieniaj go tylko wtedy, gdy używasz niestandardowego endpointu albo proxy.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Referencja konfiguracji" href="/pl/gateway/configuration" icon="gear">
|
||||
Pełna referencja konfiguracji OpenClaw.
|
||||
</Card>
|
||||
<Card title="Konfiguracja agenta" href="/pl/concepts/agent" icon="robot">
|
||||
Konfigurowanie domyślnych ustawień agenta i przypisań modeli.
|
||||
</Card>
|
||||
<Card title="Dokumentacja API Qianfan" href="https://cloud.baidu.com/doc/qianfan-api/s/3m7of64lb" icon="arrow-up-right-from-square">
|
||||
Oficjalna dokumentacja API Qianfan.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać Qwen z OpenClaw
|
||||
- Wcześniej używałeś OAuth Qwen
|
||||
- Wcześniej używałeś Qwen OAuth
|
||||
summary: Używaj Qwen Cloud przez dołączonego dostawcę qwen w OpenClaw
|
||||
title: Qwen
|
||||
x-i18n:
|
||||
generated_at: "2026-04-09T01:30:16Z"
|
||||
generated_at: "2026-04-12T23:33:03Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 4786df2cb6ec1ab29d191d012c61dcb0e5468bf0f8561fbbb50eed741efad325
|
||||
source_hash: 5247f851ef891645df6572d748ea15deeea47cd1d75858bc0d044a2930065106
|
||||
source_path: providers/qwen.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -17,80 +17,141 @@ x-i18n:
|
||||
|
||||
<Warning>
|
||||
|
||||
**OAuth Qwen został usunięty.** Integracja OAuth w bezpłatnym planie
|
||||
**Qwen OAuth zostało usunięte.** Integracja darmowej warstwy OAuth
|
||||
(`qwen-portal`), która używała endpointów `portal.qwen.ai`, nie jest już dostępna.
|
||||
Kontekst znajdziesz w [Issue #49557](https://github.com/openclaw/openclaw/issues/49557).
|
||||
Tło znajdziesz w [Issue #49557](https://github.com/openclaw/openclaw/issues/49557).
|
||||
|
||||
</Warning>
|
||||
|
||||
## Zalecane: Qwen Cloud
|
||||
|
||||
OpenClaw traktuje teraz Qwen jako pełnoprawnego dołączonego dostawcę z kanonicznym identyfikatorem
|
||||
`qwen`. Dołączony dostawca obsługuje endpointy Qwen Cloud / Alibaba DashScope oraz
|
||||
Coding Plan i zachowuje działanie starszych identyfikatorów `modelstudio` jako
|
||||
aliasu zgodności.
|
||||
`qwen`. Dołączony dostawca kieruje ruch do endpointów Qwen Cloud / Alibaba DashScope oraz
|
||||
Coding Plan i zachowuje starsze identyfikatory `modelstudio` jako alias zgodności.
|
||||
|
||||
- Dostawca: `qwen`
|
||||
- Preferowana zmienna env: `QWEN_API_KEY`
|
||||
- Preferowana zmienna środowiskowa: `QWEN_API_KEY`
|
||||
- Akceptowane także dla zgodności: `MODELSTUDIO_API_KEY`, `DASHSCOPE_API_KEY`
|
||||
- Styl API: zgodny z OpenAI
|
||||
|
||||
<Tip>
|
||||
Jeśli chcesz używać `qwen3.6-plus`, wybierz endpoint **Standard (pay-as-you-go)**.
|
||||
Obsługa Coding Plan może być opóźniona względem publicznego katalogu.
|
||||
Obsługa Coding Plan może pozostawać w tyle za publicznym katalogiem.
|
||||
</Tip>
|
||||
|
||||
```bash
|
||||
# Globalny endpoint Coding Plan
|
||||
openclaw onboard --auth-choice qwen-api-key
|
||||
## Pierwsze kroki
|
||||
|
||||
# Chiński endpoint Coding Plan
|
||||
openclaw onboard --auth-choice qwen-api-key-cn
|
||||
Wybierz typ planu i wykonaj kroki konfiguracji.
|
||||
|
||||
# Globalny endpoint Standard (pay-as-you-go)
|
||||
openclaw onboard --auth-choice qwen-standard-api-key
|
||||
<Tabs>
|
||||
<Tab title="Coding Plan (subskrypcja)">
|
||||
**Najlepsze dla:** dostępu opartego na subskrypcji przez Qwen Coding Plan.
|
||||
|
||||
# Chiński endpoint Standard (pay-as-you-go)
|
||||
openclaw onboard --auth-choice qwen-standard-api-key-cn
|
||||
```
|
||||
<Steps>
|
||||
<Step title="Pobierz swój klucz API">
|
||||
Utwórz lub skopiuj klucz API z [home.qwencloud.com/api-keys](https://home.qwencloud.com/api-keys).
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
Dla endpointu **Global**:
|
||||
|
||||
Starsze identyfikatory `auth-choice` `modelstudio-*` oraz referencje modeli `modelstudio/...`
|
||||
nadal działają jako aliasy zgodności, ale nowe przepływy konfiguracji powinny preferować kanoniczne
|
||||
identyfikatory `auth-choice` z rodziny `qwen-*` oraz referencje modeli `qwen/...`.
|
||||
```bash
|
||||
openclaw onboard --auth-choice qwen-api-key
|
||||
```
|
||||
|
||||
Po onboardingu ustaw model domyślny:
|
||||
Dla endpointu **China**:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "qwen/qwen3.5-plus" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
```bash
|
||||
openclaw onboard --auth-choice qwen-api-key-cn
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "qwen/qwen3.5-plus" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider qwen
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Note>
|
||||
Starsze identyfikatory `auth-choice` z rodziny `modelstudio-*` oraz odwołania do modeli `modelstudio/...` nadal
|
||||
działają jako aliasy zgodności, ale nowe przepływy konfiguracji powinny preferować kanoniczne
|
||||
identyfikatory `auth-choice` z rodziny `qwen-*` oraz odwołania do modeli `qwen/...`.
|
||||
</Note>
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Standard (pay-as-you-go)">
|
||||
**Najlepsze dla:** dostępu pay-as-you-go przez endpoint Standard Model Studio, w tym modeli takich jak `qwen3.6-plus`, które mogą nie być dostępne w Coding Plan.
|
||||
|
||||
<Steps>
|
||||
<Step title="Pobierz swój klucz API">
|
||||
Utwórz lub skopiuj klucz API z [home.qwencloud.com/api-keys](https://home.qwencloud.com/api-keys).
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
Dla endpointu **Global**:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice qwen-standard-api-key
|
||||
```
|
||||
|
||||
Dla endpointu **China**:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice qwen-standard-api-key-cn
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "qwen/qwen3.5-plus" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider qwen
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Note>
|
||||
Starsze identyfikatory `auth-choice` z rodziny `modelstudio-*` oraz odwołania do modeli `modelstudio/...` nadal
|
||||
działają jako aliasy zgodności, ale nowe przepływy konfiguracji powinny preferować kanoniczne
|
||||
identyfikatory `auth-choice` z rodziny `qwen-*` oraz odwołania do modeli `qwen/...`.
|
||||
</Note>
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Typy planów i endpointy
|
||||
|
||||
| Plan | Region | Wybór auth | Endpoint |
|
||||
| Plan | Region | Auth choice | Endpoint |
|
||||
| -------------------------- | ------ | -------------------------- | ------------------------------------------------ |
|
||||
| Standard (pay-as-you-go) | China | `qwen-standard-api-key-cn` | `dashscope.aliyuncs.com/compatible-mode/v1` |
|
||||
| Standard (pay-as-you-go) | Global | `qwen-standard-api-key` | `dashscope-intl.aliyuncs.com/compatible-mode/v1` |
|
||||
| Coding Plan (subscription) | China | `qwen-api-key-cn` | `coding.dashscope.aliyuncs.com/v1` |
|
||||
| Coding Plan (subscription) | Global | `qwen-api-key` | `coding-intl.dashscope.aliyuncs.com/v1` |
|
||||
| Coding Plan (subskrypcja) | China | `qwen-api-key-cn` | `coding.dashscope.aliyuncs.com/v1` |
|
||||
| Coding Plan (subskrypcja) | Global | `qwen-api-key` | `coding-intl.dashscope.aliyuncs.com/v1` |
|
||||
|
||||
Dostawca automatycznie wybiera endpoint na podstawie wybranego auth. Kanoniczne
|
||||
opcje używają rodziny `qwen-*`; `modelstudio-*` pozostaje wyłącznie dla zgodności.
|
||||
Możesz nadpisać to własnym `baseUrl` w konfiguracji.
|
||||
Dostawca automatycznie wybiera endpoint na podstawie Twojego `auth choice`. Kanoniczne
|
||||
wybory używają rodziny `qwen-*`; `modelstudio-*` pozostaje tylko dla zgodności.
|
||||
Możesz nadpisać to przez niestandardowe `baseUrl` w konfiguracji.
|
||||
|
||||
Natywne endpointy Model Studio deklarują zgodność użycia strumieniowego na
|
||||
współdzielonym transporcie `openai-completions`. OpenClaw opiera to teraz na możliwościach endpointu,
|
||||
więc niestandardowe identyfikatory dostawców zgodnych z DashScope, kierujące na te same
|
||||
natywne hosty, dziedziczą to samo zachowanie użycia strumieniowego zamiast
|
||||
wymagać konkretnie wbudowanego identyfikatora dostawcy `qwen`.
|
||||
|
||||
## Pobierz swój klucz API
|
||||
|
||||
- **Zarządzanie kluczami**: [home.qwencloud.com/api-keys](https://home.qwencloud.com/api-keys)
|
||||
- **Dokumentacja**: [docs.qwencloud.com](https://docs.qwencloud.com/developer-guides/getting-started/introduction)
|
||||
<Tip>
|
||||
**Zarządzanie kluczami:** [home.qwencloud.com/api-keys](https://home.qwencloud.com/api-keys) |
|
||||
**Dokumentacja:** [docs.qwencloud.com](https://docs.qwencloud.com/developer-guides/getting-started/introduction)
|
||||
</Tip>
|
||||
|
||||
## Wbudowany katalog
|
||||
|
||||
@ -98,82 +159,32 @@ OpenClaw obecnie dostarcza ten dołączony katalog Qwen. Skonfigurowany katalog
|
||||
świadomy endpointu: konfiguracje Coding Plan pomijają modele, o których wiadomo, że działają
|
||||
tylko na endpointach Standard.
|
||||
|
||||
| Referencja modelu | Wejście | Kontekst | Uwagi |
|
||||
| -------------------------- | ----------- | --------- | -------------------------------------------------- |
|
||||
| `qwen/qwen3.5-plus` | text, image | 1,000,000 | Model domyślny |
|
||||
| `qwen/qwen3.6-plus` | text, image | 1,000,000 | Przy tym modelu preferuj endpointy Standard |
|
||||
| `qwen/qwen3-max-2026-01-23`| text | 262,144 | Linia Qwen Max |
|
||||
| `qwen/qwen3-coder-next` | text | 262,144 | Coding |
|
||||
| `qwen/qwen3-coder-plus` | text | 1,000,000 | Coding |
|
||||
| `qwen/MiniMax-M2.5` | text | 1,000,000 | Reasoning włączony |
|
||||
| `qwen/glm-5` | text | 202,752 | GLM |
|
||||
| `qwen/glm-4.7` | text | 202,752 | GLM |
|
||||
| `qwen/kimi-k2.5` | text, image | 262,144 | Moonshot AI przez Alibaba |
|
||||
| Odwołanie do modelu | Wejście | Kontekst | Uwagi |
|
||||
| -------------------------- | ----------- | --------- | --------------------------------------------------- |
|
||||
| `qwen/qwen3.5-plus` | text, image | 1,000,000 | Model domyślny |
|
||||
| `qwen/qwen3.6-plus` | text, image | 1,000,000 | Gdy potrzebujesz tego modelu, preferuj endpointy Standard |
|
||||
| `qwen/qwen3-max-2026-01-23`| text | 262,144 | Linia Qwen Max |
|
||||
| `qwen/qwen3-coder-next` | text | 262,144 | Kodowanie |
|
||||
| `qwen/qwen3-coder-plus` | text | 1,000,000 | Kodowanie |
|
||||
| `qwen/MiniMax-M2.5` | text | 1,000,000 | Obsługa rozumowania włączona |
|
||||
| `qwen/glm-5` | text | 202,752 | GLM |
|
||||
| `qwen/glm-4.7` | text | 202,752 | GLM |
|
||||
| `qwen/kimi-k2.5` | text, image | 262,144 | Moonshot AI przez Alibaba |
|
||||
|
||||
Dostępność może nadal zależeć od endpointu i planu rozliczeniowego, nawet jeśli model
|
||||
jest obecny w dołączonym katalogu.
|
||||
|
||||
Zgodność użycia natywnego strumieniowania dotyczy zarówno hostów Coding Plan, jak i
|
||||
hostów Standard zgodnych z DashScope:
|
||||
|
||||
- `https://coding.dashscope.aliyuncs.com/v1`
|
||||
- `https://coding-intl.dashscope.aliyuncs.com/v1`
|
||||
- `https://dashscope.aliyuncs.com/compatible-mode/v1`
|
||||
- `https://dashscope-intl.aliyuncs.com/compatible-mode/v1`
|
||||
|
||||
## Dostępność Qwen 3.6 Plus
|
||||
|
||||
`qwen3.6-plus` jest dostępny na endpointach Model Studio Standard (pay-as-you-go):
|
||||
|
||||
- China: `dashscope.aliyuncs.com/compatible-mode/v1`
|
||||
- Global: `dashscope-intl.aliyuncs.com/compatible-mode/v1`
|
||||
|
||||
Jeśli endpointy Coding Plan zwracają błąd „unsupported model” dla
|
||||
`qwen3.6-plus`, przełącz się na Standard (pay-as-you-go) zamiast używać pary
|
||||
endpoint/klucz Coding Plan.
|
||||
|
||||
## Plan możliwości
|
||||
|
||||
Rozszerzenie `qwen` jest pozycjonowane jako dom producenta dla pełnej powierzchni Qwen
|
||||
Cloud, a nie tylko modeli coding/text.
|
||||
|
||||
- Modele text/chat: dołączone już teraz
|
||||
- Wywoływanie narzędzi, output strukturalny, thinking: dziedziczone z transportu zgodnego z OpenAI
|
||||
- Generowanie obrazów: planowane na warstwie wtyczki dostawcy
|
||||
- Rozumienie obrazów/wideo: dołączone już teraz na endpointach Standard
|
||||
- Speech/audio: planowane na warstwie wtyczki dostawcy
|
||||
- Embeddingi pamięci/reranking: planowane przez powierzchnię adaptera embeddingów
|
||||
- Generowanie wideo: dołączone już teraz przez współdzieloną możliwość generowania wideo
|
||||
<Note>
|
||||
Dostępność nadal może się różnić w zależności od endpointu i planu rozliczeniowego, nawet jeśli model
|
||||
występuje w dołączonym katalogu.
|
||||
</Note>
|
||||
|
||||
## Dodatki multimodalne
|
||||
|
||||
Rozszerzenie `qwen` udostępnia teraz także:
|
||||
Rozszerzenie `qwen` udostępnia także możliwości multimodalne na endpointach **Standard**
|
||||
DashScope (nie na endpointach Coding Plan):
|
||||
|
||||
- Rozumienie wideo przez `qwen-vl-max-latest`
|
||||
- Generowanie wideo Wan przez:
|
||||
- `wan2.6-t2v` (domyślnie)
|
||||
- `wan2.6-i2v`
|
||||
- `wan2.6-r2v`
|
||||
- `wan2.6-r2v-flash`
|
||||
- `wan2.7-r2v`
|
||||
- **Rozumienie wideo** przez `qwen-vl-max-latest`
|
||||
- **Generowanie wideo Wan** przez `wan2.6-t2v` (domyślnie), `wan2.6-i2v`, `wan2.6-r2v`, `wan2.6-r2v-flash`, `wan2.7-r2v`
|
||||
|
||||
Te powierzchnie multimodalne używają endpointów DashScope **Standard**, a nie
|
||||
endpointów Coding Plan.
|
||||
|
||||
- Global/Intl Standard base URL: `https://dashscope-intl.aliyuncs.com/compatible-mode/v1`
|
||||
- China Standard base URL: `https://dashscope.aliyuncs.com/compatible-mode/v1`
|
||||
|
||||
Dla generowania wideo OpenClaw mapuje skonfigurowany region Qwen na odpowiadający
|
||||
mu host DashScope AIGC przed wysłaniem zadania:
|
||||
|
||||
- Global/Intl: `https://dashscope-intl.aliyuncs.com`
|
||||
- China: `https://dashscope.aliyuncs.com`
|
||||
|
||||
Oznacza to, że zwykłe `models.providers.qwen.baseUrl` wskazujące na hosty Qwen
|
||||
Coding Plan lub Standard nadal utrzymuje generowanie wideo na poprawnym
|
||||
regionalnym endpointcie wideo DashScope.
|
||||
|
||||
Dla generowania wideo ustaw jawnie model domyślny:
|
||||
Aby używać Qwen jako domyślnego dostawcy wideo:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -185,22 +196,124 @@ Dla generowania wideo ustaw jawnie model domyślny:
|
||||
}
|
||||
```
|
||||
|
||||
Obecne limity generowania wideo dla dołączonego Qwen:
|
||||
<Note>
|
||||
Zobacz [Video Generation](/pl/tools/video-generation), aby poznać wspólne parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
</Note>
|
||||
|
||||
- Maksymalnie **1** wyjściowe wideo na żądanie
|
||||
- Maksymalnie **1** obraz wejściowy
|
||||
- Maksymalnie **4** wejściowe wideo
|
||||
- Maksymalny czas trwania **10 sekund**
|
||||
- Obsługuje `size`, `aspectRatio`, `resolution`, `audio` i `watermark`
|
||||
- Tryb obrazu/wideo referencyjnego obecnie wymaga **zdalnych adresów URL http(s)**. Lokalne
|
||||
ścieżki plików są odrzucane od razu, ponieważ endpoint wideo DashScope nie
|
||||
akceptuje przesyłanych lokalnych buforów dla takich referencji.
|
||||
## Zaawansowane
|
||||
|
||||
Zobacz [Video Generation](/pl/tools/video-generation), aby poznać współdzielone parametry
|
||||
narzędzia, wybór dostawcy i zachowanie failover.
|
||||
<AccordionGroup>
|
||||
<Accordion title="Rozumienie obrazów i wideo">
|
||||
Dołączony Plugin Qwen rejestruje rozumienie mediów dla obrazów i wideo
|
||||
na endpointach **Standard** DashScope (nie na endpointach Coding Plan).
|
||||
|
||||
## Uwaga dotycząca środowiska
|
||||
| Właściwość | Wartość |
|
||||
| --------------- | -------------------- |
|
||||
| Model | `qwen-vl-max-latest` |
|
||||
| Obsługiwane wejście | Obrazy, wideo |
|
||||
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że `QWEN_API_KEY` jest
|
||||
dostępne dla tego procesu (na przykład w `~/.openclaw/.env` lub przez
|
||||
`env.shellEnv`).
|
||||
Rozumienie mediów jest automatycznie rozpoznawane na podstawie skonfigurowanego uwierzytelniania Qwen — nie
|
||||
jest potrzebna żadna dodatkowa konfiguracja. Upewnij się, że używasz endpointu Standard (pay-as-you-go),
|
||||
jeśli chcesz obsługi rozumienia mediów.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Dostępność Qwen 3.6 Plus">
|
||||
`qwen3.6-plus` jest dostępny na endpointach Standard (pay-as-you-go) Model Studio:
|
||||
|
||||
- China: `dashscope.aliyuncs.com/compatible-mode/v1`
|
||||
- Global: `dashscope-intl.aliyuncs.com/compatible-mode/v1`
|
||||
|
||||
Jeśli endpointy Coding Plan zwracają błąd „unsupported model” dla
|
||||
`qwen3.6-plus`, przełącz się na Standard (pay-as-you-go) zamiast pary
|
||||
endpoint/klucz Coding Plan.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Plan możliwości">
|
||||
Rozszerzenie `qwen` jest pozycjonowane jako dom dostawcy dla pełnej powierzchni Qwen
|
||||
Cloud, a nie tylko modeli do kodowania/tekstu.
|
||||
|
||||
- **Modele tekstowe/czatowe:** dołączone teraz
|
||||
- **Wywoływanie narzędzi, strukturalne wyjście, myślenie:** dziedziczone z transportu zgodnego z OpenAI
|
||||
- **Generowanie obrazów:** planowane na warstwie Pluginu dostawcy
|
||||
- **Rozumienie obrazów/wideo:** dołączone teraz na endpointach Standard
|
||||
- **Mowa/audio:** planowane na warstwie Pluginu dostawcy
|
||||
- **Osadzania/reranking pamięci:** planowane przez powierzchnię adaptera osadzania
|
||||
- **Generowanie wideo:** dołączone teraz przez współdzieloną możliwość generowania wideo
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Szczegóły generowania wideo">
|
||||
W przypadku generowania wideo OpenClaw mapuje skonfigurowany region Qwen na pasujący
|
||||
host DashScope AIGC przed wysłaniem zadania:
|
||||
|
||||
- Global/Intl: `https://dashscope-intl.aliyuncs.com`
|
||||
- China: `https://dashscope.aliyuncs.com`
|
||||
|
||||
Oznacza to, że zwykłe `models.providers.qwen.baseUrl` wskazujące na hosty Qwen
|
||||
Coding Plan lub Standard nadal utrzymuje generowanie wideo na prawidłowym
|
||||
regionalnym endpointcie wideo DashScope.
|
||||
|
||||
Bieżące limity dołączonego generowania wideo Qwen:
|
||||
|
||||
- Maksymalnie **1** wyjściowe wideo na żądanie
|
||||
- Maksymalnie **1** obraz wejściowy
|
||||
- Maksymalnie **4** wejściowe wideo
|
||||
- Maksymalnie **10 sekund** czasu trwania
|
||||
- Obsługuje `size`, `aspectRatio`, `resolution`, `audio` i `watermark`
|
||||
- Tryb obrazu/wideo referencyjnego obecnie wymaga **zdalnych URL-i http(s)**. Lokalne
|
||||
ścieżki plików są odrzucane od razu, ponieważ endpoint wideo DashScope nie
|
||||
akceptuje przesłanych lokalnych buforów dla takich odniesień.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Zgodność użycia strumieniowego">
|
||||
Natywne endpointy Model Studio deklarują zgodność użycia strumieniowego na
|
||||
współdzielonym transporcie `openai-completions`. OpenClaw opiera to teraz na możliwościach endpointu,
|
||||
więc niestandardowe identyfikatory dostawców zgodnych z DashScope kierujące na
|
||||
te same natywne hosty dziedziczą to samo zachowanie użycia strumieniowego zamiast
|
||||
wymagać konkretnie wbudowanego identyfikatora dostawcy `qwen`.
|
||||
|
||||
Zgodność natywnego użycia strumieniowego dotyczy zarówno hostów Coding Plan, jak i
|
||||
hostów Standard zgodnych z DashScope:
|
||||
|
||||
- `https://coding.dashscope.aliyuncs.com/v1`
|
||||
- `https://coding-intl.dashscope.aliyuncs.com/v1`
|
||||
- `https://dashscope.aliyuncs.com/compatible-mode/v1`
|
||||
- `https://dashscope-intl.aliyuncs.com/compatible-mode/v1`
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Regiony endpointów multimodalnych">
|
||||
Powierzchnie multimodalne (rozumienie wideo i generowanie wideo Wan) używają
|
||||
endpointów **Standard** DashScope, a nie endpointów Coding Plan:
|
||||
|
||||
- Global/Intl Standard base URL: `https://dashscope-intl.aliyuncs.com/compatible-mode/v1`
|
||||
- China Standard base URL: `https://dashscope.aliyuncs.com/compatible-mode/v1`
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Konfiguracja środowiska i demona">
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że `QWEN_API_KEY` jest
|
||||
dostępny dla tego procesu (na przykład w `~/.openclaw/.env` lub przez
|
||||
`env.shellEnv`).
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Video generation" href="/pl/tools/video-generation" icon="video">
|
||||
Wspólne parametry narzędzia wideo i wybór dostawcy.
|
||||
</Card>
|
||||
<Card title="Alibaba (ModelStudio)" href="/pl/providers/alibaba" icon="cloud">
|
||||
Starszy dostawca ModelStudio i uwagi dotyczące migracji.
|
||||
</Card>
|
||||
<Card title="Rozwiązywanie problemów" href="/pl/help/troubleshooting" icon="wrench">
|
||||
Ogólne rozwiązywanie problemów i FAQ.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,54 +1,63 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać generowania wideo Runway w OpenClaw
|
||||
- Potrzebujesz konfiguracji klucza API / env dla Runway
|
||||
- Potrzebujesz konfiguracji klucza API/env Runway
|
||||
- Chcesz ustawić Runway jako domyślnego dostawcę wideo
|
||||
summary: Konfiguracja generowania wideo Runway w OpenClaw
|
||||
title: Runway
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T03:11:49Z"
|
||||
generated_at: "2026-04-12T23:33:02Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: bc615d1a26f7a4b890d29461e756690c858ecb05024cf3c4d508218022da6e76
|
||||
source_hash: fb9a2d26687920544222b0769f314743af245629fd45b7f456c0161a47476176
|
||||
source_path: providers/runway.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Runway
|
||||
|
||||
OpenClaw zawiera dołączonego dostawcę `runway` do hostowanego generowania wideo.
|
||||
OpenClaw zawiera bundlowanego dostawcę `runway` do hostowanej generacji wideo.
|
||||
|
||||
- Identyfikator dostawcy: `runway`
|
||||
- Uwierzytelnianie: `RUNWAYML_API_SECRET` (kanoniczne) lub `RUNWAY_API_KEY`
|
||||
- API: generowanie wideo oparte na zadaniach Runway (odpytywanie `GET /v1/tasks/{id}`)
|
||||
| Właściwość | Wartość |
|
||||
| ------------ | ----------------------------------------------------------------- |
|
||||
| Id dostawcy | `runway` |
|
||||
| Uwierzytelnianie | `RUNWAYML_API_SECRET` (kanoniczne) lub `RUNWAY_API_KEY` |
|
||||
| API | Oparta na zadaniach generacja wideo Runway (odpytywanie `GET /v1/tasks/{id}`) |
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Ustaw klucz API:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice runway-api-key
|
||||
```
|
||||
|
||||
2. Ustaw Runway jako domyślnego dostawcę wideo:
|
||||
|
||||
```bash
|
||||
openclaw config set agents.defaults.videoGenerationModel.primary "runway/gen4.5"
|
||||
```
|
||||
|
||||
3. Poproś agenta o wygenerowanie wideo. Runway zostanie użyty automatycznie.
|
||||
<Steps>
|
||||
<Step title="Ustaw klucz API">
|
||||
```bash
|
||||
openclaw onboard --auth-choice runway-api-key
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw Runway jako domyślnego dostawcę wideo">
|
||||
```bash
|
||||
openclaw config set agents.defaults.videoGenerationModel.primary "runway/gen4.5"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Wygeneruj wideo">
|
||||
Poproś agenta o wygenerowanie wideo. Runway zostanie użyty automatycznie.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Obsługiwane tryby
|
||||
|
||||
| Tryb | Model | Wejście referencyjne |
|
||||
| -------------- | ------------------ | --------------------------- |
|
||||
| Text-to-video | `gen4.5` (domyślny) | Brak |
|
||||
| Image-to-video | `gen4.5` | 1 obraz lokalny lub zdalny |
|
||||
| Video-to-video | `gen4_aleph` | 1 wideo lokalne lub zdalne |
|
||||
| Tryb | Model | Wejście referencyjne |
|
||||
| -------------- | ------------------ | ------------------------- |
|
||||
| Tekst na wideo | `gen4.5` (domyślny) | Brak |
|
||||
| Obraz na wideo | `gen4.5` | 1 lokalny lub zdalny obraz |
|
||||
| Wideo na wideo | `gen4_aleph` | 1 lokalne lub zdalne wideo |
|
||||
|
||||
- Lokalne obrazy i wideo referencyjne są obsługiwane przez URI danych.
|
||||
- Video-to-video obecnie wymaga konkretnie `runway/gen4_aleph`.
|
||||
- Uruchomienia tylko tekstowe obecnie udostępniają proporcje `16:9` i `9:16`.
|
||||
<Note>
|
||||
Lokalne odwołania do obrazów i wideo są obsługiwane przez URI danych. Uruchomienia tylko tekstowe
|
||||
obecnie udostępniają proporcje `16:9` i `9:16`.
|
||||
</Note>
|
||||
|
||||
<Warning>
|
||||
Wideo na wideo obecnie wymaga konkretnie `runway/gen4_aleph`.
|
||||
</Warning>
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
@ -64,7 +73,28 @@ openclaw config set agents.defaults.videoGenerationModel.primary "runway/gen4.5"
|
||||
}
|
||||
```
|
||||
|
||||
## Uwagi zaawansowane
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Aliasy zmiennych środowiskowych">
|
||||
OpenClaw rozpoznaje zarówno `RUNWAYML_API_SECRET` (kanoniczne), jak i `RUNWAY_API_KEY`.
|
||||
Dowolna z tych zmiennych uwierzytelni dostawcę Runway.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Odpytywanie zadań">
|
||||
Runway używa API opartego na zadaniach. Po wysłaniu żądania generowania OpenClaw
|
||||
odpytuje `GET /v1/tasks/{id}`, aż wideo będzie gotowe. Żadna dodatkowa
|
||||
konfiguracja zachowania odpytywania nie jest potrzebna.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
- [Generowanie wideo](/tools/video-generation) -- współdzielone parametry narzędzia, wybór dostawcy i zachowanie asynchroniczne
|
||||
- [Dokumentacja konfiguracji](/pl/gateway/configuration-reference#agent-defaults)
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Generowanie wideo" href="/pl/tools/video-generation" icon="video">
|
||||
Współdzielone parametry narzędzia, wybór dostawcy i zachowanie asynchroniczne.
|
||||
</Card>
|
||||
<Card title="Dokumentacja konfiguracji" href="/pl/gateway/configuration-reference#agent-defaults" icon="gear">
|
||||
Ustawienia domyślne agenta, w tym model generowania wideo.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -2,68 +2,78 @@
|
||||
read_when:
|
||||
- Chcesz uruchomić OpenClaw z lokalnym serwerem SGLang
|
||||
- Chcesz używać endpointów `/v1` zgodnych z OpenAI z własnymi modelami
|
||||
summary: Uruchamianie OpenClaw z SGLang (samodzielnie hostowany serwer zgodny z OpenAI)
|
||||
summary: Uruchamiaj OpenClaw z SGLang (samodzielnie hostowany serwer zgodny z OpenAI)
|
||||
title: SGLang
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:54Z"
|
||||
generated_at: "2026-04-12T23:33:11Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 9850277c6c5e318e60237688b4d8a5b1387d4e9586534ae2eb6ad953abba8948
|
||||
source_hash: e0a2e50a499c3d25dcdc3af425fb023c6e3f19ed88f533ecf0eb8a2cb7ec8b0d
|
||||
source_path: providers/sglang.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# SGLang
|
||||
|
||||
SGLang może udostępniać modele open source przez **interfejs HTTP zgodny z OpenAI**.
|
||||
SGLang może udostępniać modele open source przez **API HTTP zgodne z OpenAI**.
|
||||
OpenClaw może łączyć się z SGLang przy użyciu API `openai-completions`.
|
||||
|
||||
OpenClaw może też **automatycznie wykrywać** dostępne modele z SGLang, gdy jawnie
|
||||
to włączysz przez `SGLANG_API_KEY` (dowolna wartość działa, jeśli Twój serwer nie wymusza uwierzytelniania)
|
||||
OpenClaw może także **automatycznie wykrywać** dostępne modele z SGLang, gdy
|
||||
jawnie to włączysz przez `SGLANG_API_KEY` (dowolna wartość działa, jeśli Twój serwer nie wymusza auth)
|
||||
i nie zdefiniujesz jawnego wpisu `models.providers.sglang`.
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Uruchom SGLang z serwerem zgodnym z OpenAI.
|
||||
<Steps>
|
||||
<Step title="Uruchom SGLang">
|
||||
Uruchom SGLang z serwerem zgodnym z OpenAI. Twój bazowy URL powinien udostępniać
|
||||
endpointy `/v1` (na przykład `/v1/models`, `/v1/chat/completions`). SGLang
|
||||
często działa pod adresem:
|
||||
|
||||
Twój `baseUrl` powinien udostępniać endpointy `/v1` (na przykład `/v1/models`,
|
||||
`/v1/chat/completions`). SGLang zwykle działa pod adresem:
|
||||
- `http://127.0.0.1:30000/v1`
|
||||
|
||||
- `http://127.0.0.1:30000/v1`
|
||||
</Step>
|
||||
<Step title="Ustaw klucz API">
|
||||
Dowolna wartość działa, jeśli na serwerze nie skonfigurowano auth:
|
||||
|
||||
2. Włącz to jawnie (dowolna wartość działa, jeśli uwierzytelnianie nie jest skonfigurowane):
|
||||
```bash
|
||||
export SGLANG_API_KEY="sglang-local"
|
||||
```
|
||||
|
||||
```bash
|
||||
export SGLANG_API_KEY="sglang-local"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding albo ustaw model bezpośrednio">
|
||||
```bash
|
||||
openclaw onboard
|
||||
```
|
||||
|
||||
3. Uruchom onboarding i wybierz `SGLang` albo ustaw model bezpośrednio:
|
||||
Albo skonfiguruj model ręcznie:
|
||||
|
||||
```bash
|
||||
openclaw onboard
|
||||
```
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "sglang/your-model-id" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "sglang/your-model-id" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Wykrywanie modeli (niejawny dostawca)
|
||||
|
||||
Gdy `SGLANG_API_KEY` jest ustawione (lub istnieje profil uwierzytelniania) i **nie**
|
||||
zdefiniujesz `models.providers.sglang`, OpenClaw wykona zapytanie do:
|
||||
Gdy `SGLANG_API_KEY` jest ustawione (albo istnieje profil auth) i **nie**
|
||||
zdefiniujesz `models.providers.sglang`, OpenClaw wykona zapytanie:
|
||||
|
||||
- `GET http://127.0.0.1:30000/v1/models`
|
||||
|
||||
i przekształci zwrócone identyfikatory w wpisy modeli.
|
||||
|
||||
Jeśli jawnie ustawisz `models.providers.sglang`, automatyczne wykrywanie zostanie pominięte
|
||||
i musisz zdefiniować modele ręcznie.
|
||||
<Note>
|
||||
Jeśli jawnie ustawisz `models.providers.sglang`, automatyczne wykrywanie zostanie pominięte i
|
||||
musisz ręcznie zdefiniować modele.
|
||||
</Note>
|
||||
|
||||
## Jawna konfiguracja (modele ręczne)
|
||||
|
||||
@ -98,25 +108,52 @@ Użyj jawnej konfiguracji, gdy:
|
||||
}
|
||||
```
|
||||
|
||||
## Rozwiązywanie problemów
|
||||
## Konfiguracja zaawansowana
|
||||
|
||||
- Sprawdź, czy serwer jest osiągalny:
|
||||
<AccordionGroup>
|
||||
<Accordion title="Zachowanie w stylu proxy">
|
||||
SGLang jest traktowany jako backend `/v1` zgodny z OpenAI w stylu proxy, a nie
|
||||
natywny endpoint OpenAI.
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:30000/v1/models
|
||||
```
|
||||
| Zachowanie | SGLang |
|
||||
|----------|--------|
|
||||
| Kształtowanie żądań tylko dla OpenAI | Nie jest stosowane |
|
||||
| `service_tier`, `store` w Responses, wskazówki prompt-cache | Nie są wysyłane |
|
||||
| Kształtowanie payloadów zgodności reasoning | Nie jest stosowane |
|
||||
| Ukryte nagłówki atrybucji (`originator`, `version`, `User-Agent`) | Nie są wstrzykiwane przy niestandardowych bazowych URL-ach SGLang |
|
||||
|
||||
- Jeśli żądania kończą się błędami uwierzytelniania, ustaw prawdziwe `SGLANG_API_KEY` zgodne
|
||||
z konfiguracją Twojego serwera albo skonfiguruj dostawcę jawnie w
|
||||
`models.providers.sglang`.
|
||||
</Accordion>
|
||||
|
||||
## Zachowanie w stylu proxy
|
||||
<Accordion title="Rozwiązywanie problemów">
|
||||
**Nie można połączyć się z serwerem**
|
||||
|
||||
SGLang jest traktowany jako backend `/v1` zgodny z OpenAI w stylu proxy, a nie
|
||||
natywny endpoint OpenAI.
|
||||
Sprawdź, czy serwer działa i odpowiada:
|
||||
|
||||
- nie stosuje się tutaj kształtowania żądań wyłącznie dla natywnego OpenAI
|
||||
- brak `service_tier`, brak `store` z Responses, brak hintów cache promptu i brak
|
||||
kształtowania payloadu zgodności reasoning dla OpenAI
|
||||
- ukryte nagłówki atrybucji OpenClaw (`originator`, `version`, `User-Agent`)
|
||||
nie są wstrzykiwane do niestandardowych `baseUrl` SGLang
|
||||
```bash
|
||||
curl http://127.0.0.1:30000/v1/models
|
||||
```
|
||||
|
||||
**Błędy auth**
|
||||
|
||||
Jeśli żądania kończą się błędami auth, ustaw prawdziwe `SGLANG_API_KEY`, które odpowiada
|
||||
konfiguracji serwera, albo skonfiguruj dostawcę jawnie pod
|
||||
`models.providers.sglang`.
|
||||
|
||||
<Tip>
|
||||
Jeśli uruchamiasz SGLang bez uwierzytelniania, dowolna niepusta wartość
|
||||
`SGLANG_API_KEY` wystarczy, aby włączyć wykrywanie modeli.
|
||||
</Tip>
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Informacje o konfiguracji" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełny schemat konfiguracji, w tym wpisy dostawców.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,159 +1,237 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać modeli StepFun w OpenClaw
|
||||
- Potrzebujesz wskazówek dotyczących konfiguracji StepFun
|
||||
summary: Używanie modeli StepFun z OpenClaw
|
||||
- Potrzebujesz wskazówek konfiguracji StepFun
|
||||
summary: Używaj modeli StepFun z OpenClaw
|
||||
title: StepFun
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:46Z"
|
||||
generated_at: "2026-04-12T23:33:14Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 3154852556577b4cfb387a2de281559f2b173c774bfbcaea996abe5379ae684a
|
||||
source_hash: a463bed0951d33802dcdb3a7784406272ee206b731e9864ea020323e67b4d159
|
||||
source_path: providers/stepfun.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# StepFun
|
||||
|
||||
OpenClaw zawiera dołączony plugin providera StepFun z dwoma identyfikatorami providerów:
|
||||
OpenClaw zawiera dołączony Plugin dostawcy StepFun z dwoma identyfikatorami dostawców:
|
||||
|
||||
- `stepfun` dla standardowego endpointu
|
||||
- `stepfun-plan` dla endpointu Step Plan
|
||||
|
||||
Wbudowane katalogi obecnie różnią się powierzchnią:
|
||||
|
||||
- Standard: `step-3.5-flash`
|
||||
- Step Plan: `step-3.5-flash`, `step-3.5-flash-2603`
|
||||
<Warning>
|
||||
Standard i Step Plan to **oddzielni dostawcy** z różnymi endpointami i prefiksami referencji modeli (`stepfun/...` vs `stepfun-plan/...`). Używaj klucza China z endpointami `.com`, a klucza globalnego z endpointami `.ai`.
|
||||
</Warning>
|
||||
|
||||
## Przegląd regionów i endpointów
|
||||
|
||||
- Chiński standardowy endpoint: `https://api.stepfun.com/v1`
|
||||
- Globalny standardowy endpoint: `https://api.stepfun.ai/v1`
|
||||
- Chiński endpoint Step Plan: `https://api.stepfun.com/step_plan/v1`
|
||||
- Globalny endpoint Step Plan: `https://api.stepfun.ai/step_plan/v1`
|
||||
- Zmienna env auth: `STEPFUN_API_KEY`
|
||||
| Endpoint | Chiny (`.com`) | Globalny (`.ai`) |
|
||||
| --------- | ------------------------------------- | ------------------------------------- |
|
||||
| Standard | `https://api.stepfun.com/v1` | `https://api.stepfun.ai/v1` |
|
||||
| Step Plan | `https://api.stepfun.com/step_plan/v1` | `https://api.stepfun.ai/step_plan/v1` |
|
||||
|
||||
Używaj chińskiego klucza z endpointami `.com`, a globalnego klucza z
|
||||
endpointami `.ai`.
|
||||
|
||||
## Konfiguracja przez CLI
|
||||
|
||||
Konfiguracja interaktywna:
|
||||
|
||||
```bash
|
||||
openclaw onboard
|
||||
```
|
||||
|
||||
Wybierz jedną z tych opcji auth:
|
||||
|
||||
- `stepfun-standard-api-key-cn`
|
||||
- `stepfun-standard-api-key-intl`
|
||||
- `stepfun-plan-api-key-cn`
|
||||
- `stepfun-plan-api-key-intl`
|
||||
|
||||
Przykłady nieinteraktywne:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice stepfun-standard-api-key-intl --stepfun-api-key "$STEPFUN_API_KEY"
|
||||
openclaw onboard --auth-choice stepfun-plan-api-key-intl --stepfun-api-key "$STEPFUN_API_KEY"
|
||||
```
|
||||
|
||||
## Referencje modeli
|
||||
|
||||
- Standardowy model domyślny: `stepfun/step-3.5-flash`
|
||||
- Domyślny model Step Plan: `stepfun-plan/step-3.5-flash`
|
||||
- Alternatywny model Step Plan: `stepfun-plan/step-3.5-flash-2603`
|
||||
Zmienna środowiskowa uwierzytelniania: `STEPFUN_API_KEY`
|
||||
|
||||
## Wbudowane katalogi
|
||||
|
||||
Standard (`stepfun`):
|
||||
|
||||
| Referencja modelu | Kontekst | Maks. wyjście | Uwagi |
|
||||
| ------------------------ | -------- | ------------- | -------------------------- |
|
||||
| Ref modelu | Kontekst | Maks. wyjście | Uwagi |
|
||||
| ------------------------ | -------- | ------------- | ------------------------ |
|
||||
| `stepfun/step-3.5-flash` | 262,144 | 65,536 | Domyślny model standardowy |
|
||||
|
||||
Step Plan (`stepfun-plan`):
|
||||
|
||||
| Referencja modelu | Kontekst | Maks. wyjście | Uwagi |
|
||||
| Ref modelu | Kontekst | Maks. wyjście | Uwagi |
|
||||
| ---------------------------------- | -------- | ------------- | ---------------------------- |
|
||||
| `stepfun-plan/step-3.5-flash` | 262,144 | 65,536 | Domyślny model Step Plan |
|
||||
| `stepfun-plan/step-3.5-flash-2603` | 262,144 | 65,536 | Dodatkowy model Step Plan |
|
||||
|
||||
## Fragmenty konfiguracji
|
||||
## Pierwsze kroki
|
||||
|
||||
Provider standardowy:
|
||||
Wybierz powierzchnię dostawcy i wykonaj kroki konfiguracji.
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { STEPFUN_API_KEY: "your-key" },
|
||||
agents: { defaults: { model: { primary: "stepfun/step-3.5-flash" } } },
|
||||
models: {
|
||||
mode: "merge",
|
||||
providers: {
|
||||
stepfun: {
|
||||
baseUrl: "https://api.stepfun.ai/v1",
|
||||
api: "openai-completions",
|
||||
apiKey: "${STEPFUN_API_KEY}",
|
||||
models: [
|
||||
{
|
||||
id: "step-3.5-flash",
|
||||
name: "Step 3.5 Flash",
|
||||
reasoning: true,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 262144,
|
||||
maxTokens: 65536,
|
||||
<Tabs>
|
||||
<Tab title="Standard">
|
||||
**Najlepsze dla:** ogólnego użycia przez standardowy endpoint StepFun.
|
||||
|
||||
<Steps>
|
||||
<Step title="Wybierz region endpointu">
|
||||
| Opcja uwierzytelniania | Endpoint | Region |
|
||||
| -------------------------------- | ------------------------------ | -------------- |
|
||||
| `stepfun-standard-api-key-intl` | `https://api.stepfun.ai/v1` | Międzynarodowy |
|
||||
| `stepfun-standard-api-key-cn` | `https://api.stepfun.com/v1` | Chiny |
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice stepfun-standard-api-key-intl
|
||||
```
|
||||
|
||||
Lub dla endpointu China:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice stepfun-standard-api-key-cn
|
||||
```
|
||||
</Step>
|
||||
<Step title="Alternatywa nieinteraktywna">
|
||||
```bash
|
||||
openclaw onboard --auth-choice stepfun-standard-api-key-intl \
|
||||
--stepfun-api-key "$STEPFUN_API_KEY"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są dostępne">
|
||||
```bash
|
||||
openclaw models list --provider stepfun
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
### Referencje modeli
|
||||
|
||||
- Model domyślny: `stepfun/step-3.5-flash`
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Step Plan">
|
||||
**Najlepsze dla:** endpointu rozumowania Step Plan.
|
||||
|
||||
<Steps>
|
||||
<Step title="Wybierz region endpointu">
|
||||
| Opcja uwierzytelniania | Endpoint | Region |
|
||||
| ----------------------------- | -------------------------------------- | -------------- |
|
||||
| `stepfun-plan-api-key-intl` | `https://api.stepfun.ai/step_plan/v1` | Międzynarodowy |
|
||||
| `stepfun-plan-api-key-cn` | `https://api.stepfun.com/step_plan/v1` | Chiny |
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice stepfun-plan-api-key-intl
|
||||
```
|
||||
|
||||
Lub dla endpointu China:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice stepfun-plan-api-key-cn
|
||||
```
|
||||
</Step>
|
||||
<Step title="Alternatywa nieinteraktywna">
|
||||
```bash
|
||||
openclaw onboard --auth-choice stepfun-plan-api-key-intl \
|
||||
--stepfun-api-key "$STEPFUN_API_KEY"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są dostępne">
|
||||
```bash
|
||||
openclaw models list --provider stepfun-plan
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
### Referencje modeli
|
||||
|
||||
- Model domyślny: `stepfun-plan/step-3.5-flash`
|
||||
- Model alternatywny: `stepfun-plan/step-3.5-flash-2603`
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Zaawansowane
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Pełna konfiguracja: dostawca Standard">
|
||||
```json5
|
||||
{
|
||||
env: { STEPFUN_API_KEY: "your-key" },
|
||||
agents: { defaults: { model: { primary: "stepfun/step-3.5-flash" } } },
|
||||
models: {
|
||||
mode: "merge",
|
||||
providers: {
|
||||
stepfun: {
|
||||
baseUrl: "https://api.stepfun.ai/v1",
|
||||
api: "openai-completions",
|
||||
apiKey: "${STEPFUN_API_KEY}",
|
||||
models: [
|
||||
{
|
||||
id: "step-3.5-flash",
|
||||
name: "Step 3.5 Flash",
|
||||
reasoning: true,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 262144,
|
||||
maxTokens: 65536,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
Provider Step Plan:
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { STEPFUN_API_KEY: "your-key" },
|
||||
agents: { defaults: { model: { primary: "stepfun-plan/step-3.5-flash" } } },
|
||||
models: {
|
||||
mode: "merge",
|
||||
providers: {
|
||||
"stepfun-plan": {
|
||||
baseUrl: "https://api.stepfun.ai/step_plan/v1",
|
||||
api: "openai-completions",
|
||||
apiKey: "${STEPFUN_API_KEY}",
|
||||
models: [
|
||||
{
|
||||
id: "step-3.5-flash",
|
||||
name: "Step 3.5 Flash",
|
||||
reasoning: true,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 262144,
|
||||
maxTokens: 65536,
|
||||
<Accordion title="Pełna konfiguracja: dostawca Step Plan">
|
||||
```json5
|
||||
{
|
||||
env: { STEPFUN_API_KEY: "your-key" },
|
||||
agents: { defaults: { model: { primary: "stepfun-plan/step-3.5-flash" } } },
|
||||
models: {
|
||||
mode: "merge",
|
||||
providers: {
|
||||
"stepfun-plan": {
|
||||
baseUrl: "https://api.stepfun.ai/step_plan/v1",
|
||||
api: "openai-completions",
|
||||
apiKey: "${STEPFUN_API_KEY}",
|
||||
models: [
|
||||
{
|
||||
id: "step-3.5-flash",
|
||||
name: "Step 3.5 Flash",
|
||||
reasoning: true,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 262144,
|
||||
maxTokens: 65536,
|
||||
},
|
||||
{
|
||||
id: "step-3.5-flash-2603",
|
||||
name: "Step 3.5 Flash 2603",
|
||||
reasoning: true,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 262144,
|
||||
maxTokens: 65536,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "step-3.5-flash-2603",
|
||||
name: "Step 3.5 Flash 2603",
|
||||
reasoning: true,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 262144,
|
||||
maxTokens: 65536,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
## Uwagi
|
||||
<Accordion title="Uwagi">
|
||||
- Dostawca jest dołączony do OpenClaw, więc nie ma osobnego kroku instalacji Pluginu.
|
||||
- `step-3.5-flash-2603` jest obecnie udostępniany tylko przez `stepfun-plan`.
|
||||
- Jeden przepływ uwierzytelniania zapisuje profile dopasowane do regionu zarówno dla `stepfun`, jak i `stepfun-plan`, dzięki czemu obie powierzchnie mogą być wykrywane razem.
|
||||
- Użyj `openclaw models list` oraz `openclaw models set <provider/model>`, aby sprawdzać lub przełączać modele.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
- Provider jest dołączony do OpenClaw, więc nie ma osobnego kroku instalacji pluginu.
|
||||
- `step-3.5-flash-2603` jest obecnie udostępniany tylko w `stepfun-plan`.
|
||||
- Jeden przepływ auth zapisuje profile dopasowane do regionu zarówno dla `stepfun`, jak i `stepfun-plan`, dzięki czemu obie powierzchnie mogą być wykrywane razem.
|
||||
- Użyj `openclaw models list` oraz `openclaw models set <provider/model>`, aby sprawdzić lub przełączyć modele.
|
||||
- Szerszy przegląd providerów znajdziesz w [Model providers](/concepts/model-providers).
|
||||
<Note>
|
||||
Szerszy przegląd dostawców znajdziesz w [Model providers](/pl/concepts/model-providers).
|
||||
</Note>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Model providers" href="/pl/concepts/model-providers" icon="layers">
|
||||
Przegląd wszystkich dostawców, referencji modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Configuration reference" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełny schemat konfiguracji dostawców, modeli i Pluginów.
|
||||
</Card>
|
||||
<Card title="Model selection" href="/pl/concepts/models" icon="brain">
|
||||
Jak wybierać i konfigurować modele.
|
||||
</Card>
|
||||
<Card title="StepFun Platform" href="https://platform.stepfun.com" icon="globe">
|
||||
Zarządzanie kluczami API StepFun i dokumentacja.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,37 +1,56 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać Synthetic jako dostawcy modeli
|
||||
- Potrzebujesz klucza API Synthetic albo konfiguracji base URL
|
||||
- Potrzebujesz konfiguracji klucza API lub bazowego URL-a Synthetic
|
||||
summary: Używaj zgodnego z Anthropic API Synthetic w OpenClaw
|
||||
title: Synthetic
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:49Z"
|
||||
generated_at: "2026-04-12T23:33:16Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 3495bca5cb134659cf6c54e31fa432989afe0cc04f53cf3e3146ce80a5e8af49
|
||||
source_hash: 1c4d2c6635482e09acaf603a75c8a85f0782e42a4a68ef6166f423a48d184ffa
|
||||
source_path: providers/synthetic.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Synthetic
|
||||
|
||||
Synthetic udostępnia endpointy zgodne z Anthropic. OpenClaw rejestruje go jako
|
||||
dostawcę `synthetic` i używa API Anthropic Messages.
|
||||
[Synthetic](https://synthetic.new) udostępnia punkty końcowe zgodne z Anthropic.
|
||||
OpenClaw rejestruje go jako dostawcę `synthetic` i używa
|
||||
Anthropic Messages API.
|
||||
|
||||
## Szybka konfiguracja
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | ------------------------------------- |
|
||||
| Dostawca | `synthetic` |
|
||||
| Uwierzytelnianie | `SYNTHETIC_API_KEY` |
|
||||
| API | Anthropic Messages |
|
||||
| Bazowy URL | `https://api.synthetic.new/anthropic` |
|
||||
|
||||
1. Ustaw `SYNTHETIC_API_KEY` (albo uruchom kreator poniżej).
|
||||
2. Uruchom onboarding:
|
||||
## Pierwsze kroki
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice synthetic-api-key
|
||||
```
|
||||
<Steps>
|
||||
<Step title="Pobierz klucz API">
|
||||
Uzyskaj `SYNTHETIC_API_KEY` ze swojego konta Synthetic lub pozwól,
|
||||
aby kreator onboardingu poprosił cię o jego podanie.
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice synthetic-api-key
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź model domyślny">
|
||||
Po onboardingu domyślny model jest ustawiony na:
|
||||
```
|
||||
synthetic/hf:MiniMaxAI/MiniMax-M2.5
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
Domyślny model jest ustawiany na:
|
||||
|
||||
```
|
||||
synthetic/hf:MiniMaxAI/MiniMax-M2.5
|
||||
```
|
||||
<Warning>
|
||||
Klient Anthropic w OpenClaw automatycznie dodaje `/v1` do bazowego URL-a, więc użyj
|
||||
`https://api.synthetic.new/anthropic` (nie `/anthropic/v1`). Jeśli Synthetic
|
||||
zmieni swój bazowy URL, nadpisz `models.providers.synthetic.baseUrl`.
|
||||
</Warning>
|
||||
|
||||
## Przykład konfiguracji
|
||||
|
||||
@ -68,41 +87,77 @@ synthetic/hf:MiniMaxAI/MiniMax-M2.5
|
||||
}
|
||||
```
|
||||
|
||||
Uwaga: klient Anthropic w OpenClaw dopisuje `/v1` do base URL, więc używaj
|
||||
`https://api.synthetic.new/anthropic` (a nie `/anthropic/v1`). Jeśli Synthetic zmieni
|
||||
swój base URL, nadpisz `models.providers.synthetic.baseUrl`.
|
||||
|
||||
## Katalog modeli
|
||||
|
||||
Wszystkie poniższe modele używają kosztu `0` (input/output/cache).
|
||||
Wszystkie modele Synthetic używają kosztu `0` (wejście/wyjście/cache).
|
||||
|
||||
| Model ID | Okno kontekstu | Maks. tokenów | Reasoning | Input |
|
||||
| ------------------------------------------------------ | -------------- | ------------- | --------- | ------------ |
|
||||
| `hf:MiniMaxAI/MiniMax-M2.5` | 192000 | 65536 | false | text |
|
||||
| `hf:moonshotai/Kimi-K2-Thinking` | 256000 | 8192 | true | text |
|
||||
| `hf:zai-org/GLM-4.7` | 198000 | 128000 | false | text |
|
||||
| `hf:deepseek-ai/DeepSeek-R1-0528` | 128000 | 8192 | false | text |
|
||||
| `hf:deepseek-ai/DeepSeek-V3-0324` | 128000 | 8192 | false | text |
|
||||
| `hf:deepseek-ai/DeepSeek-V3.1` | 128000 | 8192 | false | text |
|
||||
| `hf:deepseek-ai/DeepSeek-V3.1-Terminus` | 128000 | 8192 | false | text |
|
||||
| `hf:deepseek-ai/DeepSeek-V3.2` | 159000 | 8192 | false | text |
|
||||
| `hf:meta-llama/Llama-3.3-70B-Instruct` | 128000 | 8192 | false | text |
|
||||
| `hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8` | 524000 | 8192 | false | text |
|
||||
| `hf:moonshotai/Kimi-K2-Instruct-0905` | 256000 | 8192 | false | text |
|
||||
| `hf:moonshotai/Kimi-K2.5` | 256000 | 8192 | true | text + image |
|
||||
| `hf:openai/gpt-oss-120b` | 128000 | 8192 | false | text |
|
||||
| `hf:Qwen/Qwen3-235B-A22B-Instruct-2507` | 256000 | 8192 | false | text |
|
||||
| `hf:Qwen/Qwen3-Coder-480B-A35B-Instruct` | 256000 | 8192 | false | text |
|
||||
| `hf:Qwen/Qwen3-VL-235B-A22B-Instruct` | 250000 | 8192 | false | text + image |
|
||||
| `hf:zai-org/GLM-4.5` | 128000 | 128000 | false | text |
|
||||
| `hf:zai-org/GLM-4.6` | 198000 | 128000 | false | text |
|
||||
| `hf:zai-org/GLM-5` | 256000 | 128000 | true | text + image |
|
||||
| `hf:deepseek-ai/DeepSeek-V3` | 128000 | 8192 | false | text |
|
||||
| `hf:Qwen/Qwen3-235B-A22B-Thinking-2507` | 256000 | 8192 | true | text |
|
||||
| Id modelu | Okno kontekstu | Maks. tokenów | Rozumowanie | Wejście |
|
||||
| ------------------------------------------------------ | -------------- | ------------- | ----------- | ------------- |
|
||||
| `hf:MiniMaxAI/MiniMax-M2.5` | 192,000 | 65,536 | nie | tekst |
|
||||
| `hf:moonshotai/Kimi-K2-Thinking` | 256,000 | 8,192 | tak | tekst |
|
||||
| `hf:zai-org/GLM-4.7` | 198,000 | 128,000 | nie | tekst |
|
||||
| `hf:deepseek-ai/DeepSeek-R1-0528` | 128,000 | 8,192 | nie | tekst |
|
||||
| `hf:deepseek-ai/DeepSeek-V3-0324` | 128,000 | 8,192 | nie | tekst |
|
||||
| `hf:deepseek-ai/DeepSeek-V3.1` | 128,000 | 8,192 | nie | tekst |
|
||||
| `hf:deepseek-ai/DeepSeek-V3.1-Terminus` | 128,000 | 8,192 | nie | tekst |
|
||||
| `hf:deepseek-ai/DeepSeek-V3.2` | 159,000 | 8,192 | nie | tekst |
|
||||
| `hf:meta-llama/Llama-3.3-70B-Instruct` | 128,000 | 8,192 | nie | tekst |
|
||||
| `hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8` | 524,000 | 8,192 | nie | tekst |
|
||||
| `hf:moonshotai/Kimi-K2-Instruct-0905` | 256,000 | 8,192 | nie | tekst |
|
||||
| `hf:moonshotai/Kimi-K2.5` | 256,000 | 8,192 | tak | tekst + obraz |
|
||||
| `hf:openai/gpt-oss-120b` | 128,000 | 8,192 | nie | tekst |
|
||||
| `hf:Qwen/Qwen3-235B-A22B-Instruct-2507` | 256,000 | 8,192 | nie | tekst |
|
||||
| `hf:Qwen/Qwen3-Coder-480B-A35B-Instruct` | 256,000 | 8,192 | nie | tekst |
|
||||
| `hf:Qwen/Qwen3-VL-235B-A22B-Instruct` | 250,000 | 8,192 | nie | tekst + obraz |
|
||||
| `hf:zai-org/GLM-4.5` | 128,000 | 128,000 | nie | tekst |
|
||||
| `hf:zai-org/GLM-4.6` | 198,000 | 128,000 | nie | tekst |
|
||||
| `hf:zai-org/GLM-5` | 256,000 | 128,000 | tak | tekst + obraz |
|
||||
| `hf:deepseek-ai/DeepSeek-V3` | 128,000 | 8,192 | nie | tekst |
|
||||
| `hf:Qwen/Qwen3-235B-A22B-Thinking-2507` | 256,000 | 8,192 | tak | tekst |
|
||||
|
||||
## Uwagi
|
||||
<Tip>
|
||||
Odwołania do modeli mają postać `synthetic/<modelId>`. Użyj
|
||||
`openclaw models list --provider synthetic`, aby zobaczyć wszystkie modele dostępne na twoim
|
||||
koncie.
|
||||
</Tip>
|
||||
|
||||
- Referencje modeli używają formatu `synthetic/<modelId>`.
|
||||
- Jeśli włączysz allowlistę modeli (`agents.defaults.models`), dodaj każdy model,
|
||||
którego planujesz używać.
|
||||
- Zobacz [Model providers](/concepts/model-providers), aby poznać zasady dotyczące dostawców.
|
||||
<AccordionGroup>
|
||||
<Accordion title="Allowlista modeli">
|
||||
Jeśli włączysz allowlistę modeli (`agents.defaults.models`), dodaj każdy
|
||||
model Synthetic, którego planujesz używać. Modele nieobecne na allowliście będą ukryte
|
||||
przed agentem.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Nadpisanie bazowego URL-a">
|
||||
Jeśli Synthetic zmieni swój punkt końcowy API, nadpisz bazowy URL w konfiguracji:
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
synthetic: {
|
||||
baseUrl: "https://new-api.synthetic.new/anthropic",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Pamiętaj, że OpenClaw automatycznie dodaje `/v1`.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Dostawcy modeli" href="/pl/concepts/model-providers" icon="layers">
|
||||
Zasady dostawców, odwołania do modeli i zachowanie failover.
|
||||
</Card>
|
||||
<Card title="Dokumentacja konfiguracji" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełny schemat konfiguracji, w tym ustawienia dostawców.
|
||||
</Card>
|
||||
<Card title="Synthetic" href="https://synthetic.new" icon="arrow-up-right-from-square">
|
||||
Panel Synthetic i dokumentacja API.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,48 +1,56 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać Together AI z OpenClaw
|
||||
- Potrzebujesz zmiennej środowiskowej klucza API lub opcji uwierzytelniania w CLI
|
||||
- Potrzebujesz zmiennej środowiskowej z kluczem API albo opcji uwierzytelniania w CLI
|
||||
summary: Konfiguracja Together AI (uwierzytelnianie + wybór modelu)
|
||||
title: Together AI
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T03:11:57Z"
|
||||
generated_at: "2026-04-12T23:33:16Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: b68fdc15bfcac8d59e3e0c06a39162abd48d9d41a9a64a0ac622cd8e3f80a595
|
||||
source_hash: 33531a1646443ac2e46ee1fbfbb60ec71093611b022618106e8e5435641680ac
|
||||
source_path: providers/together.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Together AI
|
||||
|
||||
[Together AI](https://together.ai) zapewnia dostęp do czołowych modeli open source, w tym Llama, DeepSeek, Kimi i innych, przez ujednolicone API.
|
||||
[Together AI](https://together.ai) zapewnia dostęp do czołowych modeli
|
||||
open-source, w tym Llama, DeepSeek, Kimi i innych, przez ujednolicone API.
|
||||
|
||||
- Dostawca: `together`
|
||||
- Uwierzytelnianie: `TOGETHER_API_KEY`
|
||||
- API: zgodne z OpenAI
|
||||
- Bazowy URL: `https://api.together.xyz/v1`
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | ---------------------------- |
|
||||
| Dostawca | `together` |
|
||||
| Uwierzytelnianie | `TOGETHER_API_KEY` |
|
||||
| API | Zgodne z OpenAI |
|
||||
| Bazowy URL | `https://api.together.xyz/v1` |
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Ustaw klucz API (zalecane: zapisz go dla Gateway):
|
||||
<Steps>
|
||||
<Step title="Pobierz klucz API">
|
||||
Utwórz klucz API na
|
||||
[api.together.ai/settings/api-keys](https://api.together.ai/settings/api-keys).
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice together-api-key
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "together/moonshotai/Kimi-K2.5" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice together-api-key
|
||||
```
|
||||
|
||||
2. Ustaw model domyślny:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "together/moonshotai/Kimi-K2.5" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
## Przykład nieinteraktywny
|
||||
### Przykład nieinteraktywny
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
@ -51,39 +59,36 @@ openclaw onboard --non-interactive \
|
||||
--together-api-key "$TOGETHER_API_KEY"
|
||||
```
|
||||
|
||||
Spowoduje to ustawienie `together/moonshotai/Kimi-K2.5` jako modelu domyślnego.
|
||||
|
||||
## Uwaga dotycząca środowiska
|
||||
|
||||
Jeśli Gateway działa jako demon (`launchd/systemd`), upewnij się, że `TOGETHER_API_KEY`
|
||||
jest dostępne dla tego procesu (na przykład w `~/.openclaw/.env` albo przez
|
||||
`env.shellEnv`).
|
||||
<Note>
|
||||
Preset onboardingu ustawia `together/moonshotai/Kimi-K2.5` jako model
|
||||
domyślny.
|
||||
</Note>
|
||||
|
||||
## Wbudowany katalog
|
||||
|
||||
OpenClaw obecnie dostarcza ten wbudowany katalog Together:
|
||||
OpenClaw zawiera ten dołączony katalog Together:
|
||||
|
||||
| Model ref | Nazwa | Wejście | Kontekst | Uwagi |
|
||||
| ------------------------------------------------------------ | -------------------------------------- | ----------- | ---------- | -------------------------------- |
|
||||
| `together/moonshotai/Kimi-K2.5` | Kimi K2.5 | tekst, obraz | 262,144 | Model domyślny; reasoning włączony |
|
||||
| `together/zai-org/GLM-4.7` | GLM 4.7 Fp8 | tekst | 202,752 | Model tekstowy ogólnego przeznaczenia |
|
||||
| `together/meta-llama/Llama-3.3-70B-Instruct-Turbo` | Llama 3.3 70B Instruct Turbo | tekst | 131,072 | Szybki model instrukcyjny |
|
||||
| `together/meta-llama/Llama-4-Scout-17B-16E-Instruct` | Llama 4 Scout 17B 16E Instruct | tekst, obraz | 10,000,000 | Multimodalny |
|
||||
| `together/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8` | Llama 4 Maverick 17B 128E Instruct FP8 | tekst, obraz | 20,000,000 | Multimodalny |
|
||||
| `together/deepseek-ai/DeepSeek-V3.1` | DeepSeek V3.1 | tekst | 131,072 | Ogólny model tekstowy |
|
||||
| `together/deepseek-ai/DeepSeek-R1` | DeepSeek R1 | tekst | 131,072 | Model reasoning |
|
||||
| `together/moonshotai/Kimi-K2-Instruct-0905` | Kimi K2-Instruct 0905 | tekst | 262,144 | Dodatkowy model tekstowy Kimi |
|
||||
|
||||
Preset onboardingu ustawia `together/moonshotai/Kimi-K2.5` jako model domyślny.
|
||||
| Odwołanie modelu | Nazwa | Wejście | Kontekst | Uwagi |
|
||||
| ---------------------------------------------------------- | -------------------------------------- | ----------- | ---------- | -------------------------------- |
|
||||
| `together/moonshotai/Kimi-K2.5` | Kimi K2.5 | text, image | 262,144 | Model domyślny; reasoning włączone |
|
||||
| `together/zai-org/GLM-4.7` | GLM 4.7 Fp8 | text | 202,752 | Model tekstowy ogólnego przeznaczenia |
|
||||
| `together/meta-llama/Llama-3.3-70B-Instruct-Turbo` | Llama 3.3 70B Instruct Turbo | text | 131,072 | Szybki model instrukcyjny |
|
||||
| `together/meta-llama/Llama-4-Scout-17B-16E-Instruct` | Llama 4 Scout 17B 16E Instruct | text, image | 10,000,000 | Multimodalny |
|
||||
| `together/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8` | Llama 4 Maverick 17B 128E Instruct FP8 | text, image | 20,000,000 | Multimodalny |
|
||||
| `together/deepseek-ai/DeepSeek-V3.1` | DeepSeek V3.1 | text | 131,072 | Ogólny model tekstowy |
|
||||
| `together/deepseek-ai/DeepSeek-R1` | DeepSeek R1 | text | 131,072 | Model reasoning |
|
||||
| `together/moonshotai/Kimi-K2-Instruct-0905` | Kimi K2-Instruct 0905 | text | 262,144 | Dodatkowy model tekstowy Kimi |
|
||||
|
||||
## Generowanie wideo
|
||||
|
||||
Wbudowany plugin `together` rejestruje także generowanie wideo przez
|
||||
Dołączony Plugin `together` rejestruje również generowanie wideo przez
|
||||
współdzielone narzędzie `video_generate`.
|
||||
|
||||
- Domyślny model wideo: `together/Wan-AI/Wan2.2-T2V-A14B`
|
||||
- Tryby: text-to-video oraz przepływy z pojedynczym obrazem referencyjnym
|
||||
- Obsługuje `aspectRatio` i `resolution`
|
||||
| Właściwość | Wartość |
|
||||
| ------------------- | ------------------------------------ |
|
||||
| Domyślny model wideo| `together/Wan-AI/Wan2.2-T2V-A14B` |
|
||||
| Tryby | tekst na wideo, referencja pojedynczego obrazu |
|
||||
| Obsługiwane parametry | `aspectRatio`, `resolution` |
|
||||
|
||||
Aby używać Together jako domyślnego dostawcy wideo:
|
||||
|
||||
@ -99,5 +104,46 @@ Aby używać Together jako domyślnego dostawcy wideo:
|
||||
}
|
||||
```
|
||||
|
||||
Zobacz [Generowanie wideo](/tools/video-generation), aby poznać współdzielone
|
||||
parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
<Tip>
|
||||
Zobacz [Generowanie wideo](/pl/tools/video-generation), aby poznać wspólne parametry narzędzia,
|
||||
wybór dostawcy i zachowanie failover.
|
||||
</Tip>
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Uwaga o środowisku">
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że
|
||||
`TOGETHER_API_KEY` jest dostępne dla tego procesu (na przykład w
|
||||
`~/.openclaw/.env` albo przez `env.shellEnv`).
|
||||
|
||||
<Warning>
|
||||
Klucze ustawione tylko w Twojej interaktywnej powłoce nie są widoczne dla
|
||||
procesów gateway zarządzanych przez demona. Użyj `~/.openclaw/.env` albo konfiguracji `env.shellEnv`, aby
|
||||
zapewnić trwałą dostępność.
|
||||
</Warning>
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Rozwiązywanie problemów">
|
||||
- Sprawdź, czy Twój klucz działa: `openclaw models list --provider together`
|
||||
- Jeśli modele się nie pojawiają, potwierdź, że klucz API jest ustawiony we właściwym
|
||||
środowisku dla procesu Gateway.
|
||||
- Odwołania do modeli mają postać `together/<model-id>`.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Dostawcy modeli" href="/pl/concepts/model-providers" icon="layers">
|
||||
Zasady dostawców, odwołania do modeli i zachowanie failover.
|
||||
</Card>
|
||||
<Card title="Generowanie wideo" href="/pl/tools/video-generation" icon="video">
|
||||
Wspólne parametry narzędzia generowania wideo i wybór dostawcy.
|
||||
</Card>
|
||||
<Card title="Referencja konfiguracji" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełny schemat konfiguracji, w tym ustawienia dostawców.
|
||||
</Card>
|
||||
<Card title="Together AI" href="https://together.ai" icon="arrow-up-right-from-square">
|
||||
Dashboard Together AI, dokumentacja API i cennik.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,104 +1,108 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz korzystać z inferencji nastawionej na prywatność w OpenClaw
|
||||
- Chcesz uzyskać wskazówki konfiguracji Venice AI
|
||||
summary: Używanie modeli Venice AI nastawionych na prywatność w OpenClaw
|
||||
- Chcesz korzystać z inferencji skoncentrowanej na prywatności w OpenClaw
|
||||
- Potrzebujesz wskazówek dotyczących konfiguracji Venice AI
|
||||
summary: Używanie modeli Venice AI skoncentrowanych na prywatności w OpenClaw
|
||||
title: Venice AI
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:04:37Z"
|
||||
generated_at: "2026-04-12T23:33:17Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 53313e45e197880feb7e90764ee8fd6bb7f5fd4fe03af46b594201c77fbc8eab
|
||||
source_hash: 6f8005edb1d7781316ce8b5432bf4f9375c16113594a2a588912dce82234a9e5
|
||||
source_path: providers/venice.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Venice AI (wyróżniona konfiguracja Venice)
|
||||
# Venice AI
|
||||
|
||||
**Venice** to nasza wyróżniona konfiguracja Venice do inferencji nastawionej na prywatność, z opcjonalnym anonimizowanym dostępem do modeli własnościowych.
|
||||
|
||||
Venice AI zapewnia inferencję AI skoncentrowaną na prywatności, z obsługą modeli bez cenzury i dostępem do głównych modeli własnościowych przez ich anonimizowane proxy. Cała inferencja jest domyślnie prywatna — brak trenowania na Twoich danych, brak logowania.
|
||||
Venice AI zapewnia **inferencję AI skoncentrowaną na prywatności** z obsługą nieocenzurowanych modeli oraz dostępem do głównych modeli zamkniętych przez ich anonimizujące proxy. Cała inferencja jest domyślnie prywatna — bez trenowania na Twoich danych i bez logowania.
|
||||
|
||||
## Dlaczego Venice w OpenClaw
|
||||
|
||||
- **Prywatna inferencja** dla modeli open source (bez logowania).
|
||||
- **Modele bez cenzury**, gdy ich potrzebujesz.
|
||||
- **Anonimizowany dostęp** do modeli własnościowych (Opus/GPT/Gemini), gdy liczy się jakość.
|
||||
- **Nieocenzurowane modele**, gdy ich potrzebujesz.
|
||||
- **Anonimizowany dostęp** do modeli zamkniętych (Opus/GPT/Gemini), gdy liczy się jakość.
|
||||
- Endpointy `/v1` zgodne z OpenAI.
|
||||
|
||||
## Tryby prywatności
|
||||
|
||||
Venice oferuje dwa poziomy prywatności — zrozumienie tego ma kluczowe znaczenie przy wyborze modelu:
|
||||
Venice oferuje dwa poziomy prywatności — zrozumienie tej różnicy jest kluczowe przy wyborze modelu:
|
||||
|
||||
| Tryb | Opis | Modele |
|
||||
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
|
||||
| **Prywatny** | W pełni prywatny. Prompty/odpowiedzi **nigdy nie są przechowywane ani logowane**. Efemeryczny. | Llama, Qwen, DeepSeek, Kimi, MiniMax, Venice Uncensored itd. |
|
||||
| **Anonimizowany** | Przekazywany przez Venice z usuniętymi metadanymi. Bazowy dostawca (OpenAI, Anthropic, Google, xAI) widzi anonimizowane żądania. | Claude, GPT, Gemini, Grok |
|
||||
| Tryb | Opis | Modele |
|
||||
| --------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
|
||||
| **Prywatny** | W pełni prywatny. Prompty/odpowiedzi **nigdy nie są przechowywane ani logowane**. Efemeryczny. | Llama, Qwen, DeepSeek, Kimi, MiniMax, Venice Uncensored itd. |
|
||||
| **Anonimizowany** | Przekazywany przez Venice z usuniętymi metadanymi. Bazowy dostawca (OpenAI, Anthropic, Google, xAI) widzi zanonimizowane żądania. | Claude, GPT, Gemini, Grok |
|
||||
|
||||
<Warning>
|
||||
Modele anonimizowane **nie są** w pełni prywatne. Venice usuwa metadane przed przekazaniem dalej, ale bazowy dostawca (OpenAI, Anthropic, Google, xAI) nadal przetwarza żądanie. Wybieraj modele **Prywatne**, gdy wymagana jest pełna prywatność.
|
||||
</Warning>
|
||||
|
||||
## Funkcje
|
||||
|
||||
- **Nastawienie na prywatność**: wybór między trybami „private” (w pełni prywatny) i „anonymized” (przez proxy)
|
||||
- **Modele bez cenzury**: dostęp do modeli bez ograniczeń treści
|
||||
- **Dostęp do głównych modeli**: używanie Claude, GPT, Gemini i Grok przez anonimizowane proxy Venice
|
||||
- **Podejście skoncentrowane na prywatności**: wybór między trybami „prywatnym” (w pełni prywatny) i „anonimizowanym” (przez proxy)
|
||||
- **Nieocenzurowane modele**: dostęp do modeli bez ograniczeń treści
|
||||
- **Dostęp do głównych modeli**: używaj Claude, GPT, Gemini i Grok przez anonimizujące proxy Venice
|
||||
- **API zgodne z OpenAI**: standardowe endpointy `/v1` dla łatwej integracji
|
||||
- **Strumieniowanie**: ✅ obsługiwane we wszystkich modelach
|
||||
- **Wywoływanie funkcji**: ✅ obsługiwane w wybranych modelach (sprawdź możliwości modelu)
|
||||
- **Vision**: ✅ obsługiwane w modelach z funkcją vision
|
||||
- **Brak sztywnych limitów szybkości**: przy skrajnym użyciu może być stosowane ograniczanie fair-use
|
||||
- **Streaming**: obsługiwany we wszystkich modelach
|
||||
- **Function calling**: obsługiwane w wybranych modelach (sprawdź możliwości modelu)
|
||||
- **Vision**: obsługiwane w modelach z możliwością vision
|
||||
- **Brak twardych limitów szybkości**: przy skrajnym użyciu może obowiązywać dławienie fair-use
|
||||
|
||||
## Konfiguracja
|
||||
## Pierwsze kroki
|
||||
|
||||
### 1. Pobierz klucz API
|
||||
<Steps>
|
||||
<Step title="Pobierz swój klucz API">
|
||||
1. Zarejestruj się na [venice.ai](https://venice.ai)
|
||||
2. Przejdź do **Settings > API Keys > Create new key**
|
||||
3. Skopiuj swój klucz API (format: `vapi_xxxxxxxxxxxx`)
|
||||
</Step>
|
||||
<Step title="Skonfiguruj OpenClaw">
|
||||
Wybierz preferowaną metodę konfiguracji:
|
||||
|
||||
1. Zarejestruj się na [venice.ai](https://venice.ai)
|
||||
2. Przejdź do **Settings → API Keys → Create new key**
|
||||
3. Skopiuj swój klucz API (format: `vapi_xxxxxxxxxxxx`)
|
||||
<Tabs>
|
||||
<Tab title="Interaktywnie (zalecane)">
|
||||
```bash
|
||||
openclaw onboard --auth-choice venice-api-key
|
||||
```
|
||||
|
||||
### 2. Skonfiguruj OpenClaw
|
||||
To:
|
||||
1. Poprosi o Twój klucz API (lub użyje istniejącego `VENICE_API_KEY`)
|
||||
2. Pokaże wszystkie dostępne modele Venice
|
||||
3. Pozwoli wybrać domyślny model
|
||||
4. Automatycznie skonfiguruje dostawcę
|
||||
</Tab>
|
||||
<Tab title="Zmienna środowiskowa">
|
||||
```bash
|
||||
export VENICE_API_KEY="vapi_xxxxxxxxxxxx"
|
||||
```
|
||||
</Tab>
|
||||
<Tab title="Nieinteraktywnie">
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--auth-choice venice-api-key \
|
||||
--venice-api-key "vapi_xxxxxxxxxxxx"
|
||||
```
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
**Opcja A: zmienna środowiskowa**
|
||||
|
||||
```bash
|
||||
export VENICE_API_KEY="vapi_xxxxxxxxxxxx"
|
||||
```
|
||||
|
||||
**Opcja B: konfiguracja interaktywna (zalecane)**
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice venice-api-key
|
||||
```
|
||||
|
||||
Spowoduje to:
|
||||
|
||||
1. Wyświetlenie prośby o klucz API (lub użycie istniejącego `VENICE_API_KEY`)
|
||||
2. Pokazanie wszystkich dostępnych modeli Venice
|
||||
3. Umożliwienie wyboru modelu domyślnego
|
||||
4. Automatyczne skonfigurowanie dostawcy
|
||||
|
||||
**Opcja C: tryb nieinteraktywny**
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--auth-choice venice-api-key \
|
||||
--venice-api-key "vapi_xxxxxxxxxxxx"
|
||||
```
|
||||
|
||||
### 3. Zweryfikuj konfigurację
|
||||
|
||||
```bash
|
||||
openclaw agent --model venice/kimi-k2-5 --message "Hello, are you working?"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Zweryfikuj konfigurację">
|
||||
```bash
|
||||
openclaw agent --model venice/kimi-k2-5 --message "Hello, are you working?"
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Wybór modelu
|
||||
|
||||
Po konfiguracji OpenClaw pokazuje wszystkie dostępne modele Venice. Wybierz według swoich potrzeb:
|
||||
Po konfiguracji OpenClaw pokazuje wszystkie dostępne modele Venice. Wybierz je zależnie od swoich potrzeb:
|
||||
|
||||
- **Model domyślny**: `venice/kimi-k2-5` dla silnego prywatnego reasoning oraz vision.
|
||||
- **Opcja o wysokich możliwościach**: `venice/claude-opus-4-6` dla najmocniejszej anonimizowanej ścieżki Venice.
|
||||
- **Model domyślny**: `venice/kimi-k2-5` dla mocnego prywatnego rozumowania plus vision.
|
||||
- **Opcja o najwyższych możliwościach**: `venice/claude-opus-4-6` dla najmocniejszej anonimizowanej ścieżki Venice.
|
||||
- **Prywatność**: wybieraj modele „private” dla w pełni prywatnej inferencji.
|
||||
- **Możliwości**: wybieraj modele „anonymized”, aby uzyskać dostęp do Claude, GPT, Gemini przez proxy Venice.
|
||||
- **Możliwości**: wybieraj modele „anonymized”, aby uzyskać dostęp do Claude, GPT i Gemini przez proxy Venice.
|
||||
|
||||
W dowolnym momencie zmień model domyślny:
|
||||
W każdej chwili możesz zmienić swój domyślny model:
|
||||
|
||||
```bash
|
||||
openclaw models set venice/kimi-k2-5
|
||||
@ -111,107 +115,108 @@ Wyświetl wszystkie dostępne modele:
|
||||
openclaw models list | grep venice
|
||||
```
|
||||
|
||||
## Konfiguracja przez `openclaw configure`
|
||||
Możesz też uruchomić `openclaw configure`, wybrać **Model/auth** i następnie **Venice AI**.
|
||||
|
||||
1. Uruchom `openclaw configure`
|
||||
2. Wybierz **Model/auth**
|
||||
3. Wybierz **Venice AI**
|
||||
<Tip>
|
||||
Użyj poniższej tabeli, aby wybrać właściwy model do swojego zastosowania.
|
||||
|
||||
## Którego modelu powinienem używać?
|
||||
|
||||
| Przypadek użycia | Zalecany model | Dlaczego |
|
||||
| --------------------------- | -------------------------------- | --------------------------------------------- |
|
||||
| **Ogólny czat (domyślnie)** | `kimi-k2-5` | Silny prywatny reasoning oraz vision |
|
||||
| **Najlepsza ogólna jakość** | `claude-opus-4-6` | Najmocniejsza anonimizowana opcja Venice |
|
||||
| Zastosowanie | Zalecany model | Dlaczego |
|
||||
| --------------------------- | -------------------------------- | -------------------------------------------- |
|
||||
| **Ogólny czat (domyślnie)** | `kimi-k2-5` | Mocne prywatne rozumowanie plus vision |
|
||||
| **Najlepsza ogólna jakość** | `claude-opus-4-6` | Najmocniejsza anonimizowana opcja Venice |
|
||||
| **Prywatność + kodowanie** | `qwen3-coder-480b-a35b-instruct` | Prywatny model do kodowania z dużym kontekstem |
|
||||
| **Prywatne vision** | `kimi-k2-5` | Obsługa vision bez opuszczania trybu prywatnego |
|
||||
| **Szybko i tanio** | `qwen3-4b` | Lekki model reasoning |
|
||||
| **Złożone prywatne zadania**| `deepseek-v3.2` | Silny reasoning, ale bez obsługi narzędzi Venice |
|
||||
| **Bez cenzury** | `venice-uncensored` | Brak ograniczeń treści |
|
||||
| **Szybko i tanio** | `qwen3-4b` | Lekki model rozumujący |
|
||||
| **Złożone zadania prywatne**| `deepseek-v3.2` | Mocne rozumowanie, ale bez obsługi narzędzi Venice |
|
||||
| **Nieocenzurowany** | `venice-uncensored` | Bez ograniczeń treści |
|
||||
|
||||
</Tip>
|
||||
|
||||
## Dostępne modele (łącznie 41)
|
||||
|
||||
### Modele prywatne (26) — w pełni prywatne, bez logowania
|
||||
<AccordionGroup>
|
||||
<Accordion title="Modele prywatne (26) — w pełni prywatne, bez logowania">
|
||||
| ID modelu | Nazwa | Kontekst | Funkcje |
|
||||
| -------------------------------------- | ----------------------------------- | -------- | -------------------------- |
|
||||
| `kimi-k2-5` | Kimi K2.5 | 256k | Domyślny, rozumowanie, vision |
|
||||
| `kimi-k2-thinking` | Kimi K2 Thinking | 256k | Rozumowanie |
|
||||
| `llama-3.3-70b` | Llama 3.3 70B | 128k | Ogólne |
|
||||
| `llama-3.2-3b` | Llama 3.2 3B | 128k | Ogólne |
|
||||
| `hermes-3-llama-3.1-405b` | Hermes 3 Llama 3.1 405B | 128k | Ogólne, narzędzia wyłączone |
|
||||
| `qwen3-235b-a22b-thinking-2507` | Qwen3 235B Thinking | 128k | Rozumowanie |
|
||||
| `qwen3-235b-a22b-instruct-2507` | Qwen3 235B Instruct | 128k | Ogólne |
|
||||
| `qwen3-coder-480b-a35b-instruct` | Qwen3 Coder 480B | 256k | Kodowanie |
|
||||
| `qwen3-coder-480b-a35b-instruct-turbo` | Qwen3 Coder 480B Turbo | 256k | Kodowanie |
|
||||
| `qwen3-5-35b-a3b` | Qwen3.5 35B A3B | 256k | Rozumowanie, vision |
|
||||
| `qwen3-next-80b` | Qwen3 Next 80B | 256k | Ogólne |
|
||||
| `qwen3-vl-235b-a22b` | Qwen3 VL 235B (Vision) | 256k | Vision |
|
||||
| `qwen3-4b` | Venice Small (Qwen3 4B) | 32k | Szybki, rozumowanie |
|
||||
| `deepseek-v3.2` | DeepSeek V3.2 | 160k | Rozumowanie, narzędzia wyłączone |
|
||||
| `venice-uncensored` | Venice Uncensored (Dolphin-Mistral) | 32k | Nieocenzurowany, narzędzia wyłączone |
|
||||
| `mistral-31-24b` | Venice Medium (Mistral) | 128k | Vision |
|
||||
| `google-gemma-3-27b-it` | Google Gemma 3 27B Instruct | 198k | Vision |
|
||||
| `openai-gpt-oss-120b` | OpenAI GPT OSS 120B | 128k | Ogólne |
|
||||
| `nvidia-nemotron-3-nano-30b-a3b` | NVIDIA Nemotron 3 Nano 30B | 128k | Ogólne |
|
||||
| `olafangensan-glm-4.7-flash-heretic` | GLM 4.7 Flash Heretic | 128k | Rozumowanie |
|
||||
| `zai-org-glm-4.6` | GLM 4.6 | 198k | Ogólne |
|
||||
| `zai-org-glm-4.7` | GLM 4.7 | 198k | Rozumowanie |
|
||||
| `zai-org-glm-4.7-flash` | GLM 4.7 Flash | 128k | Rozumowanie |
|
||||
| `zai-org-glm-5` | GLM 5 | 198k | Rozumowanie |
|
||||
| `minimax-m21` | MiniMax M2.1 | 198k | Rozumowanie |
|
||||
| `minimax-m25` | MiniMax M2.5 | 198k | Rozumowanie |
|
||||
</Accordion>
|
||||
|
||||
| Model ID | Nazwa | Kontekst | Funkcje |
|
||||
| -------------------------------------- | ----------------------------------- | -------- | -------------------------- |
|
||||
| `kimi-k2-5` | Kimi K2.5 | 256k | Domyślny, reasoning, vision |
|
||||
| `kimi-k2-thinking` | Kimi K2 Thinking | 256k | Reasoning |
|
||||
| `llama-3.3-70b` | Llama 3.3 70B | 128k | Ogólne |
|
||||
| `llama-3.2-3b` | Llama 3.2 3B | 128k | Ogólne |
|
||||
| `hermes-3-llama-3.1-405b` | Hermes 3 Llama 3.1 405B | 128k | Ogólne, narzędzia wyłączone |
|
||||
| `qwen3-235b-a22b-thinking-2507` | Qwen3 235B Thinking | 128k | Reasoning |
|
||||
| `qwen3-235b-a22b-instruct-2507` | Qwen3 235B Instruct | 128k | Ogólne |
|
||||
| `qwen3-coder-480b-a35b-instruct` | Qwen3 Coder 480B | 256k | Kodowanie |
|
||||
| `qwen3-coder-480b-a35b-instruct-turbo` | Qwen3 Coder 480B Turbo | 256k | Kodowanie |
|
||||
| `qwen3-5-35b-a3b` | Qwen3.5 35B A3B | 256k | Reasoning, vision |
|
||||
| `qwen3-next-80b` | Qwen3 Next 80B | 256k | Ogólne |
|
||||
| `qwen3-vl-235b-a22b` | Qwen3 VL 235B (Vision) | 256k | Vision |
|
||||
| `qwen3-4b` | Venice Small (Qwen3 4B) | 32k | Szybki, reasoning |
|
||||
| `deepseek-v3.2` | DeepSeek V3.2 | 160k | Reasoning, narzędzia wyłączone |
|
||||
| `venice-uncensored` | Venice Uncensored (Dolphin-Mistral) | 32k | Bez cenzury, narzędzia wyłączone |
|
||||
| `mistral-31-24b` | Venice Medium (Mistral) | 128k | Vision |
|
||||
| `google-gemma-3-27b-it` | Google Gemma 3 27B Instruct | 198k | Vision |
|
||||
| `openai-gpt-oss-120b` | OpenAI GPT OSS 120B | 128k | Ogólne |
|
||||
| `nvidia-nemotron-3-nano-30b-a3b` | NVIDIA Nemotron 3 Nano 30B | 128k | Ogólne |
|
||||
| `olafangensan-glm-4.7-flash-heretic` | GLM 4.7 Flash Heretic | 128k | Reasoning |
|
||||
| `zai-org-glm-4.6` | GLM 4.6 | 198k | Ogólne |
|
||||
| `zai-org-glm-4.7` | GLM 4.7 | 198k | Reasoning |
|
||||
| `zai-org-glm-4.7-flash` | GLM 4.7 Flash | 128k | Reasoning |
|
||||
| `zai-org-glm-5` | GLM 5 | 198k | Reasoning |
|
||||
| `minimax-m21` | MiniMax M2.1 | 198k | Reasoning |
|
||||
| `minimax-m25` | MiniMax M2.5 | 198k | Reasoning |
|
||||
|
||||
### Modele anonimizowane (15) — przez proxy Venice
|
||||
|
||||
| Model ID | Nazwa | Kontekst | Funkcje |
|
||||
| ------------------------------- | ------------------------------ | -------- | -------------------------- |
|
||||
| `claude-opus-4-6` | Claude Opus 4.6 (przez Venice) | 1M | Reasoning, vision |
|
||||
| `claude-opus-4-5` | Claude Opus 4.5 (przez Venice) | 198k | Reasoning, vision |
|
||||
| `claude-sonnet-4-6` | Claude Sonnet 4.6 (przez Venice) | 1M | Reasoning, vision |
|
||||
| `claude-sonnet-4-5` | Claude Sonnet 4.5 (przez Venice) | 198k | Reasoning, vision |
|
||||
| `openai-gpt-54` | GPT-5.4 (przez Venice) | 1M | Reasoning, vision |
|
||||
| `openai-gpt-53-codex` | GPT-5.3 Codex (przez Venice) | 400k | Reasoning, vision, kodowanie |
|
||||
| `openai-gpt-52` | GPT-5.2 (przez Venice) | 256k | Reasoning |
|
||||
| `openai-gpt-52-codex` | GPT-5.2 Codex (przez Venice) | 256k | Reasoning, vision, kodowanie |
|
||||
| `openai-gpt-4o-2024-11-20` | GPT-4o (przez Venice) | 128k | Vision |
|
||||
| `openai-gpt-4o-mini-2024-07-18` | GPT-4o Mini (przez Venice) | 128k | Vision |
|
||||
| `gemini-3-1-pro-preview` | Gemini 3.1 Pro (przez Venice) | 1M | Reasoning, vision |
|
||||
| `gemini-3-pro-preview` | Gemini 3 Pro (przez Venice) | 198k | Reasoning, vision |
|
||||
| `gemini-3-flash-preview` | Gemini 3 Flash (przez Venice) | 256k | Reasoning, vision |
|
||||
| `grok-41-fast` | Grok 4.1 Fast (przez Venice) | 1M | Reasoning, vision |
|
||||
| `grok-code-fast-1` | Grok Code Fast 1 (przez Venice) | 256k | Reasoning, kodowanie |
|
||||
<Accordion title="Modele anonimizowane (15) — przez proxy Venice">
|
||||
| ID modelu | Nazwa | Kontekst | Funkcje |
|
||||
| ------------------------------- | ------------------------------ | -------- | -------------------------- |
|
||||
| `claude-opus-4-6` | Claude Opus 4.6 (przez Venice) | 1M | Rozumowanie, vision |
|
||||
| `claude-opus-4-5` | Claude Opus 4.5 (przez Venice) | 198k | Rozumowanie, vision |
|
||||
| `claude-sonnet-4-6` | Claude Sonnet 4.6 (przez Venice) | 1M | Rozumowanie, vision |
|
||||
| `claude-sonnet-4-5` | Claude Sonnet 4.5 (przez Venice) | 198k | Rozumowanie, vision |
|
||||
| `openai-gpt-54` | GPT-5.4 (przez Venice) | 1M | Rozumowanie, vision |
|
||||
| `openai-gpt-53-codex` | GPT-5.3 Codex (przez Venice) | 400k | Rozumowanie, vision, kodowanie |
|
||||
| `openai-gpt-52` | GPT-5.2 (przez Venice) | 256k | Rozumowanie |
|
||||
| `openai-gpt-52-codex` | GPT-5.2 Codex (przez Venice) | 256k | Rozumowanie, vision, kodowanie |
|
||||
| `openai-gpt-4o-2024-11-20` | GPT-4o (przez Venice) | 128k | Vision |
|
||||
| `openai-gpt-4o-mini-2024-07-18` | GPT-4o Mini (przez Venice) | 128k | Vision |
|
||||
| `gemini-3-1-pro-preview` | Gemini 3.1 Pro (przez Venice) | 1M | Rozumowanie, vision |
|
||||
| `gemini-3-pro-preview` | Gemini 3 Pro (przez Venice) | 198k | Rozumowanie, vision |
|
||||
| `gemini-3-flash-preview` | Gemini 3 Flash (przez Venice) | 256k | Rozumowanie, vision |
|
||||
| `grok-41-fast` | Grok 4.1 Fast (przez Venice) | 1M | Rozumowanie, vision |
|
||||
| `grok-code-fast-1` | Grok Code Fast 1 (przez Venice)| 256k | Rozumowanie, kodowanie |
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Wykrywanie modeli
|
||||
|
||||
OpenClaw automatycznie wykrywa modele z API Venice, gdy ustawione jest `VENICE_API_KEY`. Jeśli API jest nieosiągalne, następuje powrót do statycznego katalogu.
|
||||
OpenClaw automatycznie wykrywa modele z API Venice, gdy ustawione jest `VENICE_API_KEY`. Jeśli API jest nieosiągalne, następuje fallback do statycznego katalogu.
|
||||
|
||||
Endpoint `/models` jest publiczny (do wyświetlania listy nie jest wymagane uwierzytelnianie), ale inferencja wymaga prawidłowego klucza API.
|
||||
Endpoint `/models` jest publiczny (nie wymaga uwierzytelniania do listowania), ale inferencja wymaga prawidłowego klucza API.
|
||||
|
||||
## Strumieniowanie i obsługa narzędzi
|
||||
## Streaming i obsługa narzędzi
|
||||
|
||||
| Funkcja | Obsługa |
|
||||
| -------------------- | ---------------------------------------------------------- |
|
||||
| **Strumieniowanie** | ✅ Wszystkie modele |
|
||||
| **Wywoływanie funkcji** | ✅ Większość modeli (sprawdź `supportsFunctionCalling` w API) |
|
||||
| **Vision/obrazy** | ✅ Modele oznaczone funkcją „Vision” |
|
||||
| **Tryb JSON** | ✅ Obsługiwany przez `response_format` |
|
||||
| Funkcja | Obsługa |
|
||||
| -------------------- | ---------------------------------------------------- |
|
||||
| **Streaming** | Wszystkie modele |
|
||||
| **Function calling** | Większość modeli (sprawdź `supportsFunctionCalling` w API) |
|
||||
| **Vision/Images** | Modele oznaczone funkcją „Vision” |
|
||||
| **Tryb JSON** | Obsługiwany przez `response_format` |
|
||||
|
||||
## Ceny
|
||||
|
||||
Venice używa systemu opartego na kredytach. Sprawdź [venice.ai/pricing](https://venice.ai/pricing), aby zobaczyć aktualne stawki:
|
||||
Venice używa systemu opartego na kredytach. Aktualne stawki sprawdzisz na [venice.ai/pricing](https://venice.ai/pricing):
|
||||
|
||||
- **Modele prywatne**: zazwyczaj niższy koszt
|
||||
- **Modele anonimizowane**: podobne do bezpośrednich cen API + niewielka opłata Venice
|
||||
- **Modele anonimizowane**: ceny zbliżone do bezpośredniego API + niewielka opłata Venice
|
||||
|
||||
## Porównanie: Venice vs bezpośrednie API
|
||||
### Venice (anonimizowane) vs bezpośrednie API
|
||||
|
||||
| Aspekt | Venice (anonimizowane) | Bezpośrednie API |
|
||||
| ------------- | ------------------------------- | ---------------------- |
|
||||
| **Prywatność** | Metadane usunięte, anonimizacja | Twoje konto jest powiązane |
|
||||
| **Opóźnienie** | +10-50ms (proxy) | Bezpośrednio |
|
||||
| **Funkcje** | Większość funkcji obsługiwana | Pełne funkcje |
|
||||
| **Rozliczanie** | Kredyty Venice | Rozliczanie dostawcy |
|
||||
| Aspekt | Venice (anonimizowane) | Bezpośrednie API |
|
||||
| ------------ | ------------------------------ | ------------------- |
|
||||
| **Prywatność** | Metadane usunięte, anonimizacja | Twoje konto powiązane |
|
||||
| **Opóźnienie** | +10-50 ms (proxy) | Bezpośrednio |
|
||||
| **Funkcje** | Obsługiwana większość funkcji | Pełne funkcje |
|
||||
| **Rozliczenia**| Kredyty Venice | Rozliczenia dostawcy |
|
||||
|
||||
## Przykłady użycia
|
||||
|
||||
@ -222,7 +227,7 @@ openclaw agent --model venice/kimi-k2-5 --message "Quick health check"
|
||||
# Użyj Claude Opus przez Venice (anonimizowane)
|
||||
openclaw agent --model venice/claude-opus-4-6 --message "Summarize this task"
|
||||
|
||||
# Użyj modelu bez cenzury
|
||||
# Użyj nieocenzurowanego modelu
|
||||
openclaw agent --model venice/venice-uncensored --message "Draft options"
|
||||
|
||||
# Użyj modelu vision z obrazem
|
||||
@ -234,56 +239,77 @@ openclaw agent --model venice/qwen3-coder-480b-a35b-instruct --message "Refactor
|
||||
|
||||
## Rozwiązywanie problemów
|
||||
|
||||
### Klucz API nie jest rozpoznawany
|
||||
<AccordionGroup>
|
||||
<Accordion title="Klucz API nie jest rozpoznawany">
|
||||
```bash
|
||||
echo $VENICE_API_KEY
|
||||
openclaw models list | grep venice
|
||||
```
|
||||
|
||||
```bash
|
||||
echo $VENICE_API_KEY
|
||||
openclaw models list | grep venice
|
||||
```
|
||||
Upewnij się, że klucz zaczyna się od `vapi_`.
|
||||
|
||||
Upewnij się, że klucz zaczyna się od `vapi_`.
|
||||
</Accordion>
|
||||
|
||||
### Model jest niedostępny
|
||||
<Accordion title="Model jest niedostępny">
|
||||
Katalog modeli Venice aktualizuje się dynamicznie. Uruchom `openclaw models list`, aby zobaczyć aktualnie dostępne modele. Niektóre modele mogą być tymczasowo offline.
|
||||
</Accordion>
|
||||
|
||||
Katalog modeli Venice jest aktualizowany dynamicznie. Uruchom `openclaw models list`, aby zobaczyć aktualnie dostępne modele. Niektóre modele mogą być tymczasowo offline.
|
||||
<Accordion title="Problemy z połączeniem">
|
||||
API Venice znajduje się pod adresem `https://api.venice.ai/api/v1`. Upewnij się, że Twoja sieć pozwala na połączenia HTTPS.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### Problemy z połączeniem
|
||||
<Note>
|
||||
Więcej pomocy: [Rozwiązywanie problemów](/pl/help/troubleshooting) i [FAQ](/pl/help/faq).
|
||||
</Note>
|
||||
|
||||
API Venice znajduje się pod adresem `https://api.venice.ai/api/v1`. Upewnij się, że Twoja sieć zezwala na połączenia HTTPS.
|
||||
## Konfiguracja zaawansowana
|
||||
|
||||
## Przykład pliku konfiguracyjnego
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { VENICE_API_KEY: "vapi_..." },
|
||||
agents: { defaults: { model: { primary: "venice/kimi-k2-5" } } },
|
||||
models: {
|
||||
mode: "merge",
|
||||
providers: {
|
||||
venice: {
|
||||
baseUrl: "https://api.venice.ai/api/v1",
|
||||
apiKey: "${VENICE_API_KEY}",
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "kimi-k2-5",
|
||||
name: "Kimi K2.5",
|
||||
reasoning: true,
|
||||
input: ["text", "image"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 256000,
|
||||
maxTokens: 65536,
|
||||
<AccordionGroup>
|
||||
<Accordion title="Przykład pliku konfiguracyjnego">
|
||||
```json5
|
||||
{
|
||||
env: { VENICE_API_KEY: "vapi_..." },
|
||||
agents: { defaults: { model: { primary: "venice/kimi-k2-5" } } },
|
||||
models: {
|
||||
mode: "merge",
|
||||
providers: {
|
||||
venice: {
|
||||
baseUrl: "https://api.venice.ai/api/v1",
|
||||
apiKey: "${VENICE_API_KEY}",
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "kimi-k2-5",
|
||||
name: "Kimi K2.5",
|
||||
reasoning: true,
|
||||
input: ["text", "image"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
contextWindow: 256000,
|
||||
maxTokens: 65536,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Linki
|
||||
## Powiązane
|
||||
|
||||
- [Venice AI](https://venice.ai)
|
||||
- [Dokumentacja API](https://docs.venice.ai)
|
||||
- [Cennik](https://venice.ai/pricing)
|
||||
- [Status](https://status.venice.ai)
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, referencji modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Venice AI" href="https://venice.ai" icon="globe">
|
||||
Strona główna Venice AI i rejestracja konta.
|
||||
</Card>
|
||||
<Card title="Dokumentacja API" href="https://docs.venice.ai" icon="book">
|
||||
Dokumentacja API Venice i materiały dla deweloperów.
|
||||
</Card>
|
||||
<Card title="Cennik" href="https://venice.ai/pricing" icon="credit-card">
|
||||
Aktualne stawki kredytowe i plany Venice.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,50 +1,72 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać Vercel AI Gateway z OpenClaw
|
||||
- Potrzebujesz zmiennej env klucza API albo opcji auth w CLI
|
||||
summary: Konfiguracja Vercel AI Gateway (auth + wybór modelu)
|
||||
- Potrzebujesz zmiennej środowiskowej klucza API lub opcji uwierzytelniania CLI
|
||||
summary: Konfiguracja Vercel AI Gateway (uwierzytelnianie + wybór modelu)
|
||||
title: Vercel AI Gateway
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:52Z"
|
||||
generated_at: "2026-04-12T23:33:30Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: f30768dc3db49708b25042d317906f7ad9a2c72b0fa03263bc04f5eefbf7a507
|
||||
source_hash: 48c206a645d7a62e201a35ae94232323c8570fdae63129231c38d363ea78a60b
|
||||
source_path: providers/vercel-ai-gateway.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Vercel AI Gateway
|
||||
|
||||
[Vercel AI Gateway](https://vercel.com/ai-gateway) zapewnia zunifikowane API do uzyskiwania dostępu do setek modeli przez jeden endpoint.
|
||||
[Vercel AI Gateway](https://vercel.com/ai-gateway) zapewnia ujednolicone API do
|
||||
uzyskiwania dostępu do setek modeli przez jeden endpoint.
|
||||
|
||||
- Provider: `vercel-ai-gateway`
|
||||
- Uwierzytelnianie: `AI_GATEWAY_API_KEY`
|
||||
- API: zgodne z Anthropic Messages
|
||||
- OpenClaw automatycznie wykrywa katalog Gateway `/v1/models`, więc `/models vercel-ai-gateway`
|
||||
zawiera bieżące referencje modeli, takie jak `vercel-ai-gateway/openai/gpt-5.4`.
|
||||
| Właściwość | Wartość |
|
||||
| ------------- | ------------------------------- |
|
||||
| Dostawca | `vercel-ai-gateway` |
|
||||
| Uwierzytelnianie | `AI_GATEWAY_API_KEY` |
|
||||
| API | zgodne z Anthropic Messages |
|
||||
| Katalog modeli | wykrywany automatycznie przez `/v1/models` |
|
||||
|
||||
## Szybki start
|
||||
<Tip>
|
||||
OpenClaw automatycznie wykrywa katalog Gateway `/v1/models`, więc
|
||||
`/models vercel-ai-gateway` zawiera aktualne odwołania do modeli, takie jak
|
||||
`vercel-ai-gateway/openai/gpt-5.4`.
|
||||
</Tip>
|
||||
|
||||
1. Ustaw klucz API (zalecane: zapisz go dla Gateway):
|
||||
## Pierwsze kroki
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice ai-gateway-api-key
|
||||
```
|
||||
<Steps>
|
||||
<Step title="Ustaw klucz API">
|
||||
Uruchom onboarding i wybierz opcję uwierzytelniania AI Gateway:
|
||||
|
||||
2. Ustaw model domyślny:
|
||||
```bash
|
||||
openclaw onboard --auth-choice ai-gateway-api-key
|
||||
```
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "vercel-ai-gateway/anthropic/claude-opus-4.6" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
Dodaj model do konfiguracji OpenClaw:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "vercel-ai-gateway/anthropic/claude-opus-4.6" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider vercel-ai-gateway
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Przykład nieinteraktywny
|
||||
|
||||
W przypadku konfiguracji skryptowych lub CI przekaż wszystkie wartości w wierszu poleceń:
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
--mode local \
|
||||
@ -52,16 +74,53 @@ openclaw onboard --non-interactive \
|
||||
--ai-gateway-api-key "$AI_GATEWAY_API_KEY"
|
||||
```
|
||||
|
||||
## Uwaga dotycząca środowiska
|
||||
## Skrócona postać identyfikatora modelu
|
||||
|
||||
Jeśli Gateway działa jako daemon (launchd/systemd), upewnij się, że `AI_GATEWAY_API_KEY`
|
||||
jest dostępny dla tego procesu (na przykład w `~/.openclaw/.env` albo przez
|
||||
`env.shellEnv`).
|
||||
OpenClaw akceptuje skrócone odwołania do modeli Vercel Claude i normalizuje je w
|
||||
runtime:
|
||||
|
||||
## Skrócony format ID modeli
|
||||
| Skrócone wejście | Znormalizowane odwołanie do modelu |
|
||||
| ------------------------------------ | --------------------------------------------- |
|
||||
| `vercel-ai-gateway/claude-opus-4.6` | `vercel-ai-gateway/anthropic/claude-opus-4.6` |
|
||||
| `vercel-ai-gateway/opus-4.6` | `vercel-ai-gateway/anthropic/claude-opus-4-6` |
|
||||
|
||||
OpenClaw akceptuje skrócone referencje modeli Claude w Vercel i normalizuje je
|
||||
w runtime:
|
||||
<Tip>
|
||||
W konfiguracji możesz używać zarówno skróconej postaci, jak i w pełni kwalifikowanego odwołania do modelu.
|
||||
OpenClaw automatycznie rozwiązuje formę kanoniczną.
|
||||
</Tip>
|
||||
|
||||
- `vercel-ai-gateway/claude-opus-4.6` -> `vercel-ai-gateway/anthropic/claude-opus-4.6`
|
||||
- `vercel-ai-gateway/opus-4.6` -> `vercel-ai-gateway/anthropic/claude-opus-4-6`
|
||||
## Uwagi zaawansowane
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Zmienna środowiskowa dla procesów demonów">
|
||||
Jeśli Gateway OpenClaw działa jako demon (launchd/systemd), upewnij się, że
|
||||
`AI_GATEWAY_API_KEY` jest dostępne dla tego procesu.
|
||||
|
||||
<Warning>
|
||||
Klucz ustawiony tylko w `~/.profile` nie będzie widoczny dla demona launchd/systemd,
|
||||
chyba że to środowisko zostanie jawnie zaimportowane. Ustaw klucz w
|
||||
`~/.openclaw/.env` lub przez `env.shellEnv`, aby proces gateway mógł go
|
||||
odczytać.
|
||||
</Warning>
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Routing dostawcy">
|
||||
Vercel AI Gateway kieruje żądania do dostawcy upstream na podstawie prefiksu
|
||||
odwołania do modelu. Na przykład `vercel-ai-gateway/anthropic/claude-opus-4.6` jest kierowane
|
||||
przez Anthropic, a `vercel-ai-gateway/openai/gpt-5.4` przez
|
||||
OpenAI. Pojedynczy `AI_GATEWAY_API_KEY` obsługuje uwierzytelnianie dla wszystkich
|
||||
dostawców upstream.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybieranie dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Rozwiązywanie problemów" href="/pl/help/troubleshooting" icon="wrench">
|
||||
Ogólne rozwiązywanie problemów i FAQ.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,67 +1,92 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz uruchomić OpenClaw z lokalnym serwerem vLLM
|
||||
- Chcesz używać punktów końcowych /v1 zgodnych z OpenAI z własnymi modelami
|
||||
- Chcesz używać endpointów `/v1` zgodnych z OpenAI z własnymi modelami
|
||||
summary: Uruchamiaj OpenClaw z vLLM (lokalny serwer zgodny z OpenAI)
|
||||
title: vLLM
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:04:09Z"
|
||||
generated_at: "2026-04-12T23:33:30Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: ebde34d0453586d10340680b8d51465fdc98bd28e8a96acfaeb24606886b50f4
|
||||
source_hash: a43be9ae879158fcd69d50fb3a47616fd560e3c6fe4ecb3a109bdda6a63a6a80
|
||||
source_path: providers/vllm.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# vLLM
|
||||
|
||||
vLLM może udostępniać modele open source (oraz niektóre modele niestandardowe) przez **interfejs HTTP zgodny z OpenAI**. OpenClaw może łączyć się z vLLM przy użyciu API `openai-completions`.
|
||||
vLLM może udostępniać modele open source (oraz niektóre niestandardowe) przez **API HTTP zgodne z OpenAI**. OpenClaw łączy się z vLLM przy użyciu API `openai-completions`.
|
||||
|
||||
OpenClaw może także **automatycznie wykrywać** dostępne modele z vLLM, jeśli włączysz to przez `VLLM_API_KEY` (dowolna wartość działa, jeśli serwer nie wymusza uwierzytelniania) i nie zdefiniujesz jawnego wpisu `models.providers.vllm`.
|
||||
OpenClaw może także **automatycznie wykrywać** dostępne modele z vLLM, gdy jawnie to włączysz przez `VLLM_API_KEY` (dowolna wartość działa, jeśli Twój serwer nie wymusza auth) i nie zdefiniujesz jawnego wpisu `models.providers.vllm`.
|
||||
|
||||
## Szybki start
|
||||
| Właściwość | Wartość |
|
||||
| --------------- | ---------------------------------------- |
|
||||
| ID dostawcy | `vllm` |
|
||||
| API | `openai-completions` (zgodne z OpenAI) |
|
||||
| Auth | zmienna środowiskowa `VLLM_API_KEY` |
|
||||
| Domyślny bazowy URL | `http://127.0.0.1:8000/v1` |
|
||||
|
||||
1. Uruchom vLLM z serwerem zgodnym z OpenAI.
|
||||
## Pierwsze kroki
|
||||
|
||||
Twój bazowy URL powinien udostępniać punkty końcowe `/v1` (na przykład `/v1/models`, `/v1/chat/completions`). vLLM zwykle działa pod adresem:
|
||||
<Steps>
|
||||
<Step title="Uruchom vLLM z serwerem zgodnym z OpenAI">
|
||||
Twój bazowy URL powinien udostępniać endpointy `/v1` (np. `/v1/models`, `/v1/chat/completions`). vLLM często działa pod adresem:
|
||||
|
||||
- `http://127.0.0.1:8000/v1`
|
||||
```
|
||||
http://127.0.0.1:8000/v1
|
||||
```
|
||||
|
||||
2. Włącz to jawnie (dowolna wartość działa, jeśli uwierzytelnianie nie jest skonfigurowane):
|
||||
</Step>
|
||||
<Step title="Ustaw zmienną środowiskową klucza API">
|
||||
Dowolna wartość działa, jeśli Twój serwer nie wymusza auth:
|
||||
|
||||
```bash
|
||||
export VLLM_API_KEY="vllm-local"
|
||||
```
|
||||
```bash
|
||||
export VLLM_API_KEY="vllm-local"
|
||||
```
|
||||
|
||||
3. Wybierz model (zastąp jednym z identyfikatorów modeli vLLM):
|
||||
</Step>
|
||||
<Step title="Wybierz model">
|
||||
Zastąp jedną z wartości identyfikatorem modelu z vLLM:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "vllm/your-model-id" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "vllm/your-model-id" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider vllm
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Wykrywanie modeli (niejawny dostawca)
|
||||
|
||||
Gdy `VLLM_API_KEY` jest ustawione (lub istnieje profil uwierzytelniania) i **nie** definiujesz `models.providers.vllm`, OpenClaw wykona zapytanie:
|
||||
Gdy `VLLM_API_KEY` jest ustawione (albo istnieje profil auth) i **nie** zdefiniujesz `models.providers.vllm`, OpenClaw wykonuje zapytanie:
|
||||
|
||||
- `GET http://127.0.0.1:8000/v1/models`
|
||||
```
|
||||
GET http://127.0.0.1:8000/v1/models
|
||||
```
|
||||
|
||||
…i przekształci zwrócone identyfikatory w wpisy modeli.
|
||||
i przekształca zwrócone identyfikatory w wpisy modeli.
|
||||
|
||||
<Note>
|
||||
Jeśli jawnie ustawisz `models.providers.vllm`, automatyczne wykrywanie zostanie pominięte i musisz ręcznie zdefiniować modele.
|
||||
</Note>
|
||||
|
||||
## Jawna konfiguracja (modele ręczne)
|
||||
|
||||
Użyj jawnej konfiguracji, gdy:
|
||||
|
||||
- vLLM działa na innym hoście/porcie.
|
||||
- Chcesz przypiąć wartości `contextWindow`/`maxTokens`.
|
||||
- Twój serwer wymaga prawdziwego klucza API (albo chcesz kontrolować nagłówki).
|
||||
- vLLM działa na innym hoście lub porcie
|
||||
- Chcesz przypiąć wartości `contextWindow` lub `maxTokens`
|
||||
- Twój serwer wymaga prawdziwego klucza API (albo chcesz kontrolować nagłówki)
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -74,7 +99,7 @@ Użyj jawnej konfiguracji, gdy:
|
||||
models: [
|
||||
{
|
||||
id: "your-model-id",
|
||||
name: "Local vLLM Model",
|
||||
name: "Lokalny model vLLM",
|
||||
reasoning: false,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
@ -88,23 +113,99 @@ Użyj jawnej konfiguracji, gdy:
|
||||
}
|
||||
```
|
||||
|
||||
## Uwagi zaawansowane
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Zachowanie w stylu proxy">
|
||||
vLLM jest traktowany jako backend `/v1` zgodny z OpenAI w stylu proxy, a nie natywny
|
||||
endpoint OpenAI. Oznacza to, że:
|
||||
|
||||
| Zachowanie | Stosowane? |
|
||||
|----------|----------|
|
||||
| Natywne kształtowanie żądań OpenAI | Nie |
|
||||
| `service_tier` | Nie jest wysyłane |
|
||||
| `store` w Responses | Nie jest wysyłane |
|
||||
| Wskazówki prompt-cache | Nie są wysyłane |
|
||||
| Kształtowanie payloadów zgodności reasoning OpenAI | Nie jest stosowane |
|
||||
| Ukryte nagłówki atrybucji OpenClaw | Nie są wstrzykiwane przy niestandardowych bazowych URL-ach |
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Niestandardowy bazowy URL">
|
||||
Jeśli Twój serwer vLLM działa na niestandardowym hoście lub porcie, ustaw `baseUrl` w jawnej konfiguracji dostawcy:
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
providers: {
|
||||
vllm: {
|
||||
baseUrl: "http://192.168.1.50:9000/v1",
|
||||
apiKey: "${VLLM_API_KEY}",
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "my-custom-model",
|
||||
name: "Zdalny model vLLM",
|
||||
reasoning: false,
|
||||
input: ["text"],
|
||||
contextWindow: 64000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Rozwiązywanie problemów
|
||||
|
||||
- Sprawdź, czy serwer jest osiągalny:
|
||||
<AccordionGroup>
|
||||
<Accordion title="Nie można połączyć się z serwerem">
|
||||
Sprawdź, czy serwer vLLM działa i jest dostępny:
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:8000/v1/models
|
||||
```
|
||||
```bash
|
||||
curl http://127.0.0.1:8000/v1/models
|
||||
```
|
||||
|
||||
- Jeśli żądania kończą się błędami uwierzytelniania, ustaw prawdziwe `VLLM_API_KEY`, zgodne z konfiguracją serwera, albo skonfiguruj dostawcę jawnie pod `models.providers.vllm`.
|
||||
Jeśli widzisz błąd połączenia, sprawdź host, port oraz czy vLLM uruchomiono w trybie serwera zgodnego z OpenAI.
|
||||
|
||||
## Zachowanie w stylu proxy
|
||||
</Accordion>
|
||||
|
||||
vLLM jest traktowane jako backend `/v1` zgodny z OpenAI w stylu proxy, a nie jako natywny
|
||||
punkt końcowy OpenAI.
|
||||
<Accordion title="Błędy auth przy żądaniach">
|
||||
Jeśli żądania kończą się błędami auth, ustaw prawdziwe `VLLM_API_KEY`, które odpowiada konfiguracji serwera, albo skonfiguruj dostawcę jawnie pod `models.providers.vllm`.
|
||||
|
||||
- natywne formatowanie żądań przeznaczone wyłącznie dla OpenAI nie ma tutaj zastosowania
|
||||
- brak `service_tier`, brak Responses `store`, brak wskazówek pamięci podręcznej promptów i brak
|
||||
formatowania ładunku zgodności rozumowania OpenAI
|
||||
- ukryte nagłówki atrybucji OpenClaw (`originator`, `version`, `User-Agent`)
|
||||
nie są wstrzykiwane dla niestandardowych bazowych URL-i vLLM
|
||||
<Tip>
|
||||
Jeśli Twój serwer vLLM nie wymusza auth, dowolna niepusta wartość `VLLM_API_KEY` działa jako sygnał jawnego włączenia dla OpenClaw.
|
||||
</Tip>
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Nie wykryto modeli">
|
||||
Automatyczne wykrywanie wymaga, aby `VLLM_API_KEY` było ustawione **oraz** żeby nie istniał jawny wpis konfiguracji `models.providers.vllm`. Jeśli dostawcę zdefiniowano ręcznie, OpenClaw pomija wykrywanie i używa tylko zadeklarowanych modeli.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
<Warning>
|
||||
Więcej pomocy: [Rozwiązywanie problemów](/pl/help/troubleshooting) i [FAQ](/pl/help/faq).
|
||||
</Warning>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="OpenAI" href="/pl/providers/openai" icon="bolt">
|
||||
Natywny dostawca OpenAI i zachowanie tras zgodnych z OpenAI.
|
||||
</Card>
|
||||
<Card title="OAuth i auth" href="/pl/gateway/authentication" icon="key">
|
||||
Szczegóły auth i zasady ponownego użycia poświadczeń.
|
||||
</Card>
|
||||
<Card title="Rozwiązywanie problemów" href="/pl/help/troubleshooting" icon="wrench">
|
||||
Typowe problemy i sposoby ich rozwiązania.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,49 +1,63 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać Volcano Engine lub modeli Doubao z OpenClaw
|
||||
- Chcesz używać modeli Volcano Engine lub Doubao z OpenClaw
|
||||
- Potrzebujesz konfiguracji klucza API Volcengine
|
||||
summary: Konfiguracja Volcano Engine (modele Doubao, endpointy ogólne i do kodowania)
|
||||
summary: Konfiguracja Volcano Engine (modele Doubao, endpointy ogólne + do kodowania)
|
||||
title: Volcengine (Doubao)
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:04:09Z"
|
||||
generated_at: "2026-04-12T23:33:36Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 85d9e737e906cd705fb31479d6b78d92b68c9218795ea9667516c1571dcaaf3a
|
||||
source_hash: a21f390da719f79c88c6d55a7d952d35c2ce5ff26d910c9f10020132cd7d2f4c
|
||||
source_path: providers/volcengine.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Volcengine (Doubao)
|
||||
|
||||
Provider Volcengine zapewnia dostęp do modeli Doubao i modeli innych firm
|
||||
hostowanych w Volcano Engine, z oddzielnymi endpointami dla ogólnych
|
||||
obciążeń i zadań związanych z kodowaniem.
|
||||
Dostawca Volcengine zapewnia dostęp do modeli Doubao i modeli zewnętrznych
|
||||
hostowanych na Volcano Engine, z oddzielnymi endpointami dla obciążeń ogólnych i związanych z kodowaniem.
|
||||
|
||||
- Providery: `volcengine` (ogólny) + `volcengine-plan` (kodowanie)
|
||||
- Uwierzytelnianie: `VOLCANO_ENGINE_API_KEY`
|
||||
- API: zgodne z OpenAI
|
||||
| Szczegół | Wartość |
|
||||
| ---------- | --------------------------------------------------- |
|
||||
| Dostawcy | `volcengine` (ogólne) + `volcengine-plan` (kodowanie) |
|
||||
| Uwierzytelnianie | `VOLCANO_ENGINE_API_KEY` |
|
||||
| API | Zgodne z OpenAI |
|
||||
|
||||
## Szybki start
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Ustaw klucz API:
|
||||
<Steps>
|
||||
<Step title="Ustaw klucz API">
|
||||
Uruchom interaktywny onboarding:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice volcengine-api-key
|
||||
```
|
||||
```bash
|
||||
openclaw onboard --auth-choice volcengine-api-key
|
||||
```
|
||||
|
||||
2. Ustaw model domyślny:
|
||||
To rejestruje zarówno dostawcę ogólnego (`volcengine`), jak i dostawcę do kodowania (`volcengine-plan`) przy użyciu jednego klucza API.
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "volcengine-plan/ark-code-latest" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "volcengine-plan/ark-code-latest" },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider volcengine
|
||||
openclaw models list --provider volcengine-plan
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Przykład nieinteraktywny
|
||||
<Tip>
|
||||
W przypadku konfiguracji nieinteraktywnej (CI, skrypty) przekaż klucz bezpośrednio:
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
@ -52,50 +66,84 @@ openclaw onboard --non-interactive \
|
||||
--volcengine-api-key "$VOLCANO_ENGINE_API_KEY"
|
||||
```
|
||||
|
||||
## Providery i endpointy
|
||||
</Tip>
|
||||
|
||||
| Provider | Endpoint | Przypadek użycia |
|
||||
| ----------------- | ----------------------------------------- | ---------------------- |
|
||||
| `volcengine` | `ark.cn-beijing.volces.com/api/v3` | Modele ogólne |
|
||||
| `volcengine-plan` | `ark.cn-beijing.volces.com/api/coding/v3` | Modele do kodowania |
|
||||
## Dostawcy i endpointy
|
||||
|
||||
Oba providery są konfigurowane za pomocą jednego klucza API. Konfiguracja rejestruje oba
|
||||
automatycznie.
|
||||
| Dostawca | Endpoint | Przypadek użycia |
|
||||
| ----------------- | ----------------------------------------- | ---------------- |
|
||||
| `volcengine` | `ark.cn-beijing.volces.com/api/v3` | Modele ogólne |
|
||||
| `volcengine-plan` | `ark.cn-beijing.volces.com/api/coding/v3` | Modele do kodowania |
|
||||
|
||||
<Note>
|
||||
Obaj dostawcy są konfigurowani przy użyciu jednego klucza API. Konfiguracja rejestruje obu automatycznie.
|
||||
</Note>
|
||||
|
||||
## Dostępne modele
|
||||
|
||||
Provider ogólny (`volcengine`):
|
||||
<Tabs>
|
||||
<Tab title="Ogólne (volcengine)">
|
||||
| Odwołanie modelu | Nazwa | Wejście | Kontekst |
|
||||
| ------------------------------------------- | ------------------------------- | ----------- | -------- |
|
||||
| `volcengine/doubao-seed-1-8-251228` | Doubao Seed 1.8 | text, image | 256,000 |
|
||||
| `volcengine/doubao-seed-code-preview-251028`| doubao-seed-code-preview-251028 | text, image | 256,000 |
|
||||
| `volcengine/kimi-k2-5-260127` | Kimi K2.5 | text, image | 256,000 |
|
||||
| `volcengine/glm-4-7-251222` | GLM 4.7 | text, image | 200,000 |
|
||||
| `volcengine/deepseek-v3-2-251201` | DeepSeek V3.2 | text, image | 128,000 |
|
||||
</Tab>
|
||||
<Tab title="Kodowanie (volcengine-plan)">
|
||||
| Odwołanie modelu | Nazwa | Wejście | Kontekst |
|
||||
| ------------------------------------------------ | ------------------------ | ------- | -------- |
|
||||
| `volcengine-plan/ark-code-latest` | Ark Coding Plan | text | 256,000 |
|
||||
| `volcengine-plan/doubao-seed-code` | Doubao Seed Code | text | 256,000 |
|
||||
| `volcengine-plan/glm-4.7` | GLM 4.7 Coding | text | 200,000 |
|
||||
| `volcengine-plan/kimi-k2-thinking` | Kimi K2 Thinking | text | 256,000 |
|
||||
| `volcengine-plan/kimi-k2.5` | Kimi K2.5 Coding | text | 256,000 |
|
||||
| `volcengine-plan/doubao-seed-code-preview-251028`| Doubao Seed Code Preview | text | 256,000 |
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
| Model ref | Nazwa | Wejście | Kontekst |
|
||||
| -------------------------------------------- | ------------------------------- | ----------- | -------- |
|
||||
| `volcengine/doubao-seed-1-8-251228` | Doubao Seed 1.8 | text, image | 256,000 |
|
||||
| `volcengine/doubao-seed-code-preview-251028` | doubao-seed-code-preview-251028 | text, image | 256,000 |
|
||||
| `volcengine/kimi-k2-5-260127` | Kimi K2.5 | text, image | 256,000 |
|
||||
| `volcengine/glm-4-7-251222` | GLM 4.7 | text, image | 200,000 |
|
||||
| `volcengine/deepseek-v3-2-251201` | DeepSeek V3.2 | text, image | 128,000 |
|
||||
## Uwagi zaawansowane
|
||||
|
||||
Provider do kodowania (`volcengine-plan`):
|
||||
<AccordionGroup>
|
||||
<Accordion title="Model domyślny po onboardingu">
|
||||
`openclaw onboard --auth-choice volcengine-api-key` obecnie ustawia
|
||||
`volcengine-plan/ark-code-latest` jako model domyślny, jednocześnie rejestrując
|
||||
ogólny katalog `volcengine`.
|
||||
</Accordion>
|
||||
|
||||
| Model ref | Nazwa | Wejście | Kontekst |
|
||||
| ------------------------------------------------- | ------------------------ | ------- | -------- |
|
||||
| `volcengine-plan/ark-code-latest` | Ark Coding Plan | text | 256,000 |
|
||||
| `volcengine-plan/doubao-seed-code` | Doubao Seed Code | text | 256,000 |
|
||||
| `volcengine-plan/glm-4.7` | GLM 4.7 Coding | text | 200,000 |
|
||||
| `volcengine-plan/kimi-k2-thinking` | Kimi K2 Thinking | text | 256,000 |
|
||||
| `volcengine-plan/kimi-k2.5` | Kimi K2.5 Coding | text | 256,000 |
|
||||
| `volcengine-plan/doubao-seed-code-preview-251028` | Doubao Seed Code Preview | text | 256,000 |
|
||||
<Accordion title="Zachowanie fallbacku selektora modeli">
|
||||
Podczas wybierania modelu w onboardingu/konfiguracji opcja uwierzytelniania Volcengine preferuje
|
||||
zarówno wiersze `volcengine/*`, jak i `volcengine-plan/*`. Jeśli te modele nie są jeszcze
|
||||
załadowane, OpenClaw wraca do niefiltrowanego katalogu zamiast pokazywać pusty
|
||||
selektor ograniczony do dostawcy.
|
||||
</Accordion>
|
||||
|
||||
`openclaw onboard --auth-choice volcengine-api-key` obecnie ustawia
|
||||
`volcengine-plan/ark-code-latest` jako model domyślny, a jednocześnie rejestruje
|
||||
ogólny katalog `volcengine`.
|
||||
<Accordion title="Zmienne środowiskowe dla procesów demona">
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że
|
||||
`VOLCANO_ENGINE_API_KEY` jest dostępne dla tego procesu (na przykład w
|
||||
`~/.openclaw/.env` albo przez `env.shellEnv`).
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
Podczas onboardingu/konfigurowania wyboru modelu opcja uwierzytelniania Volcengine preferuje
|
||||
zarówno wiersze `volcengine/*`, jak i `volcengine-plan/*`. Jeśli te modele nie
|
||||
zostały jeszcze załadowane, OpenClaw przechodzi do niefiltrowanego katalogu zamiast wyświetlać
|
||||
pusty selektor ograniczony do providera.
|
||||
<Warning>
|
||||
Podczas uruchamiania OpenClaw jako usługi w tle zmienne środowiskowe ustawione w Twojej
|
||||
interaktywnej powłoce nie są dziedziczone automatycznie. Zobacz uwagę o demonie powyżej.
|
||||
</Warning>
|
||||
|
||||
## Uwaga dotycząca środowiska
|
||||
## Powiązane
|
||||
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że
|
||||
`VOLCANO_ENGINE_API_KEY` jest dostępny dla tego procesu (na przykład w
|
||||
`~/.openclaw/.env` lub przez `env.shellEnv`).
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Konfiguracja" href="/pl/gateway/configuration" icon="gear">
|
||||
Pełna referencja konfiguracji agentów, modeli i dostawców.
|
||||
</Card>
|
||||
<Card title="Rozwiązywanie problemów" href="/pl/help/troubleshooting" icon="wrench">
|
||||
Typowe problemy i kroki debugowania.
|
||||
</Card>
|
||||
<Card title="FAQ" href="/pl/help/faq" icon="circle-question">
|
||||
Najczęściej zadawane pytania dotyczące konfiguracji OpenClaw.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,150 +1,181 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać generowania mediów Vydra w OpenClaw
|
||||
- Chcesz używać generowania multimediów Vydra w OpenClaw
|
||||
- Potrzebujesz wskazówek dotyczących konfiguracji klucza API Vydra
|
||||
summary: Używaj generowania obrazów, wideo i mowy Vydra w OpenClaw
|
||||
summary: Używaj obrazów, wideo i mowy Vydra w OpenClaw
|
||||
title: Vydra
|
||||
x-i18n:
|
||||
generated_at: "2026-04-07T09:49:21Z"
|
||||
generated_at: "2026-04-12T23:33:38Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 24006a687ed6f9792e7b2b10927cc7ad71c735462a92ce03d5fa7c2b2ee2fcc2
|
||||
source_hash: ab623d14b656ce0b68d648a6393fcee3bb880077d6583e0d5c1012e91757f20e
|
||||
source_path: providers/vydra.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Vydra
|
||||
|
||||
Dołączona wtyczka Vydra dodaje:
|
||||
Bundlowany Plugin Vydra dodaje:
|
||||
|
||||
- generowanie obrazów przez `vydra/grok-imagine`
|
||||
- generowanie wideo przez `vydra/veo3` i `vydra/kling`
|
||||
- syntezę mowy przez trasę TTS Vydra opartą na ElevenLabs
|
||||
- Generowanie obrazów przez `vydra/grok-imagine`
|
||||
- Generowanie wideo przez `vydra/veo3` i `vydra/kling`
|
||||
- Syntezę mowy przez trasę TTS Vydra opartą na ElevenLabs
|
||||
|
||||
OpenClaw używa tego samego `VYDRA_API_KEY` dla wszystkich trzech możliwości.
|
||||
|
||||
## Ważny bazowy URL
|
||||
<Warning>
|
||||
Używaj `https://www.vydra.ai/api/v1` jako bazowego URL-a.
|
||||
|
||||
Używaj `https://www.vydra.ai/api/v1`.
|
||||
|
||||
Host apex Vydra (`https://vydra.ai/api/v1`) obecnie przekierowuje do `www`. Niektórzy klienci HTTP usuwają `Authorization` przy takim przekierowaniu między hostami, co zamienia prawidłowy klucz API w mylący błąd uwierzytelniania. Dołączona wtyczka używa bezpośrednio bazowego URL `www`, aby tego uniknąć.
|
||||
Główny host Vydra (`https://vydra.ai/api/v1`) obecnie przekierowuje do `www`. Niektóre klienty HTTP usuwają `Authorization` przy takim przekierowaniu między hostami, co zamienia prawidłowy klucz API w mylący błąd uwierzytelniania. Bundlowany Plugin używa bezpośrednio bazowego URL-a `www`, aby tego uniknąć.
|
||||
</Warning>
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
Interaktywny onboarding:
|
||||
<Steps>
|
||||
<Step title="Uruchom interaktywny onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice vydra-api-key
|
||||
```
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice vydra-api-key
|
||||
```
|
||||
Lub ustaw bezpośrednio zmienną env:
|
||||
|
||||
Albo ustaw bezpośrednio zmienną env:
|
||||
```bash
|
||||
export VYDRA_API_KEY="vydra_live_..."
|
||||
```
|
||||
|
||||
```bash
|
||||
export VYDRA_API_KEY="vydra_live_..."
|
||||
```
|
||||
</Step>
|
||||
<Step title="Wybierz domyślną możliwość">
|
||||
Wybierz jedną lub więcej z poniższych możliwości (obraz, wideo lub mowa) i zastosuj pasującą konfigurację.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Generowanie obrazów
|
||||
## Możliwości
|
||||
|
||||
Domyślny model obrazów:
|
||||
<AccordionGroup>
|
||||
<Accordion title="Generowanie obrazów">
|
||||
Domyślny model obrazu:
|
||||
|
||||
- `vydra/grok-imagine`
|
||||
- `vydra/grok-imagine`
|
||||
|
||||
Ustaw go jako domyślnego dostawcę obrazów:
|
||||
Ustaw go jako domyślnego dostawcę obrazów:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
imageGenerationModel: {
|
||||
primary: "vydra/grok-imagine",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Obecne wsparcie w dołączonej wtyczce obejmuje tylko text-to-image. Hostowane trasy edycji Vydra oczekują zdalnych URL obrazów, a OpenClaw nie dodaje jeszcze mostu uploadu specyficznego dla Vydra w dołączonej wtyczce.
|
||||
|
||||
Zobacz [Image Generation](/pl/tools/image-generation), aby poznać wspólne zachowanie narzędzia.
|
||||
|
||||
## Generowanie wideo
|
||||
|
||||
Zarejestrowane modele wideo:
|
||||
|
||||
- `vydra/veo3` dla text-to-video
|
||||
- `vydra/kling` dla image-to-video
|
||||
|
||||
Ustaw Vydra jako domyślnego dostawcę wideo:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "vydra/veo3",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Uwagi:
|
||||
|
||||
- `vydra/veo3` jest dołączony tylko jako text-to-video.
|
||||
- `vydra/kling` obecnie wymaga odwołania do zdalnego URL obrazu. Upload lokalnych plików jest odrzucany z góry.
|
||||
- Obecna trasa HTTP `kling` w Vydra bywa niespójna co do tego, czy wymaga `image_url`, czy `video_url`; dołączony dostawca mapuje ten sam zdalny URL obrazu do obu pól.
|
||||
- Dołączona wtyczka pozostaje zachowawcza i nie przekazuje nieudokumentowanych ustawień stylu, takich jak aspect ratio, resolution, watermark czy generowane audio.
|
||||
|
||||
Pokrycie live specyficzne dla dostawcy:
|
||||
|
||||
```bash
|
||||
OPENCLAW_LIVE_TEST=1 \
|
||||
OPENCLAW_LIVE_VYDRA_VIDEO=1 \
|
||||
pnpm test:live -- extensions/vydra/vydra.live.test.ts
|
||||
```
|
||||
|
||||
Dołączony plik live Vydra obejmuje teraz:
|
||||
|
||||
- `vydra/veo3` text-to-video
|
||||
- `vydra/kling` image-to-video z użyciem zdalnego URL obrazu
|
||||
|
||||
W razie potrzeby nadpisz zdalną fixturę obrazu:
|
||||
|
||||
```bash
|
||||
export OPENCLAW_LIVE_VYDRA_KLING_IMAGE_URL="https://example.com/reference.png"
|
||||
```
|
||||
|
||||
Zobacz [Video Generation](/pl/tools/video-generation), aby poznać wspólne zachowanie narzędzia.
|
||||
|
||||
## Synteza mowy
|
||||
|
||||
Ustaw Vydra jako dostawcę mowy:
|
||||
|
||||
```json5
|
||||
{
|
||||
messages: {
|
||||
tts: {
|
||||
provider: "vydra",
|
||||
providers: {
|
||||
vydra: {
|
||||
apiKey: "${VYDRA_API_KEY}",
|
||||
voiceId: "21m00Tcm4TlvDq8ikWAM",
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
imageGenerationModel: {
|
||||
primary: "vydra/grok-imagine",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
Wartości domyślne:
|
||||
Obecne wsparcie bundlowane obejmuje tylko tekst na obraz. Hostowane trasy edycji Vydra oczekują zdalnych URL-i obrazów, a OpenClaw nie dodaje jeszcze mostu wysyłania specyficznego dla Vydra w bundlowanym Pluginie.
|
||||
|
||||
- model: `elevenlabs/tts`
|
||||
- voice id: `21m00Tcm4TlvDq8ikWAM`
|
||||
<Note>
|
||||
Zobacz [Generowanie obrazów](/pl/tools/image-generation), aby poznać współdzielone parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
</Note>
|
||||
|
||||
Dołączona wtyczka obecnie udostępnia jeden sprawdzony domyślny głos i zwraca pliki audio MP3.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Generowanie wideo">
|
||||
Zarejestrowane modele wideo:
|
||||
|
||||
- `vydra/veo3` dla tekstu na wideo
|
||||
- `vydra/kling` dla obrazu na wideo
|
||||
|
||||
Ustaw Vydra jako domyślnego dostawcę wideo:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "vydra/veo3",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Uwagi:
|
||||
|
||||
- `vydra/veo3` jest bundlowany wyłącznie jako tekst na wideo.
|
||||
- `vydra/kling` obecnie wymaga odwołania do zdalnego URL-a obrazu. Wysyłanie lokalnych plików jest odrzucane z góry.
|
||||
- Obecna trasa HTTP `kling` w Vydra bywa niespójna w kwestii tego, czy wymaga `image_url`, czy `video_url`; bundlowany dostawca mapuje ten sam zdalny URL obrazu do obu pól.
|
||||
- Bundlowany Plugin pozostaje zachowawczy i nie przekazuje nieudokumentowanych ustawień stylu, takich jak proporcje, rozdzielczość, znak wodny czy wygenerowane audio.
|
||||
|
||||
<Note>
|
||||
Zobacz [Generowanie wideo](/pl/tools/video-generation), aby poznać współdzielone parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Testy live wideo">
|
||||
Pokrycie live specyficzne dla dostawcy:
|
||||
|
||||
```bash
|
||||
OPENCLAW_LIVE_TEST=1 \
|
||||
OPENCLAW_LIVE_VYDRA_VIDEO=1 \
|
||||
pnpm test:live -- extensions/vydra/vydra.live.test.ts
|
||||
```
|
||||
|
||||
Bundlowany plik live Vydra obejmuje teraz:
|
||||
|
||||
- `vydra/veo3` tekst na wideo
|
||||
- `vydra/kling` obraz na wideo z użyciem zdalnego URL-a obrazu
|
||||
|
||||
W razie potrzeby nadpisz fixture zdalnego obrazu:
|
||||
|
||||
```bash
|
||||
export OPENCLAW_LIVE_VYDRA_KLING_IMAGE_URL="https://example.com/reference.png"
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Synteza mowy">
|
||||
Ustaw Vydra jako dostawcę mowy:
|
||||
|
||||
```json5
|
||||
{
|
||||
messages: {
|
||||
tts: {
|
||||
provider: "vydra",
|
||||
providers: {
|
||||
vydra: {
|
||||
apiKey: "${VYDRA_API_KEY}",
|
||||
voiceId: "21m00Tcm4TlvDq8ikWAM",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Ustawienia domyślne:
|
||||
|
||||
- Model: `elevenlabs/tts`
|
||||
- Id głosu: `21m00Tcm4TlvDq8ikWAM`
|
||||
|
||||
Bundlowany Plugin obecnie udostępnia jeden sprawdzony domyślny głos i zwraca pliki audio MP3.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
- [Provider Directory](/pl/providers/index)
|
||||
- [Image Generation](/pl/tools/image-generation)
|
||||
- [Video Generation](/pl/tools/video-generation)
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Katalog dostawców" href="/pl/providers/index" icon="list">
|
||||
Przeglądaj wszystkich dostępnych dostawców.
|
||||
</Card>
|
||||
<Card title="Generowanie obrazów" href="/pl/tools/image-generation" icon="image">
|
||||
Współdzielone parametry narzędzia obrazów i wybór dostawcy.
|
||||
</Card>
|
||||
<Card title="Generowanie wideo" href="/pl/tools/video-generation" icon="video">
|
||||
Współdzielone parametry narzędzia wideo i wybór dostawcy.
|
||||
</Card>
|
||||
<Card title="Dokumentacja konfiguracji" href="/pl/gateway/configuration-reference#agent-defaults" icon="gear">
|
||||
Ustawienia domyślne agenta i konfiguracja modelu.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -2,128 +2,248 @@
|
||||
read_when:
|
||||
- Chcesz używać modeli Grok w OpenClaw
|
||||
- Konfigurujesz uwierzytelnianie xAI lub identyfikatory modeli
|
||||
summary: Używanie modeli Grok od xAI w OpenClaw
|
||||
summary: Używaj modeli xAI Grok w OpenClaw
|
||||
title: xAI
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T03:12:19Z"
|
||||
generated_at: "2026-04-12T23:33:41Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 64bc899655427cc10bdc759171c7d1ec25ad9f1e4f9d803f1553d3d586c6d71d
|
||||
source_hash: 820fef290c67d9815e41a96909d567216f67ca0f01df1d325008fd04666ad255
|
||||
source_path: providers/xai.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# xAI
|
||||
|
||||
OpenClaw dostarcza wbudowany plugin dostawcy `xai` dla modeli Grok.
|
||||
OpenClaw dostarcza dołączony Plugin dostawcy `xai` dla modeli Grok.
|
||||
|
||||
## Konfiguracja
|
||||
## Pierwsze kroki
|
||||
|
||||
1. Utwórz klucz API w konsoli xAI.
|
||||
2. Ustaw `XAI_API_KEY` albo uruchom:
|
||||
<Steps>
|
||||
<Step title="Utwórz klucz API">
|
||||
Utwórz klucz API w [konsoli xAI](https://console.x.ai/).
|
||||
</Step>
|
||||
<Step title="Ustaw klucz API">
|
||||
Ustaw `XAI_API_KEY` albo uruchom:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice xai-api-key
|
||||
```
|
||||
```bash
|
||||
openclaw onboard --auth-choice xai-api-key
|
||||
```
|
||||
|
||||
3. Wybierz model, na przykład:
|
||||
</Step>
|
||||
<Step title="Wybierz model">
|
||||
```json5
|
||||
{
|
||||
agents: { defaults: { model: { primary: "xai/grok-4" } } },
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: { defaults: { model: { primary: "xai/grok-4" } } },
|
||||
}
|
||||
```
|
||||
|
||||
OpenClaw używa teraz API Responses xAI jako wbudowanego transportu xAI. Ten sam
|
||||
`XAI_API_KEY` może również obsługiwać `web_search` oparte na Grok, natywne `x_search`
|
||||
<Note>
|
||||
OpenClaw używa xAI Responses API jako dołączonego transportu xAI. Ten sam
|
||||
`XAI_API_KEY` może także zasilać `web_search` oparty na Grok, natywne `x_search`
|
||||
oraz zdalne `code_execution`.
|
||||
Jeśli zapiszesz klucz xAI pod `plugins.entries.xai.config.webSearch.apiKey`,
|
||||
wbudowany dostawca modeli xAI również użyje tego klucza jako rozwiązania awaryjnego.
|
||||
Dostrajanie `code_execution` znajduje się pod `plugins.entries.xai.config.codeExecution`.
|
||||
Jeśli przechowujesz klucz xAI w `plugins.entries.xai.config.webSearch.apiKey`,
|
||||
dołączony dostawca modeli xAI także używa tego klucza jako fallbacku.
|
||||
Dostrajanie `code_execution` znajduje się w `plugins.entries.xai.config.codeExecution`.
|
||||
</Note>
|
||||
|
||||
## Aktualny wbudowany katalog modeli
|
||||
## Dołączony katalog modeli
|
||||
|
||||
OpenClaw zawiera teraz domyślnie następujące rodziny modeli xAI:
|
||||
OpenClaw zawiera domyślnie następujące rodziny modeli xAI:
|
||||
|
||||
- `grok-3`, `grok-3-fast`, `grok-3-mini`, `grok-3-mini-fast`
|
||||
- `grok-4`, `grok-4-0709`
|
||||
- `grok-4-fast`, `grok-4-fast-non-reasoning`
|
||||
- `grok-4-1-fast`, `grok-4-1-fast-non-reasoning`
|
||||
- `grok-4.20-beta-latest-reasoning`, `grok-4.20-beta-latest-non-reasoning`
|
||||
- `grok-code-fast-1`
|
||||
| Rodzina | Identyfikatory modeli |
|
||||
| -------------- | ------------------------------------------------------------------------ |
|
||||
| Grok 3 | `grok-3`, `grok-3-fast`, `grok-3-mini`, `grok-3-mini-fast` |
|
||||
| Grok 4 | `grok-4`, `grok-4-0709` |
|
||||
| Grok 4 Fast | `grok-4-fast`, `grok-4-fast-non-reasoning` |
|
||||
| Grok 4.1 Fast | `grok-4-1-fast`, `grok-4-1-fast-non-reasoning` |
|
||||
| Grok 4.20 Beta | `grok-4.20-beta-latest-reasoning`, `grok-4.20-beta-latest-non-reasoning` |
|
||||
| Grok Code | `grok-code-fast-1` |
|
||||
|
||||
Plugin przekazuje też dalej rozwiązywanie nowszych identyfikatorów `grok-4*` i `grok-code-fast*`, gdy
|
||||
stosują ten sam kształt API.
|
||||
Plugin dodatkowo forward-resolve’uje nowsze identyfikatory `grok-4*` i `grok-code-fast*`, gdy
|
||||
mają ten sam kształt API.
|
||||
|
||||
Uwagi dotyczące modeli fast:
|
||||
<Tip>
|
||||
`grok-4-fast`, `grok-4-1-fast` oraz warianty `grok-4.20-beta-*` to
|
||||
obecne referencje Grok z obsługą obrazów w dołączonym katalogu.
|
||||
</Tip>
|
||||
|
||||
- `grok-4-fast`, `grok-4-1-fast` oraz warianty `grok-4.20-beta-*` to
|
||||
aktualne referencje Grok z obsługą obrazów we wbudowanym katalogu.
|
||||
- `/fast on` lub `agents.defaults.models["xai/<model>"].params.fastMode: true`
|
||||
przepisuje natywne żądania xAI w następujący sposób:
|
||||
- `grok-3` -> `grok-3-fast`
|
||||
- `grok-3-mini` -> `grok-3-mini-fast`
|
||||
- `grok-4` -> `grok-4-fast`
|
||||
- `grok-4-0709` -> `grok-4-fast`
|
||||
### Mapowania trybu fast
|
||||
|
||||
Starsze aliasy zgodności są nadal normalizowane do kanonicznych wbudowanych identyfikatorów. Na
|
||||
przykład:
|
||||
`/fast on` lub `agents.defaults.models["xai/<model>"].params.fastMode: true`
|
||||
przepisuje natywne żądania xAI w następujący sposób:
|
||||
|
||||
- `grok-4-fast-reasoning` -> `grok-4-fast`
|
||||
- `grok-4-1-fast-reasoning` -> `grok-4-1-fast`
|
||||
- `grok-4.20-reasoning` -> `grok-4.20-beta-latest-reasoning`
|
||||
- `grok-4.20-non-reasoning` -> `grok-4.20-beta-latest-non-reasoning`
|
||||
| Model źródłowy | Cel trybu fast |
|
||||
| -------------- | ----------------- |
|
||||
| `grok-3` | `grok-3-fast` |
|
||||
| `grok-3-mini` | `grok-3-mini-fast` |
|
||||
| `grok-4` | `grok-4-fast` |
|
||||
| `grok-4-0709` | `grok-4-fast` |
|
||||
|
||||
## Wyszukiwanie w sieci
|
||||
### Aliasy zgodności legacy
|
||||
|
||||
Wbudowany dostawca wyszukiwania w sieci `grok` także używa `XAI_API_KEY`:
|
||||
Aliasom legacy nadal odpowiadają kanoniczne dołączone identyfikatory:
|
||||
|
||||
```bash
|
||||
openclaw config set tools.web.search.provider grok
|
||||
```
|
||||
| Alias legacy | Identyfikator kanoniczny |
|
||||
| ------------------------- | ------------------------------------ |
|
||||
| `grok-4-fast-reasoning` | `grok-4-fast` |
|
||||
| `grok-4-1-fast-reasoning` | `grok-4-1-fast` |
|
||||
| `grok-4.20-reasoning` | `grok-4.20-beta-latest-reasoning` |
|
||||
| `grok-4.20-non-reasoning` | `grok-4.20-beta-latest-non-reasoning` |
|
||||
|
||||
## Generowanie wideo
|
||||
## Funkcje
|
||||
|
||||
Wbudowany plugin `xai` rejestruje także generowanie wideo przez współdzielone
|
||||
narzędzie `video_generate`.
|
||||
<AccordionGroup>
|
||||
<Accordion title="Web search">
|
||||
Dołączony dostawca `grok` dla web search także używa `XAI_API_KEY`:
|
||||
|
||||
- Domyślny model wideo: `xai/grok-imagine-video`
|
||||
- Tryby: text-to-video, image-to-video oraz zdalne przepływy edycji/rozszerzania wideo
|
||||
- Obsługuje `aspectRatio` i `resolution`
|
||||
- Aktualne ograniczenie: lokalne bufory wideo nie są akceptowane; używaj zdalnych adresów URL `http(s)`
|
||||
dla wejść referencyjnych/edycji wideo
|
||||
```bash
|
||||
openclaw config set tools.web.search.provider grok
|
||||
```
|
||||
|
||||
Aby używać xAI jako domyślnego dostawcy wideo:
|
||||
</Accordion>
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "xai/grok-imagine-video",
|
||||
<Accordion title="Generowanie wideo">
|
||||
Dołączony Plugin `xai` rejestruje generowanie wideo przez współdzielone
|
||||
narzędzie `video_generate`.
|
||||
|
||||
- Domyślny model wideo: `xai/grok-imagine-video`
|
||||
- Tryby: tekst-na-wideo, obraz-na-wideo oraz zdalne przepływy edycji/rozszerzania wideo
|
||||
- Obsługuje `aspectRatio` i `resolution`
|
||||
|
||||
<Warning>
|
||||
Lokalne bufory wideo nie są akceptowane. Używaj zdalnych URL-i `http(s)` dla
|
||||
wejść referencyjnych wideo i wejść edycji.
|
||||
</Warning>
|
||||
|
||||
Aby używać xAI jako domyślnego dostawcy wideo:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "xai/grok-imagine-video",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
}
|
||||
```
|
||||
|
||||
Zobacz [Generowanie wideo](/tools/video-generation), aby poznać współdzielone
|
||||
parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
<Note>
|
||||
Zobacz [Video Generation](/pl/tools/video-generation), aby poznać wspólne parametry narzędzia,
|
||||
wybór dostawcy i zachowanie failover.
|
||||
</Note>
|
||||
|
||||
## Znane ograniczenia
|
||||
</Accordion>
|
||||
|
||||
- Uwierzytelnianie obecnie obsługuje tylko klucz API. W OpenClaw nie ma jeszcze przepływu OAuth/device-code dla xAI.
|
||||
- `grok-4.20-multi-agent-experimental-beta-0304` nie jest obsługiwany na zwykłej ścieżce dostawcy xAI, ponieważ wymaga innej powierzchni upstream API niż standardowy transport xAI w OpenClaw.
|
||||
<Accordion title="Konfiguracja x_search">
|
||||
Dołączony Plugin xAI udostępnia `x_search` jako narzędzie OpenClaw do przeszukiwania
|
||||
treści X (dawniej Twitter) przez Grok.
|
||||
|
||||
## Uwagi
|
||||
Ścieżka konfiguracji: `plugins.entries.xai.config.xSearch`
|
||||
|
||||
- OpenClaw automatycznie stosuje poprawki zgodności specyficzne dla xAI dotyczące schematu narzędzi i wywołań narzędzi na współdzielonej ścieżce runnera.
|
||||
- Natywne żądania xAI domyślnie ustawiają `tool_stream: true`. Ustaw
|
||||
`agents.defaults.models["xai/<model>"].params.tool_stream` na `false`, aby
|
||||
to wyłączyć.
|
||||
- Wbudowany wrapper xAI usuwa nieobsługiwane flagi ścisłego schematu narzędzi i
|
||||
klucze payloadu reasoning przed wysłaniem natywnych żądań xAI.
|
||||
- `web_search`, `x_search` i `code_execution` są udostępniane jako narzędzia OpenClaw. OpenClaw włącza konkretne wbudowane mechanizmy xAI, których potrzebuje w każdym żądaniu narzędzia, zamiast dołączać wszystkie natywne narzędzia do każdej tury czatu.
|
||||
- `x_search` i `code_execution` należą do wbudowanego pluginu xAI, a nie są zakodowane na sztywno w podstawowym runtime modeli.
|
||||
- `code_execution` oznacza zdalne wykonywanie w sandboxie xAI, a nie lokalne [`exec`](/pl/tools/exec).
|
||||
- Szerszy przegląd dostawców znajdziesz w [Dostawcy modeli](/pl/providers/index).
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ----------------- | ------- | ------------------ | ------------------------------------ |
|
||||
| `enabled` | boolean | — | Włącza lub wyłącza x_search |
|
||||
| `model` | string | `grok-4-1-fast` | Model używany do żądań x_search |
|
||||
| `inlineCitations` | boolean | — | Dołącza cytowania inline w wynikach |
|
||||
| `maxTurns` | number | — | Maksymalna liczba tur rozmowy |
|
||||
| `timeoutSeconds` | number | — | Timeout żądania w sekundach |
|
||||
| `cacheTtlMinutes` | number | — | Czas życia cache w minutach |
|
||||
|
||||
```json5
|
||||
{
|
||||
plugins: {
|
||||
entries: {
|
||||
xai: {
|
||||
config: {
|
||||
xSearch: {
|
||||
enabled: true,
|
||||
model: "grok-4-1-fast",
|
||||
inlineCitations: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Konfiguracja code_execution">
|
||||
Dołączony Plugin xAI udostępnia `code_execution` jako narzędzie OpenClaw do
|
||||
zdalnego wykonywania kodu w środowisku sandbox xAI.
|
||||
|
||||
Ścieżka konfiguracji: `plugins.entries.xai.config.codeExecution`
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ----------------- | ------- | ---------------------------- | ----------------------------------------- |
|
||||
| `enabled` | boolean | `true` (jeśli klucz jest dostępny) | Włącza lub wyłącza wykonywanie kodu |
|
||||
| `model` | string | `grok-4-1-fast` | Model używany do żądań wykonywania kodu |
|
||||
| `maxTurns` | number | — | Maksymalna liczba tur rozmowy |
|
||||
| `timeoutSeconds` | number | — | Timeout żądania w sekundach |
|
||||
|
||||
<Note>
|
||||
To jest zdalne wykonywanie w sandboxie xAI, a nie lokalne [`exec`](/pl/tools/exec).
|
||||
</Note>
|
||||
|
||||
```json5
|
||||
{
|
||||
plugins: {
|
||||
entries: {
|
||||
xai: {
|
||||
config: {
|
||||
codeExecution: {
|
||||
enabled: true,
|
||||
model: "grok-4-1-fast",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Znane ograniczenia">
|
||||
- Obecnie uwierzytelnianie obsługuje tylko klucz API. OpenClaw nie ma jeszcze OAuth ani przepływu device-code dla xAI.
|
||||
- `grok-4.20-multi-agent-experimental-beta-0304` nie jest obsługiwany na
|
||||
zwykłej ścieżce dostawcy xAI, ponieważ wymaga innej powierzchni upstream API
|
||||
niż standardowy transport xAI w OpenClaw.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Uwagi zaawansowane">
|
||||
- OpenClaw automatycznie stosuje poprawki zgodności schematów narzędzi i wywołań narzędzi specyficzne dla xAI na współdzielonej ścieżce runnera.
|
||||
- Natywne żądania xAI domyślnie używają `tool_stream: true`. Ustaw
|
||||
`agents.defaults.models["xai/<model>"].params.tool_stream` na `false`, aby
|
||||
to wyłączyć.
|
||||
- Dołączony wrapper xAI usuwa nieobsługiwane ścisłe flagi schematu narzędzi i
|
||||
klucze payloadu reasoning przed wysłaniem natywnych żądań xAI.
|
||||
- `web_search`, `x_search` i `code_execution` są udostępniane jako narzędzia OpenClaw. OpenClaw włącza konkretny wbudowany mechanizm xAI, którego potrzebuje, wewnątrz każdego żądania narzędzia, zamiast dołączać wszystkie natywne narzędzia do każdej tury czatu.
|
||||
- `x_search` i `code_execution` należą do dołączonego Pluginu xAI, a nie są na stałe zakodowane w głównym runtime modeli.
|
||||
- `code_execution` to zdalne wykonywanie w sandboxie xAI, a nie lokalne
|
||||
[`exec`](/pl/tools/exec).
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, referencji modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Generowanie wideo" href="/pl/tools/video-generation" icon="video">
|
||||
Wspólne parametry narzędzia wideo i wybór dostawcy.
|
||||
</Card>
|
||||
<Card title="Wszyscy dostawcy" href="/pl/providers/index" icon="grid-2">
|
||||
Szerszy przegląd dostawców.
|
||||
</Card>
|
||||
<Card title="Rozwiązywanie problemów" href="/pl/help/troubleshooting" icon="wrench">
|
||||
Typowe problemy i poprawki.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać modeli Xiaomi MiMo w OpenClaw
|
||||
- Potrzebujesz konfiguracji XIAOMI_API_KEY
|
||||
- Potrzebujesz konfiguracji `XIAOMI_API_KEY`
|
||||
summary: Używaj modeli Xiaomi MiMo z OpenClaw
|
||||
title: Xiaomi MiMo
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:04:12Z"
|
||||
generated_at: "2026-04-12T23:33:51Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: a2533fa99b29070e26e0e1fbde924e1291c89b1fbc2537451bcc0eb677ea6949
|
||||
source_hash: cd5a526764c796da7e1fff61301bc2ec618e1cf3857894ba2ef4b6dd9c4dc339
|
||||
source_path: providers/xiaomi.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -16,31 +16,53 @@ x-i18n:
|
||||
# Xiaomi MiMo
|
||||
|
||||
Xiaomi MiMo to platforma API dla modeli **MiMo**. OpenClaw używa zgodnego z OpenAI
|
||||
endpointu Xiaomi z uwierzytelnianiem kluczem API. Utwórz swój klucz API w
|
||||
[konsoli Xiaomi MiMo](https://platform.xiaomimimo.com/#/console/api-keys), a następnie skonfiguruj
|
||||
dołączonego dostawcę `xiaomi` za pomocą tego klucza.
|
||||
endpointu Xiaomi z uwierzytelnianiem opartym na kluczu API.
|
||||
|
||||
## Wbudowany katalog
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | ------------------------------ |
|
||||
| Dostawca | `xiaomi` |
|
||||
| Uwierzytelnianie | `XIAOMI_API_KEY` |
|
||||
| API | zgodne z OpenAI |
|
||||
| Base URL | `https://api.xiaomimimo.com/v1` |
|
||||
|
||||
- Base URL: `https://api.xiaomimimo.com/v1`
|
||||
- API: `openai-completions`
|
||||
- Uwierzytelnianie: `Bearer $XIAOMI_API_KEY`
|
||||
## Pierwsze kroki
|
||||
|
||||
| Model ref | Wejście | Kontekst | Maks. wyjście | Uwagi |
|
||||
| ---------------------- | ----------- | --------- | ------------- | ----------------------------- |
|
||||
| `xiaomi/mimo-v2-flash` | text | 262,144 | 8,192 | Model domyślny |
|
||||
| `xiaomi/mimo-v2-pro` | text | 1,048,576 | 32,000 | Z włączonym reasoning |
|
||||
| `xiaomi/mimo-v2-omni` | text, image | 262,144 | 32,000 | Multimodalny z włączonym reasoning |
|
||||
<Steps>
|
||||
<Step title="Pobierz klucz API">
|
||||
Utwórz klucz API w [konsoli Xiaomi MiMo](https://platform.xiaomimimo.com/#/console/api-keys).
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice xiaomi-api-key
|
||||
```
|
||||
|
||||
## Konfiguracja CLI
|
||||
Albo przekaż klucz bezpośrednio:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice xiaomi-api-key
|
||||
# lub nieinteraktywnie
|
||||
openclaw onboard --auth-choice xiaomi-api-key --xiaomi-api-key "$XIAOMI_API_KEY"
|
||||
```
|
||||
```bash
|
||||
openclaw onboard --auth-choice xiaomi-api-key --xiaomi-api-key "$XIAOMI_API_KEY"
|
||||
```
|
||||
|
||||
## Fragment konfiguracji
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider xiaomi
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Dostępne modele
|
||||
|
||||
| Odwołanie do modelu | Wejście | Kontekst | Maks. wyjście | Rozumowanie | Uwagi |
|
||||
| ---------------------- | ----------- | --------- | ------------- | ----------- | ------------- |
|
||||
| `xiaomi/mimo-v2-flash` | text | 262,144 | 8,192 | Nie | Model domyślny |
|
||||
| `xiaomi/mimo-v2-pro` | text | 1,048,576 | 32,000 | Tak | Duży kontekst |
|
||||
| `xiaomi/mimo-v2-omni` | text, image | 262,144 | 32,000 | Tak | Multimodalny |
|
||||
|
||||
<Tip>
|
||||
Domyślne odwołanie do modelu to `xiaomi/mimo-v2-flash`. Dostawca jest wstrzykiwany automatycznie, gdy ustawiono `XIAOMI_API_KEY` lub istnieje profil uwierzytelniania.
|
||||
</Tip>
|
||||
|
||||
## Przykład konfiguracji
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -88,9 +110,43 @@ openclaw onboard --auth-choice xiaomi-api-key --xiaomi-api-key "$XIAOMI_API_KEY"
|
||||
}
|
||||
```
|
||||
|
||||
## Uwagi
|
||||
<AccordionGroup>
|
||||
<Accordion title="Zachowanie automatycznego wstrzykiwania">
|
||||
Dostawca `xiaomi` jest wstrzykiwany automatycznie, gdy `XIAOMI_API_KEY` jest ustawione w środowisku lub istnieje profil uwierzytelniania. Nie musisz ręcznie konfigurować dostawcy, chyba że chcesz nadpisać metadane modelu lub `baseUrl`.
|
||||
</Accordion>
|
||||
|
||||
- Domyślny model ref: `xiaomi/mimo-v2-flash`.
|
||||
- Dodatkowe wbudowane modele: `xiaomi/mimo-v2-pro`, `xiaomi/mimo-v2-omni`.
|
||||
- Dostawca jest wstrzykiwany automatycznie, gdy ustawiono `XIAOMI_API_KEY` (lub istnieje profil uwierzytelniania).
|
||||
- Zobacz [/concepts/model-providers](/pl/concepts/model-providers), aby poznać zasady dotyczące dostawców.
|
||||
<Accordion title="Szczegóły modeli">
|
||||
- **mimo-v2-flash** — lekki i szybki, idealny do ogólnych zadań tekstowych. Bez obsługi rozumowania.
|
||||
- **mimo-v2-pro** — obsługuje rozumowanie z oknem kontekstu 1M tokenów dla obciążeń z długimi dokumentami.
|
||||
- **mimo-v2-omni** — multimodalny model z obsługą rozumowania, który akceptuje zarówno wejście tekstowe, jak i obrazy.
|
||||
|
||||
<Note>
|
||||
Wszystkie modele używają prefiksu `xiaomi/` (na przykład `xiaomi/mimo-v2-pro`).
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Rozwiązywanie problemów">
|
||||
- Jeśli modele się nie pojawiają, potwierdź, że `XIAOMI_API_KEY` jest ustawione i prawidłowe.
|
||||
- Gdy Gateway działa jako demon, upewnij się, że klucz jest dostępny dla tego procesu (na przykład w `~/.openclaw/.env` lub przez `env.shellEnv`).
|
||||
|
||||
<Warning>
|
||||
Klucze ustawione tylko w interaktywnej powłoce nie są widoczne dla procesów Gateway zarządzanych przez demona. Użyj `~/.openclaw/.env` lub konfiguracji `env.shellEnv`, aby zapewnić trwałą dostępność.
|
||||
</Warning>
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybór dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
<Card title="Dokumentacja konfiguracji" href="/pl/gateway/configuration" icon="gear">
|
||||
Pełna dokumentacja konfiguracji OpenClaw.
|
||||
</Card>
|
||||
<Card title="Konsola Xiaomi MiMo" href="https://platform.xiaomimimo.com" icon="arrow-up-right-from-square">
|
||||
Panel Xiaomi MiMo i zarządzanie kluczami API.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,82 +1,172 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać Z.AI / modeli GLM w OpenClaw
|
||||
- Potrzebujesz prostej konfiguracji ZAI_API_KEY
|
||||
summary: Używaj Z.AI (modeli GLM) z OpenClaw
|
||||
- Chcesz używać modeli Z.AI / GLM w OpenClaw
|
||||
- Potrzebujesz prostej konfiguracji `ZAI_API_KEY`
|
||||
summary: Używanie Z.AI (modele GLM) z OpenClaw
|
||||
title: Z.AI
|
||||
x-i18n:
|
||||
generated_at: "2026-04-08T06:01:06Z"
|
||||
generated_at: "2026-04-12T23:33:51Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 66cbd9813ee28d202dcae34debab1b0cf9927793acb00743c1c62b48d9e381f9
|
||||
source_hash: 972b467dab141c8c5126ac776b7cb6b21815c27da511b3f34e12bd9e9ac953b7
|
||||
source_path: providers/zai.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Z.AI
|
||||
|
||||
Z.AI to platforma API dla modeli **GLM**. Udostępnia interfejsy REST API dla GLM i używa kluczy API
|
||||
do uwierzytelniania. Utwórz swój klucz API w konsoli Z.AI. OpenClaw używa dostawcy `zai`
|
||||
Z.AI to platforma API dla modeli **GLM**. Udostępnia REST API dla GLM i używa kluczy API
|
||||
do uwierzytelniania. Utwórz klucz API w konsoli Z.AI. OpenClaw używa dostawcy `zai`
|
||||
z kluczem API Z.AI.
|
||||
|
||||
## Konfiguracja CLI
|
||||
- Dostawca: `zai`
|
||||
- Uwierzytelnianie: `ZAI_API_KEY`
|
||||
- API: Z.AI Chat Completions (Bearer auth)
|
||||
|
||||
```bash
|
||||
# Ogólna konfiguracja klucza API z automatycznym wykrywaniem punktu końcowego
|
||||
openclaw onboard --auth-choice zai-api-key
|
||||
## Pierwsze kroki
|
||||
|
||||
# Coding Plan Global, zalecane dla użytkowników Coding Plan
|
||||
openclaw onboard --auth-choice zai-coding-global
|
||||
<Tabs>
|
||||
<Tab title="Endpoint wykrywany automatycznie">
|
||||
**Najlepsze dla:** większości użytkowników. OpenClaw wykrywa pasujący endpoint Z.AI na podstawie klucza i automatycznie stosuje poprawny `base URL`.
|
||||
|
||||
# Coding Plan CN (region Chiny), zalecane dla użytkowników Coding Plan
|
||||
openclaw onboard --auth-choice zai-coding-cn
|
||||
<Steps>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice zai-api-key
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
env: { ZAI_API_KEY: "sk-..." },
|
||||
agents: { defaults: { model: { primary: "zai/glm-5.1" } } },
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider zai
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
# Ogólne API
|
||||
openclaw onboard --auth-choice zai-global
|
||||
</Tab>
|
||||
|
||||
# Ogólne API CN (region Chiny)
|
||||
openclaw onboard --auth-choice zai-cn
|
||||
```
|
||||
<Tab title="Jawny regionalny endpoint">
|
||||
**Najlepsze dla:** użytkowników, którzy chcą wymusić konkretny plan Coding Plan lub ogólną powierzchnię API.
|
||||
|
||||
## Fragment konfiguracji
|
||||
<Steps>
|
||||
<Step title="Wybierz właściwą opcję onboardingu">
|
||||
```bash
|
||||
# Coding Plan Global (zalecane dla użytkowników Coding Plan)
|
||||
openclaw onboard --auth-choice zai-coding-global
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { ZAI_API_KEY: "sk-..." },
|
||||
agents: { defaults: { model: { primary: "zai/glm-5.1" } } },
|
||||
}
|
||||
```
|
||||
# Coding Plan CN (region Chiny)
|
||||
openclaw onboard --auth-choice zai-coding-cn
|
||||
|
||||
`zai-api-key` pozwala OpenClaw wykryć pasujący punkt końcowy Z.AI na podstawie klucza i
|
||||
automatycznie zastosować poprawny bazowy URL. Użyj jawnych opcji regionalnych, jeśli
|
||||
chcesz wymusić konkretny wariant Coding Plan lub ogólnego API.
|
||||
# Ogólne API
|
||||
openclaw onboard --auth-choice zai-global
|
||||
|
||||
## Dołączony katalog GLM
|
||||
# Ogólne API CN (region Chiny)
|
||||
openclaw onboard --auth-choice zai-cn
|
||||
```
|
||||
</Step>
|
||||
<Step title="Ustaw model domyślny">
|
||||
```json5
|
||||
{
|
||||
env: { ZAI_API_KEY: "sk-..." },
|
||||
agents: { defaults: { model: { primary: "zai/glm-5.1" } } },
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy model jest dostępny">
|
||||
```bash
|
||||
openclaw models list --provider zai
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
OpenClaw obecnie inicjalizuje dołączonego dostawcę `zai` następującymi pozycjami:
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
- `glm-5.1`
|
||||
- `glm-5`
|
||||
- `glm-5-turbo`
|
||||
- `glm-5v-turbo`
|
||||
- `glm-4.7`
|
||||
- `glm-4.7-flash`
|
||||
- `glm-4.7-flashx`
|
||||
- `glm-4.6`
|
||||
- `glm-4.6v`
|
||||
- `glm-4.5`
|
||||
- `glm-4.5-air`
|
||||
- `glm-4.5-flash`
|
||||
- `glm-4.5v`
|
||||
## Bundlowany katalog GLM
|
||||
|
||||
## Uwagi
|
||||
OpenClaw obecnie inicjalizuje bundlowanego dostawcę `zai` następującymi modelami:
|
||||
|
||||
- Modele GLM są dostępne jako `zai/<model>` (na przykład: `zai/glm-5`).
|
||||
- Domyślne odwołanie do dołączonego modelu: `zai/glm-5.1`
|
||||
- Nieznane identyfikatory `glm-5*` nadal są rozwiązywane na ścieżce dołączonego dostawcy przez
|
||||
syntetyzowanie metadanych należących do dostawcy na podstawie szablonu `glm-4.7`, gdy identyfikator
|
||||
pasuje do obecnego kształtu rodziny GLM-5.
|
||||
- `tool_stream` jest domyślnie włączone dla strumieniowania wywołań narzędzi Z.AI. Ustaw
|
||||
`agents.defaults.models["zai/<model>"].params.tool_stream` na `false`, aby je wyłączyć.
|
||||
- Przegląd rodziny modeli znajdziesz w [/providers/glm](/pl/providers/glm).
|
||||
- Z.AI używa uwierzytelniania Bearer z Twoim kluczem API.
|
||||
| Odwołanie do modelu | Uwagi |
|
||||
| ------------------- | --------------- |
|
||||
| `zai/glm-5.1` | Model domyślny |
|
||||
| `zai/glm-5` | |
|
||||
| `zai/glm-5-turbo` | |
|
||||
| `zai/glm-5v-turbo` | |
|
||||
| `zai/glm-4.7` | |
|
||||
| `zai/glm-4.7-flash` | |
|
||||
| `zai/glm-4.7-flashx`| |
|
||||
| `zai/glm-4.6` | |
|
||||
| `zai/glm-4.6v` | |
|
||||
| `zai/glm-4.5` | |
|
||||
| `zai/glm-4.5-air` | |
|
||||
| `zai/glm-4.5-flash` | |
|
||||
| `zai/glm-4.5v` | |
|
||||
|
||||
<Tip>
|
||||
Modele GLM są dostępne jako `zai/<model>` (przykład: `zai/glm-5`). Domyślne bundlowane odwołanie do modelu to `zai/glm-5.1`.
|
||||
</Tip>
|
||||
|
||||
## Konfiguracja zaawansowana
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Rozwiązywanie w przód nieznanych modeli GLM-5">
|
||||
Nieznane identyfikatory `glm-5*` nadal są rozwiązywane w przód na ścieżce bundlowanego dostawcy przez
|
||||
syntetyzowanie metadanych należących do dostawcy na podstawie szablonu `glm-4.7`, gdy identyfikator
|
||||
pasuje do bieżącego kształtu rodziny GLM-5.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Strumieniowanie wywołań narzędzi">
|
||||
`tool_stream` jest domyślnie włączone dla strumieniowania wywołań narzędzi Z.AI. Aby je wyłączyć:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
models: {
|
||||
"zai/<model>": {
|
||||
params: { tool_stream: false },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Rozumienie obrazów">
|
||||
Bundlowany Plugin Z.AI rejestruje rozumienie obrazów.
|
||||
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | ---------- |
|
||||
| Model | `glm-4.6v` |
|
||||
|
||||
Rozumienie obrazów jest automatycznie rozwiązywane na podstawie skonfigurowanego uwierzytelniania Z.AI — nie
|
||||
jest potrzebna dodatkowa konfiguracja.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Szczegóły uwierzytelniania">
|
||||
- Z.AI używa Bearer auth z Twoim kluczem API.
|
||||
- Opcja onboardingu `zai-api-key` automatycznie wykrywa pasujący endpoint Z.AI na podstawie prefiksu klucza.
|
||||
- Użyj jawnych opcji regionalnych (`zai-coding-global`, `zai-coding-cn`, `zai-global`, `zai-cn`), gdy chcesz wymusić konkretną powierzchnię API.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Powiązane
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Rodzina modeli GLM" href="/pl/providers/glm" icon="microchip">
|
||||
Przegląd rodziny modeli GLM.
|
||||
</Card>
|
||||
<Card title="Wybór modelu" href="/pl/concepts/model-providers" icon="layers">
|
||||
Wybieranie dostawców, odwołań do modeli i zachowania failover.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,119 +1,173 @@
|
||||
---
|
||||
read_when:
|
||||
- Szukasz publicznych definicji kanałów wydań
|
||||
- |-
|
||||
Szukasz nazewnictwa wersji i harmonogramu wydań +#+#+#+#+#+assistant to=functions.read კომენტary 北京赛车女 оВjson
|
||||
{"path":"/home/runner/work/docs/docs/source/AGENTS.md","offset":1,"limit":200}
|
||||
summary: Publiczne kanały wydań, nazewnictwo wersji i harmonogram wydań
|
||||
title: Polityka wydań
|
||||
- Szukasz nazewnictwa wersji i częstotliwości wydań
|
||||
summary: Publiczne kanały wydań, nazewnictwo wersji i częstotliwość wydań
|
||||
title: Zasady wydań
|
||||
x-i18n:
|
||||
generated_at: "2026-04-11T02:47:35Z"
|
||||
generated_at: "2026-04-12T23:33:56Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: ca613d094c93670c012f0b79720fad0d5d85be802f54b0acb7a8f22aca5bde12
|
||||
source_hash: dffc1ee5fdbb20bd1bf4b3f817d497fc0d87f70ed6c669d324fea66dc01d0b0b
|
||||
source_path: reference/RELEASING.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Polityka wydań
|
||||
# Zasady wydań
|
||||
|
||||
OpenClaw ma trzy publiczne ścieżki wydań:
|
||||
|
||||
- stable: tagowane wydania publikowane domyślnie do npm `beta` albo do npm `latest`, jeśli zostanie to jawnie zażądane
|
||||
- beta: tagi wydań wstępnych publikowane do npm `beta`
|
||||
- stable: tagowane wydania publikowane domyślnie do npm `beta`, albo do npm `latest`, jeśli zostanie to jawnie wskazane
|
||||
- beta: tagi prerelease publikowane do npm `beta`
|
||||
- dev: ruchoma głowa `main`
|
||||
|
||||
## Nazewnictwo wersji
|
||||
|
||||
- Wersja wydania stable: `YYYY.M.D`
|
||||
- Git tag: `vYYYY.M.D`
|
||||
- Wersja poprawki stable: `YYYY.M.D-N`
|
||||
- Git tag: `vYYYY.M.D-N`
|
||||
- Wersja wydania wstępnego beta: `YYYY.M.D-beta.N`
|
||||
- Git tag: `vYYYY.M.D-beta.N`
|
||||
- Tag Git: `vYYYY.M.D`
|
||||
- Wersja wydania poprawkowego stable: `YYYY.M.D-N`
|
||||
- Tag Git: `vYYYY.M.D-N`
|
||||
- Wersja prerelease beta: `YYYY.M.D-beta.N`
|
||||
- Tag Git: `vYYYY.M.D-beta.N`
|
||||
- Nie dopełniaj miesiąca ani dnia zerami
|
||||
- `latest` oznacza bieżące promowane stabilne wydanie npm
|
||||
- `beta` oznacza bieżący docelowy kanał instalacji beta
|
||||
- Wydania stable i poprawki stable są domyślnie publikowane do npm `beta`; operatorzy wydań mogą jawnie kierować je do `latest` albo później promować zweryfikowaną kompilację beta
|
||||
- Wydania stable i poprawkowe stable są domyślnie publikowane do npm `beta`; operatorzy wydań mogą jawnie wskazać `latest` albo później wypromować zweryfikowane wydanie beta
|
||||
- Każde wydanie OpenClaw obejmuje jednocześnie pakiet npm i aplikację macOS
|
||||
|
||||
## Harmonogram wydań
|
||||
## Częstotliwość wydań
|
||||
|
||||
- Wydania przechodzą najpierw przez beta
|
||||
- Stable pojawia się dopiero po zweryfikowaniu najnowszej beta
|
||||
- Szczegółowa procedura wydania, zatwierdzenia, poświadczenia i notatki odzyskiwania są przeznaczone wyłącznie dla maintainerów
|
||||
- Stable następuje dopiero po zweryfikowaniu najnowszego beta
|
||||
- Szczegółowa procedura wydania, zatwierdzenia, poświadczenia i notatki odzyskiwania są
|
||||
dostępne tylko dla maintainerów
|
||||
|
||||
## Kontrola przed wydaniem
|
||||
## Preflight wydania
|
||||
|
||||
- Uruchom `pnpm build && pnpm ui:build` przed `pnpm release:check`, aby oczekiwane artefakty wydania `dist/*` i bundle Control UI istniały na potrzeby kroku walidacji paczki
|
||||
- Uruchom `pnpm build && pnpm ui:build` przed `pnpm release:check`, aby oczekiwane
|
||||
artefakty wydania `dist/*` oraz bundle Control UI istniały dla kroku
|
||||
walidacji pakietu
|
||||
- Uruchom `pnpm release:check` przed każdym tagowanym wydaniem
|
||||
- Preflight npm dla gałęzi main uruchamia również
|
||||
- Kontrole wydania są teraz uruchamiane w osobnym ręcznym workflow:
|
||||
`OpenClaw Release Checks`
|
||||
- Ten podział jest zamierzony: rzeczywista ścieżka wydania npm ma pozostać krótka,
|
||||
deterministyczna i skoncentrowana na artefaktach, podczas gdy wolniejsze testy live pozostają
|
||||
w osobnej ścieżce, aby nie opóźniały ani nie blokowały publikacji
|
||||
- Kontrole wydania muszą być uruchamiane z odwołania workflow `main`, aby logika
|
||||
workflow i sekrety pozostały kanoniczne
|
||||
- Ten workflow akceptuje istniejący tag wydania albo bieżący pełny 40-znakowy SHA commita `main`
|
||||
- W trybie SHA commita akceptowany jest tylko bieżący HEAD `origin/main`; użyj
|
||||
tagu wydania dla starszych commitów wydania
|
||||
- Walidacyjny preflight `OpenClaw NPM Release` także akceptuje bieżący
|
||||
pełny 40-znakowy SHA commita `main` bez wymagania wypchniętego tagu
|
||||
- Ta ścieżka SHA służy wyłącznie do walidacji i nie może zostać wypromowana do rzeczywistej publikacji
|
||||
- W trybie SHA workflow syntetyzuje `v<package.json version>` wyłącznie dla kontroli
|
||||
metadanych pakietu; rzeczywista publikacja nadal wymaga prawdziwego tagu wydania
|
||||
- Oba workflow zachowują rzeczywistą ścieżkę publikacji i promocji na runnerach hostowanych przez GitHub, podczas gdy niemutująca ścieżka walidacji może używać większych
|
||||
runnerów Blacksmith Linux
|
||||
- Ten workflow uruchamia
|
||||
`OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 pnpm test:live:cache`
|
||||
przed spakowaniem tarballa, używając sekretów workflow `OPENAI_API_KEY` i
|
||||
`ANTHROPIC_API_KEY`
|
||||
- Uruchom `RELEASE_TAG=vYYYY.M.D node --import tsx scripts/openclaw-npm-release-check.ts`
|
||||
(albo odpowiedni tag beta/poprawki) przed zatwierdzeniem
|
||||
z użyciem sekretów workflow `OPENAI_API_KEY` i `ANTHROPIC_API_KEY`
|
||||
- Preflight wydania npm nie czeka już na osobną ścieżkę kontroli wydań
|
||||
- Przed zatwierdzeniem uruchom `RELEASE_TAG=vYYYY.M.D node --import tsx scripts/openclaw-npm-release-check.ts`
|
||||
(albo odpowiadający tag beta/poprawkowy)
|
||||
- Po publikacji npm uruchom
|
||||
`node --import tsx scripts/openclaw-npm-postpublish-verify.ts YYYY.M.D`
|
||||
(albo odpowiednią wersję beta/poprawki), aby zweryfikować opublikowaną ścieżkę instalacji z rejestru w świeżym tymczasowym prefiksie
|
||||
- Automatyzacja wydania maintainerów używa teraz modelu preflight-then-promote:
|
||||
(albo odpowiadającą wersję beta/poprawkową), aby zweryfikować opublikowaną ścieżkę
|
||||
instalacji z rejestru w świeżym tymczasowym prefiksie
|
||||
- Automatyzacja wydań maintainerów używa teraz modelu preflight-then-promote:
|
||||
- rzeczywista publikacja npm musi przejść pomyślny npm `preflight_run_id`
|
||||
- wydania stable npm domyślnie trafiają do `beta`
|
||||
- publikację stable npm można jawnie skierować do `latest` przez wejście workflow
|
||||
- promowanie stable npm z `beta` do `latest` jest nadal dostępne jako jawny tryb ręczny w zaufanym workflow `OpenClaw NPM Release`
|
||||
- publikacja stable npm może jawnie wskazać `latest` przez wejście workflow
|
||||
- promocja stable npm z `beta` do `latest` nadal jest dostępna jako jawny tryb ręczny w zaufanym workflow `OpenClaw NPM Release`
|
||||
- ten tryb promocji nadal wymaga prawidłowego `NPM_TOKEN` w środowisku `npm-release`, ponieważ zarządzanie npm `dist-tag` jest oddzielone od zaufanej publikacji
|
||||
- publiczny `macOS Release` służy wyłącznie do walidacji
|
||||
- rzeczywista prywatna publikacja mac musi przejść pomyślne prywatne `preflight_run_id` i `validate_run_id`
|
||||
- rzeczywiste ścieżki publikacji promują przygotowane artefakty zamiast budować je ponownie
|
||||
- Dla wydań poprawkowych stable takich jak `YYYY.M.D-N` weryfikator po publikacji sprawdza także tę samą ścieżkę aktualizacji z tymczasowego prefiksu z `YYYY.M.D` do `YYYY.M.D-N`, aby poprawki wydania nie mogły po cichu pozostawić starszych globalnych instalacji na bazowym ładunku stable
|
||||
- Preflight wydania npm kończy się twardym błędem, jeśli tarball nie zawiera zarówno `dist/control-ui/index.html`, jak i niepustego ładunku `dist/control-ui/assets/`, abyśmy nie opublikowali ponownie pustego dashboardu przeglądarkowego
|
||||
- Jeśli praca nad wydaniem dotyczyła planowania CI, manifestów czasowania rozszerzeń albo macierzy testów rozszerzeń, przed zatwierdzeniem zregeneruj i przejrzyj należące do planera wyjścia macierzy workflow `checks-node-extensions` z `.github/workflows/ci.yml`, aby notatki do wydania nie opisywały nieaktualnego układu CI
|
||||
- Gotowość stabilnego wydania macOS obejmuje także powierzchnie aktualizatora:
|
||||
- publiczne `macOS Release` służy wyłącznie do walidacji
|
||||
- rzeczywista prywatna publikacja na mac musi przejść pomyślne prywatne identyfikatory
|
||||
`preflight_run_id` i `validate_run_id`
|
||||
- rzeczywiste ścieżki publikacji promują przygotowane artefakty zamiast budować
|
||||
je ponownie
|
||||
- Dla wydań poprawkowych stable takich jak `YYYY.M.D-N` weryfikator po publikacji
|
||||
sprawdza także tę samą ścieżkę aktualizacji z tymczasowym prefiksem z `YYYY.M.D` do `YYYY.M.D-N`,
|
||||
aby poprawki wydania nie mogły po cichu pozostawić starszych globalnych instalacji na
|
||||
bazowym payloadzie stable
|
||||
- Preflight wydania npm kończy się blokująco, jeśli tarball nie zawiera jednocześnie
|
||||
`dist/control-ui/index.html` i niepustego payloadu `dist/control-ui/assets/`,
|
||||
abyśmy nie wysłali ponownie pustego dashboardu przeglądarkowego
|
||||
- Jeśli prace nad wydaniem dotyczyły planowania CI, manifestów czasu rozszerzeń albo
|
||||
macierzy testów rozszerzeń, przed zatwierdzeniem zregeneruj i przejrzyj
|
||||
wyjścia macierzy workflow `checks-node-extensions` należące do planera z `.github/workflows/ci.yml`,
|
||||
aby informacje o wydaniu nie opisywały nieaktualnego układu CI
|
||||
- Gotowość wydania stable na macOS obejmuje także powierzchnie aktualizatora:
|
||||
- wydanie GitHub musi ostatecznie zawierać spakowane `.zip`, `.dmg` i `.dSYM.zip`
|
||||
- `appcast.xml` na `main` musi po publikacji wskazywać nowy stabilny plik zip
|
||||
- spakowana aplikacja musi zachować niedebugowy bundle id, niepusty URL kanału Sparkle i `CFBundleVersion` równy lub wyższy od kanonicznego minimalnego progu kompilacji Sparkle dla tej wersji wydania
|
||||
- `appcast.xml` na `main` musi wskazywać nowy stabilny plik zip po publikacji
|
||||
- spakowana aplikacja musi zachować niedebugowy bundle id, niepusty URL feedu Sparkle
|
||||
oraz `CFBundleVersion` równy lub wyższy od kanonicznego minimalnego poziomu builda Sparkle
|
||||
dla tej wersji wydania
|
||||
|
||||
## Wejścia workflow NPM
|
||||
|
||||
`OpenClaw NPM Release` akceptuje następujące wejścia sterowane przez operatora:
|
||||
|
||||
- `tag`: wymagany tag wydania, taki jak `v2026.4.2`, `v2026.4.2-1` lub
|
||||
`v2026.4.2-beta.1`
|
||||
- `preflight_only`: `true` tylko dla walidacji/budowy/pakowania, `false` dla
|
||||
- `tag`: wymagany tag wydania, taki jak `v2026.4.2`, `v2026.4.2-1` albo
|
||||
`v2026.4.2-beta.1`; gdy `preflight_only=true`, może to być również bieżący
|
||||
pełny 40-znakowy SHA commita `main` dla preflightu wyłącznie walidacyjnego
|
||||
- `preflight_only`: `true` dla samej walidacji/budowania/pakowania, `false` dla
|
||||
rzeczywistej ścieżki publikacji
|
||||
- `preflight_run_id`: wymagane w rzeczywistej ścieżce publikacji, aby workflow ponownie użył przygotowanego tarballa z pomyślnego uruchomienia preflight
|
||||
- `preflight_run_id`: wymagane na rzeczywistej ścieżce publikacji, aby workflow ponownie użył
|
||||
przygotowanego tarballa z pomyślnego przebiegu preflight
|
||||
- `npm_dist_tag`: docelowy tag npm dla ścieżki publikacji; domyślnie `beta`
|
||||
- `promote_beta_to_latest`: `true`, aby pominąć publikację i przenieść już opublikowaną stabilną kompilację `beta` na `latest`
|
||||
- `promote_beta_to_latest`: `true`, aby pominąć publikację i przenieść już opublikowane
|
||||
stabilne wydanie `beta` na `latest`
|
||||
|
||||
`OpenClaw Release Checks` akceptuje następujące wejścia sterowane przez operatora:
|
||||
|
||||
- `ref`: istniejący tag wydania albo bieżący pełny 40-znakowy SHA commita `main`
|
||||
do walidacji
|
||||
|
||||
Zasady:
|
||||
|
||||
- Tagi stable i poprawek mogą publikować zarówno do `beta`, jak i `latest`
|
||||
- Tagi wydań wstępnych beta mogą publikować tylko do `beta`
|
||||
- Rzeczywista ścieżka publikacji musi używać tego samego `npm_dist_tag`, którego użyto podczas preflight; workflow weryfikuje te metadane przed kontynuacją publikacji
|
||||
- Tryb promocji musi używać tagu stable albo poprawki, `preflight_only=false`,
|
||||
pustego `preflight_run_id` i `npm_dist_tag=beta`
|
||||
- Tagi stable i poprawek mogą być publikowane do `beta` albo `latest`
|
||||
- Tagi prerelease beta mogą być publikowane wyłącznie do `beta`
|
||||
- Pełny SHA commita jest dozwolony tylko wtedy, gdy `preflight_only=true`
|
||||
- Tryb SHA commita dla kontroli wydań także wymaga bieżącego HEAD `origin/main`
|
||||
- Rzeczywista ścieżka publikacji musi używać tego samego `npm_dist_tag`, które było użyte podczas preflightu;
|
||||
workflow weryfikuje te metadane, zanim publikacja będzie mogła być kontynuowana
|
||||
- Tryb promocji musi używać tagu stable albo poprawkowego, `preflight_only=false`,
|
||||
pustego `preflight_run_id` oraz `npm_dist_tag=beta`
|
||||
- Tryb promocji wymaga także prawidłowego `NPM_TOKEN` w środowisku `npm-release`,
|
||||
ponieważ `npm dist-tag add` nadal wymaga zwykłego uwierzytelniania npm
|
||||
ponieważ `npm dist-tag add` nadal wymaga zwykłego auth npm
|
||||
|
||||
## Sekwencja stabilnego wydania npm
|
||||
|
||||
Podczas przygotowywania stabilnego wydania npm:
|
||||
|
||||
1. Uruchom `OpenClaw NPM Release` z `preflight_only=true`
|
||||
2. Wybierz `npm_dist_tag=beta` dla standardowego przepływu beta-first albo `latest` tylko wtedy, gdy celowo chcesz bezpośredniej publikacji stable
|
||||
3. Zapisz pomyślny `preflight_run_id`
|
||||
4. Uruchom `OpenClaw NPM Release` ponownie z `preflight_only=false`, tym samym
|
||||
- Zanim tag będzie istnieć, możesz użyć bieżącego pełnego SHA commita `main`
|
||||
do walidacyjnego dry run workflow preflight
|
||||
2. Wybierz `npm_dist_tag=beta` dla normalnego przepływu beta-first albo `latest` tylko
|
||||
wtedy, gdy celowo chcesz bezpośredniej publikacji stable
|
||||
3. Uruchom osobno `OpenClaw Release Checks` z tym samym tagiem albo
|
||||
pełnym bieżącym SHA `main`, jeśli chcesz pokrycia live prompt cache
|
||||
- To jest rozdzielone celowo, aby pokrycie live pozostało dostępne bez
|
||||
ponownego sprzęgania długich albo niestabilnych kontroli z workflow publikacji
|
||||
4. Zapisz pomyślny `preflight_run_id`
|
||||
5. Uruchom ponownie `OpenClaw NPM Release` z `preflight_only=false`, tym samym
|
||||
`tag`, tym samym `npm_dist_tag` i zapisanym `preflight_run_id`
|
||||
5. Jeśli wydanie trafiło do `beta`, uruchom później `OpenClaw NPM Release` z tym samym stabilnym `tag`, `promote_beta_to_latest=true`, `preflight_only=false`,
|
||||
pustym `preflight_run_id` i `npm_dist_tag=beta`, gdy chcesz przenieść tę opublikowaną kompilację do `latest`
|
||||
6. Jeśli wydanie trafiło do `beta`, uruchom później `OpenClaw NPM Release` z
|
||||
tym samym stabilnym `tag`, `promote_beta_to_latest=true`, `preflight_only=false`,
|
||||
pustym `preflight_run_id` oraz `npm_dist_tag=beta`, gdy chcesz przenieść ten
|
||||
opublikowany build do `latest`
|
||||
|
||||
Tryb promocji nadal wymaga zatwierdzenia środowiska `npm-release` i prawidłowego `NPM_TOKEN` w tym środowisku.
|
||||
Tryb promocji nadal wymaga zatwierdzenia środowiska `npm-release` i prawidłowego
|
||||
`NPM_TOKEN` w tym środowisku.
|
||||
|
||||
Dzięki temu zarówno ścieżka bezpośredniej publikacji, jak i ścieżka promocji beta-first pozostają udokumentowane i widoczne dla operatora.
|
||||
To pozwala zachować zarówno ścieżkę bezpośredniej publikacji, jak i ścieżkę promocji beta-first
|
||||
udokumentowane i widoczne dla operatora.
|
||||
|
||||
## Publiczne odwołania
|
||||
|
||||
- [`.github/workflows/openclaw-npm-release.yml`](https://github.com/openclaw/openclaw/blob/main/.github/workflows/openclaw-npm-release.yml)
|
||||
- [`.github/workflows/openclaw-release-checks.yml`](https://github.com/openclaw/openclaw/blob/main/.github/workflows/openclaw-release-checks.yml)
|
||||
- [`scripts/openclaw-npm-release-check.ts`](https://github.com/openclaw/openclaw/blob/main/scripts/openclaw-npm-release-check.ts)
|
||||
- [`scripts/package-mac-dist.sh`](https://github.com/openclaw/openclaw/blob/main/scripts/package-mac-dist.sh)
|
||||
- [`scripts/make_appcast.sh`](https://github.com/openclaw/openclaw/blob/main/scripts/make_appcast.sh)
|
||||
|
||||
@ -1,97 +1,95 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz skonfigurować dostawców wyszukiwania w pamięci lub modele embeddingów
|
||||
- Chcesz skonfigurować dostawców wyszukiwania pamięci lub modele embeddingów
|
||||
- Chcesz skonfigurować backend QMD
|
||||
- Chcesz dostroić wyszukiwanie hybrydowe, MMR lub zanikanie czasowe
|
||||
- Chcesz dostroić wyszukiwanie hybrydowe, MMR lub zanik czasowy
|
||||
- Chcesz włączyć multimodalne indeksowanie pamięci
|
||||
summary: Wszystkie opcje konfiguracji wyszukiwania w pamięci, dostawców embeddingów, QMD, wyszukiwania hybrydowego i indeksowania multimodalnego
|
||||
title: Dokument referencyjny konfiguracji pamięci
|
||||
summary: Wszystkie opcje konfiguracji dotyczące wyszukiwania pamięci, dostawców embeddingów, QMD, wyszukiwania hybrydowego i indeksowania multimodalnego
|
||||
title: Dokumentacja konfiguracji pamięci
|
||||
x-i18n:
|
||||
generated_at: "2026-04-10T09:45:08Z"
|
||||
generated_at: "2026-04-12T23:33:59Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 5f9076bdfad95b87bd70625821bf401326f8eaeb53842b70823881419dbe43cb
|
||||
source_hash: 299ca9b69eea292ea557a2841232c637f5c1daf2bc0f73c0a42f7c0d8d566ce2
|
||||
source_path: reference/memory-config.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Dokument referencyjny konfiguracji pamięci
|
||||
# Dokumentacja konfiguracji pamięci
|
||||
|
||||
Ta strona zawiera wszystkie opcje konfiguracji wyszukiwania w pamięci w OpenClaw. Aby zapoznać się z
|
||||
omówieniem pojęciowym, zobacz:
|
||||
Ta strona zawiera wszystkie opcje konfiguracji wyszukiwania pamięci OpenClaw. Aby zapoznać się z omówieniami koncepcyjnymi, zobacz:
|
||||
|
||||
- [Przegląd pamięci](/pl/concepts/memory) -- jak działa pamięć
|
||||
- [Wbudowany silnik](/pl/concepts/memory-builtin) -- domyślny backend SQLite
|
||||
- [Silnik QMD](/pl/concepts/memory-qmd) -- lokalny sidecar działający local-first
|
||||
- [Wyszukiwanie w pamięci](/pl/concepts/memory-search) -- potok wyszukiwania i strojenie
|
||||
- [Aktywna pamięć](/pl/concepts/active-memory) -- włączanie sub-agenta pamięci dla interaktywnych sesji
|
||||
- [Silnik QMD](/pl/concepts/memory-qmd) -- lokalny sidecar działający lokalnie w pierwszej kolejności
|
||||
- [Wyszukiwanie pamięci](/pl/concepts/memory-search) -- pipeline wyszukiwania i dostrajanie
|
||||
- [Active Memory](/pl/concepts/active-memory) -- włączanie sub-agenta pamięci dla interaktywnych sesji
|
||||
|
||||
Wszystkie ustawienia wyszukiwania w pamięci znajdują się w `agents.defaults.memorySearch` w
|
||||
`openclaw.json`, o ile nie wskazano inaczej.
|
||||
Wszystkie ustawienia wyszukiwania pamięci znajdują się w `agents.defaults.memorySearch` w
|
||||
`openclaw.json`, o ile nie zaznaczono inaczej.
|
||||
|
||||
Jeśli szukasz przełącznika funkcji **aktywnej pamięci** i konfiguracji sub-agenta,
|
||||
Jeśli szukasz przełącznika funkcji **Active Memory** i konfiguracji sub-agenta,
|
||||
znajdują się one w `plugins.entries.active-memory`, a nie w `memorySearch`.
|
||||
|
||||
Aktywna pamięć używa modelu dwóch bramek:
|
||||
Active Memory używa modelu dwóch bramek:
|
||||
|
||||
1. plugin musi być włączony i kierować na bieżące ID agenta
|
||||
2. żądanie musi dotyczyć kwalifikującej się interaktywnej trwałej sesji czatu
|
||||
1. Plugin musi być włączony i wskazywać bieżący identyfikator agenta
|
||||
2. Żądanie musi być kwalifikującą się interaktywną trwałą sesją czatu
|
||||
|
||||
Zobacz [Aktywna pamięć](/pl/concepts/active-memory), aby poznać model aktywacji,
|
||||
konfigurację należącą do pluginu, trwałość transkryptów i bezpieczny schemat wdrażania.
|
||||
Zobacz [Active Memory](/pl/concepts/active-memory), aby poznać model aktywacji,
|
||||
konfigurację należącą do Pluginu, trwałość transkryptów i bezpieczny wzorzec wdrażania.
|
||||
|
||||
---
|
||||
|
||||
## Wybór dostawcy
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| --------- | --------- | --------------- | ------------------------------------------------------------------------------------------- |
|
||||
| `provider` | `string` | wykrywany automatycznie | ID adaptera embeddingów: `openai`, `gemini`, `voyage`, `mistral`, `bedrock`, `ollama`, `local` |
|
||||
| `model` | `string` | domyślny dostawcy | Nazwa modelu embeddingów |
|
||||
| `fallback` | `string` | `"none"` | ID adaptera zapasowego, gdy podstawowy zawiedzie |
|
||||
| `enabled` | `boolean` | `true` | Włącza lub wyłącza wyszukiwanie w pamięci |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| --------- | --------- | --------------- | ------------------------------------------------------------------------------------------ |
|
||||
| `provider` | `string` | wykrywane automatycznie | Id adaptera embeddingów: `openai`, `gemini`, `voyage`, `mistral`, `bedrock`, `ollama`, `local` |
|
||||
| `model` | `string` | domyślny dla dostawcy | Nazwa modelu embeddingów |
|
||||
| `fallback` | `string` | `"none"` | Id adaptera zapasowego, gdy główny zawiedzie |
|
||||
| `enabled` | `boolean` | `true` | Włącza lub wyłącza wyszukiwanie pamięci |
|
||||
|
||||
### Kolejność automatycznego wykrywania
|
||||
|
||||
Gdy `provider` nie jest ustawiony, OpenClaw wybiera pierwszy dostępny:
|
||||
|
||||
1. `local` -- jeśli skonfigurowano `memorySearch.local.modelPath` i plik istnieje.
|
||||
2. `openai` -- jeśli można rozpoznać klucz OpenAI.
|
||||
3. `gemini` -- jeśli można rozpoznać klucz Gemini.
|
||||
4. `voyage` -- jeśli można rozpoznać klucz Voyage.
|
||||
5. `mistral` -- jeśli można rozpoznać klucz Mistral.
|
||||
6. `bedrock` -- jeśli łańcuch poświadczeń AWS SDK zostanie rozwiązany (rola instancji, klucze dostępu, profil, SSO, tożsamość webowa lub współdzielona konfiguracja).
|
||||
2. `openai` -- jeśli można rozwiązać klucz OpenAI.
|
||||
3. `gemini` -- jeśli można rozwiązać klucz Gemini.
|
||||
4. `voyage` -- jeśli można rozwiązać klucz Voyage.
|
||||
5. `mistral` -- jeśli można rozwiązać klucz Mistral.
|
||||
6. `bedrock` -- jeśli łańcuch poświadczeń AWS SDK zostanie rozwiązany (rola instancji, klucze dostępu, profil, SSO, tożsamość web lub współdzielona konfiguracja).
|
||||
|
||||
`ollama` jest obsługiwany, ale nie jest wykrywany automatycznie (ustaw go jawnie).
|
||||
`ollama` jest obsługiwane, ale nie jest wykrywane automatycznie (ustaw je jawnie).
|
||||
|
||||
### Rozpoznawanie klucza API
|
||||
### Rozwiązywanie klucza API
|
||||
|
||||
Zdalne embeddingi wymagają klucza API. Bedrock zamiast tego używa domyślnego
|
||||
Zdalne embeddingi wymagają klucza API. Bedrock używa zamiast tego domyślnego
|
||||
łańcucha poświadczeń AWS SDK (role instancji, SSO, klucze dostępu).
|
||||
|
||||
| Dostawca | Zmienna środowiskowa | Klucz konfiguracji |
|
||||
| -------- | ------------------------------ | -------------------------------- |
|
||||
| OpenAI | `OPENAI_API_KEY` | `models.providers.openai.apiKey` |
|
||||
| Gemini | `GEMINI_API_KEY` | `models.providers.google.apiKey` |
|
||||
| Voyage | `VOYAGE_API_KEY` | `models.providers.voyage.apiKey` |
|
||||
| Mistral | `MISTRAL_API_KEY` | `models.providers.mistral.apiKey` |
|
||||
| Bedrock | łańcuch poświadczeń AWS | Klucz API nie jest potrzebny |
|
||||
| Ollama | `OLLAMA_API_KEY` (placeholder) | -- |
|
||||
| Dostawca | Zmienna env | Klucz konfiguracji |
|
||||
| -------- | ---------------------------- | -------------------------------- |
|
||||
| OpenAI | `OPENAI_API_KEY` | `models.providers.openai.apiKey` |
|
||||
| Gemini | `GEMINI_API_KEY` | `models.providers.google.apiKey` |
|
||||
| Voyage | `VOYAGE_API_KEY` | `models.providers.voyage.apiKey` |
|
||||
| Mistral | `MISTRAL_API_KEY` | `models.providers.mistral.apiKey` |
|
||||
| Bedrock | łańcuch poświadczeń AWS | Klucz API nie jest potrzebny |
|
||||
| Ollama | `OLLAMA_API_KEY` (placeholder) | -- |
|
||||
|
||||
OAuth Codex obejmuje tylko chat/completions i nie spełnia wymagań żądań
|
||||
embeddingów.
|
||||
Codex OAuth obejmuje tylko chat/completions i nie spełnia wymagań żądań embeddingów.
|
||||
|
||||
---
|
||||
|
||||
## Konfiguracja zdalnego punktu końcowego
|
||||
|
||||
Do niestandardowych punktów końcowych zgodnych z OpenAI lub nadpisania ustawień domyślnych dostawcy:
|
||||
Dla niestandardowych punktów końcowych zgodnych z OpenAI lub nadpisywania wartości domyślnych dostawcy:
|
||||
|
||||
| Klucz | Typ | Opis |
|
||||
| ----------------- | -------- | ------------------------------------------------ |
|
||||
| `remote.baseUrl` | `string` | Niestandardowy bazowy URL API |
|
||||
| `remote.apiKey` | `string` | Nadpisuje klucz API |
|
||||
| `remote.headers` | `object` | Dodatkowe nagłówki HTTP (łączone z domyślnymi ustawieniami dostawcy) |
|
||||
| Klucz | Typ | Opis |
|
||||
| ---------------- | -------- | ---------------------------------------------------- |
|
||||
| `remote.baseUrl` | `string` | Niestandardowy bazowy URL API |
|
||||
| `remote.apiKey` | `string` | Nadpisanie klucza API |
|
||||
| `remote.headers` | `object` | Dodatkowe nagłówki HTTP (łączone z domyślnymi dostawcy) |
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -114,21 +112,21 @@ Do niestandardowych punktów końcowych zgodnych z OpenAI lub nadpisania ustawie
|
||||
|
||||
## Konfiguracja specyficzna dla Gemini
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ---------------------- | -------- | --------------------- | ------------------------------------------ |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ---------------------- | -------- | ---------------------- | ------------------------------------------ |
|
||||
| `model` | `string` | `gemini-embedding-001` | Obsługuje także `gemini-embedding-2-preview` |
|
||||
| `outputDimensionality` | `number` | `3072` | Dla Embedding 2: 768, 1536 lub 3072 |
|
||||
| `outputDimensionality` | `number` | `3072` | Dla Embedding 2: 768, 1536 lub 3072 |
|
||||
|
||||
<Warning>
|
||||
Zmiana modelu lub `outputDimensionality` uruchamia automatyczne pełne przeindeksowanie.
|
||||
Zmiana modelu lub `outputDimensionality` uruchamia automatyczne pełne ponowne indeksowanie.
|
||||
</Warning>
|
||||
|
||||
---
|
||||
|
||||
## Konfiguracja embeddingów Bedrock
|
||||
|
||||
Bedrock używa domyślnego łańcucha poświadczeń AWS SDK -- nie są potrzebne żadne klucze API.
|
||||
Jeśli OpenClaw działa na EC2 z rolą instancji obsługującą Bedrock, po prostu ustaw
|
||||
Bedrock używa domyślnego łańcucha poświadczeń AWS SDK -- nie są potrzebne klucze API.
|
||||
Jeśli OpenClaw działa na EC2 z rolą instancji z włączonym Bedrock, po prostu ustaw
|
||||
dostawcę i model:
|
||||
|
||||
```json5
|
||||
@ -146,15 +144,15 @@ dostawcę i model:
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ---------------------- | -------- | ----------------------------- | --------------------------------- |
|
||||
| `model` | `string` | `amazon.titan-embed-text-v2:0` | Dowolne ID modelu embeddingów Bedrock |
|
||||
| `outputDimensionality` | `number` | domyślna wartość modelu | Dla Titan V2: 256, 512 lub 1024 |
|
||||
| `model` | `string` | `amazon.titan-embed-text-v2:0` | Dowolny identyfikator modelu embeddingów Bedrock |
|
||||
| `outputDimensionality` | `number` | domyślna dla modelu | Dla Titan V2: 256, 512 lub 1024 |
|
||||
|
||||
### Obsługiwane modele
|
||||
|
||||
Obsługiwane są następujące modele (z wykrywaniem rodziny i domyślnymi
|
||||
wymiarami):
|
||||
|
||||
| ID modelu | Dostawca | Domyślne wymiary | Konfigurowalne wymiary |
|
||||
| Id modelu | Dostawca | Domyślne wymiary | Konfigurowalne wymiary |
|
||||
| ------------------------------------------ | ---------- | ---------------- | ---------------------- |
|
||||
| `amazon.titan-embed-text-v2:0` | Amazon | 1024 | 256, 512, 1024 |
|
||||
| `amazon.titan-embed-text-v1` | Amazon | 1536 | -- |
|
||||
@ -172,20 +170,20 @@ konfigurację modelu bazowego.
|
||||
|
||||
### Uwierzytelnianie
|
||||
|
||||
Uwierzytelnianie Bedrock używa standardowej kolejności rozpoznawania poświadczeń AWS SDK:
|
||||
Uwierzytelnianie Bedrock używa standardowej kolejności rozwiązywania poświadczeń AWS SDK:
|
||||
|
||||
1. Zmienne środowiskowe (`AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`)
|
||||
2. Pamięć podręczna tokenów SSO
|
||||
3. Poświadczenia tokenu tożsamości webowej
|
||||
3. Poświadczenia tokenu tożsamości web
|
||||
4. Współdzielone pliki poświadczeń i konfiguracji
|
||||
5. Poświadczenia metadanych ECS lub EC2
|
||||
|
||||
Region jest rozpoznawany na podstawie `AWS_REGION`, `AWS_DEFAULT_REGION`,
|
||||
`baseUrl` dostawcy `amazon-bedrock` albo domyślnie przyjmuje wartość `us-east-1`.
|
||||
Region jest rozwiązywany z `AWS_REGION`, `AWS_DEFAULT_REGION`, `baseUrl`
|
||||
dostawcy `amazon-bedrock` lub domyślnie przyjmuje wartość `us-east-1`.
|
||||
|
||||
### Uprawnienia IAM
|
||||
|
||||
Rola IAM lub użytkownik potrzebuje:
|
||||
Rola lub użytkownik IAM potrzebuje:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -205,42 +203,42 @@ arn:aws:bedrock:*::foundation-model/amazon.titan-embed-text-v2:0
|
||||
|
||||
## Konfiguracja lokalnych embeddingów
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| --------------------- | -------- | --------------------- | ------------------------------ |
|
||||
| `local.modelPath` | `string` | pobierany automatycznie | Ścieżka do pliku modelu GGUF |
|
||||
| `local.modelCacheDir` | `string` | domyślna wartość node-llama-cpp | Katalog pamięci podręcznej dla pobranych modeli |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| --------------------- | -------- | ----------------------- | ----------------------------------- |
|
||||
| `local.modelPath` | `string` | pobierany automatycznie | Ścieżka do pliku modelu GGUF |
|
||||
| `local.modelCacheDir` | `string` | domyślna dla node-llama-cpp | Katalog cache dla pobranych modeli |
|
||||
|
||||
Domyślny model: `embeddinggemma-300m-qat-Q8_0.gguf` (~0.6 GB, pobierany automatycznie).
|
||||
Domyślny model: `embeddinggemma-300m-qat-Q8_0.gguf` (~0,6 GB, pobierany automatycznie).
|
||||
Wymaga natywnego builda: `pnpm approve-builds`, a następnie `pnpm rebuild node-llama-cpp`.
|
||||
|
||||
---
|
||||
|
||||
## Konfiguracja wyszukiwania hybrydowego
|
||||
|
||||
Wszystko znajduje się w `memorySearch.query.hybrid`:
|
||||
Wszystko w `memorySearch.query.hybrid`:
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| --------------------- | --------- | --------- | ---------------------------------- |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| --------------------- | --------- | --------- | ------------------------------------ |
|
||||
| `enabled` | `boolean` | `true` | Włącza hybrydowe wyszukiwanie BM25 + wektorowe |
|
||||
| `vectorWeight` | `number` | `0.7` | Waga wyników wektorowych (0-1) |
|
||||
| `textWeight` | `number` | `0.3` | Waga wyników BM25 (0-1) |
|
||||
| `candidateMultiplier` | `number` | `4` | Mnożnik rozmiaru puli kandydatów |
|
||||
| `vectorWeight` | `number` | `0.7` | Waga dla wyników wektorowych (0-1) |
|
||||
| `textWeight` | `number` | `0.3` | Waga dla wyników BM25 (0-1) |
|
||||
| `candidateMultiplier` | `number` | `4` | Mnożnik rozmiaru puli kandydatów |
|
||||
|
||||
### MMR (różnorodność)
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ------------- | --------- | --------- | ---------------------------------------- |
|
||||
| `mmr.enabled` | `boolean` | `false` | Włącza ponowne rankingowanie MMR |
|
||||
| `mmr.lambda` | `number` | `0.7` | 0 = maksymalna różnorodność, 1 = maksymalna trafność |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ------------- | --------- | --------- | ----------------------------------------- |
|
||||
| `mmr.enabled` | `boolean` | `false` | Włącza ponowne rangowanie MMR |
|
||||
| `mmr.lambda` | `number` | `0.7` | 0 = maks. różnorodność, 1 = maks. trafność |
|
||||
|
||||
### Zanikanie czasowe (świeżość)
|
||||
### Zanik czasowy (świeżość)
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ---------------------------- | --------- | --------- | ----------------------------- |
|
||||
| `temporalDecay.enabled` | `boolean` | `false` | Włącza premiowanie świeżości |
|
||||
| `temporalDecay.halfLifeDays` | `number` | `30` | Wynik spada o połowę co N dni |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ---------------------------- | --------- | --------- | ------------------------------- |
|
||||
| `temporalDecay.enabled` | `boolean` | `false` | Włącza wzmocnienie świeżości |
|
||||
| `temporalDecay.halfLifeDays` | `number` | `30` | Wynik spada o połowę co N dni |
|
||||
|
||||
Pliki stałe (`MEMORY.md`, pliki bez daty w `memory/`) nigdy nie podlegają zanikaniu.
|
||||
Pliki evergreen (`MEMORY.md`, pliki bez daty w `memory/`) nigdy nie podlegają zanikowi.
|
||||
|
||||
### Pełny przykład
|
||||
|
||||
@ -267,9 +265,9 @@ Pliki stałe (`MEMORY.md`, pliki bez daty w `memory/`) nigdy nie podlegają zani
|
||||
|
||||
## Dodatkowe ścieżki pamięci
|
||||
|
||||
| Klucz | Typ | Opis |
|
||||
| ----------- | ---------- | --------------------------------------- |
|
||||
| `extraPaths` | `string[]` | Dodatkowe katalogi lub pliki do zindeksowania |
|
||||
| Klucz | Typ | Opis |
|
||||
| ----------- | ---------- | ----------------------------------------- |
|
||||
| `extraPaths` | `string[]` | Dodatkowe katalogi lub pliki do indeksowania |
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -283,31 +281,31 @@ Pliki stałe (`MEMORY.md`, pliki bez daty w `memory/`) nigdy nie podlegają zani
|
||||
}
|
||||
```
|
||||
|
||||
Ścieżki mogą być bezwzględne lub względne względem workspace. Katalogi są skanowane
|
||||
Ścieżki mogą być bezwzględne lub względne względem obszaru roboczego. Katalogi są skanowane
|
||||
rekurencyjnie w poszukiwaniu plików `.md`. Obsługa symlinków zależy od aktywnego backendu:
|
||||
wbudowany silnik ignoruje symlinki, a QMD stosuje zachowanie skanera QMD.
|
||||
wbudowany silnik ignoruje symlinki, natomiast QMD stosuje zachowanie skanera QMD.
|
||||
|
||||
W przypadku wyszukiwania transkryptów między agentami w zakresie agenta użyj
|
||||
W przypadku wyszukiwania transkryptów między agentami o zakresie agenta użyj
|
||||
`agents.list[].memorySearch.qmd.extraCollections` zamiast `memory.qmd.paths`.
|
||||
Te dodatkowe kolekcje mają ten sam kształt `{ path, name, pattern? }`, ale
|
||||
są scalane per agent i mogą zachowywać jawne wspólne nazwy, gdy ścieżka
|
||||
wskazuje poza bieżący workspace.
|
||||
Jeśli ta sama rozpoznana ścieżka pojawi się zarówno w `memory.qmd.paths`, jak i w
|
||||
`memorySearch.qmd.extraCollections`, QMD zachowa pierwszy wpis i pominie duplikat.
|
||||
Te dodatkowe kolekcje używają tego samego kształtu `{ path, name, pattern? }`, ale
|
||||
są scalane per agent i mogą zachować jawne współdzielone nazwy, gdy ścieżka
|
||||
wskazuje poza bieżący obszar roboczy.
|
||||
Jeśli ta sama rozwiązana ścieżka pojawia się zarówno w `memory.qmd.paths`, jak i
|
||||
`memorySearch.qmd.extraCollections`, QMD zachowuje pierwszy wpis i pomija duplikat.
|
||||
|
||||
---
|
||||
|
||||
## Pamięć multimodalna (Gemini)
|
||||
|
||||
Indeksuj obrazy i audio obok Markdown za pomocą Gemini Embedding 2:
|
||||
Indeksuj obrazy i audio obok Markdown przy użyciu Gemini Embedding 2:
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ------------------------- | ---------- | ---------- | -------------------------------------- |
|
||||
| `multimodal.enabled` | `boolean` | `false` | Włącza indeksowanie multimodalne |
|
||||
| `multimodal.modalities` | `string[]` | -- | `["image"]`, `["audio"]` lub `["all"]` |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ------------------------- | ---------- | ---------- | ---------------------------------------- |
|
||||
| `multimodal.enabled` | `boolean` | `false` | Włącza indeksowanie multimodalne |
|
||||
| `multimodal.modalities` | `string[]` | -- | `["image"]`, `["audio"]` lub `["all"]` |
|
||||
| `multimodal.maxFileBytes` | `number` | `10000000` | Maksymalny rozmiar pliku do indeksowania |
|
||||
|
||||
Dotyczy tylko plików w `extraPaths`. Domyślne katalogi pamięci pozostają tylko dla Markdown.
|
||||
Dotyczy tylko plików w `extraPaths`. Domyślne katalogi główne pamięci pozostają tylko dla Markdown.
|
||||
Wymaga `gemini-embedding-2-preview`. `fallback` musi mieć wartość `"none"`.
|
||||
|
||||
Obsługiwane formaty: `.jpg`, `.jpeg`, `.png`, `.webp`, `.gif`, `.heic`, `.heif`
|
||||
@ -315,11 +313,11 @@ Obsługiwane formaty: `.jpg`, `.jpeg`, `.png`, `.webp`, `.gif`, `.heic`, `.heif`
|
||||
|
||||
---
|
||||
|
||||
## Pamięć podręczna embeddingów
|
||||
## Cache embeddingów
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ------------------ | --------- | --------- | --------------------------------- |
|
||||
| `cache.enabled` | `boolean` | `false` | Buforuje embeddingi fragmentów w SQLite |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ------------------ | --------- | --------- | ----------------------------------- |
|
||||
| `cache.enabled` | `boolean` | `false` | Buforuje embeddingi chunków w SQLite |
|
||||
| `cache.maxEntries` | `number` | `50000` | Maksymalna liczba buforowanych embeddingów |
|
||||
|
||||
Zapobiega ponownemu tworzeniu embeddingów dla niezmienionego tekstu podczas ponownego indeksowania lub aktualizacji transkryptów.
|
||||
@ -328,52 +326,51 @@ Zapobiega ponownemu tworzeniu embeddingów dla niezmienionego tekstu podczas pon
|
||||
|
||||
## Indeksowanie wsadowe
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| -------------------------- | --------- | --------- | -------------------------- |
|
||||
| `remote.batch.enabled` | `boolean` | `false` | Włącza API embeddingów wsadowych |
|
||||
| `remote.batch.concurrency` | `number` | `2` | Równoległe zadania wsadowe |
|
||||
| `remote.batch.wait` | `boolean` | `true` | Czeka na zakończenie wsadu |
|
||||
| `remote.batch.pollIntervalMs` | `number` | -- | Interwał odpytywania |
|
||||
| `remote.batch.timeoutMinutes` | `number` | -- | Limit czasu wsadu |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ----------------------------- | --------- | --------- | ---------------------------- |
|
||||
| `remote.batch.enabled` | `boolean` | `false` | Włącza API embeddingów wsadowych |
|
||||
| `remote.batch.concurrency` | `number` | `2` | Równoległe zadania wsadowe |
|
||||
| `remote.batch.wait` | `boolean` | `true` | Czeka na zakończenie wsadu |
|
||||
| `remote.batch.pollIntervalMs` | `number` | -- | Interwał odpytywania |
|
||||
| `remote.batch.timeoutMinutes` | `number` | -- | Limit czasu wsadu |
|
||||
|
||||
Dostępne dla `openai`, `gemini` i `voyage`. Wsady OpenAI są zwykle
|
||||
najszybsze i najtańsze przy dużych uzupełnieniach historycznych.
|
||||
Dostępne dla `openai`, `gemini` i `voyage`. Wsad OpenAI jest zazwyczaj
|
||||
najszybszy i najtańszy przy dużych uzupełnieniach danych.
|
||||
|
||||
---
|
||||
|
||||
## Wyszukiwanie w pamięci sesji (eksperymentalne)
|
||||
## Wyszukiwanie pamięci sesji (eksperymentalne)
|
||||
|
||||
Indeksuj transkrypcje sesji i udostępniaj je przez `memory_search`:
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| --------------------------- | ---------- | ------------ | ----------------------------------------- |
|
||||
| `experimental.sessionMemory` | `boolean` | `false` | Włącza indeksowanie sesji |
|
||||
| `sources` | `string[]` | `["memory"]` | Dodaj `"sessions"`, aby uwzględnić transkrypcje |
|
||||
| `sync.sessions.deltaBytes` | `number` | `100000` | Próg bajtów dla ponownego indeksowania |
|
||||
| `sync.sessions.deltaMessages` | `number` | `50` | Próg liczby wiadomości dla ponownego indeksowania |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| --------------------------- | ---------- | ------------ | ------------------------------------------ |
|
||||
| `experimental.sessionMemory` | `boolean` | `false` | Włącza indeksowanie sesji |
|
||||
| `sources` | `string[]` | `["memory"]` | Dodaj `"sessions"`, aby uwzględnić transkrypty |
|
||||
| `sync.sessions.deltaBytes` | `number` | `100000` | Próg bajtów dla ponownego indeksowania |
|
||||
| `sync.sessions.deltaMessages` | `number` | `50` | Próg liczby wiadomości dla ponownego indeksowania |
|
||||
|
||||
Indeksowanie sesji jest funkcją opt-in i działa asynchronicznie. Wyniki mogą być nieco
|
||||
nieaktualne. Logi sesji są przechowywane na dysku, więc granicą zaufania pozostaje
|
||||
dostęp do systemu plików.
|
||||
Indeksowanie sesji jest opt-in i działa asynchronicznie. Wyniki mogą być nieco
|
||||
nieaktualne. Logi sesji są przechowywane na dysku, więc traktuj dostęp do systemu plików jako granicę zaufania.
|
||||
|
||||
---
|
||||
|
||||
## Akceleracja wektorowa SQLite (sqlite-vec)
|
||||
## Przyspieszenie wektorowe SQLite (`sqlite-vec`)
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ------------------------- | --------- | --------- | --------------------------------- |
|
||||
| `store.vector.enabled` | `boolean` | `true` | Używa sqlite-vec do zapytań wektorowych |
|
||||
| `store.vector.extensionPath` | `string` | dołączona | Nadpisuje ścieżkę do sqlite-vec |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ------------------------ | --------- | --------- | ------------------------------------- |
|
||||
| `store.vector.enabled` | `boolean` | `true` | Używa `sqlite-vec` do zapytań wektorowych |
|
||||
| `store.vector.extensionPath` | `string` | bundlowane | Nadpisuje ścieżkę `sqlite-vec` |
|
||||
|
||||
Gdy sqlite-vec jest niedostępne, OpenClaw automatycznie przełącza się na
|
||||
podobieństwo cosinusowe w procesie.
|
||||
Gdy `sqlite-vec` nie jest dostępne, OpenClaw automatycznie przechodzi na obliczanie
|
||||
podobieństwa cosinusowego w procesie.
|
||||
|
||||
---
|
||||
|
||||
## Przechowywanie indeksu
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| -------------------- | -------- | ------------------------------------ | -------------------------------------------- |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| -------------------- | -------- | ------------------------------------- | -------------------------------------------- |
|
||||
| `store.path` | `string` | `~/.openclaw/memory/{agentId}.sqlite` | Lokalizacja indeksu (obsługuje token `{agentId}`) |
|
||||
| `store.fts.tokenizer` | `string` | `unicode61` | Tokenizer FTS5 (`unicode61` lub `trigram`) |
|
||||
|
||||
@ -384,45 +381,45 @@ podobieństwo cosinusowe w procesie.
|
||||
Ustaw `memory.backend = "qmd"`, aby włączyć. Wszystkie ustawienia QMD znajdują się w
|
||||
`memory.qmd`:
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ----------------------- | --------- | --------- | -------------------------------------------- |
|
||||
| `command` | `string` | `qmd` | Ścieżka do pliku wykonywalnego QMD |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ----------------------- | --------- | --------- | --------------------------------------------- |
|
||||
| `command` | `string` | `qmd` | Ścieżka wykonywalna QMD |
|
||||
| `searchMode` | `string` | `search` | Polecenie wyszukiwania: `search`, `vsearch`, `query` |
|
||||
| `includeDefaultMemory` | `boolean` | `true` | Automatycznie indeksuje `MEMORY.md` + `memory/**/*.md` |
|
||||
| `paths[]` | `array` | -- | Dodatkowe ścieżki: `{ name, path, pattern? }` |
|
||||
| `sessions.enabled` | `boolean` | `false` | Indeksuje transkrypcje sesji |
|
||||
| `sessions.retentionDays` | `number` | -- | Retencja transkryptów |
|
||||
| `sessions.exportDir` | `string` | -- | Katalog eksportu |
|
||||
| `sessions.enabled` | `boolean` | `false` | Indeksuje transkrypty sesji |
|
||||
| `sessions.retentionDays` | `number` | -- | Retencja transkryptów |
|
||||
| `sessions.exportDir` | `string` | -- | Katalog eksportu |
|
||||
|
||||
OpenClaw preferuje bieżące kształty kolekcji QMD i zapytań MCP, ale zachowuje
|
||||
zgodność ze starszymi wydaniami QMD, przechodząc w razie potrzeby na starsze flagi kolekcji `--mask`
|
||||
oraz starsze nazwy narzędzi MCP.
|
||||
OpenClaw preferuje bieżące kształty kolekcji QMD i zapytań MCP, ale utrzymuje
|
||||
zgodność ze starszymi wydaniami QMD, przechodząc awaryjnie na starsze flagi kolekcji `--mask`
|
||||
i starsze nazwy narzędzi MCP, gdy jest to potrzebne.
|
||||
|
||||
Nadpisania modeli QMD pozostają po stronie QMD, a nie w konfiguracji OpenClaw. Jeśli chcesz
|
||||
globalnie nadpisać modele QMD, ustaw zmienne środowiskowe takie jak
|
||||
`QMD_EMBED_MODEL`, `QMD_RERANK_MODEL` i `QMD_GENERATE_MODEL` w środowisku uruchomieniowym gatewaya.
|
||||
`QMD_EMBED_MODEL`, `QMD_RERANK_MODEL` i `QMD_GENERATE_MODEL` w środowisku uruchomieniowym Gateway.
|
||||
|
||||
### Harmonogram aktualizacji
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ------------------------ | --------- | --------- | ----------------------------------------- |
|
||||
| `update.interval` | `string` | `5m` | Interwał odświeżania |
|
||||
| `update.debounceMs` | `number` | `15000` | Debounce zmian plików |
|
||||
| `update.onBoot` | `boolean` | `true` | Odświeża przy uruchomieniu |
|
||||
| `update.waitForBootSync` | `boolean` | `false` | Blokuje uruchamianie do zakończenia odświeżenia |
|
||||
| `update.embedInterval` | `string` | -- | Oddzielna częstotliwość embeddingów |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ------------------------- | --------- | --------- | ----------------------------------------- |
|
||||
| `update.interval` | `string` | `5m` | Interwał odświeżania |
|
||||
| `update.debounceMs` | `number` | `15000` | Debounce zmian plików |
|
||||
| `update.onBoot` | `boolean` | `true` | Odświeżanie przy starcie |
|
||||
| `update.waitForBootSync` | `boolean` | `false` | Blokuje start do zakończenia odświeżenia |
|
||||
| `update.embedInterval` | `string` | -- | Osobny harmonogram embeddingów |
|
||||
| `update.commandTimeoutMs` | `number` | -- | Limit czasu dla poleceń QMD |
|
||||
| `update.updateTimeoutMs` | `number` | -- | Limit czasu dla operacji aktualizacji QMD |
|
||||
| `update.embedTimeoutMs` | `number` | -- | Limit czasu dla operacji embeddingów QMD |
|
||||
| `update.updateTimeoutMs` | `number` | -- | Limit czasu dla operacji aktualizacji QMD |
|
||||
| `update.embedTimeoutMs` | `number` | -- | Limit czasu dla operacji embeddingów QMD |
|
||||
|
||||
### Limity
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ------------------------ | -------- | --------- | ------------------------------ |
|
||||
| `limits.maxResults` | `number` | `6` | Maksymalna liczba wyników wyszukiwania |
|
||||
| `limits.maxSnippetChars` | `number` | -- | Ogranicza długość fragmentu |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ------------------------- | -------- | --------- | ------------------------------- |
|
||||
| `limits.maxResults` | `number` | `6` | Maksymalna liczba wyników wyszukiwania |
|
||||
| `limits.maxSnippetChars` | `number` | -- | Ogranicza długość fragmentu |
|
||||
| `limits.maxInjectedChars` | `number` | -- | Ogranicza łączną liczbę wstrzykniętych znaków |
|
||||
| `limits.timeoutMs` | `number` | `4000` | Limit czasu wyszukiwania |
|
||||
| `limits.timeoutMs` | `number` | `4000` | Limit czasu wyszukiwania |
|
||||
|
||||
### Zakres
|
||||
|
||||
@ -442,8 +439,11 @@ Kontroluje, które sesje mogą otrzymywać wyniki wyszukiwania QMD. Ten sam sche
|
||||
}
|
||||
```
|
||||
|
||||
Dostarczana domyślna konfiguracja dopuszcza sesje bezpośrednie i kanałowe, nadal odrzucając
|
||||
grupy.
|
||||
|
||||
Domyślnie tylko DM. `match.keyPrefix` dopasowuje znormalizowany klucz sesji;
|
||||
`match.rawKeyPrefix` dopasowuje surowy klucz zawierający `agent:<id>:`.
|
||||
`match.rawKeyPrefix` dopasowuje surowy klucz, włącznie z `agent:<id>:`.
|
||||
|
||||
### Cytowania
|
||||
|
||||
@ -451,9 +451,9 @@ Domyślnie tylko DM. `match.keyPrefix` dopasowuje znormalizowany klucz sesji;
|
||||
|
||||
| Wartość | Zachowanie |
|
||||
| ---------------- | -------------------------------------------------- |
|
||||
| `auto` (domyślnie) | Dołącza stopkę `Source: <path#line>` w fragmentach |
|
||||
| `on` | Zawsze dołącza stopkę |
|
||||
| `off` | Pomija stopkę (ścieżka nadal jest przekazywana agentowi wewnętrznie) |
|
||||
| `auto` (domyślnie) | Dodaje stopkę `Source: <path#line>` w fragmentach |
|
||||
| `on` | Zawsze dodaje stopkę |
|
||||
| `off` | Pomija stopkę (ścieżka nadal jest wewnętrznie przekazywana agentowi) |
|
||||
|
||||
### Pełny przykład QMD
|
||||
|
||||
@ -483,17 +483,17 @@ Domyślnie tylko DM. `match.keyPrefix` dopasowuje znormalizowany klucz sesji;
|
||||
Dreaming jest konfigurowane w `plugins.entries.memory-core.config.dreaming`,
|
||||
a nie w `agents.defaults.memorySearch`.
|
||||
|
||||
Dreaming działa jako jeden zaplanowany przebieg i używa wewnętrznych faz light/deep/REM jako
|
||||
szczegółu implementacyjnego.
|
||||
Dreaming działa jako jeden zaplanowany przebieg i wykorzystuje wewnętrzne fazy light/deep/REM jako
|
||||
szczegół implementacyjny.
|
||||
|
||||
Aby zapoznać się z działaniem pojęciowym i poleceniami slash, zobacz [Dreaming](/pl/concepts/dreaming).
|
||||
Aby poznać zachowanie koncepcyjne i polecenia slash, zobacz [Dreaming](/pl/concepts/dreaming).
|
||||
|
||||
### Ustawienia użytkownika
|
||||
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ----------- | --------- | ----------- | ------------------------------------------------- |
|
||||
| `enabled` | `boolean` | `false` | Całkowicie włącza lub wyłącza dreaming |
|
||||
| `frequency` | `string` | `0 3 * * *` | Opcjonalna częstotliwość cron dla pełnego przebiegu dreaming |
|
||||
| Klucz | Typ | Domyślnie | Opis |
|
||||
| ---------- | --------- | ------------ | -------------------------------------------------- |
|
||||
| `enabled` | `boolean` | `false` | Całkowicie włącza lub wyłącza Dreaming |
|
||||
| `frequency` | `string` | `0 3 * * *` | Opcjonalna składnia Cron dla pełnego przebiegu Dreaming |
|
||||
|
||||
### Przykład
|
||||
|
||||
@ -516,6 +516,6 @@ Aby zapoznać się z działaniem pojęciowym i poleceniami slash, zobacz [Dreami
|
||||
|
||||
Uwagi:
|
||||
|
||||
- Dreaming zapisuje stan maszyny w `memory/.dreams/`.
|
||||
- Dreaming zapisuje czytelne dla człowieka narracyjne dane wyjściowe w `DREAMS.md` (lub istniejącym `dreams.md`).
|
||||
- Zasady i progi faz light/deep/REM są zachowaniem wewnętrznym, a nie konfiguracją przeznaczoną dla użytkownika.
|
||||
- Dreaming zapisuje stan maszyny do `memory/.dreams/`.
|
||||
- Dreaming zapisuje czytelne dla człowieka wyjście narracyjne do `DREAMS.md` (lub istniejącego `dreams.md`).
|
||||
- Zasady i progi faz light/deep/REM są zachowaniem wewnętrznym, a nie konfiguracją skierowaną do użytkownika.
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
---
|
||||
read_when:
|
||||
- Używanie lub konfigurowanie poleceń czatu
|
||||
- Debugowanie routingu poleceń lub uprawnień to permissions
|
||||
- Debugowanie routingu poleceń lub uprawnień
|
||||
summary: 'Polecenia ukośnikowe: tekstowe vs natywne, konfiguracja i obsługiwane polecenia'
|
||||
title: Polecenia ukośnikowe
|
||||
x-i18n:
|
||||
generated_at: "2026-04-11T02:48:33Z"
|
||||
generated_at: "2026-04-12T23:33:58Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 2cc346361c3b1a63aae9ec0f28706f4cb0b866b6c858a3999101f6927b923b4a
|
||||
source_hash: 9ef6f54500fa2ce3b873a8398d6179a0882b8bf6fba38f61146c64671055505e
|
||||
source_path: tools/slash-commands.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -16,21 +16,21 @@ x-i18n:
|
||||
# Polecenia ukośnikowe
|
||||
|
||||
Polecenia są obsługiwane przez Gateway. Większość poleceń musi zostać wysłana jako **samodzielna** wiadomość zaczynająca się od `/`.
|
||||
Polecenie czatu bash tylko dla hosta używa `! <cmd>` (z aliasem `/bash <cmd>`).
|
||||
Polecenie czatu bash dostępne tylko na hoście używa `! <cmd>` (z aliasem `/bash <cmd>`).
|
||||
|
||||
Istnieją dwa powiązane systemy:
|
||||
|
||||
- **Polecenia**: samodzielne wiadomości `/...`.
|
||||
- **Dyrektywy**: `/think`, `/fast`, `/verbose`, `/reasoning`, `/elevated`, `/exec`, `/model`, `/queue`.
|
||||
- **Dyrektywy**: `/think`, `/fast`, `/verbose`, `/trace`, `/reasoning`, `/elevated`, `/exec`, `/model`, `/queue`.
|
||||
- Dyrektywy są usuwane z wiadomości, zanim model ją zobaczy.
|
||||
- W zwykłych wiadomościach czatu (nie tylko z dyrektywami) są traktowane jako „wskazówki inline” i **nie** utrwalają ustawień sesji.
|
||||
- W zwykłych wiadomościach czatu (nie będących wyłącznie dyrektywami) są traktowane jako „wskazówki inline” i **nie** zachowują ustawień sesji.
|
||||
- W wiadomościach zawierających wyłącznie dyrektywy (wiadomość zawiera tylko dyrektywy) utrwalają się w sesji i odpowiadają potwierdzeniem.
|
||||
- Dyrektywy są stosowane tylko dla **autoryzowanych nadawców**. Jeśli ustawiono `commands.allowFrom`, jest to jedyna
|
||||
lista dozwolonych używana dla dyrektyw; w przeciwnym razie autoryzacja pochodzi z list dozwolonych/parowania kanałów oraz `commands.useAccessGroups`.
|
||||
allowlista używana; w przeciwnym razie autoryzacja pochodzi z allowlist/parowania kanałów oraz `commands.useAccessGroups`.
|
||||
Nieautoryzowani nadawcy widzą dyrektywy traktowane jak zwykły tekst.
|
||||
|
||||
Istnieje też kilka **skrótów inline** (tylko dla nadawców z allowlisty/autoryzowanych): `/help`, `/commands`, `/status`, `/whoami` (`/id`).
|
||||
Uruchamiają się natychmiast, są usuwane przed zobaczeniem wiadomości przez model, a pozostały tekst przechodzi dalej normalnym przepływem.
|
||||
Są też dostępne niektóre **skróty inline** (tylko dla nadawców z allowlisty / autoryzowanych): `/help`, `/commands`, `/status`, `/whoami` (`/id`).
|
||||
Uruchamiają się natychmiast, są usuwane, zanim model zobaczy wiadomość, a pozostały tekst przechodzi dalej przez normalny przepływ.
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
@ -60,106 +60,107 @@ Uruchamiają się natychmiast, są usuwane przed zobaczeniem wiadomości przez m
|
||||
```
|
||||
|
||||
- `commands.text` (domyślnie `true`) włącza parsowanie `/...` w wiadomościach czatu.
|
||||
- Na powierzchniach bez natywnych poleceń (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) polecenia tekstowe nadal działają, nawet jeśli ustawisz to na `false`.
|
||||
- Na powierzchniach bez natywnych poleceń (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) polecenia tekstowe nadal działają, nawet jeśli ustawisz tę opcję na `false`.
|
||||
- `commands.native` (domyślnie `"auto"`) rejestruje polecenia natywne.
|
||||
- Auto: włączone dla Discord/Telegram; wyłączone dla Slack (dopóki nie dodasz slash commands); ignorowane dla providerów bez natywnego wsparcia.
|
||||
- Ustaw `channels.discord.commands.native`, `channels.telegram.commands.native` lub `channels.slack.commands.native`, aby nadpisać to dla konkretnego providera (bool lub `"auto"`).
|
||||
- `false` czyści wcześniej zarejestrowane polecenia w Discord/Telegram przy uruchamianiu. Polecenia Slack są zarządzane w aplikacji Slack i nie są usuwane automatycznie.
|
||||
- `commands.nativeSkills` (domyślnie `"auto"`) rejestruje polecenia **Skills** natywnie tam, gdzie jest to obsługiwane.
|
||||
- Auto: włączone dla Discord/Telegram; wyłączone dla Slack (Slack wymaga utworzenia slash command dla każdej skill).
|
||||
- Ustaw `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills` lub `channels.slack.commands.nativeSkills`, aby nadpisać to dla konkretnego providera (bool lub `"auto"`).
|
||||
- `commands.bash` (domyślnie `false`) włącza `! <cmd>` do uruchamiania poleceń powłoki hosta (`/bash <cmd>` jest aliasem; wymaga allowlist `tools.elevated`).
|
||||
- `commands.bashForegroundMs` (domyślnie `2000`) określa, jak długo bash czeka przed przełączeniem do trybu tła (`0` natychmiast przenosi do tła).
|
||||
- Auto: włączone dla Discord/Telegram; wyłączone dla Slack (dopóki nie dodasz poleceń ukośnikowych); ignorowane dla dostawców bez obsługi natywnej.
|
||||
- Ustaw `channels.discord.commands.native`, `channels.telegram.commands.native` lub `channels.slack.commands.native`, aby nadpisać to per dostawca (bool albo `"auto"`).
|
||||
- `false` czyści wcześniej zarejestrowane polecenia na Discord/Telegram przy starcie. Polecenia Slack są zarządzane w aplikacji Slack i nie są usuwane automatycznie.
|
||||
- `commands.nativeSkills` (domyślnie `"auto"`) rejestruje natywnie polecenia **Skills**, gdy jest to obsługiwane.
|
||||
- Auto: włączone dla Discord/Telegram; wyłączone dla Slack (Slack wymaga utworzenia polecenia ukośnikowego dla każdej Skill).
|
||||
- Ustaw `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills` lub `channels.slack.commands.nativeSkills`, aby nadpisać to per dostawca (bool albo `"auto"`).
|
||||
- `commands.bash` (domyślnie `false`) włącza `! <cmd>` do uruchamiania poleceń powłoki hosta (`/bash <cmd>` to alias; wymaga allowlist `tools.elevated`).
|
||||
- `commands.bashForegroundMs` (domyślnie `2000`) określa, jak długo bash czeka przed przełączeniem się do trybu tła (`0` natychmiast przenosi do tła).
|
||||
- `commands.config` (domyślnie `false`) włącza `/config` (odczyt/zapis `openclaw.json`).
|
||||
- `commands.mcp` (domyślnie `false`) włącza `/mcp` (odczyt/zapis konfiguracji MCP zarządzanej przez OpenClaw w `mcp.servers`).
|
||||
- `commands.plugins` (domyślnie `false`) włącza `/plugins` (wykrywanie/status pluginów oraz kontrolki instalacji + włączania/wyłączania).
|
||||
- `commands.debug` (domyślnie `false`) włącza `/debug` (nadpisania tylko dla runtime).
|
||||
- `commands.restart` (domyślnie `true`) włącza `/restart` oraz akcje narzędzi restartu gateway.
|
||||
- `commands.ownerAllowFrom` (opcjonalne) ustawia jawną allowlistę właściciela dla powierzchni poleceń/narzędzi dostępnych tylko dla właściciela. Jest to oddzielne od `commands.allowFrom`.
|
||||
- `commands.ownerDisplay` określa, jak identyfikatory właściciela pojawiają się w prompcie systemowym: `raw` lub `hash`.
|
||||
- `commands.mcp` (domyślnie `false`) włącza `/mcp` (odczyt/zapis konfiguracji MCP zarządzanej przez OpenClaw pod `mcp.servers`).
|
||||
- `commands.plugins` (domyślnie `false`) włącza `/plugins` (wykrywanie/status Plugin oraz kontrolki instalacji + włączania/wyłączania).
|
||||
- `commands.debug` (domyślnie `false`) włącza `/debug` (nadpisania tylko na czas działania).
|
||||
- `commands.restart` (domyślnie `true`) włącza `/restart` oraz działania narzędzia restartu Gateway.
|
||||
- `commands.ownerAllowFrom` (opcjonalnie) ustawia jawną allowlistę właściciela dla powierzchni poleceń/narzędzi dostępnych tylko właścicielowi. To jest oddzielne od `commands.allowFrom`.
|
||||
- `commands.ownerDisplay` określa, jak identyfikatory właściciela pojawiają się w promcie systemowym: `raw` albo `hash`.
|
||||
- `commands.ownerDisplaySecret` opcjonalnie ustawia sekret HMAC używany, gdy `commands.ownerDisplay="hash"`.
|
||||
- `commands.allowFrom` (opcjonalne) ustawia allowlistę dla autoryzacji poleceń per provider. Gdy jest skonfigurowana, jest to
|
||||
jedyne źródło autoryzacji dla poleceń i dyrektyw (listy dozwolonych/parowanie kanałów i `commands.useAccessGroups`
|
||||
są ignorowane). Użyj `"*"` jako globalnej wartości domyślnej; klucze specyficzne dla providera ją nadpisują.
|
||||
- `commands.allowFrom` (opcjonalnie) ustawia allowlistę per dostawca dla autoryzacji poleceń. Gdy jest skonfigurowana, jest to
|
||||
jedyne źródło autoryzacji dla poleceń i dyrektyw (allowlisty/parowanie kanałów i `commands.useAccessGroups`
|
||||
są ignorowane). Użyj `"*"` jako globalnej wartości domyślnej; klucze specyficzne dla dostawcy mają pierwszeństwo.
|
||||
- `commands.useAccessGroups` (domyślnie `true`) wymusza allowlisty/polityki dla poleceń, gdy `commands.allowFrom` nie jest ustawione.
|
||||
|
||||
## Lista poleceń
|
||||
|
||||
Bieżące źródło prawdy:
|
||||
Obecne źródło prawdy:
|
||||
|
||||
- wbudowane polecenia core pochodzą z `src/auto-reply/commands-registry.shared.ts`
|
||||
- wygenerowane dock commands pochodzą z `src/auto-reply/commands-registry.data.ts`
|
||||
- polecenia pluginów pochodzą z wywołań plugin `registerCommand()`
|
||||
- rzeczywista dostępność na Twoim gateway nadal zależy od flag konfiguracji, powierzchni kanału oraz zainstalowanych/włączonych pluginów
|
||||
- wygenerowane polecenia dock pochodzą z `src/auto-reply/commands-registry.data.ts`
|
||||
- polecenia Plugin pochodzą z wywołań `registerCommand()` w Plugin
|
||||
- rzeczywista dostępność na Twoim Gateway nadal zależy od flag konfiguracji, powierzchni kanału i zainstalowanych/włączonych Plugin
|
||||
|
||||
### Wbudowane polecenia core
|
||||
|
||||
Wbudowane polecenia dostępne obecnie:
|
||||
|
||||
- `/new [model]` rozpoczyna nową sesję; `/reset` jest aliasem resetu.
|
||||
- `/compact [instructions]` kompaktuje kontekst sesji. Zobacz [/concepts/compaction](/pl/concepts/compaction).
|
||||
- `/new [model]` rozpoczyna nową sesję; `/reset` to alias resetu.
|
||||
- `/compact [instructions]` wykonuje Compaction kontekstu sesji. Zobacz [/concepts/compaction](/pl/concepts/compaction).
|
||||
- `/stop` przerywa bieżące uruchomienie.
|
||||
- `/session idle <duration|off>` i `/session max-age <duration|off>` zarządzają wygaśnięciem powiązania wątku.
|
||||
- `/think <off|minimal|low|medium|high|xhigh>` ustawia poziom rozumowania. Aliasy: `/thinking`, `/t`.
|
||||
- `/think <off|minimal|low|medium|high|xhigh>` ustawia poziom thinking. Aliasy: `/thinking`, `/t`.
|
||||
- `/verbose on|off|full` przełącza szczegółowe wyjście. Alias: `/v`.
|
||||
- `/trace on|off` przełącza wyjście śledzenia Plugin dla bieżącej sesji.
|
||||
- `/fast [status|on|off]` pokazuje lub ustawia tryb fast.
|
||||
- `/reasoning [on|off|stream]` przełącza widoczność rozumowania. Alias: `/reason`.
|
||||
- `/reasoning [on|off|stream]` przełącza widoczność reasoning. Alias: `/reason`.
|
||||
- `/elevated [on|off|ask|full]` przełącza tryb elevated. Alias: `/elev`.
|
||||
- `/exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>` pokazuje lub ustawia domyślne wartości exec.
|
||||
- `/model [name|#|status]` pokazuje lub ustawia model.
|
||||
- `/models [provider] [page] [limit=<n>|size=<n>|all]` wyświetla listę providerów lub modeli dla providera.
|
||||
- `/models [provider] [page] [limit=<n>|size=<n>|all]` wyświetla listę dostawców lub modeli dla dostawcy.
|
||||
- `/queue <mode>` zarządza zachowaniem kolejki (`steer`, `interrupt`, `followup`, `collect`, `steer-backlog`) oraz opcjami takimi jak `debounce:2s cap:25 drop:summarize`.
|
||||
- `/help` pokazuje krótkie podsumowanie pomocy.
|
||||
- `/commands` pokazuje wygenerowany katalog poleceń.
|
||||
- `/tools [compact|verbose]` pokazuje, czego bieżący agent może teraz używać.
|
||||
- `/status` pokazuje status runtime, w tym użycie/limit providera, gdy jest dostępny.
|
||||
- `/tasks` wyświetla aktywne/ostatnie zadania w tle dla bieżącej sesji.
|
||||
- `/status` pokazuje status środowiska wykonawczego, w tym użycie/limit dostawcy, gdy jest dostępny.
|
||||
- `/tasks` wyświetla aktywne/niedawne taski w tle dla bieżącej sesji.
|
||||
- `/context [list|detail|json]` wyjaśnia, jak składany jest kontekst.
|
||||
- `/export-session [path]` eksportuje bieżącą sesję do HTML. Alias: `/export`.
|
||||
- `/whoami` pokazuje identyfikator nadawcy. Alias: `/id`.
|
||||
- `/skill <name> [input]` uruchamia skill po nazwie.
|
||||
- `/allowlist [list|add|remove] ...` zarządza wpisami allowlisty. Tylko tekstowe.
|
||||
- `/approve <id> <decision>` rozwiązuje prompty zatwierdzeń exec.
|
||||
- `/btw <question>` zadaje poboczne pytanie bez zmieniania przyszłego kontekstu sesji. Zobacz [/tools/btw](/pl/tools/btw).
|
||||
- `/subagents list|kill|log|info|send|steer|spawn` zarządza uruchomieniami subagentów dla bieżącej sesji.
|
||||
- `/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help` zarządza sesjami ACP i opcjami runtime.
|
||||
- `/focus <target>` wiąże bieżący wątek Discord lub temat/konwersację Telegram z celem sesji.
|
||||
- `/whoami` pokazuje Twój identyfikator nadawcy. Alias: `/id`.
|
||||
- `/skill <name> [input]` uruchamia Skill po nazwie.
|
||||
- `/allowlist [list|add|remove] ...` zarządza wpisami allowlisty. Tylko tekstowo.
|
||||
- `/approve <id> <decision>` rozwiązuje prompty zatwierdzania exec.
|
||||
- `/btw <question>` zadaje pytanie poboczne bez zmiany przyszłego kontekstu sesji. Zobacz [/tools/btw](/pl/tools/btw).
|
||||
- `/subagents list|kill|log|info|send|steer|spawn` zarządza uruchomieniami podagentów dla bieżącej sesji.
|
||||
- `/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help` zarządza sesjami ACP i opcjami środowiska wykonawczego.
|
||||
- `/focus <target>` wiąże bieżący wątek Discord albo temat/rozmowę Telegram z celem sesji.
|
||||
- `/unfocus` usuwa bieżące powiązanie.
|
||||
- `/agents` wyświetla listę agentów związanych z wątkiem dla bieżącej sesji.
|
||||
- `/kill <id|#|all>` przerywa jednego lub wszystkich działających subagentów.
|
||||
- `/steer <id|#> <message>` wysyła sterowanie do działającego subagenta. Alias: `/tell`.
|
||||
- `/config show|get|set|unset` odczytuje lub zapisuje `openclaw.json`. Tylko dla właściciela. Wymaga `commands.config: true`.
|
||||
- `/mcp show|get|set|unset` odczytuje lub zapisuje konfigurację serwera MCP zarządzaną przez OpenClaw w `mcp.servers`. Tylko dla właściciela. Wymaga `commands.mcp: true`.
|
||||
- `/plugins list|inspect|show|get|install|enable|disable` sprawdza lub zmienia stan pluginów. `/plugin` jest aliasem. Zapis tylko dla właściciela. Wymaga `commands.plugins: true`.
|
||||
- `/debug show|set|unset|reset` zarządza nadpisaniami konfiguracji tylko dla runtime. Tylko dla właściciela. Wymaga `commands.debug: true`.
|
||||
- `/usage off|tokens|full|cost` steruje stopką użycia dla każdej odpowiedzi albo wyświetla lokalne podsumowanie kosztów.
|
||||
- `/agents` wyświetla listę agentów powiązanych z wątkiem dla bieżącej sesji.
|
||||
- `/kill <id|#|all>` przerywa jednego albo wszystkich uruchomionych podagentów.
|
||||
- `/steer <id|#> <message>` wysyła sterowanie do działającego podagenta. Alias: `/tell`.
|
||||
- `/config show|get|set|unset` odczytuje lub zapisuje `openclaw.json`. Tylko właściciel. Wymaga `commands.config: true`.
|
||||
- `/mcp show|get|set|unset` odczytuje lub zapisuje konfigurację serwera MCP zarządzaną przez OpenClaw pod `mcp.servers`. Tylko właściciel. Wymaga `commands.mcp: true`.
|
||||
- `/plugins list|inspect|show|get|install|enable|disable` sprawdza lub modyfikuje stan Plugin. `/plugin` to alias. Zapisy tylko dla właściciela. Wymaga `commands.plugins: true`.
|
||||
- `/debug show|set|unset|reset` zarządza nadpisaniami konfiguracji tylko na czas działania. Tylko właściciel. Wymaga `commands.debug: true`.
|
||||
- `/usage off|tokens|full|cost` kontroluje stopkę użycia przy każdej odpowiedzi albo wypisuje lokalne podsumowanie kosztów.
|
||||
- `/tts on|off|status|provider|limit|summary|audio|help` steruje TTS. Zobacz [/tools/tts](/pl/tools/tts).
|
||||
- `/restart` restartuje OpenClaw, gdy jest włączone. Domyślnie: włączone; ustaw `commands.restart: false`, aby je wyłączyć.
|
||||
- `/activation mention|always` ustawia tryb aktywacji grupy.
|
||||
- `/send on|off|inherit` ustawia politykę wysyłania. Tylko dla właściciela.
|
||||
- `/bash <command>` uruchamia polecenie powłoki hosta. Tylko tekstowe. Alias: `! <command>`. Wymaga `commands.bash: true` oraz allowlist `tools.elevated`.
|
||||
- `!poll [sessionId]` sprawdza zadanie bash działające w tle.
|
||||
- `!stop [sessionId]` zatrzymuje zadanie bash działające w tle.
|
||||
- `/send on|off|inherit` ustawia politykę wysyłania. Tylko właściciel.
|
||||
- `/bash <command>` uruchamia polecenie powłoki hosta. Tylko tekstowo. Alias: `! <command>`. Wymaga `commands.bash: true` oraz allowlist `tools.elevated`.
|
||||
- `!poll [sessionId]` sprawdza zadanie bash w tle.
|
||||
- `!stop [sessionId]` zatrzymuje zadanie bash w tle.
|
||||
|
||||
### Wygenerowane dock commands
|
||||
### Wygenerowane polecenia dock
|
||||
|
||||
Dock commands są generowane z pluginów kanałów ze wsparciem natywnych poleceń. Obecny zestaw wbudowany:
|
||||
Polecenia dock są generowane z Plugin kanałów z obsługą poleceń natywnych. Obecny dołączony zestaw:
|
||||
|
||||
- `/dock-discord` (alias: `/dock_discord`)
|
||||
- `/dock-mattermost` (alias: `/dock_mattermost`)
|
||||
- `/dock-slack` (alias: `/dock_slack`)
|
||||
- `/dock-telegram` (alias: `/dock_telegram`)
|
||||
|
||||
### Polecenia wbudowanych pluginów
|
||||
### Polecenia dołączonych Plugin
|
||||
|
||||
Wbudowane pluginy mogą dodawać więcej poleceń ukośnikowych. Bieżące polecenia wbudowane w tym repo:
|
||||
Dołączone Plugin mogą dodawać więcej poleceń ukośnikowych. Obecne dołączone polecenia w tym repozytorium:
|
||||
|
||||
- `/dreaming [on|off|status|help]` przełącza dreaming pamięci. Zobacz [Dreaming](/pl/concepts/dreaming).
|
||||
- `/pair [qr|status|pending|approve|cleanup|notify]` zarządza przepływem parowania/konfiguracji urządzeń. Zobacz [Pairing](/pl/channels/pairing).
|
||||
- `/phone status|arm <camera|screen|writes|all> [duration]|disarm` tymczasowo uzbraja wysokiego ryzyka polecenia node telefonu.
|
||||
- `/voice status|list [limit]|set <voiceId|name>` zarządza konfiguracją głosu Talk. W Discord natywna nazwa polecenia to `/talkvoice`.
|
||||
- `/card ...` wysyła presety kart LINE rich card. Zobacz [LINE](/pl/channels/line).
|
||||
- `/codex status|models|threads|resume|compact|review|account|mcp|skills` sprawdza i kontroluje wbudowany harness app-servera Codex. Zobacz [Codex Harness](/pl/plugins/codex-harness).
|
||||
- `/dreaming [on|off|status|help]` przełącza Dreaming pamięci. Zobacz [Dreaming](/pl/concepts/dreaming).
|
||||
- `/pair [qr|status|pending|approve|cleanup|notify]` zarządza przepływem parowania/konfiguracji urządzenia. Zobacz [Pairing](/pl/channels/pairing).
|
||||
- `/phone status|arm <camera|screen|writes|all> [duration]|disarm` tymczasowo uzbraja polecenia Node telefonu o wysokim ryzyku.
|
||||
- `/voice status|list [limit]|set <voiceId|name>` zarządza konfiguracją głosu Talk. Na Discordzie natywna nazwa polecenia to `/talkvoice`.
|
||||
- `/card ...` wysyła presety bogatych kart LINE. Zobacz [LINE](/pl/channels/line).
|
||||
- `/codex status|models|threads|resume|compact|review|account|mcp|skills` sprawdza i steruje dołączonym harness app-server Codex. Zobacz [Codex Harness](/pl/plugins/codex-harness).
|
||||
- Polecenia tylko dla QQBot:
|
||||
- `/bot-ping`
|
||||
- `/bot-version`
|
||||
@ -169,70 +170,71 @@ Wbudowane pluginy mogą dodawać więcej poleceń ukośnikowych. Bieżące polec
|
||||
|
||||
### Dynamiczne polecenia Skills
|
||||
|
||||
Skills wywoływane przez użytkownika są również udostępniane jako polecenia ukośnikowe:
|
||||
Skills wywoływane przez użytkownika są także udostępniane jako polecenia ukośnikowe:
|
||||
|
||||
- `/skill <name> [input]` zawsze działa jako ogólny punkt wejścia.
|
||||
- Skills mogą też pojawiać się jako bezpośrednie polecenia, takie jak `/prose`, gdy skill/plugin je zarejestruje.
|
||||
- Rejestracja natywnych poleceń Skills jest sterowana przez `commands.nativeSkills` oraz `channels.<provider>.commands.nativeSkills`.
|
||||
- Skills mogą też pojawiać się jako bezpośrednie polecenia, takie jak `/prose`, gdy Skill/Plugin je rejestruje.
|
||||
- rejestracja natywnych poleceń Skills jest kontrolowana przez `commands.nativeSkills` i `channels.<provider>.commands.nativeSkills`.
|
||||
|
||||
Uwagi:
|
||||
|
||||
- Polecenia akceptują opcjonalny `:` między poleceniem a argumentami (np. `/think: high`, `/send: on`, `/help:`).
|
||||
- `/new <model>` akceptuje alias modelu, `provider/model` albo nazwę providera (dopasowanie rozmyte); jeśli nie ma dopasowania, tekst jest traktowany jako treść wiadomości.
|
||||
- Aby uzyskać pełne zestawienie użycia per provider, użyj `openclaw status --usage`.
|
||||
- `/allowlist add|remove` wymaga `commands.config=true` i respektuje `configWrites` kanału.
|
||||
- W kanałach wielokontowych ukierunkowane na konfigurację `/allowlist --account <id>` oraz `/config set channels.<provider>.accounts.<id>...` także respektują `configWrites` docelowego konta.
|
||||
- `/usage` steruje stopką użycia dla każdej odpowiedzi; `/usage cost` wyświetla lokalne podsumowanie kosztów z logów sesji OpenClaw.
|
||||
- Polecenia akceptują opcjonalny znak `:` między poleceniem a argumentami (np. `/think: high`, `/send: on`, `/help:`).
|
||||
- `/new <model>` akceptuje alias modelu, `provider/model` albo nazwę dostawcy (dopasowanie rozmyte); jeśli nic nie pasuje, tekst jest traktowany jako treść wiadomości.
|
||||
- Aby zobaczyć pełne zestawienie użycia dostawców, użyj `openclaw status --usage`.
|
||||
- `/allowlist add|remove` wymaga `commands.config=true` i respektuje kanałowe `configWrites`.
|
||||
- W kanałach z wieloma kontami polecenia `/allowlist --account <id>` ukierunkowane na konfigurację oraz `/config set channels.<provider>.accounts.<id>...` również respektują `configWrites` konta docelowego.
|
||||
- `/usage` kontroluje stopkę użycia dołączaną do każdej odpowiedzi; `/usage cost` wypisuje lokalne podsumowanie kosztów z logów sesji OpenClaw.
|
||||
- `/restart` jest domyślnie włączone; ustaw `commands.restart: false`, aby je wyłączyć.
|
||||
- `/plugins install <spec>` akceptuje te same specyfikacje pluginów co `openclaw plugins install`: lokalna ścieżka/archiwum, pakiet npm albo `clawhub:<pkg>`.
|
||||
- `/plugins enable|disable` aktualizuje konfigurację pluginów i może poprosić o restart.
|
||||
- Natywne polecenie tylko dla Discord: `/vc join|leave|status` steruje kanałami głosowymi (wymaga `channels.discord.voice` i poleceń natywnych; niedostępne jako polecenie tekstowe).
|
||||
- Polecenia powiązań wątków Discord (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`) wymagają skutecznie włączonych powiązań wątków (`session.threadBindings.enabled` i/lub `channels.discord.threadBindings.enabled`).
|
||||
- Dokumentacja polecenia ACP i zachowanie runtime: [ACP Agents](/pl/tools/acp-agents).
|
||||
- `/plugins install <spec>` akceptuje te same specyfikacje Plugin co `openclaw plugins install`: lokalna ścieżka/archiwum, pakiet npm albo `clawhub:<pkg>`.
|
||||
- `/plugins enable|disable` aktualizuje konfigurację Plugin i może poprosić o restart.
|
||||
- Polecenie natywne tylko dla Discorda: `/vc join|leave|status` steruje kanałami głosowymi (wymaga `channels.discord.voice` i poleceń natywnych; niedostępne jako tekst).
|
||||
- Polecenia powiązania wątku Discord (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`) wymagają skutecznie włączonych powiązań wątków (`session.threadBindings.enabled` i/lub `channels.discord.threadBindings.enabled`).
|
||||
- Referencja poleceń ACP i zachowanie środowiska wykonawczego: [ACP Agents](/pl/tools/acp-agents).
|
||||
- `/verbose` służy do debugowania i dodatkowej widoczności; w normalnym użyciu trzymaj je **wyłączone**.
|
||||
- `/fast on|off` utrwala nadpisanie sesji. Użyj opcji `inherit` w interfejsie Sessions UI, aby je wyczyścić i wrócić do domyślnych ustawień z konfiguracji.
|
||||
- `/fast` jest specyficzne dla providera: OpenAI/OpenAI Codex mapują je na `service_tier=priority` w natywnych endpointach Responses, podczas gdy bezpośrednie publiczne żądania Anthropic, w tym ruch uwierzytelniany OAuth wysyłany do `api.anthropic.com`, mapują je na `service_tier=auto` lub `standard_only`. Zobacz [OpenAI](/pl/providers/openai) i [Anthropic](/pl/providers/anthropic).
|
||||
- Podsumowania błędów narzędzi są nadal pokazywane, gdy mają znaczenie, ale szczegółowy tekst błędu jest dołączany tylko wtedy, gdy `/verbose` ma wartość `on` albo `full`.
|
||||
- `/reasoning` (i `/verbose`) są ryzykowne w ustawieniach grupowych: mogą ujawnić wewnętrzne rozumowanie albo dane wyjściowe narzędzi, których nie zamierzałeś ujawniać. Lepiej zostawić je wyłączone, szczególnie na czatach grupowych.
|
||||
- `/model` natychmiast utrwala nowy model sesji.
|
||||
- Jeśli agent jest bezczynny, następne uruchomienie użyje go od razu.
|
||||
- Jeśli uruchomienie jest już aktywne, OpenClaw oznacza przełączenie na żywo jako oczekujące i restartuje się z nowym modelem dopiero w czystym punkcie ponownej próby.
|
||||
- Jeśli aktywność narzędzi lub wyjście odpowiedzi już się rozpoczęły, oczekujące przełączenie może pozostać w kolejce do późniejszej okazji ponownej próby albo do następnej tury użytkownika.
|
||||
- **Szybka ścieżka:** wiadomości zawierające tylko polecenie od nadawców z allowlisty są obsługiwane natychmiast (z pominięciem kolejki + modelu).
|
||||
- **Wymóg wzmianki w grupie:** wiadomości zawierające tylko polecenie od nadawców z allowlisty omijają wymagania dotyczące wzmianki.
|
||||
- **Skróty inline (tylko dla nadawców z allowlisty):** niektóre polecenia działają także po osadzeniu w zwykłej wiadomości i są usuwane, zanim model zobaczy pozostały tekst.
|
||||
- Przykład: `hey /status` wywołuje odpowiedź statusu, a pozostały tekst przechodzi dalej normalnym przepływem.
|
||||
- `/trace` jest węższe niż `/verbose`: ujawnia tylko linie śledzenia/debugowania należące do Plugin i nie pokazuje zwykłego szczegółowego szumu narzędzi.
|
||||
- `/fast on|off` zapisuje nadpisanie sesji. Użyj opcji `inherit` w interfejsie Sessions, aby je wyczyścić i wrócić do domyślnych ustawień konfiguracji.
|
||||
- `/fast` zależy od dostawcy: OpenAI/OpenAI Codex mapują je na `service_tier=priority` na natywnych endpointach Responses, podczas gdy bezpośrednie publiczne żądania Anthropic, w tym ruch uwierzytelniony OAuth wysyłany do `api.anthropic.com`, mapują je na `service_tier=auto` lub `standard_only`. Zobacz [OpenAI](/pl/providers/openai) i [Anthropic](/pl/providers/anthropic).
|
||||
- Podsumowania awarii narzędzi są nadal pokazywane, gdy mają znaczenie, ale szczegółowy tekst awarii jest dołączany tylko wtedy, gdy `/verbose` ma wartość `on` albo `full`.
|
||||
- `/reasoning`, `/verbose` i `/trace` są ryzykowne w ustawieniach grupowych: mogą ujawniać wewnętrzne reasoning, wyjście narzędzi albo diagnostykę Plugin, której nie zamierzałeś ujawniać. Lepiej zostawić je wyłączone, szczególnie w czatach grupowych.
|
||||
- `/model` natychmiast zapisuje nowy model sesji.
|
||||
- Jeśli agent jest bezczynny, następne uruchomienie od razu go użyje.
|
||||
- Jeśli uruchomienie już trwa, OpenClaw oznacza przełączenie na żywo jako oczekujące i restartuje się do nowego modelu dopiero przy czystym punkcie ponowienia.
|
||||
- Jeśli aktywność narzędzi albo wyjście odpowiedzi już się rozpoczęły, oczekujące przełączenie może pozostać w kolejce do późniejszej okazji ponowienia albo do następnej tury użytkownika.
|
||||
- **Szybka ścieżka:** wiadomości zawierające tylko polecenie od nadawców z allowlisty są obsługiwane natychmiast (pomijają kolejkę + model).
|
||||
- **Bramkowanie wzmianek grupowych:** wiadomości zawierające tylko polecenie od nadawców z allowlisty omijają wymagania dotyczące wzmianek.
|
||||
- **Skróty inline (tylko dla nadawców z allowlisty):** niektóre polecenia działają również po osadzeniu w zwykłej wiadomości i są usuwane, zanim model zobaczy pozostały tekst.
|
||||
- Przykład: `hey /status` wywołuje odpowiedź statusu, a pozostały tekst przechodzi dalej przez normalny przepływ.
|
||||
- Obecnie: `/help`, `/commands`, `/status`, `/whoami` (`/id`).
|
||||
- Nieautoryzowane wiadomości zawierające tylko polecenie są po cichu ignorowane, a tokeny inline `/...` są traktowane jak zwykły tekst.
|
||||
- **Polecenia Skills:** Skills typu `user-invocable` są udostępniane jako polecenia ukośnikowe. Nazwy są sanityzowane do `a-z0-9_` (maks. 32 znaki); kolizje dostają sufiksy numeryczne (np. `_2`).
|
||||
- `/skill <name> [input]` uruchamia skill po nazwie (przydatne, gdy limity natywnych poleceń uniemożliwiają polecenia per skill).
|
||||
- **Polecenia Skills:** Skills `user-invocable` są udostępniane jako polecenia ukośnikowe. Nazwy są sanityzowane do `a-z0-9_` (maks. 32 znaki); kolizje dostają sufiksy numeryczne (np. `_2`).
|
||||
- `/skill <name> [input]` uruchamia Skill po nazwie (przydatne, gdy ograniczenia natywnych poleceń uniemożliwiają polecenia per Skill).
|
||||
- Domyślnie polecenia Skills są przekazywane do modelu jako zwykłe żądanie.
|
||||
- Skills mogą opcjonalnie deklarować `command-dispatch: tool`, aby kierować polecenie bezpośrednio do narzędzia (deterministycznie, bez modelu).
|
||||
- Przykład: `/prose` (plugin OpenProse) — zobacz [OpenProse](/pl/prose).
|
||||
- **Argumenty poleceń natywnych:** Discord używa autouzupełniania dla opcji dynamicznych (oraz menu przycisków, gdy pominiesz wymagane argumenty). Telegram i Slack pokazują menu przycisków, gdy polecenie obsługuje wybory, a Ty pominiesz argument.
|
||||
- Przykład: `/prose` (Plugin OpenProse) — zobacz [OpenProse](/pl/prose).
|
||||
- **Argumenty poleceń natywnych:** Discord używa autouzupełniania dla opcji dynamicznych (oraz menu przycisków, gdy pominiesz wymagane argumenty). Telegram i Slack pokazują menu przycisków, gdy polecenie obsługuje wybory i pominiesz argument.
|
||||
|
||||
## `/tools`
|
||||
|
||||
`/tools` odpowiada na pytanie dotyczące runtime, a nie konfiguracji: **czego ten agent może teraz używać w
|
||||
tej rozmowie**.
|
||||
`/tools` odpowiada na pytanie dotyczące środowiska wykonawczego, a nie konfiguracji: **czego ten agent może teraz używać
|
||||
w tej rozmowie**.
|
||||
|
||||
- Domyślne `/tools` jest zwięzłe i zoptymalizowane pod szybkie skanowanie.
|
||||
- `/tools verbose` dodaje krótkie opisy.
|
||||
- Powierzchnie z poleceniami natywnymi, które obsługują argumenty, udostępniają ten sam przełącznik trybu `compact|verbose`.
|
||||
- Wyniki są ograniczone do sesji, więc zmiana agenta, kanału, wątku, autoryzacji nadawcy albo modelu może
|
||||
zmienić wynik.
|
||||
- `/tools` obejmuje narzędzia, które są faktycznie osiągalne w runtime, w tym narzędzia core, podłączone
|
||||
narzędzia pluginów i narzędzia należące do kanału.
|
||||
- `/tools` obejmuje narzędzia, które są faktycznie osiągalne w czasie działania, w tym narzędzia core, podłączone
|
||||
narzędzia Plugin i narzędzia należące do kanału.
|
||||
|
||||
Do edytowania profili i nadpisań używaj panelu Tools w Control UI albo powierzchni config/catalog, zamiast
|
||||
traktować `/tools` jako statyczny katalog.
|
||||
Do edycji profili i nadpisań użyj panelu Tools w interfejsie Control UI albo powierzchni konfiguracji/katalogu, zamiast
|
||||
traktować `/tools` jak statyczny katalog.
|
||||
|
||||
## Powierzchnie użycia (co gdzie się pokazuje)
|
||||
## Powierzchnie użycia (co jest pokazywane gdzie)
|
||||
|
||||
- **Użycie/quota providera** (np. „Claude 80% left”) pojawia się w `/status` dla bieżącego providera modelu, gdy śledzenie użycia jest włączone. OpenClaw normalizuje okna providerów do `% left`; dla MiniMax pola procentowe zawierające tylko wartość pozostałą są odwracane przed wyświetleniem, a odpowiedzi `model_remains` preferują wpis modelu czatu wraz z etykietą planu oznaczoną modelem.
|
||||
- **Wiersze token/cache** w `/status` mogą wracać do ostatniego wpisu użycia w transkrypcie, gdy migawka bieżącej sesji jest uboga. Istniejące niezerowe wartości na żywo nadal mają pierwszeństwo, a fallback do transkryptu może też odzyskać etykietę aktywnego modelu runtime oraz większą sumę zorientowaną na prompt, gdy zapisane sumy są nieobecne lub mniejsze.
|
||||
- **Użycie/limit dostawcy** (na przykład: „Claude 80% left”) pojawia się w `/status` dla bieżącego dostawcy modelu, gdy śledzenie użycia jest włączone. OpenClaw normalizuje okna dostawców do `% left`; dla MiniMax pola procentowe zawierające tylko wartość pozostałą są odwracane przed wyświetleniem, a odpowiedzi `model_remains` preferują wpis modelu czatu oraz etykietę planu oznaczoną modelem.
|
||||
- **Linie tokenów/cache** w `/status` mogą wracać do najnowszego wpisu użycia z transkryptu, gdy migawka aktywnej sesji jest uboga. Istniejące niezerowe wartości z aktywnego środowiska nadal mają pierwszeństwo, a fallback do transkryptu może też odzyskać etykietę aktywnego modelu środowiska wykonawczego oraz większą sumę zorientowaną na prompt, gdy zapisanych sum brakuje albo są mniejsze.
|
||||
- **Tokeny/koszt dla każdej odpowiedzi** są kontrolowane przez `/usage off|tokens|full` (dołączane do zwykłych odpowiedzi).
|
||||
- `/model status` dotyczy **modeli/auth/endpointów**, a nie użycia.
|
||||
- `/model status` dotyczy **modeli/uwierzytelniania/endpointów**, a nie użycia.
|
||||
|
||||
## Wybór modelu (`/model`)
|
||||
|
||||
@ -251,14 +253,14 @@ Przykłady:
|
||||
|
||||
Uwagi:
|
||||
|
||||
- `/model` i `/model list` pokazują zwięzły, numerowany picker (rodzina modeli + dostępni providerzy).
|
||||
- W Discord `/model` i `/models` otwierają interaktywny picker z listami rozwijanymi providera i modelu oraz krokiem Submit.
|
||||
- `/model <#>` wybiera z tego pickera (i preferuje bieżącego providera, gdy to możliwe).
|
||||
- `/model status` pokazuje widok szczegółowy, w tym skonfigurowany endpoint providera (`baseUrl`) i tryb API (`api`), gdy są dostępne.
|
||||
- `/model` i `/model list` pokazują zwięzły, numerowany selektor (rodzina modeli + dostępni dostawcy).
|
||||
- Na Discordzie `/model` i `/models` otwierają interaktywny selektor z listami rozwijanymi dostawców i modeli oraz krokiem Submit.
|
||||
- `/model <#>` wybiera z tego selektora (i w miarę możliwości preferuje bieżącego dostawcę).
|
||||
- `/model status` pokazuje widok szczegółowy, w tym skonfigurowany endpoint dostawcy (`baseUrl`) i tryb API (`api`), gdy są dostępne.
|
||||
|
||||
## Nadpisania debug
|
||||
## Nadpisania debugowania
|
||||
|
||||
`/debug` pozwala ustawiać nadpisania konfiguracji **tylko dla runtime** (w pamięci, nie na dysku). Tylko dla właściciela. Domyślnie wyłączone; włącz przez `commands.debug: true`.
|
||||
`/debug` pozwala ustawiać **nadpisania konfiguracji tylko na czas działania** (w pamięci, nie na dysku). Tylko właściciel. Domyślnie wyłączone; włącz przez `commands.debug: true`.
|
||||
|
||||
Przykłady:
|
||||
|
||||
@ -272,12 +274,33 @@ Przykłady:
|
||||
|
||||
Uwagi:
|
||||
|
||||
- Nadpisania stosują się natychmiast do nowych odczytów konfiguracji, ale **nie** zapisują się do `openclaw.json`.
|
||||
- Nadpisania zaczynają działać natychmiast dla nowych odczytów konfiguracji, ale **nie** zapisują się do `openclaw.json`.
|
||||
- Użyj `/debug reset`, aby wyczyścić wszystkie nadpisania i wrócić do konfiguracji z dysku.
|
||||
|
||||
## Wyjście śledzenia Plugin
|
||||
|
||||
`/trace` pozwala przełączać **linie śledzenia/debugowania Plugin o zakresie sesji** bez włączania pełnego trybu verbose.
|
||||
|
||||
Przykłady:
|
||||
|
||||
```text
|
||||
/trace
|
||||
/trace on
|
||||
/trace off
|
||||
```
|
||||
|
||||
Uwagi:
|
||||
|
||||
- `/trace` bez argumentu pokazuje bieżący stan śledzenia sesji.
|
||||
- `/trace on` włącza linie śledzenia Plugin dla bieżącej sesji.
|
||||
- `/trace off` ponownie je wyłącza.
|
||||
- Linie śledzenia Plugin mogą pojawiać się w `/status` oraz jako dodatkowa wiadomość diagnostyczna po zwykłej odpowiedzi asystenta.
|
||||
- `/trace` nie zastępuje `/debug`; `/debug` nadal zarządza nadpisaniami konfiguracji tylko na czas działania.
|
||||
- `/trace` nie zastępuje `/verbose`; zwykłe szczegółowe wyjście narzędzi/statusu nadal należy do `/verbose`.
|
||||
|
||||
## Aktualizacje konfiguracji
|
||||
|
||||
`/config` zapisuje do konfiguracji na dysku (`openclaw.json`). Tylko dla właściciela. Domyślnie wyłączone; włącz przez `commands.config: true`.
|
||||
`/config` zapisuje do Twojej konfiguracji na dysku (`openclaw.json`). Tylko właściciel. Domyślnie wyłączone; włącz przez `commands.config: true`.
|
||||
|
||||
Przykłady:
|
||||
|
||||
@ -296,7 +319,7 @@ Uwagi:
|
||||
|
||||
## Aktualizacje MCP
|
||||
|
||||
`/mcp` zapisuje definicje serwerów MCP zarządzanych przez OpenClaw w `mcp.servers`. Tylko dla właściciela. Domyślnie wyłączone; włącz przez `commands.mcp: true`.
|
||||
`/mcp` zapisuje definicje serwerów MCP zarządzane przez OpenClaw pod `mcp.servers`. Tylko właściciel. Domyślnie wyłączone; włącz przez `commands.mcp: true`.
|
||||
|
||||
Przykłady:
|
||||
|
||||
@ -309,12 +332,12 @@ Przykłady:
|
||||
|
||||
Uwagi:
|
||||
|
||||
- `/mcp` przechowuje konfigurację w konfiguracji OpenClaw, a nie w ustawieniach projektu należących do Pi.
|
||||
- Adapery runtime decydują, które transporty są faktycznie wykonywalne.
|
||||
- `/mcp` zapisuje konfigurację w konfiguracji OpenClaw, a nie w ustawieniach projektu należących do Pi.
|
||||
- Adapters środowiska wykonawczego decydują, które transporty są faktycznie wykonywalne.
|
||||
|
||||
## Aktualizacje pluginów
|
||||
## Aktualizacje Plugin
|
||||
|
||||
`/plugins` pozwala operatorom sprawdzać wykryte pluginy i przełączać włączenie w konfiguracji. Przepływy tylko do odczytu mogą używać `/plugin` jako aliasu. Domyślnie wyłączone; włącz przez `commands.plugins: true`.
|
||||
`/plugins` pozwala operatorom sprawdzać wykryte Plugin i przełączać ich włączenie w konfiguracji. Przepływy tylko do odczytu mogą używać aliasu `/plugin`. Domyślnie wyłączone; włącz przez `commands.plugins: true`.
|
||||
|
||||
Przykłady:
|
||||
|
||||
@ -328,41 +351,41 @@ Przykłady:
|
||||
|
||||
Uwagi:
|
||||
|
||||
- `/plugins list` i `/plugins show` używają rzeczywistego wykrywania pluginów względem bieżącego workspace i konfiguracji z dysku.
|
||||
- `/plugins enable|disable` aktualizuje tylko konfigurację pluginów; nie instaluje ani nie odinstalowuje pluginów.
|
||||
- Po zmianach enable/disable uruchom ponownie gateway, aby je zastosować.
|
||||
- `/plugins list` i `/plugins show` używają rzeczywistego wykrywania Plugin względem bieżącego workspace i konfiguracji na dysku.
|
||||
- `/plugins enable|disable` aktualizuje tylko konfigurację Plugin; nie instaluje ani nie odinstalowuje Plugin.
|
||||
- Po zmianach `enable/disable` uruchom Gateway ponownie, aby je zastosować.
|
||||
|
||||
## Uwagi dotyczące powierzchni
|
||||
## Uwagi o powierzchniach
|
||||
|
||||
- **Polecenia tekstowe** działają w zwykłej sesji czatu (DM współdzielą `main`, grupy mają własną sesję).
|
||||
- **Polecenia tekstowe** działają w normalnej sesji czatu (DM współdzielą `main`, grupy mają własną sesję).
|
||||
- **Polecenia natywne** używają izolowanych sesji:
|
||||
- Discord: `agent:<agentId>:discord:slash:<userId>`
|
||||
- Slack: `agent:<agentId>:slack:slash:<userId>` (prefiks konfigurowalny przez `channels.slack.slashCommand.sessionPrefix`)
|
||||
- Telegram: `telegram:slash:<userId>` (celuje w sesję czatu przez `CommandTargetSessionKey`)
|
||||
- **`/stop`** celuje w aktywną sesję czatu, aby mogło przerwać bieżące uruchomienie.
|
||||
- **Slack:** `channels.slack.slashCommand` jest nadal obsługiwane dla pojedynczego polecenia w stylu `/openclaw`. Jeśli włączysz `commands.native`, musisz utworzyć jedno polecenie ukośnikowe Slack dla każdego wbudowanego polecenia (te same nazwy co `/help`). Menu argumentów poleceń dla Slack są dostarczane jako efemeryczne przyciski Block Kit.
|
||||
- Wyjątek dla poleceń natywnych Slack: zarejestruj `/agentstatus` (a nie `/status`), ponieważ Slack rezerwuje `/status`. Tekstowe `/status` nadal działa w wiadomościach Slack.
|
||||
- **`/stop`** celuje w aktywną sesję czatu, aby móc przerwać bieżące uruchomienie.
|
||||
- **Slack:** `channels.slack.slashCommand` nadal jest obsługiwane dla pojedynczego polecenia w stylu `/openclaw`. Jeśli włączysz `commands.native`, musisz utworzyć jedno polecenie ukośnikowe Slack dla każdego wbudowanego polecenia (te same nazwy co `/help`). Menu argumentów poleceń dla Slack są dostarczane jako efemeryczne przyciski Block Kit.
|
||||
- Wyjątek dla natywnych poleceń Slack: zarejestruj `/agentstatus` (nie `/status`), ponieważ Slack rezerwuje `/status`. Tekstowe `/status` nadal działa w wiadomościach Slack.
|
||||
|
||||
## Poboczne pytania BTW
|
||||
## Pytania poboczne BTW
|
||||
|
||||
`/btw` to szybkie **poboczne pytanie** dotyczące bieżącej sesji.
|
||||
`/btw` to szybkie **pytanie poboczne** dotyczące bieżącej sesji.
|
||||
|
||||
W odróżnieniu od zwykłego czatu:
|
||||
|
||||
- używa bieżącej sesji jako kontekstu w tle,
|
||||
- używa bieżącej sesji jako kontekstu tła,
|
||||
- działa jako osobne jednorazowe wywołanie **bez narzędzi**,
|
||||
- nie zmienia przyszłego kontekstu sesji,
|
||||
- nie jest zapisywane do historii transkryptu,
|
||||
- jest dostarczane jako wynik poboczny na żywo, a nie jako zwykła wiadomość asystenta.
|
||||
- nie jest zapisywane w historii transkryptu,
|
||||
- jest dostarczane jako wynik poboczny na żywo zamiast zwykłej wiadomości asystenta.
|
||||
|
||||
Dzięki temu `/btw` jest przydatne, gdy chcesz uzyskać tymczasowe doprecyzowanie, podczas gdy główne
|
||||
To sprawia, że `/btw` jest przydatne, gdy chcesz uzyskać tymczasowe doprecyzowanie, podczas gdy główne
|
||||
zadanie nadal trwa.
|
||||
|
||||
Przykład:
|
||||
|
||||
```text
|
||||
/btw co teraz robimy?
|
||||
/btw co teraz właściwie robimy?
|
||||
```
|
||||
|
||||
Zobacz [Poboczne pytania BTW](/pl/tools/btw), aby poznać pełne zachowanie i szczegóły UX
|
||||
klienta.
|
||||
Zobacz [BTW Side Questions](/pl/tools/btw), aby poznać pełne zachowanie i szczegóły
|
||||
UX klienta.
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
---
|
||||
read_when:
|
||||
- Dostosowujesz parsowanie dyrektyw thinking, fast-mode lub verbose albo ich wartości domyślne
|
||||
summary: Składnia dyrektyw dla /think, /fast, /verbose i widoczności rozumowania
|
||||
title: Poziomy thinking
|
||||
- Dostosowywanie analizowania dyrektyw myślenia, trybu szybkiego lub szczegółowego albo ich ustawień domyślnych
|
||||
summary: Składnia dyrektyw dla `/think`, `/fast`, `/verbose`, `/trace` oraz widoczności rozumowania
|
||||
title: Poziomy myślenia
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:09:45Z"
|
||||
generated_at: "2026-04-12T23:34:06Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: f60aeb6ab4c7ce858f725f589f54184b29d8c91994d18c8deafa75179b9a62cb
|
||||
source_hash: 4f3b1341281f07ba4e9061e3355845dca234be04cc0d358594312beeb7676e68
|
||||
source_path: tools/thinking.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Poziomy thinking (/think directives)
|
||||
# Poziomy myślenia (dyrektywy `/think`)
|
||||
|
||||
## Co to robi
|
||||
|
||||
- Dyrektywa inline w dowolnym body wejściowym: `/t <level>`, `/think:<level>` albo `/thinking <level>`.
|
||||
- Dyrektywa inline w dowolnej treści przychodzącej: `/t <level>`, `/think:<level>` lub `/thinking <level>`.
|
||||
- Poziomy (aliasy): `off | minimal | low | medium | high | xhigh | adaptive`
|
||||
- minimal → „think”
|
||||
- low → „think hard”
|
||||
@ -24,86 +24,95 @@ x-i18n:
|
||||
- high → „ultrathink” (maksymalny budżet)
|
||||
- xhigh → „ultrathink+” (tylko modele GPT-5.2 + Codex)
|
||||
- adaptive → zarządzany przez dostawcę adaptacyjny budżet rozumowania (obsługiwany dla rodziny modeli Anthropic Claude 4.6)
|
||||
- `x-high`, `x_high`, `extra-high`, `extra high` i `extra_high` mapują na `xhigh`.
|
||||
- `highest`, `max` mapują na `high`.
|
||||
- `x-high`, `x_high`, `extra-high`, `extra high` i `extra_high` są mapowane na `xhigh`.
|
||||
- `highest`, `max` są mapowane na `high`.
|
||||
- Uwagi dotyczące dostawców:
|
||||
- Modele Anthropic Claude 4.6 domyślnie używają `adaptive`, gdy nie ustawiono jawnego poziomu thinking.
|
||||
- MiniMax (`minimax/*`) na ścieżce streamingu zgodnej z Anthropic domyślnie używa `thinking: { type: "disabled" }`, chyba że jawnie ustawisz thinking w params modelu albo params żądania. Zapobiega to wyciekom delt `reasoning_content` z nienatywnego formatu streamu Anthropic w MiniMax.
|
||||
- Z.AI (`zai/*`) obsługuje tylko binarne thinking (`on`/`off`). Każdy poziom inny niż `off` jest traktowany jako `on` (mapowany do `low`).
|
||||
- Moonshot (`moonshot/*`) mapuje `/think off` do `thinking: { type: "disabled" }`, a każdy poziom inny niż `off` do `thinking: { type: "enabled" }`. Gdy thinking jest włączone, Moonshot akceptuje tylko `tool_choice` `auto|none`; OpenClaw normalizuje niezgodne wartości do `auto`.
|
||||
- Modele Anthropic Claude 4.6 domyślnie używają `adaptive`, gdy nie ustawiono jawnego poziomu myślenia.
|
||||
- MiniMax (`minimax/*`) na ścieżce streamingu zgodnej z Anthropic domyślnie używa `thinking: { type: "disabled" }`, chyba że jawnie ustawisz thinking w parametrach modelu lub parametrach żądania. Zapobiega to wyciekom delt `reasoning_content` z nienatywnego formatu streamu Anthropic używanego przez MiniMax.
|
||||
- Z.AI (`zai/*`) obsługuje tylko binarne thinking (`on`/`off`). Każdy poziom inny niż `off` jest traktowany jako `on` (mapowany na `low`).
|
||||
- Moonshot (`moonshot/*`) mapuje `/think off` na `thinking: { type: "disabled" }`, a każdy poziom inny niż `off` na `thinking: { type: "enabled" }`. Gdy thinking jest włączony, Moonshot akceptuje tylko `tool_choice` `auto|none`; OpenClaw normalizuje niezgodne wartości do `auto`.
|
||||
|
||||
## Kolejność rozwiązywania
|
||||
## Kolejność rozstrzygania
|
||||
|
||||
1. Dyrektywa inline w wiadomości (dotyczy tylko tej wiadomości).
|
||||
2. Nadpisanie sesji (ustawiane przez wysłanie wiadomości zawierającej wyłącznie dyrektywę).
|
||||
3. Wartość domyślna per agent (`agents.list[].thinkingDefault` w konfiguracji).
|
||||
2. Nadpisanie sesji (ustawiane przez wysłanie wiadomości zawierającej tylko dyrektywę).
|
||||
3. Domyślna wartość per agent (`agents.list[].thinkingDefault` w konfiguracji).
|
||||
4. Globalna wartość domyślna (`agents.defaults.thinkingDefault` w konfiguracji).
|
||||
5. Fallback: `adaptive` dla modeli Anthropic Claude 4.6, `low` dla innych modeli obsługujących rozumowanie, w przeciwnym razie `off`.
|
||||
|
||||
## Ustawianie domyślnej wartości sesji
|
||||
## Ustawianie domyślnej wartości dla sesji
|
||||
|
||||
- Wyślij wiadomość będącą **wyłącznie** dyrektywą (dozwolone białe znaki), np. `/think:medium` albo `/t high`.
|
||||
- To ustawienie zostaje dla bieżącej sesji (domyślnie per nadawca); jest czyszczone przez `/think:off` albo reset bezczynności sesji.
|
||||
- Wyślij wiadomość, która zawiera **wyłącznie** dyrektywę (dozwolone białe znaki), np. `/think:medium` albo `/t high`.
|
||||
- To ustawienie utrzymuje się dla bieżącej sesji (domyślnie per nadawca); jest czyszczone przez `/think:off` albo reset bezczynności sesji.
|
||||
- Wysyłana jest odpowiedź potwierdzająca (`Thinking level set to high.` / `Thinking disabled.`). Jeśli poziom jest nieprawidłowy (np. `/thinking big`), polecenie zostaje odrzucone z podpowiedzią, a stan sesji pozostaje bez zmian.
|
||||
- Wyślij `/think` (albo `/think:`) bez argumentu, aby zobaczyć bieżący poziom thinking.
|
||||
- Wyślij `/think` (lub `/think:`) bez argumentu, aby zobaczyć bieżący poziom myślenia.
|
||||
|
||||
## Zastosowanie przez agenta
|
||||
|
||||
- **Embedded Pi**: ustalony poziom jest przekazywany do runtime osadzonego agenta Pi działającego w procesie.
|
||||
- **Embedded Pi**: rozstrzygnięty poziom jest przekazywany do runtime agenta Pi działającego in-process.
|
||||
|
||||
## Fast mode (/fast)
|
||||
## Tryb szybki (`/fast`)
|
||||
|
||||
- Poziomy: `on|off`.
|
||||
- Wiadomość zawierająca wyłącznie dyrektywę przełącza nadpisanie fast-mode sesji i odpowiada `Fast mode enabled.` / `Fast mode disabled.`.
|
||||
- Wyślij `/fast` (albo `/fast status`) bez trybu, aby zobaczyć bieżący efektywny stan fast-mode.
|
||||
- OpenClaw rozwiązuje fast mode w tej kolejności:
|
||||
1. Dyrektywa inline / zawierająca wyłącznie dyrektywę `/fast on|off`
|
||||
- Wiadomość zawierająca tylko dyrektywę przełącza nadpisanie trybu szybkiego dla sesji i odpowiada `Fast mode enabled.` / `Fast mode disabled.`.
|
||||
- Wyślij `/fast` (lub `/fast status`) bez trybu, aby zobaczyć bieżący efektywny stan trybu szybkiego.
|
||||
- OpenClaw rozstrzyga tryb szybki w tej kolejności:
|
||||
1. Inline/dyrektywa-only `/fast on|off`
|
||||
2. Nadpisanie sesji
|
||||
3. Wartość domyślna per agent (`agents.list[].fastModeDefault`)
|
||||
3. Domyślna wartość per agent (`agents.list[].fastModeDefault`)
|
||||
4. Konfiguracja per model: `agents.defaults.models["<provider>/<model>"].params.fastMode`
|
||||
5. Fallback: `off`
|
||||
- Dla `openai/*` fast mode mapuje się na przetwarzanie priorytetowe OpenAI przez wysyłanie `service_tier=priority` w obsługiwanych żądaniach Responses.
|
||||
- Dla `openai-codex/*` fast mode wysyła tę samą flagę `service_tier=priority` w Codex Responses. OpenClaw utrzymuje jeden współdzielony przełącznik `/fast` dla obu ścieżek auth.
|
||||
- Dla bezpośrednich publicznych żądań `anthropic/*`, w tym ruchu uwierzytelnianego OAuth wysyłanego do `api.anthropic.com`, fast mode mapuje się na poziomy usługi Anthropic: `/fast on` ustawia `service_tier=auto`, `/fast off` ustawia `service_tier=standard_only`.
|
||||
- Dla `minimax/*` na ścieżce zgodnej z Anthropic, `/fast on` (albo `params.fastMode: true`) przepisuje `MiniMax-M2.7` na `MiniMax-M2.7-highspeed`.
|
||||
- Jawne params modelu Anthropic `serviceTier` / `service_tier` mają pierwszeństwo nad domyślnym fast mode, gdy ustawiono oba. OpenClaw nadal pomija wstrzykiwanie poziomu usługi Anthropic dla nie-Anthropic proxy `baseUrl`.
|
||||
- Dla `openai/*` tryb szybki mapuje się na priorytetowe przetwarzanie OpenAI przez wysyłanie `service_tier=priority` w obsługiwanych żądaniach Responses.
|
||||
- Dla `openai-codex/*` tryb szybki wysyła tę samą flagę `service_tier=priority` w Codex Responses. OpenClaw utrzymuje jeden współdzielony przełącznik `/fast` dla obu ścieżek uwierzytelniania.
|
||||
- Dla bezpośrednich publicznych żądań `anthropic/*`, w tym ruchu uwierzytelnianego OAuth wysyłanego do `api.anthropic.com`, tryb szybki mapuje się na poziomy usług Anthropic: `/fast on` ustawia `service_tier=auto`, a `/fast off` ustawia `service_tier=standard_only`.
|
||||
- Dla `minimax/*` na ścieżce zgodnej z Anthropic, `/fast on` (lub `params.fastMode: true`) przepisuje `MiniMax-M2.7` na `MiniMax-M2.7-highspeed`.
|
||||
- Jawne parametry modelu Anthropic `serviceTier` / `service_tier` nadpisują domyślną wartość trybu szybkiego, gdy ustawione są oba. OpenClaw nadal pomija wstrzykiwanie poziomu usługi Anthropic dla bazowych URL proxy innych niż Anthropic.
|
||||
|
||||
## Dyrektywy verbose (/verbose lub /v)
|
||||
## Dyrektywy szczegółowości (`/verbose` lub `/v`)
|
||||
|
||||
- Poziomy: `on` (minimalne) | `full` | `off` (domyślnie).
|
||||
- Wiadomość zawierająca wyłącznie dyrektywę przełącza verbose sesji i odpowiada `Verbose logging enabled.` / `Verbose logging disabled.`; nieprawidłowe poziomy zwracają podpowiedź bez zmiany stanu.
|
||||
- `/verbose off` zapisuje jawne nadpisanie sesji; wyczyść je przez Sessions UI, wybierając `inherit`.
|
||||
- Dyrektywa inline wpływa tylko na tę wiadomość; w przeciwnym razie stosowane są wartości domyślne sesji / globalne.
|
||||
- Wyślij `/verbose` (albo `/verbose:`) bez argumentu, aby zobaczyć bieżący poziom verbose.
|
||||
- Gdy verbose jest włączone, agenci emitujący uporządkowane wyniki narzędzi (Pi, inni agenci JSON) wysyłają każde wywołanie narzędzia z powrotem jako osobną wiadomość zawierającą tylko metadane, z prefiksem `<emoji> <tool-name>: <arg>`, jeśli jest dostępny (ścieżka / polecenie). Te podsumowania narzędzi są wysyłane od razu po starcie każdego narzędzia (osobne dymki), a nie jako delty streamingu.
|
||||
- Podsumowania błędów narzędzi pozostają widoczne w trybie normalnym, ale surowe sufiksy szczegółów błędu są ukryte, chyba że verbose ma wartość `on` albo `full`.
|
||||
- Gdy verbose ma wartość `full`, wyjścia narzędzi są również przekazywane po zakończeniu (osobny dymek, przycięty do bezpiecznej długości). Jeśli przełączysz `/verbose on|full|off` podczas trwania uruchomienia, kolejne dymki narzędzi będą respektować nowe ustawienie.
|
||||
- Poziomy: `on` (minimalny) | `full` | `off` (domyślnie).
|
||||
- Wiadomość zawierająca tylko dyrektywę przełącza szczegółowość sesji i odpowiada `Verbose logging enabled.` / `Verbose logging disabled.`; nieprawidłowe poziomy zwracają podpowiedź bez zmiany stanu.
|
||||
- `/verbose off` zapisuje jawne nadpisanie sesji; wyczyść je w UI Sessions, wybierając `inherit`.
|
||||
- Dyrektywa inline dotyczy tylko tej wiadomości; w pozostałych przypadkach stosowane są domyślne wartości sesji/globalne.
|
||||
- Wyślij `/verbose` (lub `/verbose:`) bez argumentu, aby zobaczyć bieżący poziom szczegółowości.
|
||||
- Gdy szczegółowość jest włączona, agenci emitujący ustrukturyzowane wyniki narzędzi (Pi, inne agenty JSON) odsyłają każde wywołanie narzędzia jako osobną wiadomość zawierającą tylko metadane, poprzedzoną `<emoji> <tool-name>: <arg>`, jeśli to możliwe (ścieżka/polecenie). Te podsumowania narzędzi są wysyłane natychmiast po starcie każdego narzędzia (osobne dymki), a nie jako delty streamingu.
|
||||
- Podsumowania błędów narzędzi pozostają widoczne w trybie normalnym, ale surowe sufiksy szczegółów błędów są ukryte, chyba że `verbose` ma wartość `on` lub `full`.
|
||||
- Gdy `verbose` ma wartość `full`, po zakończeniu przekazywane są także wyjścia narzędzi (osobny dymek, obcięty do bezpiecznej długości). Jeśli przełączysz `/verbose on|full|off` podczas trwającego uruchomienia, kolejne dymki narzędzi będą respektować nowe ustawienie.
|
||||
|
||||
## Widoczność rozumowania (/reasoning)
|
||||
## Dyrektywy śledzenia Plugin (`/trace`)
|
||||
|
||||
- Poziomy: `on` | `off` (domyślnie).
|
||||
- Wiadomość zawierająca tylko dyrektywę przełącza wyjście śledzenia pluginów dla sesji i odpowiada `Plugin trace enabled.` / `Plugin trace disabled.`.
|
||||
- Dyrektywa inline dotyczy tylko tej wiadomości; w pozostałych przypadkach stosowane są domyślne wartości sesji/globalne.
|
||||
- Wyślij `/trace` (lub `/trace:`) bez argumentu, aby zobaczyć bieżący poziom śledzenia.
|
||||
- `/trace` jest węższe niż `/verbose`: ujawnia tylko linie trace/debug należące do pluginu, takie jak podsumowania debug Active Memory.
|
||||
- Linie trace mogą pojawiać się w `/status` oraz jako dodatkowa wiadomość diagnostyczna po zwykłej odpowiedzi asystenta.
|
||||
|
||||
## Widoczność rozumowania (`/reasoning`)
|
||||
|
||||
- Poziomy: `on|off|stream`.
|
||||
- Wiadomość zawierająca wyłącznie dyrektywę przełącza to, czy bloki thinking są pokazywane w odpowiedziach.
|
||||
- Gdy włączone, rozumowanie jest wysyłane jako **osobna wiadomość** z prefiksem `Reasoning:`.
|
||||
- `stream` (tylko Telegram): streamuje rozumowanie do dymka szkicu Telegram podczas generowania odpowiedzi, a następnie wysyła finalną odpowiedź bez rozumowania.
|
||||
- Wiadomość zawierająca tylko dyrektywę przełącza pokazywanie bloków myślenia w odpowiedziach.
|
||||
- Gdy jest włączone, rozumowanie jest wysyłane jako **osobna wiadomość** poprzedzona `Reasoning:`.
|
||||
- `stream` (tylko Telegram): streamuje rozumowanie do roboczego dymka Telegram podczas generowania odpowiedzi, a następnie wysyła końcową odpowiedź bez rozumowania.
|
||||
- Alias: `/reason`.
|
||||
- Wyślij `/reasoning` (albo `/reasoning:`) bez argumentu, aby zobaczyć bieżący poziom rozumowania.
|
||||
- Kolejność rozwiązywania: dyrektywa inline, potem nadpisanie sesji, potem wartość domyślna per agent (`agents.list[].reasoningDefault`), a na końcu fallback (`off`).
|
||||
- Wyślij `/reasoning` (lub `/reasoning:`) bez argumentu, aby zobaczyć bieżący poziom rozumowania.
|
||||
- Kolejność rozstrzygania: dyrektywa inline, następnie nadpisanie sesji, następnie wartość domyślna per agent (`agents.list[].reasoningDefault`), a na końcu fallback (`off`).
|
||||
|
||||
## Powiązane
|
||||
|
||||
- Dokumentacja trybu elevated znajduje się w [Trybie elevated](/tools/elevated).
|
||||
- Dokumentacja trybu Elevated znajduje się w [trybie Elevated](/pl/tools/elevated).
|
||||
|
||||
## Heartbeaty
|
||||
## Heartbeat
|
||||
|
||||
- Body sondy heartbeat to skonfigurowany prompt heartbeat (domyślnie: `Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`). Dyrektywy inline w wiadomości heartbeat działają normalnie (ale unikaj zmieniania domyślnych ustawień sesji przez heartbeaty).
|
||||
- Dostarczanie heartbeat domyślnie wysyła tylko końcowy payload. Aby wysłać również osobną wiadomość `Reasoning:` (gdy jest dostępna), ustaw `agents.defaults.heartbeat.includeReasoning: true` albo per agent `agents.list[].heartbeat.includeReasoning: true`.
|
||||
- Treścią sondy Heartbeat jest skonfigurowany prompt heartbeat (domyślnie: `Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`). Dyrektywy inline w wiadomości heartbeat są stosowane normalnie (ale unikaj zmieniania domyślnych ustawień sesji przez heartbeat).
|
||||
- Dostarczanie Heartbeat domyślnie wysyła tylko końcowy ładunek. Aby wysyłać także osobną wiadomość `Reasoning:` (gdy jest dostępna), ustaw `agents.defaults.heartbeat.includeReasoning: true` albo per agent `agents.list[].heartbeat.includeReasoning: true`.
|
||||
|
||||
## Interfejs web chat
|
||||
## UI czatu webowego
|
||||
|
||||
- Selektor thinking w web chat odzwierciedla zapisany poziom sesji z magazynu / konfiguracji sesji wejściowych przy ładowaniu strony.
|
||||
- Wybranie innego poziomu zapisuje nadpisanie sesji natychmiast przez `sessions.patch`; nie czeka na następne wysłanie i nie jest jednorazowym nadpisaniem `thinkingOnce`.
|
||||
- Pierwsza opcja to zawsze `Default (<resolved level>)`, gdzie ustalona wartość domyślna pochodzi z aktywnego modelu sesji: `adaptive` dla Claude 4.6 na Anthropic/Bedrock, `low` dla innych modeli obsługujących rozumowanie, a w przeciwnym razie `off`.
|
||||
- Picker pozostaje świadomy dostawcy:
|
||||
- Selektor myślenia w UI czatu webowego odzwierciedla zapisany poziom sesji z magazynu/config sesji przychodzącej podczas ładowania strony.
|
||||
- Wybranie innego poziomu od razu zapisuje nadpisanie sesji przez `sessions.patch`; nie czeka na kolejne wysłanie i nie jest jednorazowym nadpisaniem `thinkingOnce`.
|
||||
- Pierwsza opcja to zawsze `Default (<resolved level>)`, gdzie rozstrzygnięta wartość domyślna pochodzi z aktywnego modelu sesji: `adaptive` dla Claude 4.6 w Anthropic/Bedrock, `low` dla innych modeli obsługujących rozumowanie, w przeciwnym razie `off`.
|
||||
- Selektor pozostaje świadomy dostawcy:
|
||||
- większość dostawców pokazuje `off | minimal | low | medium | high | adaptive`
|
||||
- Z.AI pokazuje binarne `off | on`
|
||||
- `/think:<level>` nadal działa i aktualizuje ten sam zapisany poziom sesji, więc dyrektywy czatu i picker pozostają zsynchronizowane.
|
||||
- `/think:<level>` nadal działa i aktualizuje ten sam zapisany poziom sesji, dzięki czemu dyrektywy czatu i selektor pozostają zsynchronizowane.
|
||||
|
||||
@ -1,42 +1,42 @@
|
||||
---
|
||||
read_when:
|
||||
- Włączanie text-to-speech dla odpowiedzi
|
||||
- Włączanie syntezy mowy dla odpowiedzi
|
||||
- Konfigurowanie dostawców TTS lub limitów
|
||||
- Używanie poleceń /tts
|
||||
summary: Text-to-speech (TTS) dla odpowiedzi wychodzących
|
||||
title: Text-to-Speech
|
||||
- Używanie komend `/tts`
|
||||
summary: Synteza mowy (TTS) dla odpowiedzi wychodzących
|
||||
title: Synteza mowy tekstu na mowę
|
||||
x-i18n:
|
||||
generated_at: "2026-04-08T06:02:03Z"
|
||||
generated_at: "2026-04-12T23:34:14Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 6e0fbcaf61282733c134f682e05a71f94d2169c03a85131ce9ad233c71a1e533
|
||||
source_hash: ad79a6be34879347dc73fdab1bd219823cd7c6aa8504e3e4c73e1a0554c837c5
|
||||
source_path: tools/tts.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Text-to-speech (TTS)
|
||||
# Synteza mowy (TTS)
|
||||
|
||||
OpenClaw może konwertować odpowiedzi wychodzące na dźwięk przy użyciu ElevenLabs, Microsoft, MiniMax lub OpenAI.
|
||||
OpenClaw może konwertować odpowiedzi wychodzące na audio za pomocą ElevenLabs, Microsoft, MiniMax lub OpenAI.
|
||||
Działa wszędzie tam, gdzie OpenClaw może wysyłać audio.
|
||||
|
||||
## Obsługiwane usługi
|
||||
|
||||
- **ElevenLabs** (główny lub zapasowy dostawca)
|
||||
- **Microsoft** (główny lub zapasowy dostawca; obecna dołączona implementacja używa `node-edge-tts`)
|
||||
- **MiniMax** (główny lub zapasowy dostawca; używa API T2A v2)
|
||||
- **OpenAI** (główny lub zapasowy dostawca; używany także do podsumowań)
|
||||
- **ElevenLabs** (dostawca główny lub fallback)
|
||||
- **Microsoft** (dostawca główny lub fallback; obecna dołączona implementacja używa `node-edge-tts`)
|
||||
- **MiniMax** (dostawca główny lub fallback; używa API T2A v2)
|
||||
- **OpenAI** (dostawca główny lub fallback; używany także do podsumowań)
|
||||
|
||||
### Uwagi dotyczące mowy Microsoft
|
||||
|
||||
Dołączony dostawca mowy Microsoft obecnie używa usługi neural TTS online Microsoft Edge
|
||||
przez bibliotekę `node-edge-tts`. Jest to usługa hostowana (nie
|
||||
lokalna), korzysta z endpointów Microsoft i nie wymaga klucza API.
|
||||
Dołączony dostawca mowy Microsoft obecnie używa usługi online neural TTS Microsoft Edge
|
||||
przez bibliotekę `node-edge-tts`. Jest to usługa hostowana (nie lokalna),
|
||||
używa endpointów Microsoft i nie wymaga klucza API.
|
||||
`node-edge-tts` udostępnia opcje konfiguracji mowy i formaty wyjściowe, ale
|
||||
nie wszystkie opcje są obsługiwane przez usługę. Starsza konfiguracja i dane wejściowe dyrektyw
|
||||
nie wszystkie opcje są obsługiwane przez usługę. Legacy konfiguracja i wejście dyrektywy
|
||||
używające `edge` nadal działają i są normalizowane do `microsoft`.
|
||||
|
||||
Ponieważ ta ścieżka korzysta z publicznej usługi webowej bez opublikowanego SLA ani limitów,
|
||||
należy traktować ją jako best-effort. Jeśli potrzebujesz gwarantowanych limitów i wsparcia, użyj OpenAI
|
||||
Ponieważ ta ścieżka to publiczna usługa web bez opublikowanego SLA ani limitu quota,
|
||||
traktuj ją jako best-effort. Jeśli potrzebujesz gwarantowanych limitów i wsparcia, użyj OpenAI
|
||||
lub ElevenLabs.
|
||||
|
||||
## Opcjonalne klucze
|
||||
@ -49,23 +49,23 @@ Jeśli chcesz używać OpenAI, ElevenLabs lub MiniMax:
|
||||
|
||||
Mowa Microsoft **nie** wymaga klucza API.
|
||||
|
||||
Jeśli skonfigurowano wielu dostawców, najpierw używany jest wybrany dostawca, a pozostali pełnią rolę opcji zapasowych.
|
||||
Automatyczne podsumowanie używa skonfigurowanego `summaryModel` (lub `agents.defaults.model.primary`),
|
||||
więc ten dostawca również musi być uwierzytelniony, jeśli włączysz podsumowania.
|
||||
Jeśli skonfigurowano wielu dostawców, najpierw używany jest wybrany dostawca, a pozostali pełnią rolę opcji fallback.
|
||||
Auto-summary używa skonfigurowanego `summaryModel` (lub `agents.defaults.model.primary`),
|
||||
więc ten dostawca także musi być uwierzytelniony, jeśli włączysz podsumowania.
|
||||
|
||||
## Linki do usług
|
||||
|
||||
- [Przewodnik OpenAI Text-to-Speech](https://platform.openai.com/docs/guides/text-to-speech)
|
||||
- [Dokumentacja referencyjna OpenAI Audio API](https://platform.openai.com/docs/api-reference/audio)
|
||||
- [OpenAI Text-to-Speech guide](https://platform.openai.com/docs/guides/text-to-speech)
|
||||
- [OpenAI Audio API reference](https://platform.openai.com/docs/api-reference/audio)
|
||||
- [ElevenLabs Text to Speech](https://elevenlabs.io/docs/api-reference/text-to-speech)
|
||||
- [Uwierzytelnianie ElevenLabs](https://elevenlabs.io/docs/api-reference/authentication)
|
||||
- [ElevenLabs Authentication](https://elevenlabs.io/docs/api-reference/authentication)
|
||||
- [MiniMax T2A v2 API](https://platform.minimaxi.com/document/T2A%20V2)
|
||||
- [node-edge-tts](https://github.com/SchneeHertz/node-edge-tts)
|
||||
- [Formaty wyjściowe Microsoft Speech](https://learn.microsoft.com/azure/ai-services/speech-service/rest-text-to-speech#audio-outputs)
|
||||
- [Microsoft Speech output formats](https://learn.microsoft.com/azure/ai-services/speech-service/rest-text-to-speech#audio-outputs)
|
||||
|
||||
## Czy jest włączone domyślnie?
|
||||
|
||||
Nie. Auto‑TTS jest domyślnie **wyłączone**. Włącz je w konfiguracji przez
|
||||
Nie. Auto‑TTS jest domyślnie **wyłączone**. Włącz je w konfiguracji za pomocą
|
||||
`messages.tts.auto` lub lokalnie przez `/tts on`.
|
||||
|
||||
Gdy `messages.tts.provider` nie jest ustawione, OpenClaw wybiera pierwszego skonfigurowanego
|
||||
@ -73,8 +73,8 @@ dostawcę mowy według kolejności automatycznego wyboru w rejestrze.
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
Konfiguracja TTS znajduje się pod `messages.tts` w `openclaw.json`.
|
||||
Pełny schemat znajduje się w [Konfiguracja Gateway](/pl/gateway/configuration).
|
||||
Konfiguracja TTS znajduje się w `messages.tts` w `openclaw.json`.
|
||||
Pełny schemat znajduje się w [Gateway configuration](/pl/gateway/configuration).
|
||||
|
||||
### Minimalna konfiguracja (włączenie + dostawca)
|
||||
|
||||
@ -89,7 +89,7 @@ Pełny schemat znajduje się w [Konfiguracja Gateway](/pl/gateway/configuration)
|
||||
}
|
||||
```
|
||||
|
||||
### OpenAI jako główny dostawca z ElevenLabs jako zapasowym
|
||||
### OpenAI jako główny z fallbackiem ElevenLabs
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -130,7 +130,7 @@ Pełny schemat znajduje się w [Konfiguracja Gateway](/pl/gateway/configuration)
|
||||
}
|
||||
```
|
||||
|
||||
### Microsoft jako główny dostawca (bez klucza API)
|
||||
### Microsoft jako główny (bez klucza API)
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -153,7 +153,7 @@ Pełny schemat znajduje się w [Konfiguracja Gateway](/pl/gateway/configuration)
|
||||
}
|
||||
```
|
||||
|
||||
### MiniMax jako główny dostawca
|
||||
### MiniMax jako główny
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -177,7 +177,7 @@ Pełny schemat znajduje się w [Konfiguracja Gateway](/pl/gateway/configuration)
|
||||
}
|
||||
```
|
||||
|
||||
### Wyłączenie mowy Microsoft
|
||||
### Wyłącz mowę Microsoft
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -193,7 +193,7 @@ Pełny schemat znajduje się w [Konfiguracja Gateway](/pl/gateway/configuration)
|
||||
}
|
||||
```
|
||||
|
||||
### Własne limity + ścieżka prefs
|
||||
### Niestandardowe limity + ścieżka prefs
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -220,7 +220,7 @@ Pełny schemat znajduje się w [Konfiguracja Gateway](/pl/gateway/configuration)
|
||||
}
|
||||
```
|
||||
|
||||
### Wyłączenie automatycznego podsumowania dla długich odpowiedzi
|
||||
### Wyłącz auto-summary dla długich odpowiedzi
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -238,30 +238,30 @@ Następnie uruchom:
|
||||
/tts summary off
|
||||
```
|
||||
|
||||
### Uwagi dotyczące pól
|
||||
### Uwagi o polach
|
||||
|
||||
- `auto`: tryb auto‑TTS (`off`, `always`, `inbound`, `tagged`).
|
||||
- `inbound` wysyła audio tylko po przychodzącej wiadomości głosowej.
|
||||
- `tagged` wysyła audio tylko wtedy, gdy odpowiedź zawiera tagi `[[tts]]`.
|
||||
- `enabled`: starszy przełącznik (doctor migruje go do `auto`).
|
||||
- `tagged` wysyła audio tylko wtedy, gdy odpowiedź zawiera dyrektywy `[[tts:key=value]]` lub blok `[[tts:text]]...[[/tts:text]]`.
|
||||
- `enabled`: przełącznik legacy (doctor migruje to do `auto`).
|
||||
- `mode`: `"final"` (domyślnie) lub `"all"` (obejmuje odpowiedzi narzędzi/bloków).
|
||||
- `provider`: id dostawcy mowy, takie jak `"elevenlabs"`, `"microsoft"`, `"minimax"` lub `"openai"` (fallback jest automatyczny).
|
||||
- Jeśli `provider` **nie jest ustawione**, OpenClaw używa pierwszego skonfigurowanego dostawcy mowy według kolejności automatycznego wyboru w rejestrze.
|
||||
- Starsze `provider: "edge"` nadal działa i jest normalizowane do `microsoft`.
|
||||
- `summaryModel`: opcjonalny tani model do automatycznego podsumowania; domyślnie `agents.defaults.model.primary`.
|
||||
- Akceptuje `provider/model` lub alias skonfigurowanego modelu.
|
||||
- `provider`: identyfikator dostawcy mowy, taki jak `"elevenlabs"`, `"microsoft"`, `"minimax"` lub `"openai"` (fallback jest automatyczny).
|
||||
- Jeśli `provider` jest **nieustawiony**, OpenClaw używa pierwszego skonfigurowanego dostawcy mowy według kolejności automatycznego wyboru w rejestrze.
|
||||
- Legacy `provider: "edge"` nadal działa i jest normalizowane do `microsoft`.
|
||||
- `summaryModel`: opcjonalny tani model dla auto-summary; domyślnie `agents.defaults.model.primary`.
|
||||
- Akceptuje `provider/model` lub skonfigurowany alias modelu.
|
||||
- `modelOverrides`: pozwala modelowi emitować dyrektywy TTS (domyślnie włączone).
|
||||
- `allowProvider` domyślnie ma wartość `false` (przełączanie dostawcy jest opcjonalne).
|
||||
- `providers.<id>`: ustawienia należące do dostawcy, kluczowane przez id dostawcy mowy.
|
||||
- Starsze bezpośrednie bloki dostawców (`messages.tts.openai`, `messages.tts.elevenlabs`, `messages.tts.microsoft`, `messages.tts.edge`) są automatycznie migrowane podczas ładowania do `messages.tts.providers.<id>`.
|
||||
- `maxTextLength`: twardy limit danych wejściowych TTS (znaki). `/tts audio` kończy się błędem po jego przekroczeniu.
|
||||
- `timeoutMs`: limit czasu żądania (ms).
|
||||
- `prefsPath`: nadpisuje lokalną ścieżkę do JSON prefs (dostawca/limit/podsumowanie).
|
||||
- Wartości `apiKey` korzystają awaryjnie ze zmiennych środowiskowych (`ELEVENLABS_API_KEY`/`XI_API_KEY`, `MINIMAX_API_KEY`, `OPENAI_API_KEY`).
|
||||
- `allowProvider` domyślnie ma wartość `false` (przełączanie dostawcy jest opt-in).
|
||||
- `providers.<id>`: ustawienia należące do dostawcy, kluczowane identyfikatorem dostawcy mowy.
|
||||
- Legacy bezpośrednie bloki dostawców (`messages.tts.openai`, `messages.tts.elevenlabs`, `messages.tts.microsoft`, `messages.tts.edge`) są automatycznie migrowane przy ładowaniu do `messages.tts.providers.<id>`.
|
||||
- `maxTextLength`: twardy limit wejścia TTS (znaki). `/tts audio` kończy się błędem po jego przekroczeniu.
|
||||
- `timeoutMs`: timeout żądania (ms).
|
||||
- `prefsPath`: nadpisuje lokalną ścieżkę JSON preferencji (dostawca/limit/podsumowanie).
|
||||
- Wartości `apiKey` używają fallbacku do zmiennych środowiskowych (`ELEVENLABS_API_KEY`/`XI_API_KEY`, `MINIMAX_API_KEY`, `OPENAI_API_KEY`).
|
||||
- `providers.elevenlabs.baseUrl`: nadpisuje bazowy URL API ElevenLabs.
|
||||
- `providers.openai.baseUrl`: nadpisuje endpoint OpenAI TTS.
|
||||
- Kolejność rozwiązywania: `messages.tts.providers.openai.baseUrl` -> `OPENAI_TTS_BASE_URL` -> `https://api.openai.com/v1`
|
||||
- Wartości inne niż domyślne są traktowane jako endpointy TTS zgodne z OpenAI, więc akceptowane są niestandardowe nazwy modeli i głosów.
|
||||
- Wartości inne niż domyślna są traktowane jako endpointy TTS zgodne z OpenAI, więc akceptowane są niestandardowe nazwy modeli i głosów.
|
||||
- `providers.elevenlabs.voiceSettings`:
|
||||
- `stability`, `similarityBoost`, `style`: `0..1`
|
||||
- `useSpeakerBoost`: `true|false`
|
||||
@ -274,26 +274,26 @@ Następnie uruchom:
|
||||
- `providers.minimax.voiceId`: identyfikator głosu (domyślnie `English_expressive_narrator`, env: `MINIMAX_TTS_VOICE_ID`).
|
||||
- `providers.minimax.speed`: szybkość odtwarzania `0.5..2.0` (domyślnie 1.0).
|
||||
- `providers.minimax.vol`: głośność `(0, 10]` (domyślnie 1.0; musi być większa od 0).
|
||||
- `providers.minimax.pitch`: przesunięcie wysokości tonu `-12..12` (domyślnie 0).
|
||||
- `providers.microsoft.enabled`: pozwala na użycie mowy Microsoft (domyślnie `true`; bez klucza API).
|
||||
- `providers.microsoft.voice`: nazwa neuralnego głosu Microsoft (np. `en-US-MichelleNeural`).
|
||||
- `providers.minimax.pitch`: przesunięcie tonu `-12..12` (domyślnie 0).
|
||||
- `providers.microsoft.enabled`: zezwala na użycie mowy Microsoft (domyślnie `true`; bez klucza API).
|
||||
- `providers.microsoft.voice`: nazwa neural głosu Microsoft (np. `en-US-MichelleNeural`).
|
||||
- `providers.microsoft.lang`: kod języka (np. `en-US`).
|
||||
- `providers.microsoft.outputFormat`: format wyjściowy Microsoft (np. `audio-24khz-48kbitrate-mono-mp3`).
|
||||
- Prawidłowe wartości znajdziesz w Microsoft Speech output formats; nie wszystkie formaty są obsługiwane przez dołączony transport oparty na Edge.
|
||||
- `providers.microsoft.rate` / `providers.microsoft.pitch` / `providers.microsoft.volume`: ciągi procentowe (np. `+10%`, `-5%`).
|
||||
- `providers.microsoft.saveSubtitles`: zapisuje napisy JSON obok pliku audio.
|
||||
- `providers.microsoft.proxy`: URL proxy dla żądań mowy Microsoft.
|
||||
- `providers.microsoft.timeoutMs`: nadpisanie limitu czasu żądania (ms).
|
||||
- `edge.*`: starszy alias dla tych samych ustawień Microsoft.
|
||||
- `providers.microsoft.timeoutMs`: nadpisanie timeoutu żądania (ms).
|
||||
- `edge.*`: alias legacy dla tych samych ustawień Microsoft.
|
||||
|
||||
## Nadpisania sterowane przez model (domyślnie włączone)
|
||||
|
||||
Domyślnie model **może** emitować dyrektywy TTS dla pojedynczej odpowiedzi.
|
||||
Gdy `messages.tts.auto` ma wartość `tagged`, te dyrektywy są wymagane do wywołania audio.
|
||||
Gdy `messages.tts.auto` ma wartość `tagged`, te dyrektywy są wymagane do wyzwolenia audio.
|
||||
|
||||
Gdy jest to włączone, model może emitować dyrektywy `[[tts:...]]`, aby nadpisać głos
|
||||
dla pojedynczej odpowiedzi, oraz opcjonalny blok `[[tts:text]]...[[/tts:text]]`, aby
|
||||
dostarczyć ekspresyjne tagi (śmiech, wskazówki do śpiewu itp.), które powinny pojawiać się tylko w
|
||||
Po włączeniu model może emitować dyrektywy `[[tts:...]]`, aby nadpisać głos
|
||||
dla pojedynczej odpowiedzi, plus opcjonalny blok `[[tts:text]]...[[/tts:text]]`,
|
||||
aby przekazać ekspresyjne znaczniki (śmiech, wskazówki śpiewu itp.), które powinny pojawić się tylko w
|
||||
audio.
|
||||
|
||||
Dyrektywy `provider=...` są ignorowane, chyba że `modelOverrides.allowProvider: true`.
|
||||
@ -309,12 +309,12 @@ Here you go.
|
||||
|
||||
Dostępne klucze dyrektyw (gdy włączone):
|
||||
|
||||
- `provider` (id zarejestrowanego dostawcy mowy, na przykład `openai`, `elevenlabs`, `minimax` lub `microsoft`; wymaga `allowProvider: true`)
|
||||
- `provider` (zarejestrowany identyfikator dostawcy mowy, na przykład `openai`, `elevenlabs`, `minimax` lub `microsoft`; wymaga `allowProvider: true`)
|
||||
- `voice` (głos OpenAI) lub `voiceId` (ElevenLabs / MiniMax)
|
||||
- `model` (model OpenAI TTS, id modelu ElevenLabs lub model MiniMax)
|
||||
- `model` (model OpenAI TTS, identyfikator modelu ElevenLabs lub model MiniMax)
|
||||
- `stability`, `similarityBoost`, `style`, `speed`, `useSpeakerBoost`
|
||||
- `vol` / `volume` (głośność MiniMax, 0-10)
|
||||
- `pitch` (wysokość tonu MiniMax, od -12 do 12)
|
||||
- `pitch` (ton MiniMax, -12 do 12)
|
||||
- `applyTextNormalization` (`auto|on|off`)
|
||||
- `languageCode` (ISO 639-1)
|
||||
- `seed`
|
||||
@ -333,7 +333,7 @@ Wyłącz wszystkie nadpisania modelu:
|
||||
}
|
||||
```
|
||||
|
||||
Opcjonalna lista dozwolonych ustawień (włączenie przełączania dostawcy przy zachowaniu konfigurowalności innych parametrów):
|
||||
Opcjonalna allowlista (włącza przełączanie dostawcy przy zachowaniu możliwości konfiguracji innych parametrów):
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -351,11 +351,11 @@ Opcjonalna lista dozwolonych ustawień (włączenie przełączania dostawcy przy
|
||||
|
||||
## Preferencje per użytkownik
|
||||
|
||||
Polecenia slash zapisują lokalne nadpisania do `prefsPath` (domyślnie:
|
||||
Komendy slash zapisują lokalne nadpisania do `prefsPath` (domyślnie:
|
||||
`~/.openclaw/settings/tts.json`, nadpisywane przez `OPENCLAW_TTS_PREFS` lub
|
||||
`messages.tts.prefsPath`).
|
||||
|
||||
Zapisywane pola:
|
||||
Przechowywane pola:
|
||||
|
||||
- `enabled`
|
||||
- `provider`
|
||||
@ -367,54 +367,54 @@ Nadpisują one `messages.tts.*` dla tego hosta.
|
||||
## Formaty wyjściowe (stałe)
|
||||
|
||||
- **Feishu / Matrix / Telegram / WhatsApp**: wiadomość głosowa Opus (`opus_48000_64` z ElevenLabs, `opus` z OpenAI).
|
||||
- 48kHz / 64kbps to dobry kompromis dla wiadomości głosowych.
|
||||
- 48 kHz / 64 kb/s to dobry kompromis dla wiadomości głosowych.
|
||||
- **Inne kanały**: MP3 (`mp3_44100_128` z ElevenLabs, `mp3` z OpenAI).
|
||||
- 44.1kHz / 128kbps to domyślny balans dla wyrazistości mowy.
|
||||
- **MiniMax**: MP3 (`speech-2.8-hd`, częstotliwość próbkowania 32kHz). Format notatki głosowej nie jest obsługiwany natywnie; użyj OpenAI lub ElevenLabs, jeśli potrzebujesz gwarantowanych wiadomości głosowych Opus.
|
||||
- 44,1 kHz / 128 kb/s to domyślny balans dla czytelności mowy.
|
||||
- **MiniMax**: MP3 (`speech-2.8-hd`, częstotliwość próbkowania 32 kHz). Format notatki głosowej nie jest natywnie obsługiwany; użyj OpenAI lub ElevenLabs, jeśli potrzebujesz gwarantowanych wiadomości głosowych Opus.
|
||||
- **Microsoft**: używa `microsoft.outputFormat` (domyślnie `audio-24khz-48kbitrate-mono-mp3`).
|
||||
- Dołączony transport akceptuje `outputFormat`, ale nie wszystkie formaty są dostępne w usłudze.
|
||||
- Wartości formatu wyjściowego są zgodne z Microsoft Speech output formats (w tym Ogg/WebM Opus).
|
||||
- Telegram `sendVoice` akceptuje OGG/MP3/M4A; użyj OpenAI/ElevenLabs, jeśli potrzebujesz
|
||||
gwarantowanych wiadomości głosowych Opus.
|
||||
- Jeśli skonfigurowany format wyjściowy Microsoft zakończy się błędem, OpenClaw ponawia próbę z MP3.
|
||||
- Jeśli skonfigurowany format wyjściowy Microsoft zakończy się niepowodzeniem, OpenClaw ponowi próbę z MP3.
|
||||
|
||||
Formaty wyjściowe OpenAI/ElevenLabs są stałe per kanał (zobacz wyżej).
|
||||
Formaty wyjściowe OpenAI/ElevenLabs są stałe dla każdego kanału (zobacz wyżej).
|
||||
|
||||
## Zachowanie Auto-TTS
|
||||
## Zachowanie auto-TTS
|
||||
|
||||
Po włączeniu OpenClaw:
|
||||
|
||||
- pomija TTS, jeśli odpowiedź zawiera już multimedia lub dyrektywę `MEDIA:`.
|
||||
- pomija TTS, jeśli odpowiedź już zawiera multimedia lub dyrektywę `MEDIA:`.
|
||||
- pomija bardzo krótkie odpowiedzi (< 10 znaków).
|
||||
- podsumowuje długie odpowiedzi, gdy jest to włączone, używając `agents.defaults.model.primary` (lub `summaryModel`).
|
||||
- podsumowuje długie odpowiedzi, jeśli ta opcja jest włączona, używając `agents.defaults.model.primary` (lub `summaryModel`).
|
||||
- dołącza wygenerowane audio do odpowiedzi.
|
||||
|
||||
Jeśli odpowiedź przekracza `maxLength`, a podsumowanie jest wyłączone (lub brak klucza API dla
|
||||
modelu podsumowania), audio
|
||||
Jeśli odpowiedź przekracza `maxLength`, a summary jest wyłączone (lub brak klucza API dla
|
||||
modelu summary), audio
|
||||
jest pomijane i wysyłana jest zwykła odpowiedź tekstowa.
|
||||
|
||||
## Diagram przepływu
|
||||
|
||||
```
|
||||
Reply -> TTS enabled?
|
||||
no -> send text
|
||||
yes -> has media / MEDIA: / short?
|
||||
yes -> send text
|
||||
no -> length > limit?
|
||||
no -> TTS -> attach audio
|
||||
yes -> summary enabled?
|
||||
no -> send text
|
||||
yes -> summarize (summaryModel or agents.defaults.model.primary)
|
||||
-> TTS -> attach audio
|
||||
Odpowiedź -> TTS włączone?
|
||||
nie -> wyślij tekst
|
||||
tak -> zawiera multimedia / MEDIA: / krótka?
|
||||
tak -> wyślij tekst
|
||||
nie -> długość > limit?
|
||||
nie -> TTS -> dołącz audio
|
||||
tak -> summary włączone?
|
||||
nie -> wyślij tekst
|
||||
tak -> podsumuj (summaryModel lub agents.defaults.model.primary)
|
||||
-> TTS -> dołącz audio
|
||||
```
|
||||
|
||||
## Użycie poleceń slash
|
||||
## Użycie komend slash
|
||||
|
||||
Istnieje jedno polecenie: `/tts`.
|
||||
Szczegóły włączania znajdziesz w [Polecenia slash](/pl/tools/slash-commands).
|
||||
Istnieje jedna komenda: `/tts`.
|
||||
Szczegóły włączania znajdziesz w [Slash commands](/pl/tools/slash-commands).
|
||||
|
||||
Uwaga dotycząca Discord: `/tts` to wbudowane polecenie Discorda, więc OpenClaw rejestruje tam
|
||||
`/voice` jako natywne polecenie. Tekstowe `/tts ...` nadal działa.
|
||||
Uwaga dotycząca Discord: `/tts` to wbudowana komenda Discord, więc OpenClaw rejestruje tam
|
||||
`/voice` jako komendę natywną. Tekstowe `/tts ...` nadal działa.
|
||||
|
||||
```
|
||||
/tts off
|
||||
@ -428,24 +428,24 @@ Uwaga dotycząca Discord: `/tts` to wbudowane polecenie Discorda, więc OpenClaw
|
||||
|
||||
Uwagi:
|
||||
|
||||
- Polecenia wymagają autoryzowanego nadawcy (reguły allowlist/owner nadal obowiązują).
|
||||
- `commands.text` lub rejestracja natywnego polecenia musi być włączona.
|
||||
- Komendy wymagają autoryzowanego nadawcy (nadal obowiązują reguły allowlisty/właściciela).
|
||||
- `commands.text` lub natywna rejestracja komend muszą być włączone.
|
||||
- Konfiguracja `messages.tts.auto` akceptuje `off|always|inbound|tagged`.
|
||||
- `/tts on` zapisuje lokalną preferencję TTS jako `always`; `/tts off` zapisuje ją jako `off`.
|
||||
- Użyj konfiguracji, jeśli chcesz mieć wartości domyślne `inbound` lub `tagged`.
|
||||
- `limit` i `summary` są zapisywane w lokalnych prefs, a nie w głównej konfiguracji.
|
||||
- Użyj konfiguracji, gdy chcesz mieć domyślne `inbound` lub `tagged`.
|
||||
- `limit` i `summary` są przechowywane w lokalnych preferencjach, a nie w głównej konfiguracji.
|
||||
- `/tts audio` generuje jednorazową odpowiedź audio (nie włącza TTS).
|
||||
- `/tts status` zawiera widoczność fallback dla ostatniej próby:
|
||||
- udany fallback: `Fallback: <primary> -> <used>` plus `Attempts: ...`
|
||||
- niepowodzenie: `Error: ...` plus `Attempts: ...`
|
||||
- `/tts status` zawiera widoczność fallbacku dla ostatniej próby:
|
||||
- fallback zakończony sukcesem: `Fallback: <primary> -> <used>` plus `Attempts: ...`
|
||||
- awaria: `Error: ...` plus `Attempts: ...`
|
||||
- szczegółowa diagnostyka: `Attempt details: provider:outcome(reasonCode) latency`
|
||||
- Błędy API OpenAI i ElevenLabs zawierają teraz sparsowane szczegóły błędu dostawcy oraz id żądania (gdy zwraca je dostawca), które są ujawniane w błędach/logach TTS.
|
||||
- Awaria API OpenAI i ElevenLabs zawiera teraz sparsowane szczegóły błędu dostawcy oraz request id (jeśli zostało zwrócone przez dostawcę), co jest pokazywane w błędach/logach TTS.
|
||||
|
||||
## Narzędzie agenta
|
||||
|
||||
Narzędzie `tts` konwertuje tekst na mowę i zwraca załącznik audio do
|
||||
dostarczenia w odpowiedzi. Gdy kanałem jest Feishu, Matrix, Telegram lub WhatsApp,
|
||||
audio jest dostarczane jako wiadomość głosowa, a nie jako załącznik plikowy.
|
||||
audio jest dostarczane jako wiadomość głosowa, a nie jako załącznik pliku.
|
||||
|
||||
## Gateway RPC
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user