chore(i18n): refresh pl translations
This commit is contained in:
parent
3bf70a7967
commit
15d7bc5090
@ -1,14 +1,14 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz instalować lub zarządzać Pluginami Gateway albo zgodnymi pakietami
|
||||
- Chcesz debugować błędy ładowania Pluginów
|
||||
summary: Dokumentacja CLI dla `openclaw plugins` (list, install, marketplace, uninstall, enable/disable, doctor)
|
||||
- Chcesz zainstalować lub zarządzać Pluginami Gateway albo zgodnymi pakietami.
|
||||
- Chcesz debugować błędy ładowania Pluginów.
|
||||
summary: Dokumentacja CLI dla `openclaw plugins` (`list`, `install`, `marketplace`, `uninstall`, `enable`/`disable`, `doctor`)
|
||||
title: Pluginy
|
||||
x-i18n:
|
||||
generated_at: "2026-04-24T09:03:55Z"
|
||||
generated_at: "2026-04-24T15:22:17Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 35ef8f54c64ea52d7618a0ef8b90d3d75841a27ae4cd689b4ca8e0cfdcddc408
|
||||
source_hash: bc693d5e3bc49057e1a108ba65a4dcb3bb662c00229e6fa38a0335afba8240e5
|
||||
source_path: cli/plugins.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -22,7 +22,7 @@ Powiązane:
|
||||
- System Pluginów: [Pluginy](/pl/tools/plugin)
|
||||
- Zgodność pakietów: [Pakiety Pluginów](/pl/plugins/bundles)
|
||||
- Manifest Pluginu + schemat: [Manifest Pluginu](/pl/plugins/manifest)
|
||||
- Wzmacnianie bezpieczeństwa: [Bezpieczeństwo](/pl/gateway/security)
|
||||
- Utwardzanie zabezpieczeń: [Bezpieczeństwo](/pl/gateway/security)
|
||||
|
||||
## Polecenia
|
||||
|
||||
@ -46,15 +46,15 @@ openclaw plugins marketplace list <marketplace>
|
||||
openclaw plugins marketplace list <marketplace> --json
|
||||
```
|
||||
|
||||
Bundled pluginy są dostarczane z OpenClaw. Niektóre są domyślnie włączone (na przykład
|
||||
bundled providery modeli, bundled providery mowy oraz bundled plugin
|
||||
Dołączone Pluginy są dostarczane z OpenClaw. Niektóre są domyślnie włączone (na przykład
|
||||
dołączone providery modeli, dołączeni providery mowy oraz dołączony Plugin
|
||||
przeglądarki); inne wymagają `plugins enable`.
|
||||
|
||||
Natywne Pluginy OpenClaw muszą dostarczać `openclaw.plugin.json` z osadzonym schematem JSON
|
||||
Natywne Pluginy OpenClaw muszą zawierać `openclaw.plugin.json` z osadzonym schematem JSON
|
||||
(`configSchema`, nawet jeśli jest pusty). Zgodne pakiety używają zamiast tego własnych manifestów pakietów.
|
||||
|
||||
`plugins list` pokazuje `Format: openclaw` albo `Format: bundle`. Szczegółowe wyjście `list/info`
|
||||
pokazuje także podtyp pakietu (`codex`, `claude` lub `cursor`) oraz wykryte możliwości pakietu.
|
||||
`plugins list` pokazuje `Format: openclaw` albo `Format: bundle`. Dane wyjściowe verbose dla list/info
|
||||
pokazują też podtyp pakietu (`codex`, `claude` albo `cursor`) oraz wykryte możliwości pakietu.
|
||||
|
||||
### Instalacja
|
||||
|
||||
@ -70,58 +70,57 @@ openclaw plugins install <plugin> --marketplace <name> # marketplace (jawnie)
|
||||
openclaw plugins install <plugin> --marketplace https://github.com/<owner>/<repo>
|
||||
```
|
||||
|
||||
Nazwy pakietów bez kwalifikatora są najpierw sprawdzane w ClawHub, a potem w npm. Uwaga dotycząca bezpieczeństwa:
|
||||
traktuj instalacje Pluginów jak uruchamianie kodu. Preferuj przypięte wersje.
|
||||
Nazwy pakietów bez prefiksu są najpierw sprawdzane w ClawHub, a potem w npm. Uwaga dotycząca bezpieczeństwa:
|
||||
traktuj instalację Pluginów jak uruchamianie kodu. Preferuj przypięte wersje.
|
||||
|
||||
Jeśli twoja sekcja `plugins` jest oparta na jednoplokowym `$include`, `plugins install/update/enable/disable/uninstall` zapisują bezpośrednio do tego dołączonego pliku i pozostawiają `openclaw.json` bez zmian. Główne includes, tablice include oraz includes z nadpisaniami rodzeństwa kończą się bezpieczną odmową zamiast spłaszczenia. Zobacz [Config includes](/pl/gateway/configuration), aby poznać obsługiwane kształty.
|
||||
Jeśli sekcja `plugins` jest oparta na jednoplokowym `$include`, `plugins install/update/enable/disable/uninstall` zapisują zmiany do tego dołączonego pliku i pozostawiają `openclaw.json` bez zmian. Główne include, tablice include oraz include z sąsiednimi nadpisaniami kończą się bezpieczną odmową zamiast spłaszczania. Zobacz [Dołączenia konfiguracji](/pl/gateway/configuration), aby poznać obsługiwane kształty.
|
||||
|
||||
Jeśli konfiguracja jest nieprawidłowa, `plugins install` zwykle kończy się bezpieczną odmową i informuje, aby
|
||||
najpierw uruchomić `openclaw doctor --fix`. Jedynym udokumentowanym wyjątkiem jest wąska
|
||||
ścieżka odzyskiwania bundled Pluginu dla Pluginów, które jawnie wybierają
|
||||
ścieżka odzyskiwania dla dołączonych Pluginów, dla Pluginów, które jawnie wybierają
|
||||
`openclaw.install.allowInvalidConfigRecovery`.
|
||||
|
||||
`--force` ponownie używa istniejącego celu instalacji i nadpisuje już zainstalowany
|
||||
Plugin lub pakiet hooków na miejscu. Użyj tego, gdy celowo reinstalujesz
|
||||
ten sam identyfikator z nowej ścieżki lokalnej, archiwum, pakietu ClawHub lub artefaktu npm.
|
||||
Plugin albo pakiet hooków w miejscu. Użyj tego, gdy celowo reinstalujesz
|
||||
ten sam identyfikator z nowej lokalnej ścieżki, archiwum, pakietu ClawHub albo artefaktu npm.
|
||||
Do rutynowych aktualizacji już śledzonego Pluginu npm preferuj
|
||||
`openclaw plugins update <id-or-npm-spec>`.
|
||||
|
||||
Jeśli uruchomisz `plugins install` dla identyfikatora Pluginu, który jest już zainstalowany, OpenClaw
|
||||
zatrzyma się i wskaże `plugins update <id-or-npm-spec>` dla zwykłej aktualizacji,
|
||||
zatrzyma się i wskaże `plugins update <id-or-npm-spec>` jako normalną ścieżkę aktualizacji,
|
||||
albo `plugins install <package> --force`, gdy rzeczywiście chcesz nadpisać
|
||||
bieżącą instalację z innego źródła.
|
||||
|
||||
`--pin` dotyczy tylko instalacji npm. Nie jest obsługiwane z `--marketplace`,
|
||||
ponieważ instalacje marketplace zapisują metadane źródła marketplace zamiast
|
||||
ponieważ instalacje z marketplace zapisują metadane źródła marketplace zamiast
|
||||
specyfikacji npm.
|
||||
|
||||
`--dangerously-force-unsafe-install` to opcja awaryjna dla fałszywych alarmów
|
||||
we wbudowanym skanerze niebezpiecznego kodu. Pozwala kontynuować instalację nawet
|
||||
`--dangerously-force-unsafe-install` to opcja awaryjna do fałszywych alarmów
|
||||
wbudowanego skanera niebezpiecznego kodu. Pozwala kontynuować instalację nawet
|
||||
gdy wbudowany skaner zgłasza ustalenia `critical`, ale **nie**
|
||||
omija blokad zasad hooka Pluginu `before_install` i **nie** omija
|
||||
omija blokad polityki hooka Pluginu `before_install` i **nie** omija
|
||||
błędów skanowania.
|
||||
|
||||
Ta flaga CLI dotyczy przepływów instalacji/aktualizacji Pluginów. Instalacje zależności Skills
|
||||
obsługiwane przez Gateway używają odpowiadającego nadpisania żądania
|
||||
`dangerouslyForceUnsafeInstall`, podczas gdy `openclaw skills install` pozostaje osobnym przepływem
|
||||
pobierania/instalacji Skills z ClawHub.
|
||||
Ta flaga CLI dotyczy przepływów instalacji/aktualizacji Pluginów. Instalacje zależności umiejętności
|
||||
obsługiwane przez Gateway używają odpowiadającego nadpisania żądania `dangerouslyForceUnsafeInstall`, podczas gdy `openclaw skills install` pozostaje osobnym przepływem
|
||||
pobierania/instalacji umiejętności z ClawHub.
|
||||
|
||||
`plugins install` jest także powierzchnią instalacji dla pakietów hooków, które udostępniają
|
||||
`openclaw.hooks` w `package.json`. Używaj `openclaw hooks` do filtrowanej widoczności hooków
|
||||
i włączania poszczególnych hooków, a nie do instalacji pakietów.
|
||||
`plugins install` jest również powierzchnią instalacji dla pakietów hooków, które udostępniają
|
||||
`openclaw.hooks` w `package.json`. Używaj `openclaw hooks` do filtrowanego
|
||||
widoku hooków i włączania poszczególnych hooków, a nie do instalacji pakietów.
|
||||
|
||||
Specyfikacje npm są **tylko rejestrowe** (nazwa pakietu + opcjonalna **dokładna wersja** albo
|
||||
**dist-tag**). Specyfikacje git/URL/file i zakresy semver są odrzucane. Instalacje zależności
|
||||
działają z `--ignore-scripts` dla bezpieczeństwa.
|
||||
są uruchamiane z `--ignore-scripts` dla bezpieczeństwa.
|
||||
|
||||
Specyfikacje bez kwalifikatora i `@latest` pozostają na stabilnej ścieżce. Jeśli npm rozwiąże
|
||||
którekolwiek z nich do wersji przedpremierowej, OpenClaw zatrzyma się i poprosi o jawne wyrażenie zgody
|
||||
przez tag przedpremierowy taki jak `@beta`/`@rc` albo dokładną wersję przedpremierową taką jak
|
||||
Specyfikacje bez prefiksu i `@latest` pozostają na stabilnej ścieżce. Jeśli npm rozwiąże
|
||||
którekolwiek z nich do wersji prerelease, OpenClaw zatrzyma się i poprosi o jawne wyrażenie zgody za pomocą
|
||||
tagu prerelease takiego jak `@beta`/`@rc` albo dokładnej wersji prerelease takiej jak
|
||||
`@1.2.3-beta.4`.
|
||||
|
||||
Jeśli specyfikacja instalacji bez kwalifikatora pasuje do identyfikatora bundled Pluginu (na przykład `diffs`), OpenClaw
|
||||
instaluje bundled Plugin bezpośrednio. Aby zainstalować pakiet npm o tej samej
|
||||
nazwie, użyj jawnej specyfikacji zakresowej (na przykład `@scope/diffs`).
|
||||
Jeśli specyfikacja instalacji bez prefiksu pasuje do identyfikatora dołączonego Pluginu (na przykład `diffs`), OpenClaw
|
||||
instaluje dołączony Plugin bezpośrednio. Aby zainstalować pakiet npm o tej samej
|
||||
nazwie, użyj jawnej specyfikacji ze scopem (na przykład `@scope/diffs`).
|
||||
|
||||
Obsługiwane archiwa: `.zip`, `.tgz`, `.tar.gz`, `.tar`.
|
||||
|
||||
@ -134,19 +133,19 @@ openclaw plugins install clawhub:openclaw-codex-app-server
|
||||
openclaw plugins install clawhub:openclaw-codex-app-server@1.2.3
|
||||
```
|
||||
|
||||
OpenClaw preferuje teraz także ClawHub dla bezpiecznych dla npm specyfikacji Pluginów bez kwalifikatora. Wraca
|
||||
do npm tylko wtedy, gdy ClawHub nie ma tego pakietu lub wersji:
|
||||
OpenClaw preferuje teraz również ClawHub dla bezpiecznych specyfikacji Pluginów npm bez prefiksu. Przechodzi
|
||||
do npm tylko wtedy, gdy ClawHub nie ma tego pakietu albo wersji:
|
||||
|
||||
```bash
|
||||
openclaw plugins install openclaw-codex-app-server
|
||||
```
|
||||
|
||||
OpenClaw pobiera archiwum pakietu z ClawHub, sprawdza reklamowaną
|
||||
zgodność z API Pluginu / minimalną zgodność z Gateway, a następnie instaluje je przez zwykłą
|
||||
ścieżkę archiwum. Zapisane instalacje zachowują swoje metadane źródła ClawHub na potrzeby późniejszych
|
||||
zgodność API Pluginu / minimalną zgodność Gateway, a następnie instaluje je zwykłą
|
||||
ścieżką archiwum. Zarejestrowane instalacje zachowują metadane źródła ClawHub na potrzeby późniejszych
|
||||
aktualizacji.
|
||||
|
||||
Użyj skrótu `plugin@marketplace`, gdy nazwa marketplace istnieje w lokalnej pamięci podręcznej rejestru Claude pod `~/.claude/plugins/known_marketplaces.json`:
|
||||
Użyj skrótu `plugin@marketplace`, gdy nazwa marketplace istnieje w lokalnej pamięci podręcznej rejestru Claude pod adresem `~/.claude/plugins/known_marketplaces.json`:
|
||||
|
||||
```bash
|
||||
openclaw plugins marketplace list <marketplace-name>
|
||||
@ -164,29 +163,28 @@ openclaw plugins install <plugin-name> --marketplace ./my-marketplace
|
||||
|
||||
Źródłami marketplace mogą być:
|
||||
|
||||
- nazwa known-marketplace Claude z `~/.claude/plugins/known_marketplaces.json`
|
||||
- lokalny katalog główny marketplace lub ścieżka `marketplace.json`
|
||||
- skrócona forma repozytorium GitHub, taka jak `owner/repo`
|
||||
- adres URL repozytorium GitHub, taki jak `https://github.com/owner/repo`
|
||||
- adres URL git
|
||||
- nazwa znanego marketplace Claude z `~/.claude/plugins/known_marketplaces.json`
|
||||
- lokalny katalog główny marketplace albo ścieżka `marketplace.json`
|
||||
- skrót repozytorium GitHub taki jak `owner/repo`
|
||||
- URL repozytorium GitHub taki jak `https://github.com/owner/repo`
|
||||
- URL git
|
||||
|
||||
W przypadku zdalnych marketplace ładowanych z GitHub lub git wpisy Pluginów muszą pozostawać
|
||||
wewnątrz sklonowanego repozytorium marketplace. OpenClaw akceptuje względne źródła ścieżek z
|
||||
tego repozytorium i odrzuca HTTP(S), ścieżki bezwzględne, git, GitHub i inne źródła Pluginów niebędące ścieżkami z manifestów zdalnych.
|
||||
W przypadku zdalnych marketplace ładowanych z GitHub albo git wpisy Pluginów muszą pozostać
|
||||
wewnątrz sklonowanego repozytorium marketplace. OpenClaw akceptuje źródła względnych ścieżek z
|
||||
tego repozytorium i odrzuca HTTP(S), ścieżki bezwzględne, git, GitHub oraz inne źródła Pluginów niebędące ścieżkami z manifestów zdalnych.
|
||||
|
||||
Dla lokalnych ścieżek i archiwów OpenClaw automatycznie wykrywa:
|
||||
W przypadku lokalnych ścieżek i archiwów OpenClaw automatycznie wykrywa:
|
||||
|
||||
- natywne Pluginy OpenClaw (`openclaw.plugin.json`)
|
||||
- pakiety zgodne z Codex (`.codex-plugin/plugin.json`)
|
||||
- pakiety zgodne z Claude (`.claude-plugin/plugin.json` lub domyślny układ komponentów Claude)
|
||||
- pakiety zgodne z Claude (`.claude-plugin/plugin.json` albo domyślny układ komponentów Claude)
|
||||
- pakiety zgodne z Cursor (`.cursor-plugin/plugin.json`)
|
||||
|
||||
Zgodne pakiety instalują się do zwykłego katalogu głównego Pluginów i uczestniczą w
|
||||
tym samym przepływie list/info/enable/disable. Obecnie obsługiwane są bundle Skills,
|
||||
Claude command-skills, domyślne ustawienia Claude `settings.json`, domyślne Claude `.lsp.json` /
|
||||
`lspServers` zadeklarowane w manifeście, Cursor command-skills oraz zgodne
|
||||
Zgodne pakiety są instalowane do zwykłego katalogu głównego Pluginów i uczestniczą
|
||||
w tym samym przepływie list/info/enable/disable. Obecnie obsługiwane są: Skills pakietów, command-skills Claude, domyślne ustawienia Claude `settings.json`, domyślne ustawienia Claude `.lsp.json` /
|
||||
`lspServers` zadeklarowane w manifeście, command-skills Cursor oraz zgodne
|
||||
katalogi hooków Codex; inne wykryte możliwości pakietów są
|
||||
pokazywane w diagnostyce/info, ale nie są jeszcze podłączone do wykonania w runtime.
|
||||
pokazywane w diagnostyce/info, ale nie są jeszcze podłączone do wykonania w czasie działania.
|
||||
|
||||
### Lista
|
||||
|
||||
@ -198,10 +196,27 @@ openclaw plugins list --json
|
||||
```
|
||||
|
||||
Użyj `--enabled`, aby pokazać tylko załadowane Pluginy. Użyj `--verbose`, aby przełączyć się z
|
||||
widoku tabeli na wiersze szczegółów dla każdego Pluginu ze źródłem/pochodzeniem/wersją/metadanymi
|
||||
aktywacji. Użyj `--json` do inwentaryzacji czytelnej dla maszyn oraz
|
||||
widoku tabeli na wiersze szczegółów dla każdego Pluginu z metadanymi
|
||||
źródła/pochodzenia/wersji/aktywacji. Użyj `--json` do odczytu maszynowego spisu oraz
|
||||
diagnostyki rejestru.
|
||||
|
||||
`plugins list` uruchamia wykrywanie z bieżącego środowiska i konfiguracji CLI. Jest
|
||||
przydatne do sprawdzania, czy Plugin jest włączony/możliwy do załadowania, ale nie jest to sonda
|
||||
działającego już procesu Gateway w czasie rzeczywistym. Po zmianie kodu Pluginu,
|
||||
włączenia, polityki hooków albo `plugins.load.paths` uruchom ponownie Gateway, który
|
||||
obsługuje kanał, zanim zaczniesz oczekiwać uruchomienia nowego kodu `register(api)` lub hooków.
|
||||
W przypadku wdrożeń zdalnych/kontenerowych upewnij się, że restartujesz faktyczny proces potomny
|
||||
`openclaw gateway run`, a nie tylko proces opakowujący.
|
||||
|
||||
Do debugowania hooków w czasie działania:
|
||||
|
||||
- `openclaw plugins inspect <id> --json` pokazuje zarejestrowane hooki i diagnostykę
|
||||
z przebiegu inspekcji z załadowanym modułem.
|
||||
- `openclaw gateway status --deep --require-rpc` potwierdza osiągalny Gateway,
|
||||
wskazówki dotyczące usługi/procesu, ścieżkę konfiguracji i kondycję RPC.
|
||||
- Niedołączone hooki konwersacji (`llm_input`, `llm_output`, `agent_end`) wymagają
|
||||
`plugins.entries.<id>.hooks.allowConversationAccess=true`.
|
||||
|
||||
Użyj `--link`, aby uniknąć kopiowania lokalnego katalogu (dodaje do `plugins.load.paths`):
|
||||
|
||||
```bash
|
||||
@ -211,8 +226,8 @@ openclaw plugins install -l ./my-plugin
|
||||
`--force` nie jest obsługiwane z `--link`, ponieważ instalacje linkowane ponownie używają
|
||||
ścieżki źródłowej zamiast kopiować do zarządzanego celu instalacji.
|
||||
|
||||
Użyj `--pin` przy instalacjach npm, aby zapisać dokładnie rozwiązaną specyfikację (`name@version`) w
|
||||
`plugins.installs`, zachowując domyślne zachowanie bez przypięcia.
|
||||
Użyj `--pin` przy instalacjach npm, aby zapisać rozwiązaną dokładną specyfikację (`name@version`) w
|
||||
`plugins.installs`, zachowując domyślne nieprzypięte zachowanie.
|
||||
|
||||
### Odinstalowanie
|
||||
|
||||
@ -222,12 +237,12 @@ openclaw plugins uninstall <id> --dry-run
|
||||
openclaw plugins uninstall <id> --keep-files
|
||||
```
|
||||
|
||||
`uninstall` usuwa rekordy Pluginu z `plugins.entries`, `plugins.installs`,
|
||||
allowlist Pluginów oraz linkowanych wpisów `plugins.load.paths`, gdy ma to zastosowanie.
|
||||
W przypadku Pluginów Active Memory slot pamięci resetuje się do `memory-core`.
|
||||
`uninstall` usuwa rekordy Pluginów z `plugins.entries`, `plugins.installs`,
|
||||
listy dozwolonych Pluginów oraz wpisy linkowanych `plugins.load.paths`, gdy ma to zastosowanie.
|
||||
W przypadku Pluginów aktywnej pamięci slot pamięci jest resetowany do `memory-core`.
|
||||
|
||||
Domyślnie odinstalowanie usuwa również katalog instalacji Pluginu pod aktywnym
|
||||
katalogiem głównym Pluginów state-dir. Użyj
|
||||
Domyślnie odinstalowanie usuwa również katalog instalacji Pluginu w aktywnym
|
||||
katalogu głównym Pluginów state-dir. Użyj
|
||||
`--keep-files`, aby zachować pliki na dysku.
|
||||
|
||||
`--keep-config` jest obsługiwane jako przestarzały alias dla `--keep-files`.
|
||||
@ -242,51 +257,50 @@ openclaw plugins update @openclaw/voice-call@beta
|
||||
openclaw plugins update openclaw-codex-app-server --dangerously-force-unsafe-install
|
||||
```
|
||||
|
||||
Aktualizacje stosują się do śledzonych instalacji w `plugins.installs` oraz śledzonych instalacji
|
||||
pakietów hooków w `hooks.internal.installs`.
|
||||
Aktualizacje dotyczą śledzonych instalacji w `plugins.installs` oraz śledzonych instalacji pakietów hooków w `hooks.internal.installs`.
|
||||
|
||||
Gdy przekażesz identyfikator Pluginu, OpenClaw ponownie użyje zapisanej specyfikacji instalacji dla tego
|
||||
Pluginu. Oznacza to, że wcześniej zapisane dist-tagi takie jak `@beta` oraz dokładne przypięte
|
||||
wersje nadal będą używane przy późniejszych uruchomieniach `update <id>`.
|
||||
Pluginu. Oznacza to, że wcześniej zapisane dist-tagi takie jak `@beta` i dokładnie przypięte
|
||||
wersje będą nadal używane przy późniejszych uruchomieniach `update <id>`.
|
||||
|
||||
W przypadku instalacji npm możesz także przekazać jawną specyfikację pakietu npm z dist-tagiem
|
||||
lub dokładną wersją. OpenClaw odwzorowuje tę nazwę pakietu z powrotem na śledzony rekord Pluginu,
|
||||
aktualizuje ten zainstalowany Plugin i zapisuje nową specyfikację npm na potrzeby przyszłych
|
||||
aktualizacji opartych na identyfikatorze.
|
||||
W przypadku instalacji npm możesz też przekazać jawną specyfikację pakietu npm z dist-tagiem
|
||||
albo dokładną wersją. OpenClaw mapuje tę nazwę pakietu z powrotem na śledzony rekord Pluginu,
|
||||
aktualizuje ten zainstalowany Plugin i zapisuje nową specyfikację npm do wykorzystania przy przyszłych
|
||||
aktualizacjach opartych na identyfikatorze.
|
||||
|
||||
Przekazanie nazwy pakietu npm bez wersji lub tagu również jest odwzorowywane z powrotem do
|
||||
śledzonego rekordu Pluginu. Użyj tego, gdy Plugin był przypięty do dokładnej wersji i
|
||||
chcesz przenieść go z powrotem na domyślną linię wydań rejestru.
|
||||
Przekazanie nazwy pakietu npm bez wersji lub tagu również mapuje z powrotem na
|
||||
śledzony rekord Pluginu. Użyj tego, gdy Plugin był przypięty do dokładnej wersji i
|
||||
chcesz przywrócić go do domyślnej linii wydań rejestru.
|
||||
|
||||
Przed aktywną aktualizacją npm OpenClaw sprawdza zainstalowaną wersję pakietu względem metadanych
|
||||
rejestru npm. Jeśli zainstalowana wersja i tożsamość zapisanego artefaktu
|
||||
Przed aktywną aktualizacją npm OpenClaw sprawdza zainstalowaną wersję pakietu względem
|
||||
metadanych rejestru npm. Jeśli zainstalowana wersja i tożsamość zapisanego artefaktu
|
||||
już odpowiadają rozwiązanemu celowi, aktualizacja jest pomijana bez
|
||||
pobierania, ponownej instalacji ani przepisywania `openclaw.json`.
|
||||
pobierania, reinstalacji ani przepisywania `openclaw.json`.
|
||||
|
||||
Gdy istnieje zapisany hash integralności i hash pobranego artefaktu się zmienia,
|
||||
OpenClaw traktuje to jako dryf artefaktu npm. Interaktywne
|
||||
polecenie `openclaw plugins update` drukuje oczekiwany i rzeczywisty hash oraz prosi
|
||||
o potwierdzenie przed kontynuacją. Nieinteraktywne pomocniki aktualizacji kończą się bezpieczną odmową,
|
||||
chyba że wywołujący dostarczy jawną politykę kontynuacji.
|
||||
Gdy istnieje zapisany hash integralności, a hash pobranego artefaktu ulegnie zmianie,
|
||||
OpenClaw traktuje to jako dryf artefaktu npm. Interaktywne polecenie
|
||||
`openclaw plugins update` wypisuje oczekiwane i rzeczywiste hashe oraz prosi
|
||||
o potwierdzenie przed kontynuacją. Nieinteraktywne pomocnicze polecenia aktualizacji kończą się bezpieczną odmową,
|
||||
chyba że wywołujący poda jawną politykę kontynuacji.
|
||||
|
||||
`--dangerously-force-unsafe-install` jest także dostępne przy `plugins update` jako
|
||||
awaryjne nadpisanie dla fałszywych alarmów skanowania niebezpiecznego kodu podczas
|
||||
aktualizacji Pluginów. Nadal nie omija blokad zasad Pluginu `before_install`
|
||||
ani blokowania z powodu błędu skanowania, i dotyczy tylko aktualizacji Pluginów, a nie aktualizacji pakietów hooków.
|
||||
`--dangerously-force-unsafe-install` jest również dostępne dla `plugins update` jako
|
||||
awaryjne nadpisanie dla fałszywych alarmów wbudowanego skanowania niebezpiecznego kodu podczas
|
||||
aktualizacji Pluginów. Nadal nie omija blokad polityki Pluginu `before_install`
|
||||
ani blokowania z powodu niepowodzenia skanowania i dotyczy wyłącznie aktualizacji Pluginów, a nie aktualizacji pakietów hooków.
|
||||
|
||||
### Inspect
|
||||
### Inspekcja
|
||||
|
||||
```bash
|
||||
openclaw plugins inspect <id>
|
||||
openclaw plugins inspect <id> --json
|
||||
```
|
||||
|
||||
Głęboka introspekcja pojedynczego Pluginu. Pokazuje tożsamość, stan ładowania, źródło,
|
||||
zarejestrowane możliwości, hooki, narzędzia, polecenia, usługi, metody Gateway,
|
||||
trasy HTTP, flagi zasad, diagnostykę, metadane instalacji, możliwości pakietu,
|
||||
oraz wszelką wykrytą obsługę serwerów MCP lub LSP.
|
||||
Dogłębna introspekcja pojedynczego Pluginu. Pokazuje tożsamość, stan ładowania, źródło,
|
||||
zarejestrowane możliwości, hooki, narzędzia, polecenia, usługi, metody gateway,
|
||||
trasy HTTP, flagi polityk, diagnostykę, metadane instalacji, możliwości pakietu
|
||||
oraz wszelkie wykryte wsparcie dla serwerów MCP lub LSP.
|
||||
|
||||
Każdy Plugin jest klasyfikowany według tego, co faktycznie rejestruje w runtime:
|
||||
Każdy Plugin jest klasyfikowany według tego, co faktycznie rejestruje w czasie działania:
|
||||
|
||||
- **plain-capability** — jeden typ możliwości (np. Plugin tylko z providerem)
|
||||
- **hybrid-capability** — wiele typów możliwości (np. tekst + mowa + obrazy)
|
||||
@ -295,13 +309,13 @@ Każdy Plugin jest klasyfikowany według tego, co faktycznie rejestruje w runtim
|
||||
|
||||
Zobacz [Kształty Pluginów](/pl/plugins/architecture#plugin-shapes), aby dowiedzieć się więcej o modelu możliwości.
|
||||
|
||||
Flaga `--json` wypisuje raport czytelny dla maszyn, odpowiedni do skryptów i
|
||||
audytów.
|
||||
Flaga `--json` zwraca raport w formacie czytelnym maszynowo, odpowiedni do skryptów i
|
||||
audytu.
|
||||
|
||||
`inspect --all` renderuje tabelę dla całej floty z kolumnami kształtu, typów możliwości,
|
||||
uwag o zgodności, możliwości pakietów i podsumowania hooków.
|
||||
`inspect --all` renderuje tabelę dla całej floty z kolumnami kształtu, rodzajów możliwości,
|
||||
powiadomień o zgodności, możliwości pakietów i podsumowania hooków.
|
||||
|
||||
`info` to alias dla `inspect`.
|
||||
`info` jest aliasem dla `inspect`.
|
||||
|
||||
### Doctor
|
||||
|
||||
@ -309,13 +323,13 @@ uwag o zgodności, możliwości pakietów i podsumowania hooków.
|
||||
openclaw plugins doctor
|
||||
```
|
||||
|
||||
`doctor` raportuje błędy ładowania Pluginów, diagnostykę manifestu/wykrywania oraz
|
||||
uwagi o zgodności. Gdy wszystko jest w porządku, wypisuje `No plugin issues
|
||||
`doctor` zgłasza błędy ładowania Pluginów, diagnostykę manifestu/wykrywania oraz
|
||||
powiadomienia o zgodności. Gdy wszystko jest w porządku, wypisuje `No plugin issues
|
||||
detected.`
|
||||
|
||||
W przypadku błędów kształtu modułu, takich jak brak eksportów `register`/`activate`, uruchom ponownie
|
||||
z `OPENCLAW_PLUGIN_LOAD_DEBUG=1`, aby uwzględnić zwięzłe podsumowanie kształtu eksportów w
|
||||
wyjściu diagnostycznym.
|
||||
z `OPENCLAW_PLUGIN_LOAD_DEBUG=1`, aby dołączyć zwięzłe podsumowanie kształtu eksportów do
|
||||
wyniku diagnostycznego.
|
||||
|
||||
### Marketplace
|
||||
|
||||
@ -324,8 +338,8 @@ openclaw plugins marketplace list <source>
|
||||
openclaw plugins marketplace list <source> --json
|
||||
```
|
||||
|
||||
Lista marketplace akceptuje lokalną ścieżkę marketplace, ścieżkę `marketplace.json`, skróconą formę
|
||||
GitHub taką jak `owner/repo`, adres URL repozytorium GitHub albo adres URL git. `--json`
|
||||
Lista marketplace akceptuje lokalną ścieżkę marketplace, ścieżkę `marketplace.json`,
|
||||
skrót GitHub taki jak `owner/repo`, URL repozytorium GitHub lub URL git. `--json`
|
||||
wypisuje rozwiązaną etykietę źródła oraz sparsowany manifest marketplace i
|
||||
wpisy Pluginów.
|
||||
|
||||
|
||||
@ -1,92 +1,80 @@
|
||||
---
|
||||
read_when:
|
||||
- Potrzebujesz dokumentacji referencyjnej konfiguracji modeli dla poszczególnych dostawców
|
||||
- Chcesz przykładowych konfiguracji lub poleceń wdrożenia CLI dla dostawców modeli
|
||||
summary: Przegląd dostawców modeli z przykładowymi konfiguracjami i przepływami CLI
|
||||
- Potrzebujesz referencji konfiguracji modeli dla każdego dostawcy z osobna
|
||||
- Chcesz przykładowych konfiguracji lub poleceń wdrożenia w CLI dla dostawców modeli
|
||||
summary: Przegląd dostawców modeli z przykładowymi konfiguracjami + przepływami CLI
|
||||
title: Dostawcy modeli
|
||||
x-i18n:
|
||||
generated_at: "2026-04-24T09:06:22Z"
|
||||
generated_at: "2026-04-24T15:22:17Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: ac9bf48897446576d8bc339b340295691741a589863bb57b379c17a5519bffd7
|
||||
source_hash: 79258cb26fae7926c65b6fe0db938c7b5736a540b33bc24c1fad5ad706ac8204
|
||||
source_path: concepts/model-providers.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
Ta strona dotyczy **dostawców LLM/modeli** (a nie kanałów czatu, takich jak WhatsApp/Telegram).
|
||||
Ta strona opisuje **dostawców LLM/modeli** (a nie kanały czatu, takie jak WhatsApp/Telegram).
|
||||
Zasady wyboru modeli znajdziesz w [/concepts/models](/pl/concepts/models).
|
||||
|
||||
## Szybkie zasady
|
||||
|
||||
- Referencje modeli używają formatu `provider/model` (przykład: `opencode/claude-opus-4-6`).
|
||||
- `agents.defaults.models` działa jako lista dozwolonych, gdy jest ustawione.
|
||||
- Pomocnicze polecenia CLI: `openclaw onboard`, `openclaw models list`, `openclaw models set <provider/model>`.
|
||||
- `models.providers.*.models[].contextWindow` to natywne metadane modelu; `contextTokens` to skuteczny limit runtime.
|
||||
- Zasady fallbacku, sondowania cooldown i utrwalanie nadpisań sesji: [Model failover](/pl/concepts/model-failover).
|
||||
- Trasy rodziny OpenAI są specyficzne dla prefiksu: `openai/<model>` używa bezpośredniego
|
||||
dostawcy klucza API OpenAI w PI, `openai-codex/<model>` używa OAuth Codex w PI,
|
||||
a `openai/<model>` plus `agents.defaults.embeddedHarness.runtime: "codex"` używa natywnego harnessu app-server Codex. Zobacz [OpenAI](/pl/providers/openai)
|
||||
oraz [Codex harness](/pl/plugins/codex-harness).
|
||||
- Automatyczne włączanie Pluginów podąża za tą samą granicą: `openai-codex/<model>` należy
|
||||
do Pluginu OpenAI, natomiast Plugin Codex jest włączany przez
|
||||
`embeddedHarness.runtime: "codex"` lub starsze referencje `codex/<model>`.
|
||||
- GPT-5.5 jest obecnie dostępny przez trasy subskrypcji/OAuth:
|
||||
`openai-codex/gpt-5.5` w PI lub `openai/gpt-5.5` z harness app-server Codex. Bezpośrednia trasa klucza API dla `openai/gpt-5.5` będzie obsługiwana,
|
||||
gdy OpenAI udostępni GPT-5.5 w publicznym API; do tego czasu używaj modeli
|
||||
dostępnych przez API, takich jak `openai/gpt-5.4`, w konfiguracjach `OPENAI_API_KEY`.
|
||||
- `agents.defaults.models` działa jako lista dozwolonych modeli, gdy jest ustawione.
|
||||
- Pomocniki CLI: `openclaw onboard`, `openclaw models list`, `openclaw models set <provider/model>`.
|
||||
- `models.providers.*.models[].contextWindow` to natywne metadane modelu; `contextTokens` to efektywny limit środowiska uruchomieniowego.
|
||||
- Zasady awaryjnego przełączania, sond cooldown i trwałość nadpisywania sesji: [Awaryjne przełączanie modeli](/pl/concepts/model-failover).
|
||||
- Trasy rodziny OpenAI są specyficzne dla prefiksu: `openai/<model>` używa bezpośredniego dostawcy z kluczem API OpenAI w PI, `openai-codex/<model>` używa OAuth Codex w PI, a `openai/<model>` wraz z `agents.defaults.embeddedHarness.runtime: "codex"` używa natywnej uprzęży app-server Codex. Zobacz [OpenAI](/pl/providers/openai) i [uprząż Codex](/pl/plugins/codex-harness).
|
||||
- Automatyczne włączanie Plugin również podąża za tym samym rozgraniczeniem: `openai-codex/<model>` należy do Plugin OpenAI, podczas gdy Plugin Codex jest włączany przez `embeddedHarness.runtime: "codex"` lub starsze referencje `codex/<model>`.
|
||||
- GPT-5.5 jest obecnie dostępny przez trasy subskrypcyjne/OAuth: `openai-codex/gpt-5.5` w PI lub `openai/gpt-5.5` z uprzężą app-server Codex. Bezpośrednia trasa z kluczem API dla `openai/gpt-5.5` będzie obsługiwana, gdy tylko OpenAI udostępni GPT-5.5 w publicznym API; do tego czasu używaj modeli dostępnych przez API, takich jak `openai/gpt-5.4`, w konfiguracjach `OPENAI_API_KEY`.
|
||||
|
||||
## Zachowanie dostawców należące do Pluginów
|
||||
## Zachowanie dostawców zarządzane przez Plugin
|
||||
|
||||
Większość logiki specyficznej dla dostawców znajduje się w Pluginach dostawców (`registerProvider(...)`), podczas gdy OpenClaw zachowuje ogólną pętlę inferencji. Pluginy odpowiadają za onboarding, katalogi modeli, mapowanie zmiennych środowiskowych uwierzytelniania, normalizację transportu/konfiguracji, oczyszczanie schematów narzędzi, klasyfikację failover, odświeżanie OAuth, raportowanie użycia, profile thinking/reasoning i inne.
|
||||
Większość logiki specyficznej dla dostawcy znajduje się w Plugin dostawcy (`registerProvider(...)`), podczas gdy OpenClaw utrzymuje ogólną pętlę wnioskowania. Plugin odpowiadają za wdrażanie, katalogi modeli, mapowanie zmiennych środowiskowych uwierzytelniania, normalizację transportu/konfiguracji, czyszczenie schematów narzędzi, klasyfikację awaryjnego przełączania, odświeżanie OAuth, raportowanie użycia, profile myślenia/wnioskowania i nie tylko.
|
||||
|
||||
Pełna lista haków provider-SDK i przykłady dołączonych Pluginów znajdują się w [Provider plugins](/pl/plugins/sdk-provider-plugins). Dostawca, który wymaga całkowicie niestandardowego wykonawcy żądań, korzysta z osobnej, głębszej powierzchni rozszerzeń.
|
||||
Pełna lista hooków SDK dostawcy i przykładów wbudowanych Plugin znajduje się w [Plugin dostawców](/pl/plugins/sdk-provider-plugins). Dostawca, który potrzebuje całkowicie niestandardowego wykonawcy żądań, wymaga osobnej, głębszej powierzchni rozszerzeń.
|
||||
|
||||
<Note>
|
||||
`capabilities` runtime dostawcy to współdzielone metadane runnera (rodzina dostawcy, niuanse transkryptu/narzędzi, wskazówki dotyczące transportu/cache). To nie to samo co [public capability model](/pl/plugins/architecture#public-capability-model), który opisuje, co Plugin rejestruje (inferencja tekstu, mowa itd.).
|
||||
Środowiskowe `capabilities` dostawcy to współdzielone metadane wykonawcy (rodzina dostawcy, niuanse transkryptu/narzędzi, wskazówki dotyczące transportu/pamięci podręcznej). To nie to samo co [publiczny model możliwości](/pl/plugins/architecture#public-capability-model), który opisuje, co rejestruje Plugin (wnioskowanie tekstowe, mowa itd.).
|
||||
</Note>
|
||||
|
||||
## Rotacja kluczy API
|
||||
|
||||
- Obsługuje ogólną rotację kluczy dostawców dla wybranych dostawców.
|
||||
- Obsługuje ogólną rotację dostawców dla wybranych dostawców.
|
||||
- Skonfiguruj wiele kluczy przez:
|
||||
- `OPENCLAW_LIVE_<PROVIDER>_KEY` (pojedyncze aktywne nadpisanie, najwyższy priorytet)
|
||||
- `<PROVIDER>_API_KEYS` (lista rozdzielana przecinkami lub średnikami)
|
||||
- `<PROVIDER>_API_KEY` (klucz główny)
|
||||
- `<PROVIDER>_API_KEY_*` (lista numerowana, np. `<PROVIDER>_API_KEY_1`)
|
||||
- Dla dostawców Google jako fallback uwzględniane jest również `GOOGLE_API_KEY`.
|
||||
- Dla dostawców Google `GOOGLE_API_KEY` jest również uwzględniany jako opcja zapasowa.
|
||||
- Kolejność wyboru kluczy zachowuje priorytet i usuwa duplikaty wartości.
|
||||
- Żądania są ponawiane z następnym kluczem tylko przy odpowiedziach z limitem szybkości (na
|
||||
przykład `429`, `rate_limit`, `quota`, `resource exhausted`, `Too many
|
||||
- Żądania są ponawiane z kolejnym kluczem tylko przy odpowiedziach o limicie szybkości (na przykład `429`, `rate_limit`, `quota`, `resource exhausted`, `Too many
|
||||
concurrent requests`, `ThrottlingException`, `concurrency limit reached`,
|
||||
`workers_ai ... quota limit exceeded` lub okresowych komunikatach o limicie użycia).
|
||||
- Błędy inne niż limit szybkości kończą się natychmiast; nie jest podejmowana rotacja kluczy.
|
||||
- Błędy inne niż limit szybkości kończą się natychmiast; nie jest podejmowana próba rotacji klucza.
|
||||
- Gdy wszystkie kandydackie klucze zawiodą, zwracany jest końcowy błąd z ostatniej próby.
|
||||
|
||||
## Wbudowani dostawcy (katalog pi-ai)
|
||||
|
||||
OpenClaw zawiera katalog pi‑ai. Ci dostawcy **nie wymagają**
|
||||
konfiguracji `models.providers`; wystarczy ustawić uwierzytelnianie i wybrać model.
|
||||
OpenClaw jest dostarczany z katalogiem pi‑ai. Ci dostawcy nie wymagają konfiguracji `models.providers`; wystarczy ustawić uwierzytelnianie i wybrać model.
|
||||
|
||||
### OpenAI
|
||||
|
||||
- Dostawca: `openai`
|
||||
- Uwierzytelnianie: `OPENAI_API_KEY`
|
||||
- Opcjonalna rotacja: `OPENAI_API_KEYS`, `OPENAI_API_KEY_1`, `OPENAI_API_KEY_2` oraz `OPENCLAW_LIVE_OPENAI_KEY` (pojedyncze nadpisanie)
|
||||
- Opcjonalna rotacja: `OPENAI_API_KEYS`, `OPENAI_API_KEY_1`, `OPENAI_API_KEY_2`, plus `OPENCLAW_LIVE_OPENAI_KEY` (pojedyncze nadpisanie)
|
||||
- Przykładowe modele: `openai/gpt-5.4`, `openai/gpt-5.4-mini`
|
||||
- Bezpośrednia obsługa GPT-5.5 przez API będzie tu gotowa na przyszłość, gdy OpenAI udostępni GPT-5.5 w API
|
||||
- Bezpośrednia obsługa GPT-5.5 przez API jest tutaj przygotowana na przyszłość, gdy OpenAI udostępni GPT-5.5 w API
|
||||
- CLI: `openclaw onboard --auth-choice openai-api-key`
|
||||
- Domyślny transport to `auto` (najpierw WebSocket, fallback do SSE)
|
||||
- Nadpisanie per model przez `agents.defaults.models["openai/<model>"].params.transport` (`"sse"`, `"websocket"` lub `"auto"`)
|
||||
- Rozgrzewka OpenAI Responses WebSocket jest domyślnie włączona przez `params.openaiWsWarmup` (`true`/`false`)
|
||||
- Domyślny transport to `auto` (najpierw WebSocket, potem SSE)
|
||||
- Zastąp dla konkretnego modelu przez `agents.defaults.models["openai/<model>"].params.transport` (`"sse"`, `"websocket"` lub `"auto"`)
|
||||
- Rozgrzewanie OpenAI Responses WebSocket jest domyślnie włączone przez `params.openaiWsWarmup` (`true`/`false`)
|
||||
- Przetwarzanie priorytetowe OpenAI można włączyć przez `agents.defaults.models["openai/<model>"].params.serviceTier`
|
||||
- `/fast` i `params.fastMode` mapują bezpośrednie żądania `openai/*` Responses do `service_tier=priority` na `api.openai.com`
|
||||
- Użyj `params.serviceTier`, jeśli chcesz jawnego poziomu zamiast współdzielonego przełącznika `/fast`
|
||||
- `/fast` i `params.fastMode` mapują bezpośrednie żądania Responses `openai/*` na `service_tier=priority` w `api.openai.com`
|
||||
- Używaj `params.serviceTier`, jeśli chcesz ustawić jawny poziom zamiast współdzielonego przełącznika `/fast`
|
||||
- Ukryte nagłówki atrybucji OpenClaw (`originator`, `version`,
|
||||
`User-Agent`) są stosowane tylko do natywnego ruchu OpenAI na `api.openai.com`, a nie
|
||||
do ogólnych proxy zgodnych z OpenAI
|
||||
- Natywne trasy OpenAI zachowują też Responses `store`, wskazówki prompt-cache i
|
||||
kształtowanie payloadu reasoning-compat OpenAI; trasy proxy tego nie robią
|
||||
- `openai/gpt-5.3-codex-spark` jest celowo ukryty w OpenClaw, ponieważ aktywne żądania OpenAI API go odrzucają, a bieżący katalog Codex go nie udostępnia
|
||||
`User-Agent`) są stosowane tylko w natywnym ruchu OpenAI do `api.openai.com`, a nie w ogólnych proxy zgodnych z OpenAI
|
||||
- Natywne trasy OpenAI zachowują także Responses `store`, wskazówki pamięci podręcznej promptów oraz kształtowanie ładunku zgodne z rozumowaniem OpenAI; trasy proxy tego nie robią
|
||||
- `openai/gpt-5.3-codex-spark` jest celowo ukryty w OpenClaw, ponieważ aktywne żądania do API OpenAI go odrzucają, a obecny katalog Codex go nie udostępnia
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -98,12 +86,12 @@ konfiguracji `models.providers`; wystarczy ustawić uwierzytelnianie i wybrać m
|
||||
|
||||
- Dostawca: `anthropic`
|
||||
- Uwierzytelnianie: `ANTHROPIC_API_KEY`
|
||||
- Opcjonalna rotacja: `ANTHROPIC_API_KEYS`, `ANTHROPIC_API_KEY_1`, `ANTHROPIC_API_KEY_2` oraz `OPENCLAW_LIVE_ANTHROPIC_KEY` (pojedyncze nadpisanie)
|
||||
- Opcjonalna rotacja: `ANTHROPIC_API_KEYS`, `ANTHROPIC_API_KEY_1`, `ANTHROPIC_API_KEY_2`, plus `OPENCLAW_LIVE_ANTHROPIC_KEY` (pojedyncze nadpisanie)
|
||||
- Przykładowy model: `anthropic/claude-opus-4-6`
|
||||
- CLI: `openclaw onboard --auth-choice apiKey`
|
||||
- Bezpośrednie publiczne żądania Anthropic obsługują współdzielony przełącznik `/fast` i `params.fastMode`, w tym ruch uwierzytelniony kluczem API i OAuth wysyłany do `api.anthropic.com`; OpenClaw mapuje to do Anthropic `service_tier` (`auto` vs `standard_only`)
|
||||
- Uwaga dotycząca Anthropic: pracownicy Anthropic poinformowali nas, że użycie Claude CLI w stylu OpenClaw jest znowu 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ę.
|
||||
- Token konfiguracyjny Anthropic pozostaje dostępny jako obsługiwana ścieżka tokenu OpenClaw, ale OpenClaw preferuje teraz ponowne użycie Claude CLI i `claude -p`, gdy są dostępne.
|
||||
- Bezpośrednie publiczne żądania Anthropic obsługują również współdzielony przełącznik `/fast` i `params.fastMode`, w tym ruch uwierzytelniony kluczem API i OAuth wysyłany do `api.anthropic.com`; OpenClaw mapuje to na Anthropic `service_tier` (`auto` vs `standard_only`)
|
||||
- Uwaga dotycząca Anthropic: pracownicy Anthropic poinformowali nas, ż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 dozwolone dla tej integracji, chyba że Anthropic opublikuje nową politykę.
|
||||
- Token konfiguracji Anthropic nadal pozostaje wspieraną ścieżką tokenu w OpenClaw, ale OpenClaw preferuje teraz ponowne użycie Claude CLI i `claude -p`, gdy są dostępne.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -116,22 +104,20 @@ konfiguracji `models.providers`; wystarczy ustawić uwierzytelnianie i wybrać m
|
||||
- Dostawca: `openai-codex`
|
||||
- Uwierzytelnianie: OAuth (ChatGPT)
|
||||
- Referencja modelu PI: `openai-codex/gpt-5.5`
|
||||
- Referencja natywnego harnessu app-server Codex: `openai/gpt-5.5` z `agents.defaults.embeddedHarness.runtime: "codex"`
|
||||
- Referencja natywnej uprzęży app-server Codex: `openai/gpt-5.5` z `agents.defaults.embeddedHarness.runtime: "codex"`
|
||||
- Starsze referencje modeli: `codex/gpt-*`
|
||||
- Granica Pluginu: `openai-codex/*` ładuje Plugin OpenAI; natywny
|
||||
Plugin app-server Codex jest wybierany tylko przez runtime harnessu Codex lub starsze
|
||||
referencje `codex/*`.
|
||||
- Granica Plugin: `openai-codex/*` ładuje Plugin OpenAI; natywny Plugin app-server Codex jest wybierany tylko przez środowisko uprzęży Codex lub starsze referencje `codex/*`.
|
||||
- CLI: `openclaw onboard --auth-choice openai-codex` lub `openclaw models auth login --provider openai-codex`
|
||||
- Domyślny transport to `auto` (najpierw WebSocket, fallback do SSE)
|
||||
- Nadpisanie per model PI przez `agents.defaults.models["openai-codex/<model>"].params.transport` (`"sse"`, `"websocket"` lub `"auto"`)
|
||||
- `params.serviceTier` jest też przekazywane przy natywnych żądaniach Codex Responses (`chatgpt.com/backend-api`)
|
||||
- Domyślny transport to `auto` (najpierw WebSocket, potem SSE)
|
||||
- Zastąp dla konkretnego modelu PI przez `agents.defaults.models["openai-codex/<model>"].params.transport` (`"sse"`, `"websocket"` lub `"auto"`)
|
||||
- `params.serviceTier` jest także przekazywane w natywnych żądaniach Codex Responses (`chatgpt.com/backend-api`)
|
||||
- Ukryte nagłówki atrybucji OpenClaw (`originator`, `version`,
|
||||
`User-Agent`) są dołączane tylko do natywnego ruchu Codex do
|
||||
`chatgpt.com/backend-api`, a nie do ogólnych proxy zgodnych z OpenAI
|
||||
- Współdzieli ten sam przełącznik `/fast` i konfigurację `params.fastMode` co bezpośrednie `openai/*`; OpenClaw mapuje to do `service_tier=priority`
|
||||
- `openai-codex/gpt-5.5` zachowuje natywne `contextWindow = 1000000` i domyślne runtime `contextTokens = 272000`; nadpisz limit runtime przez `models.providers.openai-codex.models[].contextTokens`
|
||||
- Współdzieli ten sam przełącznik `/fast` i konfigurację `params.fastMode` co bezpośrednie `openai/*`; OpenClaw mapuje to na `service_tier=priority`
|
||||
- `openai-codex/gpt-5.5` zachowuje natywne `contextWindow = 1000000` i domyślny środowiskowy `contextTokens = 272000`; zastąp limit środowiskowy przez `models.providers.openai-codex.models[].contextTokens`
|
||||
- Uwaga dotycząca polityki: OpenAI Codex OAuth jest jawnie wspierany dla zewnętrznych narzędzi/przepływów pracy, takich jak OpenClaw.
|
||||
- Bieżący dostęp do GPT-5.5 używa tej trasy OAuth/subskrypcji, dopóki OpenAI nie włączy GPT-5.5 w publicznym API.
|
||||
- Obecny dostęp do GPT-5.5 używa tej trasy OAuth/subskrypcyjnej, dopóki OpenAI nie włączy GPT-5.5 w publicznym API.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -155,13 +141,13 @@ konfiguracji `models.providers`; wystarczy ustawić uwierzytelnianie i wybrać m
|
||||
|
||||
- [Qwen Cloud](/pl/providers/qwen): powierzchnia dostawcy Qwen Cloud oraz mapowanie endpointów Alibaba DashScope i Coding Plan
|
||||
- [MiniMax](/pl/providers/minimax): dostęp MiniMax Coding Plan przez OAuth lub klucz API
|
||||
- [GLM Models](/pl/providers/glm): endpointy Z.AI Coding Plan lub ogólnego API
|
||||
- [GLM Models](/pl/providers/glm): endpointy Z.AI Coding Plan lub ogólne endpointy API
|
||||
|
||||
### OpenCode
|
||||
|
||||
- Uwierzytelnianie: `OPENCODE_API_KEY` (lub `OPENCODE_ZEN_API_KEY`)
|
||||
- Dostawca runtime Zen: `opencode`
|
||||
- Dostawca runtime Go: `opencode-go`
|
||||
- Dostawca środowiska Zen: `opencode`
|
||||
- Dostawca środowiska Go: `opencode-go`
|
||||
- Przykładowe modele: `opencode/claude-opus-4-6`, `opencode-go/kimi-k2.5`
|
||||
- CLI: `openclaw onboard --auth-choice opencode-zen` lub `openclaw onboard --auth-choice opencode-go`
|
||||
|
||||
@ -175,31 +161,31 @@ konfiguracji `models.providers`; wystarczy ustawić uwierzytelnianie i wybrać m
|
||||
|
||||
- Dostawca: `google`
|
||||
- Uwierzytelnianie: `GEMINI_API_KEY`
|
||||
- Opcjonalna rotacja: `GEMINI_API_KEYS`, `GEMINI_API_KEY_1`, `GEMINI_API_KEY_2`, fallback `GOOGLE_API_KEY` oraz `OPENCLAW_LIVE_GEMINI_KEY` (pojedyncze nadpisanie)
|
||||
- Opcjonalna rotacja: `GEMINI_API_KEYS`, `GEMINI_API_KEY_1`, `GEMINI_API_KEY_2`, opcja zapasowa `GOOGLE_API_KEY` oraz `OPENCLAW_LIVE_GEMINI_KEY` (pojedyncze nadpisanie)
|
||||
- Przykładowe modele: `google/gemini-3.1-pro-preview`, `google/gemini-3-flash-preview`
|
||||
- Zgodność: starsza konfiguracja OpenClaw używająca `google/gemini-3.1-flash-preview` jest normalizowana do `google/gemini-3-flash-preview`
|
||||
- CLI: `openclaw onboard --auth-choice gemini-api-key`
|
||||
- Bezpośrednie uruchomienia Gemini akceptują też `agents.defaults.models["google/<model>"].params.cachedContent`
|
||||
- Bezpośrednie uruchomienia Gemini akceptują również `agents.defaults.models["google/<model>"].params.cachedContent`
|
||||
(lub starsze `cached_content`) do przekazania natywnego dla dostawcy
|
||||
uchwytu `cachedContents/...`; trafienia cache Gemini są ujawniane jako OpenClaw `cacheRead`
|
||||
uchwytu `cachedContents/...`; trafienia pamięci podręcznej Gemini są ujawniane jako OpenClaw `cacheRead`
|
||||
|
||||
### Google Vertex i Gemini CLI
|
||||
|
||||
- Dostawcy: `google-vertex`, `google-gemini-cli`
|
||||
- Uwierzytelnianie: Vertex używa gcloud ADC; Gemini CLI używa własnego przepływu OAuth
|
||||
- Uwaga: OAuth Gemini CLI w OpenClaw to nieoficjalna integracja. Niektórzy użytkownicy zgłaszali ograniczenia kont Google po użyciu klientów zewnętrznych. Zapoznaj się z warunkami Google i użyj niekrytycznego konta, jeśli zdecydujesz się kontynuować.
|
||||
- OAuth Gemini CLI jest dostarczany jako część dołączonego Pluginu `google`.
|
||||
- Uwaga: OAuth Gemini CLI w OpenClaw to nieoficjalna integracja. Niektórzy użytkownicy zgłaszali ograniczenia kont Google po użyciu klientów zewnętrznych. Przejrzyj warunki Google i użyj niekrytycznego konta, jeśli zdecydujesz się kontynuować.
|
||||
- OAuth Gemini CLI jest dostarczany jako część wbudowanego Plugin `google`.
|
||||
- Najpierw zainstaluj Gemini CLI:
|
||||
- `brew install gemini-cli`
|
||||
- lub `npm install -g @google/gemini-cli`
|
||||
- Włącz: `openclaw plugins enable google`
|
||||
- Zaloguj się: `openclaw models auth login --provider google-gemini-cli --set-default`
|
||||
- Model domyślny: `google-gemini-cli/gemini-3-flash-preview`
|
||||
- Uwaga: **nie** wklejasz identyfikatora klienta ani sekretu do `openclaw.json`. Przepływ logowania CLI zapisuje
|
||||
tokeny w profilach uwierzytelniania na hoście gateway.
|
||||
- Jeśli żądania zawodzą po zalogowaniu, ustaw `GOOGLE_CLOUD_PROJECT` lub `GOOGLE_CLOUD_PROJECT_ID` na hoście gateway.
|
||||
- Odpowiedzi JSON Gemini CLI są parsowane z `response`; użycie awaryjnie pobierane jest z
|
||||
`stats`, przy czym `stats.cached` jest normalizowane do OpenClaw `cacheRead`.
|
||||
- Uwaga: **nie** wklejasz identyfikatora klienta ani sekretu do `openclaw.json`. Przepływ logowania CLI przechowuje
|
||||
tokeny w profilach uwierzytelniania na hoście Gateway.
|
||||
- Jeśli żądania kończą się błędem po zalogowaniu, ustaw `GOOGLE_CLOUD_PROJECT` lub `GOOGLE_CLOUD_PROJECT_ID` na hoście Gateway.
|
||||
- Odpowiedzi JSON Gemini CLI są parsowane z `response`; użycie wraca do
|
||||
`stats`, a `stats.cached` jest normalizowane do OpenClaw `cacheRead`.
|
||||
|
||||
### Z.AI (GLM)
|
||||
|
||||
@ -208,7 +194,7 @@ konfiguracji `models.providers`; wystarczy ustawić uwierzytelnianie i wybrać m
|
||||
- Przykładowy model: `zai/glm-5.1`
|
||||
- CLI: `openclaw onboard --auth-choice zai-api-key`
|
||||
- Aliasy: `z.ai/*` i `z-ai/*` są normalizowane do `zai/*`
|
||||
- `zai-api-key` automatycznie wykrywa pasujący endpoint Z.AI; `zai-coding-global`, `zai-coding-cn`, `zai-global` i `zai-cn` wymuszają konkretną powierzchnię
|
||||
- `zai-api-key` automatycznie wykrywa pasujący endpoint Z.AI; `zai-coding-global`, `zai-coding-cn`, `zai-global` i `zai-cn` wymuszają określoną powierzchnię
|
||||
|
||||
### Vercel AI Gateway
|
||||
|
||||
@ -225,61 +211,62 @@ konfiguracji `models.providers`; wystarczy ustawić uwierzytelnianie i wybrać m
|
||||
- Przykładowy model: `kilocode/kilo/auto`
|
||||
- CLI: `openclaw onboard --auth-choice kilocode-api-key`
|
||||
- Bazowy URL: `https://api.kilo.ai/api/gateway/`
|
||||
- Statyczny katalog fallback dostarcza `kilocode/kilo/auto`; wykrywanie na żywo
|
||||
`https://api.kilo.ai/api/gateway/models` może dodatkowo rozszerzyć katalog runtime.
|
||||
- Dokładny routing upstream za `kilocode/kilo/auto` należy do Kilo Gateway,
|
||||
a nie jest zakodowany na stałe w OpenClaw.
|
||||
- Statyczny katalog zapasowy jest dostarczany z `kilocode/kilo/auto`; aktywne
|
||||
wykrywanie `https://api.kilo.ai/api/gateway/models` może dalej rozszerzać katalog
|
||||
środowiskowy.
|
||||
- Dokładne routowanie nadrzędne za `kilocode/kilo/auto` należy do Kilo Gateway,
|
||||
a nie jest zakodowane na stałe w OpenClaw.
|
||||
|
||||
Szczegóły konfiguracji znajdziesz w [/providers/kilocode](/pl/providers/kilocode).
|
||||
|
||||
### Inne dołączone Pluginy dostawców
|
||||
### Inne wbudowane Plugin dostawców
|
||||
|
||||
| Dostawca | Id | Env uwierzytelniania | Przykładowy model |
|
||||
| ----------------------- | -------------------------------- | ----------------------------------------------------------- | ----------------------------------------------- |
|
||||
| BytePlus | `byteplus` / `byteplus-plan` | `BYTEPLUS_API_KEY` | `byteplus-plan/ark-code-latest` |
|
||||
| Cerebras | `cerebras` | `CEREBRAS_API_KEY` | `cerebras/zai-glm-4.7` |
|
||||
| Cloudflare AI Gateway | `cloudflare-ai-gateway` | `CLOUDFLARE_AI_GATEWAY_API_KEY` | — |
|
||||
| GitHub Copilot | `github-copilot` | `COPILOT_GITHUB_TOKEN` / `GH_TOKEN` / `GITHUB_TOKEN` | — |
|
||||
| Groq | `groq` | `GROQ_API_KEY` | — |
|
||||
| Hugging Face Inference | `huggingface` | `HUGGINGFACE_HUB_TOKEN` lub `HF_TOKEN` | `huggingface/deepseek-ai/DeepSeek-R1` |
|
||||
| Kilo Gateway | `kilocode` | `KILOCODE_API_KEY` | `kilocode/kilo/auto` |
|
||||
| Kimi Coding | `kimi` | `KIMI_API_KEY` lub `KIMICODE_API_KEY` | `kimi/kimi-code` |
|
||||
| MiniMax | `minimax` / `minimax-portal` | `MINIMAX_API_KEY` / `MINIMAX_OAUTH_TOKEN` | `minimax/MiniMax-M2.7` |
|
||||
| Mistral | `mistral` | `MISTRAL_API_KEY` | `mistral/mistral-large-latest` |
|
||||
| Moonshot | `moonshot` | `MOONSHOT_API_KEY` | `moonshot/kimi-k2.6` |
|
||||
| NVIDIA | `nvidia` | `NVIDIA_API_KEY` | `nvidia/nvidia/llama-3.1-nemotron-70b-instruct` |
|
||||
| OpenRouter | `openrouter` | `OPENROUTER_API_KEY` | `openrouter/auto` |
|
||||
| Qianfan | `qianfan` | `QIANFAN_API_KEY` | `qianfan/deepseek-v3.2` |
|
||||
| Dostawca | Id | Zmienne środowiskowe uwierzytelniania | Przykładowy model |
|
||||
| ----------------------- | -------------------------------- | ------------------------------------------------------------ | ----------------------------------------------- |
|
||||
| BytePlus | `byteplus` / `byteplus-plan` | `BYTEPLUS_API_KEY` | `byteplus-plan/ark-code-latest` |
|
||||
| Cerebras | `cerebras` | `CEREBRAS_API_KEY` | `cerebras/zai-glm-4.7` |
|
||||
| Cloudflare AI Gateway | `cloudflare-ai-gateway` | `CLOUDFLARE_AI_GATEWAY_API_KEY` | — |
|
||||
| DeepSeek | `deepseek` | `DEEPSEEK_API_KEY` | `deepseek/deepseek-v4-flash` |
|
||||
| GitHub Copilot | `github-copilot` | `COPILOT_GITHUB_TOKEN` / `GH_TOKEN` / `GITHUB_TOKEN` | — |
|
||||
| Groq | `groq` | `GROQ_API_KEY` | — |
|
||||
| Hugging Face Inference | `huggingface` | `HUGGINGFACE_HUB_TOKEN` or `HF_TOKEN` | `huggingface/deepseek-ai/DeepSeek-R1` |
|
||||
| Kilo Gateway | `kilocode` | `KILOCODE_API_KEY` | `kilocode/kilo/auto` |
|
||||
| Kimi Coding | `kimi` | `KIMI_API_KEY` or `KIMICODE_API_KEY` | `kimi/kimi-code` |
|
||||
| MiniMax | `minimax` / `minimax-portal` | `MINIMAX_API_KEY` / `MINIMAX_OAUTH_TOKEN` | `minimax/MiniMax-M2.7` |
|
||||
| Mistral | `mistral` | `MISTRAL_API_KEY` | `mistral/mistral-large-latest` |
|
||||
| Moonshot | `moonshot` | `MOONSHOT_API_KEY` | `moonshot/kimi-k2.6` |
|
||||
| NVIDIA | `nvidia` | `NVIDIA_API_KEY` | `nvidia/nvidia/llama-3.1-nemotron-70b-instruct` |
|
||||
| OpenRouter | `openrouter` | `OPENROUTER_API_KEY` | `openrouter/auto` |
|
||||
| Qianfan | `qianfan` | `QIANFAN_API_KEY` | `qianfan/deepseek-v3.2` |
|
||||
| Qwen Cloud | `qwen` | `QWEN_API_KEY` / `MODELSTUDIO_API_KEY` / `DASHSCOPE_API_KEY` | `qwen/qwen3.5-plus` |
|
||||
| StepFun | `stepfun` / `stepfun-plan` | `STEPFUN_API_KEY` | `stepfun/step-3.5-flash` |
|
||||
| Together | `together` | `TOGETHER_API_KEY` | `together/moonshotai/Kimi-K2.5` |
|
||||
| Venice | `venice` | `VENICE_API_KEY` | — |
|
||||
| Vercel AI Gateway | `vercel-ai-gateway` | `AI_GATEWAY_API_KEY` | `vercel-ai-gateway/anthropic/claude-opus-4.6` |
|
||||
| Volcano Engine (Doubao) | `volcengine` / `volcengine-plan` | `VOLCANO_ENGINE_API_KEY` | `volcengine-plan/ark-code-latest` |
|
||||
| xAI | `xai` | `XAI_API_KEY` | `xai/grok-4` |
|
||||
| Xiaomi | `xiaomi` | `XIAOMI_API_KEY` | `xiaomi/mimo-v2-flash` |
|
||||
| StepFun | `stepfun` / `stepfun-plan` | `STEPFUN_API_KEY` | `stepfun/step-3.5-flash` |
|
||||
| Together | `together` | `TOGETHER_API_KEY` | `together/moonshotai/Kimi-K2.5` |
|
||||
| Venice | `venice` | `VENICE_API_KEY` | — |
|
||||
| Vercel AI Gateway | `vercel-ai-gateway` | `AI_GATEWAY_API_KEY` | `vercel-ai-gateway/anthropic/claude-opus-4.6` |
|
||||
| Volcano Engine (Doubao) | `volcengine` / `volcengine-plan` | `VOLCANO_ENGINE_API_KEY` | `volcengine-plan/ark-code-latest` |
|
||||
| xAI | `xai` | `XAI_API_KEY` | `xai/grok-4` |
|
||||
| Xiaomi | `xiaomi` | `XIAOMI_API_KEY` | `xiaomi/mimo-v2-flash` |
|
||||
|
||||
Warto znać następujące niuanse:
|
||||
|
||||
- **OpenRouter** stosuje swoje nagłówki atrybucji aplikacji i znaczniki Anthropic `cache_control` tylko na zweryfikowanych trasach `openrouter.ai`. Jako ścieżka proxy zgodna z OpenAI pomija kształtowanie specyficzne tylko dla natywnego OpenAI (`serviceTier`, Responses `store`, wskazówki prompt-cache, zgodność reasoning OpenAI). Referencje oparte na Gemini zachowują tylko oczyszczanie thought-signature dla proxy-Gemini.
|
||||
- **Kilo Gateway** dla referencji opartych na Gemini stosuje tę samą ścieżkę oczyszczania proxy-Gemini; `kilocode/kilo/auto` i inne referencje proxy bez obsługi reasoning pomijają wstrzykiwanie proxy reasoning.
|
||||
- **MiniMax** onboarding z kluczem API zapisuje jawne definicje modeli M2.7 z `input: ["text", "image"]`; dołączony katalog utrzymuje referencje czatu jako tylko tekstowe, dopóki ta konfiguracja nie zostanie zmaterializowana.
|
||||
- **OpenRouter** stosuje swoje nagłówki atrybucji aplikacji i znaczniki Anthropic `cache_control` tylko na zweryfikowanych trasach `openrouter.ai`. Jako ścieżka proxy zgodna z OpenAI pomija kształtowanie specyficzne tylko dla natywnego OpenAI (`serviceTier`, Responses `store`, wskazówki pamięci podręcznej promptów, zgodność z rozumowaniem OpenAI). Referencje oparte na Gemini zachowują wyłącznie sanityzację sygnatur myślenia proxy-Gemini.
|
||||
- **Kilo Gateway** dla referencji opartych na Gemini podąża tą samą ścieżką sanityzacji proxy-Gemini; `kilocode/kilo/auto` i inne referencje proxy bez obsługi rozumowania pomijają wstrzykiwanie rozumowania proxy.
|
||||
- **MiniMax** podczas wdrożenia z kluczem API zapisuje jawne definicje modeli M2.7 z `input: ["text", "image"]`; wbudowany katalog utrzymuje referencje czatu jako tylko tekstowe, dopóki ta konfiguracja nie zostanie zmaterializowana.
|
||||
- **xAI** używa ścieżki xAI Responses. `/fast` lub `params.fastMode: true` przepisuje `grok-3`, `grok-3-mini`, `grok-4` i `grok-4-0709` na ich warianty `*-fast`. `tool_stream` jest domyślnie włączone; wyłącz przez `agents.defaults.models["xai/<model>"].params.tool_stream=false`.
|
||||
- **Cerebras** modele GLM używają `zai-glm-4.7` / `zai-glm-4.6`; bazowy URL zgodny z OpenAI to `https://api.cerebras.ai/v1`.
|
||||
|
||||
## Dostawcy przez `models.providers` (custom/base URL)
|
||||
## Dostawcy przez `models.providers` (niestandardowy/bazowy URL)
|
||||
|
||||
Używaj `models.providers` (lub `models.json`), aby dodać **niestandardowych** dostawców lub
|
||||
proxy zgodne z OpenAI/Anthropic.
|
||||
Użyj `models.providers` (lub `models.json`), aby dodać **niestandardowych** dostawców lub proxy zgodne z OpenAI/Anthropic.
|
||||
|
||||
Wiele z poniższych dołączonych Pluginów dostawców publikuje już domyślny katalog.
|
||||
Wiele z poniższych wbudowanych Plugin dostawców publikuje już domyślny katalog.
|
||||
Używaj jawnych wpisów `models.providers.<id>` tylko wtedy, gdy chcesz nadpisać
|
||||
domyślny bazowy URL, nagłówki lub listę modeli.
|
||||
|
||||
### Moonshot AI (Kimi)
|
||||
|
||||
Moonshot jest dostarczany jako dołączony Plugin dostawcy. Domyślnie używaj wbudowanego dostawcy,
|
||||
a jawny wpis `models.providers.moonshot` dodawaj tylko wtedy, gdy
|
||||
Moonshot jest dostarczany jako wbudowany Plugin dostawcy. Domyślnie używaj
|
||||
wbudowanego dostawcy, a jawny wpis `models.providers.moonshot` dodawaj tylko wtedy, gdy
|
||||
musisz nadpisać bazowy URL lub metadane modelu:
|
||||
|
||||
- Dostawca: `moonshot`
|
||||
@ -287,7 +274,7 @@ musisz nadpisać bazowy URL lub metadane modelu:
|
||||
- Przykładowy model: `moonshot/kimi-k2.6`
|
||||
- CLI: `openclaw onboard --auth-choice moonshot-api-key` lub `openclaw onboard --auth-choice moonshot-api-key-cn`
|
||||
|
||||
Identyfikatory modeli Kimi K2:
|
||||
Id modeli Kimi K2:
|
||||
|
||||
[//]: # "moonshot-kimi-k2-model-refs:start"
|
||||
|
||||
@ -335,7 +322,7 @@ Kimi Coding używa endpointu Moonshot AI zgodnego z Anthropic:
|
||||
}
|
||||
```
|
||||
|
||||
Starsze `kimi/k2p5` pozostaje akceptowane jako zgodnościowy identyfikator modelu.
|
||||
Starsze `kimi/k2p5` pozostaje akceptowane jako identyfikator modelu zgodności.
|
||||
|
||||
### Volcano Engine (Doubao)
|
||||
|
||||
@ -354,12 +341,12 @@ Volcano Engine (火山引擎) zapewnia dostęp do Doubao i innych modeli w China
|
||||
}
|
||||
```
|
||||
|
||||
Onboarding domyślnie używa powierzchni kodowania, ale ogólny katalog `volcengine/*`
|
||||
jest rejestrowany w tym samym czasie.
|
||||
Wdrażanie domyślnie używa powierzchni kodowania, ale ogólny katalog `volcengine/*`
|
||||
jest rejestrowany jednocześnie.
|
||||
|
||||
W selektorach modeli onboarding/configure wybór uwierzytelniania Volcengine preferuje zarówno
|
||||
wiersze `volcengine/*`, jak i `volcengine-plan/*`. Jeśli te modele nie są jeszcze załadowane,
|
||||
OpenClaw wraca do katalogu bez filtrowania zamiast pokazywać pusty
|
||||
OpenClaw wraca do niefiltrowanego katalogu zamiast pokazywać pusty
|
||||
selektor ograniczony do dostawcy.
|
||||
|
||||
Dostępne modele:
|
||||
@ -395,12 +382,12 @@ BytePlus ARK zapewnia międzynarodowym użytkownikom dostęp do tych samych mode
|
||||
}
|
||||
```
|
||||
|
||||
Onboarding domyślnie używa powierzchni kodowania, ale ogólny katalog `byteplus/*`
|
||||
jest rejestrowany w tym samym czasie.
|
||||
Wdrażanie domyślnie używa powierzchni kodowania, ale ogólny katalog `byteplus/*`
|
||||
jest rejestrowany jednocześnie.
|
||||
|
||||
W selektorach modeli onboarding/configure wybór uwierzytelniania BytePlus preferuje zarówno
|
||||
wiersze `byteplus/*`, jak i `byteplus-plan/*`. Jeśli te modele nie są jeszcze załadowane,
|
||||
OpenClaw wraca do katalogu bez filtrowania zamiast pokazywać pusty
|
||||
OpenClaw wraca do niefiltrowanego katalogu zamiast pokazywać pusty
|
||||
selektor ograniczony do dostawcy.
|
||||
|
||||
Dostępne modele:
|
||||
@ -449,35 +436,35 @@ Synthetic udostępnia modele zgodne z Anthropic za pośrednictwem dostawcy `synt
|
||||
|
||||
MiniMax jest konfigurowany przez `models.providers`, ponieważ używa niestandardowych endpointów:
|
||||
|
||||
- MiniMax OAuth (globalny): `--auth-choice minimax-global-oauth`
|
||||
- MiniMax OAuth (CN): `--auth-choice minimax-cn-oauth`
|
||||
- Klucz API MiniMax (globalny): `--auth-choice minimax-global-api`
|
||||
- Klucz API MiniMax (CN): `--auth-choice minimax-cn-api`
|
||||
- MiniMax OAuth (globalnie): `--auth-choice minimax-global-oauth`
|
||||
- MiniMax OAuth (Chiny): `--auth-choice minimax-cn-oauth`
|
||||
- Klucz API MiniMax (globalnie): `--auth-choice minimax-global-api`
|
||||
- Klucz API MiniMax (Chiny): `--auth-choice minimax-cn-api`
|
||||
- Uwierzytelnianie: `MINIMAX_API_KEY` dla `minimax`; `MINIMAX_OAUTH_TOKEN` lub
|
||||
`MINIMAX_API_KEY` dla `minimax-portal`
|
||||
|
||||
Szczegóły konfiguracji, opcje modeli i fragmenty konfiguracji znajdziesz w [/providers/minimax](/pl/providers/minimax).
|
||||
|
||||
Na ścieżce strumieniowania MiniMax zgodnej z Anthropic OpenClaw domyślnie wyłącza thinking,
|
||||
chyba że jawnie go ustawisz, a `/fast on` przepisuje
|
||||
Na ścieżce strumieniowania MiniMax zgodnej z Anthropic OpenClaw domyślnie wyłącza myślenie,
|
||||
chyba że jawnie je ustawisz, a `/fast on` przepisuje
|
||||
`MiniMax-M2.7` na `MiniMax-M2.7-highspeed`.
|
||||
|
||||
Podział możliwości należący do Pluginu:
|
||||
Podział możliwości zarządzany przez Plugin:
|
||||
|
||||
- Domyślne tekst/czat pozostają na `minimax/MiniMax-M2.7`
|
||||
- Domyślne ustawienia tekstu/czatu pozostają przy `minimax/MiniMax-M2.7`
|
||||
- Generowanie obrazów to `minimax/image-01` lub `minimax-portal/image-01`
|
||||
- Rozumienie obrazów to należący do Pluginu `MiniMax-VL-01` na obu ścieżkach uwierzytelniania MiniMax
|
||||
- Wyszukiwanie w sieci pozostaje na identyfikatorze dostawcy `minimax`
|
||||
- Rozumienie obrazów to zarządzany przez Plugin `MiniMax-VL-01` na obu ścieżkach uwierzytelniania MiniMax
|
||||
- Wyszukiwanie w sieci pozostaje przy id dostawcy `minimax`
|
||||
|
||||
### LM Studio
|
||||
|
||||
LM Studio jest dostarczane jako dołączony Plugin dostawcy, który używa natywnego API:
|
||||
LM Studio jest dostarczany jako wbudowany Plugin dostawcy, który używa natywnego API:
|
||||
|
||||
- Dostawca: `lmstudio`
|
||||
- Uwierzytelnianie: `LM_API_TOKEN`
|
||||
- Domyślny bazowy URL inferencji: `http://localhost:1234/v1`
|
||||
- Domyślny bazowy URL wnioskowania: `http://localhost:1234/v1`
|
||||
|
||||
Następnie ustaw model (zastąp jednym z identyfikatorów zwracanych przez `http://localhost:1234/api/v1/models`):
|
||||
Następnie ustaw model (zastąp jednym z identyfikatorów zwróconych przez `http://localhost:1234/api/v1/models`):
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -487,12 +474,13 @@ Następnie ustaw model (zastąp jednym z identyfikatorów zwracanych przez `http
|
||||
}
|
||||
```
|
||||
|
||||
OpenClaw używa natywnych endpointów LM Studio `/api/v1/models` i `/api/v1/models/load` do wykrywania + automatycznego ładowania, a domyślnie `/v1/chat/completions` do inferencji.
|
||||
Zobacz [/providers/lmstudio](/pl/providers/lmstudio), aby poznać konfigurację i rozwiązywanie problemów.
|
||||
OpenClaw domyślnie używa natywnych endpointów LM Studio `/api/v1/models` i `/api/v1/models/load`
|
||||
do wykrywania i automatycznego ładowania oraz `/v1/chat/completions` do wnioskowania.
|
||||
Konfigurację i rozwiązywanie problemów znajdziesz w [/providers/lmstudio](/pl/providers/lmstudio).
|
||||
|
||||
### Ollama
|
||||
|
||||
Ollama jest dostarczana jako dołączony Plugin dostawcy i używa natywnego API Ollama:
|
||||
Ollama jest dostarczany jako wbudowany Plugin dostawcy i używa natywnego API Ollama:
|
||||
|
||||
- Dostawca: `ollama`
|
||||
- Uwierzytelnianie: niewymagane (serwer lokalny)
|
||||
@ -500,7 +488,7 @@ Ollama jest dostarczana jako dołączony Plugin dostawcy i używa natywnego API
|
||||
- Instalacja: [https://ollama.com/download](https://ollama.com/download)
|
||||
|
||||
```bash
|
||||
# Install Ollama, then pull a model:
|
||||
# Zainstaluj Ollama, a następnie pobierz model:
|
||||
ollama pull llama3.3
|
||||
```
|
||||
|
||||
@ -512,27 +500,27 @@ ollama pull llama3.3
|
||||
}
|
||||
```
|
||||
|
||||
Ollama jest wykrywana lokalnie pod `http://127.0.0.1:11434`, gdy wyrazisz zgodę przez
|
||||
`OLLAMA_API_KEY`, a dołączony Plugin dostawcy dodaje Ollama bezpośrednio do
|
||||
Ollama jest wykrywany lokalnie pod adresem `http://127.0.0.1:11434`, gdy włączysz go za pomocą
|
||||
`OLLAMA_API_KEY`, a wbudowany Plugin dostawcy dodaje Ollama bezpośrednio do
|
||||
`openclaw onboard` i selektora modeli. Zobacz [/providers/ollama](/pl/providers/ollama),
|
||||
aby poznać onboarding, tryb cloud/local oraz niestandardową konfigurację.
|
||||
aby poznać szczegóły wdrażania, trybu chmury/lokalnego i konfiguracji niestandardowej.
|
||||
|
||||
### vLLM
|
||||
|
||||
vLLM jest dostarczany jako dołączony Plugin dostawcy dla lokalnych/samodzielnie hostowanych
|
||||
vLLM jest dostarczany jako wbudowany Plugin dostawcy dla lokalnych/samodzielnie hostowanych
|
||||
serwerów zgodnych z OpenAI:
|
||||
|
||||
- Dostawca: `vllm`
|
||||
- Uwierzytelnianie: opcjonalne (zależy od Twojego serwera)
|
||||
- Uwierzytelnianie: opcjonalne (zależy od twojego serwera)
|
||||
- Domyślny bazowy URL: `http://127.0.0.1:8000/v1`
|
||||
|
||||
Aby włączyć automatyczne wykrywanie lokalnie (dowolna wartość działa, jeśli serwer nie wymusza uwierzytelniania):
|
||||
Aby włączyć automatyczne wykrywanie lokalnie (dowolna wartość zadziała, jeśli twój serwer nie wymusza uwierzytelniania):
|
||||
|
||||
```bash
|
||||
export VLLM_API_KEY="vllm-local"
|
||||
```
|
||||
|
||||
Następnie ustaw model (zastąp jednym z identyfikatorów zwracanych przez `/v1/models`):
|
||||
Następnie ustaw model (zastąp jednym z identyfikatorów zwróconych przez `/v1/models`):
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -546,21 +534,21 @@ Szczegóły znajdziesz w [/providers/vllm](/pl/providers/vllm).
|
||||
|
||||
### SGLang
|
||||
|
||||
SGLang jest dostarczany jako dołączony Plugin dostawcy dla szybkich, samodzielnie hostowanych
|
||||
SGLang jest dostarczany jako wbudowany Plugin dostawcy dla szybkich, samodzielnie hostowanych
|
||||
serwerów zgodnych z OpenAI:
|
||||
|
||||
- Dostawca: `sglang`
|
||||
- Uwierzytelnianie: opcjonalne (zależy od Twojego serwera)
|
||||
- Uwierzytelnianie: opcjonalne (zależy od twojego serwera)
|
||||
- Domyślny bazowy URL: `http://127.0.0.1:30000/v1`
|
||||
|
||||
Aby włączyć automatyczne wykrywanie lokalnie (dowolna wartość działa, jeśli Twój serwer nie
|
||||
Aby włączyć automatyczne wykrywanie lokalnie (dowolna wartość zadziała, jeśli twój serwer nie
|
||||
wymusza uwierzytelniania):
|
||||
|
||||
```bash
|
||||
export SGLANG_API_KEY="sglang-local"
|
||||
```
|
||||
|
||||
Następnie ustaw model (zastąp jednym z identyfikatorów zwracanych przez `/v1/models`):
|
||||
Następnie ustaw model (zastąp jednym z identyfikatorów zwróconych przez `/v1/models`):
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -572,7 +560,7 @@ Następnie ustaw model (zastąp jednym z identyfikatorów zwracanych przez `/v1/
|
||||
|
||||
Szczegóły znajdziesz w [/providers/sglang](/pl/providers/sglang).
|
||||
|
||||
### Lokalne proxy (LM Studio, vLLM, LiteLLM itd.)
|
||||
### Lokalne proxy (LM Studio, vLLM, LiteLLM itp.)
|
||||
|
||||
Przykład (zgodny z OpenAI):
|
||||
|
||||
@ -609,21 +597,18 @@ Przykład (zgodny z OpenAI):
|
||||
|
||||
Uwagi:
|
||||
|
||||
- Dla dostawców niestandardowych `reasoning`, `input`, `cost`, `contextWindow` i `maxTokens` są opcjonalne.
|
||||
Jeśli zostaną pominięte, OpenClaw przyjmuje domyślnie:
|
||||
- Dla niestandardowych dostawców `reasoning`, `input`, `cost`, `contextWindow` i `maxTokens` są opcjonalne.
|
||||
Po pominięciu OpenClaw domyślnie używa:
|
||||
- `reasoning: false`
|
||||
- `input: ["text"]`
|
||||
- `cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }`
|
||||
- `contextWindow: 200000`
|
||||
- `maxTokens: 8192`
|
||||
- Zalecenie: ustaw jawne wartości zgodne z limitami Twojego proxy/modelu.
|
||||
- Zalecane: ustaw jawne wartości zgodne z limitami twojego proxy/modelu.
|
||||
- Dla `api: "openai-completions"` na nienatywnych endpointach (dowolny niepusty `baseUrl`, którego host nie jest `api.openai.com`) OpenClaw wymusza `compat.supportsDeveloperRole: false`, aby uniknąć błędów 400 dostawcy dla nieobsługiwanych ról `developer`.
|
||||
- Trasy proxy zgodne z OpenAI pomijają też kształtowanie żądań specyficzne wyłącznie dla natywnego OpenAI:
|
||||
brak `service_tier`, brak Responses `store`, brak wskazówek prompt-cache, brak
|
||||
kształtowania payloadu reasoning-compat OpenAI i brak ukrytych nagłówków
|
||||
atrybucji OpenClaw.
|
||||
- Jeśli `baseUrl` jest puste/pominięte, OpenClaw zachowuje domyślne zachowanie OpenAI (które rozwiązuje się do `api.openai.com`).
|
||||
- Dla bezpieczeństwa jawne `compat.supportsDeveloperRole: true` jest nadal nadpisywane na nienatywnych endpointach `openai-completions`.
|
||||
- Trasy proxy zgodne z OpenAI pomijają również kształtowanie żądań specyficzne tylko dla natywnego OpenAI: brak `service_tier`, brak Responses `store`, brak wskazówek pamięci podręcznej promptów, brak kształtowania ładunku zgodnego z rozumowaniem OpenAI i brak ukrytych nagłówków atrybucji OpenClaw.
|
||||
- Jeśli `baseUrl` jest pusty/pominięty, OpenClaw zachowuje domyślne działanie OpenAI (które wskazuje na `api.openai.com`).
|
||||
- Dla bezpieczeństwa jawne `compat.supportsDeveloperRole: true` nadal jest nadpisywane na nienatywnych endpointach `openai-completions`.
|
||||
|
||||
## Przykłady CLI
|
||||
|
||||
@ -633,11 +618,11 @@ openclaw models set opencode/claude-opus-4-6
|
||||
openclaw models list
|
||||
```
|
||||
|
||||
Zobacz też: [/gateway/configuration](/pl/gateway/configuration), aby poznać pełne przykłady konfiguracji.
|
||||
Zobacz także: [/gateway/configuration](/pl/gateway/configuration), aby uzyskać pełne przykłady konfiguracji.
|
||||
|
||||
## Powiązane
|
||||
|
||||
- [Modele](/pl/concepts/models) — konfiguracja modeli i aliasy
|
||||
- [Model Failover](/pl/concepts/model-failover) — łańcuchy fallbacku i zachowanie ponawiania
|
||||
- [Configuration Reference](/pl/gateway/config-agents#agent-defaults) — klucze konfiguracji modeli
|
||||
- [Providers](/pl/providers) — przewodniki konfiguracji dla poszczególnych dostawców
|
||||
- [Awaryjne przełączanie modeli](/pl/concepts/model-failover) — łańcuchy zapasowe i zachowanie ponawiania
|
||||
- [Dokumentacja konfiguracji](/pl/gateway/config-agents#agent-defaults) — klucze konfiguracji modeli
|
||||
- [Dostawcy](/pl/providers) — przewodniki konfiguracji dla poszczególnych dostawców
|
||||
|
||||
268
docs/pl/pi.md
268
docs/pl/pi.md
@ -1,48 +1,48 @@
|
||||
---
|
||||
read_when:
|
||||
- Zrozumienie projektu integracji Pi SDK w OpenClaw
|
||||
- Modyfikowanie cyklu życia sesji agenta, narzędzi lub połączeń z providerami dla Pi
|
||||
summary: Architektura osadzonej integracji agenta Pi w OpenClaw i cyklu życia sesji
|
||||
- Zrozumienie projektu integracji SDK Pi w OpenClaw
|
||||
- Modyfikowanie cyklu życia sesji agenta, narzędzi lub połączeń dostawcy dla Pi
|
||||
summary: Architektura integracji osadzonego agenta Pi w OpenClaw oraz cykl życia sesji
|
||||
title: Architektura integracji Pi
|
||||
x-i18n:
|
||||
generated_at: "2026-04-24T09:19:57Z"
|
||||
generated_at: "2026-04-24T15:22:16Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 3c0c490cad121a65d557a72887ea619a7d0cff34a62220752214185c9148dc0b
|
||||
source_hash: 0c0b019ff6d35f6fdcd57b56edd1945e62a96bb4b34e312d7fb0c627f01287f1
|
||||
source_path: pi.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
Ten dokument opisuje, jak OpenClaw integruje się z [pi-coding-agent](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent) i pokrewnymi pakietami (`pi-ai`, `pi-agent-core`, `pi-tui`), aby realizować możliwości swojego agenta AI.
|
||||
Ten dokument opisuje, jak OpenClaw integruje się z [pi-coding-agent](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent) oraz jego pakietami pokrewnymi (`pi-ai`, `pi-agent-core`, `pi-tui`), aby zapewnić możliwości agenta AI.
|
||||
|
||||
## Przegląd
|
||||
|
||||
OpenClaw używa SDK pi do osadzenia agenta kodującego AI w swojej architekturze gateway komunikatów. Zamiast uruchamiać pi jako podproces albo używać trybu RPC, OpenClaw bezpośrednio importuje i tworzy `AgentSession` pi przez `createAgentSession()`. To podejście osadzone zapewnia:
|
||||
OpenClaw używa SDK pi do osadzenia agenta kodującego AI w swojej architekturze bramki komunikacyjnej. Zamiast uruchamiać pi jako podproces lub używać trybu RPC, OpenClaw bezpośrednio importuje i tworzy instancję `AgentSession` za pomocą `createAgentSession()`. To osadzone podejście zapewnia:
|
||||
|
||||
- pełną kontrolę nad cyklem życia sesji i obsługą zdarzeń
|
||||
- niestandardowe wstrzykiwanie narzędzi (komunikacja, sandbox, działania specyficzne dla kanału)
|
||||
- dostosowywanie promptu systemowego per kanał/kontekst
|
||||
- trwałość sesji ze wsparciem dla branching/Compaction
|
||||
- rotację profili uwierzytelniania dla wielu kont z failover
|
||||
- niezależne od providera przełączanie modeli
|
||||
- Pełną kontrolę nad cyklem życia sesji i obsługą zdarzeń
|
||||
- Wstrzykiwanie niestandardowych narzędzi (komunikacja, sandbox, działania specyficzne dla kanału)
|
||||
- Dostosowanie promptu systemowego dla każdego kanału/kontekstu
|
||||
- Trwałość sesji z obsługą rozgałęziania/Compaction
|
||||
- Rotację profili uwierzytelniania dla wielu kont z mechanizmem failover
|
||||
- Niezależne od dostawcy przełączanie modeli
|
||||
|
||||
## Zależności pakietów
|
||||
|
||||
```json
|
||||
{
|
||||
"@mariozechner/pi-agent-core": "0.68.1",
|
||||
"@mariozechner/pi-ai": "0.68.1",
|
||||
"@mariozechner/pi-coding-agent": "0.68.1",
|
||||
"@mariozechner/pi-tui": "0.68.1"
|
||||
"@mariozechner/pi-agent-core": "0.70.2",
|
||||
"@mariozechner/pi-ai": "0.70.2",
|
||||
"@mariozechner/pi-coding-agent": "0.70.2",
|
||||
"@mariozechner/pi-tui": "0.70.2"
|
||||
}
|
||||
```
|
||||
|
||||
| Pakiet | Cel |
|
||||
| ----------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| `pi-ai` | Podstawowe abstrakcje LLM: `Model`, `streamSimple`, typy wiadomości, API providerów |
|
||||
| `pi-agent-core` | Pętla agenta, wykonywanie narzędzi, typy `AgentMessage` |
|
||||
| Pakiet | Przeznaczenie |
|
||||
| ----------------- | ------------------------------------------------------------------------------------------------------ |
|
||||
| `pi-ai` | Podstawowe abstrakcje LLM: `Model`, `streamSimple`, typy wiadomości, API dostawców |
|
||||
| `pi-agent-core` | Pętla agenta, wykonywanie narzędzi, typy `AgentMessage` |
|
||||
| `pi-coding-agent` | SDK wysokiego poziomu: `createAgentSession`, `SessionManager`, `AuthStorage`, `ModelRegistry`, wbudowane narzędzia |
|
||||
| `pi-tui` | Komponenty terminalowego interfejsu (używane w lokalnym trybie TUI OpenClaw) |
|
||||
| `pi-tui` | Komponenty terminalowego interfejsu użytkownika (używane w lokalnym trybie TUI OpenClaw) |
|
||||
|
||||
## Struktura plików
|
||||
|
||||
@ -55,54 +55,54 @@ src/agents/
|
||||
│ │ ├── attempt.ts # Logika pojedynczej próby z konfiguracją sesji
|
||||
│ │ ├── params.ts # Typ RunEmbeddedPiAgentParams
|
||||
│ │ ├── payloads.ts # Budowanie ładunków odpowiedzi z wyników uruchomienia
|
||||
│ │ ├── images.ts # Wstrzykiwanie obrazów dla modeli vision
|
||||
│ │ ├── images.ts # Wstrzykiwanie obrazów do modelu Vision
|
||||
│ │ └── types.ts # EmbeddedRunAttemptResult
|
||||
│ ├── abort.ts # Wykrywanie błędów przerwania
|
||||
│ ├── cache-ttl.ts # Śledzenie cache TTL dla context pruning
|
||||
│ ├── compact.ts # Logika ręcznego/automatycznego Compaction
|
||||
│ ├── extensions.ts # Ładowanie rozszerzeń pi dla uruchomień osadzonych
|
||||
│ ├── extra-params.ts # Parametry strumieniowania specyficzne dla providera
|
||||
│ ├── google.ts # Poprawki kolejności tur Google/Gemini
|
||||
│ ├── cache-ttl.ts # Śledzenie TTL pamięci podręcznej do przycinania kontekstu
|
||||
│ ├── compact.ts # Logika ręcznej/automatycznej Compaction
|
||||
│ ├── extensions.ts # Ładowanie rozszerzeń pi dla osadzonych uruchomień
|
||||
│ ├── extra-params.ts # Parametry strumienia specyficzne dla dostawcy
|
||||
│ ├── google.ts # Poprawki kolejności tur dla Google/Gemini
|
||||
│ ├── history.ts # Ograniczanie historii (DM vs grupa)
|
||||
│ ├── lanes.ts # Ścieżki poleceń sesji/globalne
|
||||
│ ├── logger.ts # Logger podsystemu
|
||||
│ ├── model.ts # Rozwiązywanie modelu przez ModelRegistry
|
||||
│ ├── runs.ts # Śledzenie aktywnych uruchomień, abort, kolejka
|
||||
│ ├── sandbox-info.ts # Informacje o sandbox dla promptu systemowego
|
||||
│ ├── session-manager-cache.ts # Cache instancji SessionManager
|
||||
│ ├── runs.ts # Śledzenie aktywnych uruchomień, przerwanie, kolejka
|
||||
│ ├── sandbox-info.ts # Informacje o sandboxie do promptu systemowego
|
||||
│ ├── session-manager-cache.ts # Buforowanie instancji SessionManager
|
||||
│ ├── session-manager-init.ts # Inicjalizacja pliku sesji
|
||||
│ ├── system-prompt.ts # Budowniczy promptu systemowego
|
||||
│ ├── tool-split.ts # Podział narzędzi na builtIn vs custom
|
||||
│ ├── system-prompt.ts # Konstruktor promptu systemowego
|
||||
│ ├── tool-split.ts # Podział narzędzi na builtIn i custom
|
||||
│ ├── types.ts # EmbeddedPiAgentMeta, EmbeddedPiRunResult
|
||||
│ └── utils.ts # Mapowanie ThinkLevel, opis błędów
|
||||
├── pi-embedded-subscribe.ts # Subskrypcja/wysyłka zdarzeń sesji
|
||||
├── pi-embedded-subscribe.ts # Subskrypcja/rozsyłanie zdarzeń sesji
|
||||
├── pi-embedded-subscribe.types.ts # SubscribeEmbeddedPiSessionParams
|
||||
├── pi-embedded-subscribe.handlers.ts # Fabryka handlerów zdarzeń
|
||||
├── pi-embedded-subscribe.handlers.ts # Fabryka obsługi zdarzeń
|
||||
├── pi-embedded-subscribe.handlers.lifecycle.ts
|
||||
├── pi-embedded-subscribe.handlers.types.ts
|
||||
├── pi-embedded-block-chunker.ts # Fragmentacja odpowiedzi blokowych przy strumieniowaniu
|
||||
├── pi-embedded-messaging.ts # Śledzenie wysłanych wiadomości przez narzędzie komunikacji
|
||||
├── pi-embedded-helpers.ts # Klasyfikacja błędów, walidacja tury
|
||||
├── pi-embedded-block-chunker.ts # Dzielenie strumieniowanych odpowiedzi blokowych na fragmenty
|
||||
├── pi-embedded-messaging.ts # Śledzenie wysłanych przez narzędzie wiadomości
|
||||
├── pi-embedded-helpers.ts # Klasyfikacja błędów, walidacja tur
|
||||
├── pi-embedded-helpers/ # Moduły pomocnicze
|
||||
├── pi-embedded-utils.ts # Narzędzia formatowania
|
||||
├── pi-tools.ts # createOpenClawCodingTools()
|
||||
├── pi-tools.abort.ts # Owijanie AbortSignal dla narzędzi
|
||||
├── pi-tools.policy.ts # Zasady allowlist/denylist narzędzi
|
||||
├── pi-tools.read.ts # Dostosowania narzędzia read
|
||||
├── pi-tools.abort.ts # Opakowanie AbortSignal dla narzędzi
|
||||
├── pi-tools.policy.ts # Polityka listy dozwolonych/zabronionych narzędzi
|
||||
├── pi-tools.read.ts # Dostosowania narzędzia odczytu
|
||||
├── pi-tools.schema.ts # Normalizacja schematu narzędzi
|
||||
├── pi-tools.types.ts # Alias typu AnyAgentTool
|
||||
├── pi-tool-definition-adapter.ts # Adapter AgentTool -> ToolDefinition
|
||||
├── pi-settings.ts # Nadpisania ustawień
|
||||
├── pi-hooks/ # Niestandardowe hooki pi
|
||||
│ ├── compaction-safeguard.ts # Rozszerzenie safeguard
|
||||
│ ├── compaction-safeguard.ts # Rozszerzenie ochronne
|
||||
│ ├── compaction-safeguard-runtime.ts
|
||||
│ ├── context-pruning.ts # Rozszerzenie context pruning oparte na Cache-TTL
|
||||
│ ├── context-pruning.ts # Rozszerzenie przycinania kontekstu z TTL pamięci podręcznej
|
||||
│ └── context-pruning/
|
||||
├── model-auth.ts # Rozwiązywanie profilu auth
|
||||
├── model-auth.ts # Rozwiązywanie profilu uwierzytelniania
|
||||
├── auth-profiles.ts # Magazyn profili, cooldown, failover
|
||||
├── model-selection.ts # Rozwiązywanie modelu domyślnego
|
||||
├── model-selection.ts # Rozwiązywanie domyślnego modelu
|
||||
├── models-config.ts # Generowanie models.json
|
||||
├── model-catalog.ts # Cache katalogu modeli
|
||||
├── model-catalog.ts # Pamięć podręczna katalogu modeli
|
||||
├── context-window-guard.ts # Walidacja okna kontekstu
|
||||
├── failover-error.ts # Klasa FailoverError
|
||||
├── defaults.ts # DEFAULT_PROVIDER, DEFAULT_MODEL
|
||||
@ -110,12 +110,12 @@ src/agents/
|
||||
├── system-prompt-params.ts # Rozwiązywanie parametrów promptu systemowego
|
||||
├── system-prompt-report.ts # Generowanie raportu debugowania
|
||||
├── tool-summaries.ts # Podsumowania opisów narzędzi
|
||||
├── tool-policy.ts # Rozwiązywanie zasad narzędzi
|
||||
├── transcript-policy.ts # Zasady walidacji transkryptu
|
||||
├── tool-policy.ts # Rozwiązywanie polityki narzędzi
|
||||
├── transcript-policy.ts # Polityka walidacji transkryptu
|
||||
├── skills.ts # Budowanie migawki/promptu Skills
|
||||
├── skills/ # Podsystem Skills
|
||||
├── sandbox.ts # Rozwiązywanie kontekstu sandbox
|
||||
├── sandbox/ # Podsystem sandbox
|
||||
├── sandbox.ts # Rozwiązywanie kontekstu sandboxa
|
||||
├── sandbox/ # Podsystem sandboxa
|
||||
├── channel-tools.ts # Wstrzykiwanie narzędzi specyficznych dla kanału
|
||||
├── openclaw-tools.ts # Narzędzia specyficzne dla OpenClaw
|
||||
├── bash-tools.ts # Narzędzia exec/process
|
||||
@ -134,13 +134,12 @@ src/agents/
|
||||
└── ...
|
||||
```
|
||||
|
||||
Runtime działań wiadomości specyficznych dla kanałów znajdują się teraz w katalogach
|
||||
rozszerzeń należących do Pluginów zamiast w `src/agents/tools`, na przykład:
|
||||
Środowiska uruchomieniowe działań wiadomości specyficznych dla kanału znajdują się teraz w należących do pluginów katalogach rozszerzeń zamiast w `src/agents/tools`, na przykład:
|
||||
|
||||
- pliki runtime działań Pluginu Discord
|
||||
- plik runtime działań Pluginu Slack
|
||||
- plik runtime działań Pluginu Telegram
|
||||
- plik runtime działań Pluginu WhatsApp
|
||||
- pliki środowiska uruchomieniowego działań pluginu Discord
|
||||
- plik środowiska uruchomieniowego działań pluginu Slack
|
||||
- plik środowiska uruchomieniowego działań pluginu Telegram
|
||||
- plik środowiska uruchomieniowego działań pluginu WhatsApp
|
||||
|
||||
## Główny przepływ integracji
|
||||
|
||||
@ -226,15 +225,15 @@ const subscription = subscribeEmbeddedPiSession({
|
||||
|
||||
Obsługiwane zdarzenia obejmują:
|
||||
|
||||
- `message_start` / `message_end` / `message_update` (strumieniowanie tekstu/thinking)
|
||||
- `message_start` / `message_end` / `message_update` (strumieniowany tekst/myślenie)
|
||||
- `tool_execution_start` / `tool_execution_update` / `tool_execution_end`
|
||||
- `turn_start` / `turn_end`
|
||||
- `agent_start` / `agent_end`
|
||||
- `compaction_start` / `compaction_end`
|
||||
|
||||
### 4. Promptowanie
|
||||
### 4. Wysyłanie promptu
|
||||
|
||||
Po konfiguracji sesja otrzymuje prompt:
|
||||
Po konfiguracji do sesji wysyłany jest prompt:
|
||||
|
||||
```typescript
|
||||
await session.prompt(effectivePrompt, { images: imageResult.images });
|
||||
@ -242,25 +241,23 @@ await session.prompt(effectivePrompt, { images: imageResult.images });
|
||||
|
||||
SDK obsługuje pełną pętlę agenta: wysyłanie do LLM, wykonywanie wywołań narzędzi, strumieniowanie odpowiedzi.
|
||||
|
||||
Wstrzykiwanie obrazów jest lokalne dla promptu: OpenClaw ładuje referencje obrazów z bieżącego promptu i
|
||||
przekazuje je przez `images` tylko dla tej tury. Nie skanuje ponownie starszych tur historii,
|
||||
aby ponownie wstrzykiwać ładunki obrazów.
|
||||
Wstrzykiwanie obrazów jest lokalne dla promptu: OpenClaw ładuje odwołania do obrazów z bieżącego promptu i przekazuje je przez `images` tylko dla tej tury. Nie skanuje ponownie starszych tur historii, aby ponownie wstrzykiwać ładunki obrazów.
|
||||
|
||||
## Architektura narzędzi
|
||||
|
||||
### Potok narzędzi
|
||||
|
||||
1. **Narzędzia bazowe**: `codingTools` z pi (read, bash, edit, write)
|
||||
2. **Niestandardowe zamienniki**: OpenClaw zastępuje bash przez `exec`/`process`, dostosowuje read/edit/write dla sandbox
|
||||
3. **Narzędzia OpenClaw**: komunikacja, browser, canvas, sessions, cron, gateway itd.
|
||||
4. **Narzędzia kanałowe**: narzędzia działań specyficzne dla Discord/Telegram/Slack/WhatsApp
|
||||
5. **Filtrowanie zasad**: narzędzia filtrowane przez profile, providera, agenta, grupę i zasady sandbox
|
||||
6. **Normalizacja schematu**: schematy czyszczone pod niuanse Gemini/OpenAI
|
||||
7. **Owijanie AbortSignal**: narzędzia owijane tak, aby respektowały sygnały abort
|
||||
1. **Narzędzia bazowe**: `codingTools` z pi (`read`, `bash`, `edit`, `write`)
|
||||
2. **Niestandardowe zamienniki**: OpenClaw zastępuje bash przez `exec`/`process`, dostosowuje read/edit/write do sandboxa
|
||||
3. **Narzędzia OpenClaw**: komunikacja, przeglądarka, canvas, sesje, Cron, Gateway itd.
|
||||
4. **Narzędzia kanałów**: narzędzia działań specyficzne dla Discord/Telegram/Slack/WhatsApp
|
||||
5. **Filtrowanie politykami**: narzędzia filtrowane według polityk profilu, dostawcy, agenta, grupy i sandboxa
|
||||
6. **Normalizacja schematu**: schematy czyszczone pod kątem specyfiki Gemini/OpenAI
|
||||
7. **Opakowanie AbortSignal**: narzędzia opakowywane tak, aby respektowały sygnały przerwania
|
||||
|
||||
### Adapter definicji narzędzia
|
||||
### Adapter definicji narzędzi
|
||||
|
||||
`AgentTool` z pi-agent-core ma inną sygnaturę `execute` niż `ToolDefinition` z pi-coding-agent. Adapter w `pi-tool-definition-adapter.ts` łączy te światy:
|
||||
`AgentTool` z pi-agent-core ma inną sygnaturę `execute` niż `ToolDefinition` z pi-coding-agent. Adapter w `pi-tool-definition-adapter.ts` łączy te dwa interfejsy:
|
||||
|
||||
```typescript
|
||||
export function toToolDefinitions(tools: AnyAgentTool[]): ToolDefinition[] {
|
||||
@ -290,11 +287,11 @@ export function splitSdkTools(options: { tools: AnyAgentTool[]; sandboxEnabled:
|
||||
}
|
||||
```
|
||||
|
||||
Dzięki temu filtrowanie zasad OpenClaw, integracja z sandbox i rozszerzony zestaw narzędzi pozostają spójne między providerami.
|
||||
Zapewnia to spójność filtrowania polityk, integracji sandboxa i rozszerzonego zestawu narzędzi OpenClaw u wszystkich dostawców.
|
||||
|
||||
## Budowanie promptu systemowego
|
||||
|
||||
Prompt systemowy jest budowany w `buildAgentSystemPrompt()` (`system-prompt.ts`). Składa pełny prompt z sekcjami obejmującymi Tooling, Tool Call Style, zabezpieczenia Safety, dokumentację CLI OpenClaw, Skills, Docs, Workspace, Sandbox, Messaging, Reply Tags, Voice, Silent Replies, Heartbeats, metadane Runtime, a także Memory i Reactions, gdy są włączone, oraz opcjonalne pliki kontekstowe i dodatkową treść promptu systemowego. Sekcje są przycinane dla minimalnego trybu promptu używanego przez subagentów.
|
||||
Prompt systemowy jest budowany w `buildAgentSystemPrompt()` (`system-prompt.ts`). Składa on pełny prompt z sekcjami obejmującymi Tooling, Tool Call Style, zabezpieczenia Safety, dokumentację referencyjną CLI OpenClaw, Skills, Docs, Workspace, Sandbox, Messaging, Reply Tags, Voice, Silent Replies, Heartbeats, metadane środowiska uruchomieniowego, a także Memory i Reactions, gdy są włączone, oraz opcjonalne pliki kontekstowe i dodatkową zawartość promptu systemowego. Sekcje są przycinane dla minimalnego trybu promptu używanego przez subagentów.
|
||||
|
||||
Prompt jest stosowany po utworzeniu sesji przez `applySystemPromptOverrideToSession()`:
|
||||
|
||||
@ -303,21 +300,21 @@ const systemPromptOverride = createSystemPromptOverride(appendPrompt);
|
||||
applySystemPromptOverrideToSession(session, systemPromptOverride);
|
||||
```
|
||||
|
||||
## Zarządzanie sesją
|
||||
## Zarządzanie sesjami
|
||||
|
||||
### Pliki sesji
|
||||
|
||||
Sesje to pliki JSONL o strukturze drzewa (łączenie przez id/parentId). Trwałość obsługuje `SessionManager` z Pi:
|
||||
Sesje to pliki JSONL o strukturze drzewa (powiązanie przez id/parentId). Za trwałość odpowiada `SessionManager` z Pi:
|
||||
|
||||
```typescript
|
||||
const sessionManager = SessionManager.open(params.sessionFile);
|
||||
```
|
||||
|
||||
OpenClaw owija to przez `guardSessionManager()` dla bezpieczeństwa wyników narzędzi.
|
||||
OpenClaw opakowuje to za pomocą `guardSessionManager()` dla bezpieczeństwa wyników narzędzi.
|
||||
|
||||
### Cache sesji
|
||||
### Buforowanie sesji
|
||||
|
||||
`session-manager-cache.ts` przechowuje instancje SessionManager w cache, aby uniknąć wielokrotnego parsowania plików:
|
||||
`session-manager-cache.ts` buforuje instancje SessionManager, aby uniknąć wielokrotnego parsowania plików:
|
||||
|
||||
```typescript
|
||||
await prewarmSessionFile(params.sessionFile);
|
||||
@ -331,11 +328,12 @@ trackSessionManagerAccess(params.sessionFile);
|
||||
|
||||
### Compaction
|
||||
|
||||
Automatyczny Compaction uruchamia się przy przepełnieniu kontekstu. Typowe sygnatury przepełnienia
|
||||
obejmują `request_too_large`, `context length exceeded`, `input exceeds the
|
||||
Automatyczna Compaction uruchamia się przy przepełnieniu kontekstu. Typowe sygnatury przepełnienia obejmują
|
||||
`request_too_large`, `context length exceeded`, `input exceeds the
|
||||
maximum number of tokens`, `input token count exceeds the maximum number of
|
||||
input tokens`, `input is too long for the model` oraz `ollama error: context
|
||||
length exceeded`. Ręczny Compaction obsługuje `compactEmbeddedPiSessionDirect()`:
|
||||
length exceeded`. `compactEmbeddedPiSessionDirect()` obsługuje ręczną
|
||||
Compaction:
|
||||
|
||||
```typescript
|
||||
const compactResult = await compactEmbeddedPiSessionDirect({
|
||||
@ -343,25 +341,25 @@ const compactResult = await compactEmbeddedPiSessionDirect({
|
||||
});
|
||||
```
|
||||
|
||||
## Uwierzytelnianie i rozwiązywanie modelu
|
||||
## Uwierzytelnianie i rozwiązywanie modeli
|
||||
|
||||
### Profile auth
|
||||
### Profile uwierzytelniania
|
||||
|
||||
OpenClaw utrzymuje magazyn profili auth z wieloma kluczami API na providera:
|
||||
OpenClaw utrzymuje magazyn profili uwierzytelniania z wieloma kluczami API dla każdego dostawcy:
|
||||
|
||||
```typescript
|
||||
const authStore = ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false });
|
||||
const profileOrder = resolveAuthProfileOrder({ cfg, store: authStore, provider, preferredProfile });
|
||||
```
|
||||
|
||||
Profile rotują przy błędach z użyciem śledzenia cooldown:
|
||||
Profile są rotowane po błędach z użyciem śledzenia cooldown:
|
||||
|
||||
```typescript
|
||||
await markAuthProfileFailure({ store, profileId, reason, cfg, agentDir });
|
||||
const rotated = await advanceAuthProfile();
|
||||
```
|
||||
|
||||
### Rozwiązywanie modelu
|
||||
### Rozwiązywanie modeli
|
||||
|
||||
```typescript
|
||||
import { resolveModel } from "./pi-embedded-runner/model.js";
|
||||
@ -379,7 +377,7 @@ authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
|
||||
|
||||
### Failover
|
||||
|
||||
`FailoverError` uruchamia fallback modelu, gdy jest skonfigurowany:
|
||||
`FailoverError` wyzwala przełączenie na model zapasowy, gdy jest skonfigurowane:
|
||||
|
||||
```typescript
|
||||
if (fallbackConfigured && isFailoverErrorMessage(errorText)) {
|
||||
@ -395,9 +393,9 @@ if (fallbackConfigured && isFailoverErrorMessage(errorText)) {
|
||||
|
||||
## Rozszerzenia Pi
|
||||
|
||||
OpenClaw ładuje niestandardowe rozszerzenia Pi dla wyspecjalizowanego zachowania:
|
||||
OpenClaw ładuje niestandardowe rozszerzenia Pi dla wyspecjalizowanych zachowań:
|
||||
|
||||
### Compaction Safeguard
|
||||
### Ochrona Compaction
|
||||
|
||||
`src/agents/pi-hooks/compaction-safeguard.ts` dodaje zabezpieczenia do Compaction, w tym adaptacyjne budżetowanie tokenów oraz podsumowania błędów narzędzi i operacji na plikach:
|
||||
|
||||
@ -408,9 +406,9 @@ if (resolveCompactionMode(params.cfg) === "safeguard") {
|
||||
}
|
||||
```
|
||||
|
||||
### Context Pruning
|
||||
### Przycinanie kontekstu
|
||||
|
||||
`src/agents/pi-hooks/context-pruning.ts` implementuje context pruning oparty na Cache-TTL:
|
||||
`src/agents/pi-hooks/context-pruning.ts` implementuje przycinanie kontekstu oparte na TTL pamięci podręcznej:
|
||||
|
||||
```typescript
|
||||
if (cfg?.agents?.defaults?.contextPruning?.mode === "cache-ttl") {
|
||||
@ -426,22 +424,22 @@ if (cfg?.agents?.defaults?.contextPruning?.mode === "cache-ttl") {
|
||||
|
||||
## Strumieniowanie i odpowiedzi blokowe
|
||||
|
||||
### Fragmentacja bloków
|
||||
### Dzielenie na bloki
|
||||
|
||||
`EmbeddedBlockChunker` zarządza strumieniowaniem tekstu do dyskretnych bloków odpowiedzi:
|
||||
`EmbeddedBlockChunker` zarządza dzieleniem strumieniowanego tekstu na odrębne bloki odpowiedzi:
|
||||
|
||||
```typescript
|
||||
const blockChunker = blockChunking ? new EmbeddedBlockChunker(blockChunking) : null;
|
||||
```
|
||||
|
||||
### Usuwanie tagów Thinking/Final
|
||||
### Usuwanie tagów myślenia/finału
|
||||
|
||||
Wyjście strumieniowe jest przetwarzane w celu usunięcia bloków `<think>`/`<thinking>` i wyodrębnienia treści `<final>`:
|
||||
Wyjście strumieniowane jest przetwarzane w celu usunięcia bloków `<think>`/`<thinking>` i wyodrębnienia zawartości `<final>`:
|
||||
|
||||
```typescript
|
||||
const stripBlockTags = (text: string, state: { thinking: boolean; final: boolean }) => {
|
||||
// Usuń treść <think>...</think>
|
||||
// Jeśli enforceFinalTag, zwróć tylko treść <final>...</final>
|
||||
// Usuń zawartość <think>...</think>
|
||||
// Jeśli enforceFinalTag, zwróć tylko zawartość <final>...</final>
|
||||
};
|
||||
```
|
||||
|
||||
@ -457,20 +455,20 @@ const { text: cleanedText, mediaUrls, audioAsVoice, replyToId } = consumeReplyDi
|
||||
|
||||
### Klasyfikacja błędów
|
||||
|
||||
`pi-embedded-helpers.ts` klasyfikuje błędy do odpowiedniego przetwarzania:
|
||||
`pi-embedded-helpers.ts` klasyfikuje błędy w celu odpowiedniej obsługi:
|
||||
|
||||
```typescript
|
||||
isContextOverflowError(errorText) // Zbyt duży kontekst
|
||||
isCompactionFailureError(errorText) // Nieudany Compaction
|
||||
isAuthAssistantError(lastAssistant) // Błąd auth
|
||||
isCompactionFailureError(errorText) // Compaction nie powiodła się
|
||||
isAuthAssistantError(lastAssistant) // Błąd uwierzytelniania
|
||||
isRateLimitAssistantError(...) // Ograniczenie szybkości
|
||||
isFailoverAssistantError(...) // Należy uruchomić failover
|
||||
isFailoverAssistantError(...) // Należy wykonać failover
|
||||
classifyFailoverReason(errorText) // "auth" | "rate_limit" | "quota" | "timeout" | ...
|
||||
```
|
||||
|
||||
### Fallback poziomu Thinking
|
||||
### Awaryjny poziom myślenia
|
||||
|
||||
Jeśli poziom thinking nie jest obsługiwany, następuje fallback:
|
||||
Jeśli poziom myślenia nie jest obsługiwany, następuje przełączenie awaryjne:
|
||||
|
||||
```typescript
|
||||
const fallbackThinking = pickFallbackThinkingLevel({
|
||||
@ -483,9 +481,9 @@ if (fallbackThinking) {
|
||||
}
|
||||
```
|
||||
|
||||
## Integracja z sandbox
|
||||
## Integracja sandboxa
|
||||
|
||||
Gdy włączony jest tryb sandbox, narzędzia i ścieżki są ograniczane:
|
||||
Gdy tryb sandboxa jest włączony, narzędzia i ścieżki są ograniczane:
|
||||
|
||||
```typescript
|
||||
const sandbox = await resolveSandboxContext({
|
||||
@ -495,65 +493,65 @@ const sandbox = await resolveSandboxContext({
|
||||
});
|
||||
|
||||
if (sandboxRoot) {
|
||||
// Użyj narzędzi read/edit/write w sandbox
|
||||
// Używaj narzędzi read/edit/write w sandboxie
|
||||
// Exec działa w kontenerze
|
||||
// Browser używa adresu bridge
|
||||
// Browser używa adresu URL mostka
|
||||
}
|
||||
```
|
||||
|
||||
## Obsługa specyficzna dla providera
|
||||
## Obsługa specyficzna dla dostawcy
|
||||
|
||||
### Anthropic
|
||||
|
||||
- Czyszczenie magicznych ciągów odmowy
|
||||
- Usuwanie magicznego ciągu odmowy
|
||||
- Walidacja tur dla kolejnych ról
|
||||
- Ścisła walidacja parametrów narzędzi Pi po stronie upstream
|
||||
|
||||
### Google/Gemini
|
||||
|
||||
- Sanitizacja schematu narzędzi należąca do Pluginu
|
||||
- Oczyszczanie schematu narzędzi należących do pluginów
|
||||
|
||||
### OpenAI
|
||||
|
||||
- narzędzie `apply_patch` dla modeli Codex
|
||||
- obsługa obniżania poziomu thinking
|
||||
- Narzędzie `apply_patch` dla modeli Codex
|
||||
- Obsługa obniżenia poziomu myślenia
|
||||
|
||||
## Integracja TUI
|
||||
|
||||
OpenClaw ma również lokalny tryb TUI, który bezpośrednio używa komponentów pi-tui:
|
||||
OpenClaw ma także lokalny tryb TUI, który bezpośrednio używa komponentów pi-tui:
|
||||
|
||||
```typescript
|
||||
// src/tui/tui.ts
|
||||
import { ... } from "@mariozechner/pi-tui";
|
||||
```
|
||||
|
||||
Zapewnia to interaktywne doświadczenie terminalowe podobne do natywnego trybu Pi.
|
||||
Zapewnia to interaktywne środowisko terminalowe podobne do natywnego trybu Pi.
|
||||
|
||||
## Kluczowe różnice względem Pi CLI
|
||||
## Kluczowe różnice względem CLI Pi
|
||||
|
||||
| Aspekt | Pi CLI | OpenClaw Embedded |
|
||||
| ---------------- | ----------------------- | ---------------------------------------------------------------------------------------------- |
|
||||
| Wywołanie | polecenie `pi` / RPC | SDK przez `createAgentSession()` |
|
||||
| Narzędzia | domyślne narzędzia coding | niestandardowy zestaw narzędzi OpenClaw |
|
||||
| Prompt systemowy | AGENTS.md + prompty | dynamiczny per kanał/kontekst |
|
||||
| Przechowywanie sesji | `~/.pi/agent/sessions/` | `~/.openclaw/agents/<agentId>/sessions/` (albo `$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/`) |
|
||||
| Auth | pojedyncze poświadczenie | wiele profili z rotacją |
|
||||
| Rozszerzenia | ładowane z dysku | ścieżki programistyczne + dyskowe |
|
||||
| Obsługa zdarzeń | renderowanie TUI | oparta na callbackach (`onBlockReply` itd.) |
|
||||
| Aspekt | CLI Pi | Osadzony OpenClaw |
|
||||
| --------------- | ----------------------- | ------------------------------------------------------------------------------------------------ |
|
||||
| Wywołanie | polecenie `pi` / RPC | SDK przez `createAgentSession()` |
|
||||
| Narzędzia | Domyślne narzędzia kodowania | Niestandardowy zestaw narzędzi OpenClaw |
|
||||
| Prompt systemowy| AGENTS.md + prompty | Dynamiczny dla kanału/kontekstu |
|
||||
| Przechowywanie sesji | `~/.pi/agent/sessions/` | `~/.openclaw/agents/<agentId>/sessions/` (lub `$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/`) |
|
||||
| Uwierzytelnianie| Pojedyncze poświadczenie | Wiele profili z rotacją |
|
||||
| Rozszerzenia | Ładowane z dysku | Programowo + ścieżki dyskowe |
|
||||
| Obsługa zdarzeń | Renderowanie TUI | Oparta na callbackach (`onBlockReply` itd.) |
|
||||
|
||||
## Przyszłe kwestie do rozważenia
|
||||
## Przyszłe rozważania
|
||||
|
||||
Obszary potencjalnych przeróbek:
|
||||
Obszary potencjalnej przebudowy:
|
||||
|
||||
1. **Dopasowanie sygnatur narzędzi**: obecnie zachodzi adaptacja pomiędzy sygnaturami pi-agent-core i pi-coding-agent
|
||||
2. **Owijanie session manager**: `guardSessionManager` dodaje bezpieczeństwo, ale zwiększa złożoność
|
||||
3. **Ładowanie rozszerzeń**: można by używać `ResourceLoader` z Pi bardziej bezpośrednio
|
||||
1. **Dopasowanie sygnatur narzędzi**: Obecnie trwa adaptacja między sygnaturami pi-agent-core i pi-coding-agent
|
||||
2. **Opakowanie menedżera sesji**: `guardSessionManager` zwiększa bezpieczeństwo, ale podnosi złożoność
|
||||
3. **Ładowanie rozszerzeń**: Można byłoby bardziej bezpośrednio używać `ResourceLoader` z Pi
|
||||
4. **Złożoność obsługi strumieniowania**: `subscribeEmbeddedPiSession` znacznie się rozrosło
|
||||
5. **Niuanse providerów**: wiele ścieżek kodu specyficznych dla providerów, które potencjalnie mogłoby obsłużyć samo Pi
|
||||
5. **Specyfika dostawców**: Wiele ścieżek kodu specyficznych dla dostawcy, które Pi mogłoby potencjalnie obsługiwać
|
||||
|
||||
## Testy
|
||||
|
||||
Pokrycie integracji Pi obejmuje te zestawy:
|
||||
Pokrycie integracji Pi obejmuje następujące zestawy:
|
||||
|
||||
- `src/agents/pi-*.test.ts`
|
||||
- `src/agents/pi-auth-json.test.ts`
|
||||
@ -567,13 +565,13 @@ Pokrycie integracji Pi obejmuje te zestawy:
|
||||
- `src/agents/pi-settings.test.ts`
|
||||
- `src/agents/pi-hooks/**/*.test.ts`
|
||||
|
||||
Live/opt-in:
|
||||
Na żywo/opcjonalnie:
|
||||
|
||||
- `src/agents/pi-embedded-runner-extraparams.live.test.ts` (włącz przez `OPENCLAW_LIVE_TEST=1`)
|
||||
- `src/agents/pi-embedded-runner-extraparams.live.test.ts` (włącz `OPENCLAW_LIVE_TEST=1`)
|
||||
|
||||
Aktualne polecenia uruchamiania znajdziesz w [Pi Development Workflow](/pl/pi-dev).
|
||||
Aktualne polecenia uruchamiania znajdziesz w [Przepływ pracy programistycznej Pi](/pl/pi-dev).
|
||||
|
||||
## Powiązane
|
||||
|
||||
- [Pi development workflow](/pl/pi-dev)
|
||||
- [Przepływ pracy programistycznej Pi](/pl/pi-dev)
|
||||
- [Przegląd instalacji](/pl/install)
|
||||
|
||||
@ -1,39 +1,39 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać DeepSeek z OpenClaw
|
||||
- Potrzebujesz zmiennej środowiskowej klucza API lub opcji uwierzytelniania CLI
|
||||
- Potrzebujesz zmiennej środowiskowej klucza API lub opcji uwierzytelniania w CLI
|
||||
summary: Konfiguracja DeepSeek (uwierzytelnianie + wybór modelu)
|
||||
title: DeepSeek
|
||||
x-i18n:
|
||||
generated_at: "2026-04-24T09:27:11Z"
|
||||
generated_at: "2026-04-24T15:22:15Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: ead407c67c05bd8700db1cba36defdd9d47bdc9a071c76a07c4b4fb82f6b80e2
|
||||
source_hash: 5b0d2345c72328e14351d71c5784204dc6ed9dc922f919b6adfac394001c3261
|
||||
source_path: providers/deepseek.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
[DeepSeek](https://www.deepseek.com) udostępnia wydajne modele AI z interfejsem API zgodnym z OpenAI.
|
||||
[DeepSeek](https://www.deepseek.com) udostępnia zaawansowane modele AI z API zgodnym z OpenAI.
|
||||
|
||||
| Właściwość | Wartość |
|
||||
| ---------- | -------------------------- |
|
||||
| Dostawca | `deepseek` |
|
||||
| Uwierzytelnianie | `DEEPSEEK_API_KEY` |
|
||||
| API | Zgodne z OpenAI |
|
||||
| Base URL | `https://api.deepseek.com` |
|
||||
| -------- | -------------------------- |
|
||||
| Dostawca | `deepseek` |
|
||||
| Uwierzytelnianie | `DEEPSEEK_API_KEY` |
|
||||
| API | zgodne z OpenAI |
|
||||
| Bazowy URL | `https://api.deepseek.com` |
|
||||
|
||||
## Pierwsze kroki
|
||||
|
||||
<Steps>
|
||||
<Step title="Uzyskaj klucz API">
|
||||
Utwórz klucz API na stronie [platform.deepseek.com](https://platform.deepseek.com/api_keys).
|
||||
<Step title="Pobierz swój klucz API">
|
||||
Utwórz klucz API na [platform.deepseek.com](https://platform.deepseek.com/api_keys).
|
||||
</Step>
|
||||
<Step title="Uruchom onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice deepseek-api-key
|
||||
```
|
||||
|
||||
Spowoduje to wyświetlenie prośby o podanie klucza API i ustawienie `deepseek/deepseek-chat` jako modelu domyślnego.
|
||||
To poprosi o podanie klucza API i ustawi `deepseek/deepseek-v4-flash` jako model domyślny.
|
||||
|
||||
</Step>
|
||||
<Step title="Sprawdź, czy modele są dostępne">
|
||||
@ -45,7 +45,7 @@ x-i18n:
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Konfiguracja nieinteraktywna">
|
||||
W przypadku instalacji skryptowych lub bezgłowych przekaż wszystkie flagi bezpośrednio:
|
||||
W przypadku instalacji skryptowych lub bezobsługowych przekaż wszystkie flagi bezpośrednio:
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
@ -61,19 +61,23 @@ x-i18n:
|
||||
|
||||
<Warning>
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że `DEEPSEEK_API_KEY`
|
||||
jest dostępne dla tego procesu (na przykład w `~/.openclaw/.env` lub przez
|
||||
jest dostępne dla tego procesu (na przykład w `~/.openclaw/.env` albo przez
|
||||
`env.shellEnv`).
|
||||
</Warning>
|
||||
|
||||
## Wbudowany katalog
|
||||
|
||||
| Odwołanie do modelu | Nazwa | Wejście | Kontekst | Maks. wynik | Uwagi |
|
||||
| --------------------------- | ------------------ | ------- | -------- | ----------- | -------------------------------------------------- |
|
||||
| `deepseek/deepseek-chat` | DeepSeek Chat | text | 131,072 | 8,192 | Model domyślny; powierzchnia bez myślenia DeepSeek V3.2 |
|
||||
| `deepseek/deepseek-reasoner` | DeepSeek Reasoner | text | 131,072 | 65,536 | Powierzchnia DeepSeek V3.2 z obsługą rozumowania |
|
||||
| Odniesienie modelu | Nazwa | Wejście | Kontekst | Maks. wyjście | Uwagi |
|
||||
| ---------------------------- | ----------------- | ----- | --------- | ---------- | ------------------------------------------ |
|
||||
| `deepseek/deepseek-v4-flash` | DeepSeek V4 Flash | text | 1,000,000 | 384,000 | Model domyślny; powierzchnia V4 z obsługą myślenia |
|
||||
| `deepseek/deepseek-v4-pro` | DeepSeek V4 Pro | text | 1,000,000 | 384,000 | Powierzchnia V4 z obsługą myślenia |
|
||||
| `deepseek/deepseek-chat` | DeepSeek Chat | text | 131,072 | 8,192 | Powierzchnia DeepSeek V3.2 bez myślenia |
|
||||
| `deepseek/deepseek-reasoner` | DeepSeek Reasoner | text | 131,072 | 65,536 | Powierzchnia V3.2 z włączonym rozumowaniem |
|
||||
|
||||
<Tip>
|
||||
Oba dołączone modele obecnie deklarują w źródle zgodność z użyciem streamingu.
|
||||
Modele V4 obsługują kontrolkę `thinking` DeepSeek. OpenClaw odtwarza też
|
||||
`reasoning_content` DeepSeek w kolejnych turach, dzięki czemu sesje myślenia z wywołaniami narzędzi
|
||||
mogą być kontynuowane.
|
||||
</Tip>
|
||||
|
||||
## Przykład konfiguracji
|
||||
@ -83,7 +87,7 @@ Oba dołączone modele obecnie deklarują w źródle zgodność z użyciem strea
|
||||
env: { DEEPSEEK_API_KEY: "sk-..." },
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "deepseek/deepseek-chat" },
|
||||
model: { primary: "deepseek/deepseek-v4-flash" },
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -93,9 +97,9 @@ Oba dołączone modele obecnie deklarują w źródle zgodność z użyciem strea
|
||||
|
||||
<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.
|
||||
Wybór dostawców, odniesień modeli i zachowania przełączania awaryjnego.
|
||||
</Card>
|
||||
<Card title="Informacje o konfiguracji" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełne informacje o konfiguracji agentów, modeli i dostawców.
|
||||
<Card title="Dokumentacja konfiguracji" href="/pl/gateway/configuration-reference" icon="gear">
|
||||
Pełna dokumentacja konfiguracji agentów, modeli i dostawców.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -1,24 +1,24 @@
|
||||
---
|
||||
read_when:
|
||||
- Instalowanie lub konfigurowanie Pluginów
|
||||
- Zrozumienie reguł wykrywania i ładowania Pluginów
|
||||
- Praca z pakietami Pluginów zgodnymi z Codex/Claude
|
||||
- Instalowanie lub konfigurowanie pluginów
|
||||
- Zrozumienie zasad wykrywania i ładowania pluginów
|
||||
- Praca z pakietami pluginów zgodnymi z Codex/Claude
|
||||
sidebarTitle: Install and Configure
|
||||
summary: Instalacja, konfiguracja i zarządzanie Pluginami OpenClaw
|
||||
summary: Instaluj, konfiguruj i zarządzaj pluginami OpenClaw
|
||||
title: Pluginy
|
||||
x-i18n:
|
||||
generated_at: "2026-04-24T09:37:38Z"
|
||||
generated_at: "2026-04-24T15:22:20Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 83ab1218d6677ad518a4991ca546d55eed9648e1fa92b76b7433ecd5df569e28
|
||||
source_hash: 947bb7ffc13280fd63f79bb68cb18a37c6614144b91a83afd38e5ac3c5187aed
|
||||
source_path: tools/plugin.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
Pluginy rozszerzają OpenClaw o nowe możliwości: kanały, providery modeli,
|
||||
harnessy agentów, narzędzia, Skills, mowę, transkrypcję realtime, głos realtime,
|
||||
rozumienie mediów, generowanie obrazów, generowanie wideo, web fetch, web
|
||||
search i inne. Niektóre pluginy są **core** (dostarczane z OpenClaw), a inne
|
||||
Pluginy rozszerzają OpenClaw o nowe możliwości: kanały, dostawców modeli,
|
||||
agent harnesses, narzędzia, Skills, mowę, transkrypcję w czasie rzeczywistym, głos
|
||||
w czasie rzeczywistym, rozumienie mediów, generowanie obrazów, generowanie
|
||||
wideo, pobieranie z sieci, wyszukiwanie w sieci i nie tylko. Niektóre pluginy są **core** (dostarczane z OpenClaw), a inne
|
||||
są **zewnętrzne** (publikowane w npm przez społeczność).
|
||||
|
||||
## Szybki start
|
||||
@ -30,7 +30,7 @@ są **zewnętrzne** (publikowane w npm przez społeczność).
|
||||
```
|
||||
</Step>
|
||||
|
||||
<Step title="Zainstaluj Plugin">
|
||||
<Step title="Zainstaluj plugin">
|
||||
```bash
|
||||
# Z npm
|
||||
openclaw plugins install @openclaw/voice-call
|
||||
@ -61,51 +61,51 @@ Jeśli wolisz sterowanie natywne dla czatu, włącz `commands.plugins: true` i u
|
||||
```
|
||||
|
||||
Ścieżka instalacji używa tego samego resolvera co CLI: lokalna ścieżka/archiwum, jawne
|
||||
`clawhub:<pkg>` albo zwykła specyfikacja pakietu (najpierw ClawHub, potem fallback do npm).
|
||||
`clawhub:<pkg>` lub zwykła specyfikacja pakietu (najpierw ClawHub, potem fallback do npm).
|
||||
|
||||
Jeśli konfiguracja jest nieprawidłowa, instalacja zwykle kończy się bezpieczną odmową i wskazuje
|
||||
`openclaw doctor --fix`. Jedynym wyjątkiem odzyskiwania jest wąska ścieżka ponownej instalacji dołączonego Pluginu
|
||||
dla pluginów, które włączają
|
||||
`openclaw doctor --fix`. Jedynym wyjątkiem odzyskiwania jest wąska ścieżka
|
||||
ponownej instalacji pluginu dostarczanego w pakiecie dla pluginów, które korzystają z
|
||||
`openclaw.install.allowInvalidConfigRecovery`.
|
||||
|
||||
Spakowane instalacje OpenClaw nie instalują z wyprzedzeniem całego drzewa zależności runtime każdego dołączonego pluginu.
|
||||
Gdy dołączony Plugin należący do OpenClaw jest aktywny na podstawie konfiguracji pluginu,
|
||||
starszej konfiguracji kanału lub manifestu włączonego domyślnie, uruchomienie
|
||||
naprawia tylko zadeklarowane zależności runtime tego pluginu przed jego zaimportowaniem.
|
||||
Zewnętrzne pluginy i własne ścieżki ładowania nadal muszą być instalowane przez
|
||||
Instalacje OpenClaw dostarczane jako pakiet nie instalują od razu całego drzewa zależności
|
||||
uruchomieniowych każdego dołączonego pluginu. Gdy dołączony plugin należący do OpenClaw jest aktywny przez
|
||||
konfigurację pluginu, starszą konfigurację kanału lub manifest domyślnie włączony,
|
||||
uruchamianie naprawia tylko zadeklarowane zależności uruchomieniowe tego pluginu przed jego importem.
|
||||
Zewnętrzne pluginy i niestandardowe ścieżki ładowania nadal muszą być instalowane przez
|
||||
`openclaw plugins install`.
|
||||
|
||||
## Typy Pluginów
|
||||
## Typy pluginów
|
||||
|
||||
OpenClaw rozpoznaje dwa formaty Pluginów:
|
||||
OpenClaw rozpoznaje dwa formaty pluginów:
|
||||
|
||||
| Format | Jak działa | Przykłady |
|
||||
| ---------- | ---------------------------------------------------------------- | ------------------------------------------------------ |
|
||||
| **Natywny** | `openclaw.plugin.json` + moduł runtime; wykonywany w procesie | Oficjalne Pluginy, pakiety npm społeczności |
|
||||
| **Bundle** | Układ zgodny z Codex/Claude/Cursor; mapowany na funkcje OpenClaw | `.codex-plugin/`, `.claude-plugin/`, `.cursor-plugin/` |
|
||||
| Format | Jak to działa | Przykłady |
|
||||
| ---------- | ------------------------------------------------------------------ | ------------------------------------------------------ |
|
||||
| **Native** | `openclaw.plugin.json` + moduł uruchomieniowy; wykonuje się w procesie | Oficjalne pluginy, pakiety npm społeczności |
|
||||
| **Bundle** | Układ zgodny z Codex/Claude/Cursor; mapowany na funkcje OpenClaw | `.codex-plugin/`, `.claude-plugin/`, `.cursor-plugin/` |
|
||||
|
||||
Oba pojawiają się w `openclaw plugins list`. Szczegóły bundle znajdziesz w [Plugin Bundles](/pl/plugins/bundles).
|
||||
Oba pojawiają się w `openclaw plugins list`. Zobacz [Plugin Bundles](/pl/plugins/bundles), aby poznać szczegóły pakietów.
|
||||
|
||||
Jeśli piszesz natywny Plugin, zacznij od [Building Plugins](/pl/plugins/building-plugins)
|
||||
i [Plugin SDK Overview](/pl/plugins/sdk-overview).
|
||||
Jeśli piszesz natywny plugin, zacznij od [Building Plugins](/pl/plugins/building-plugins)
|
||||
oraz [Plugin SDK Overview](/pl/plugins/sdk-overview).
|
||||
|
||||
## Oficjalne Pluginy
|
||||
## Oficjalne pluginy
|
||||
|
||||
### Instalowalne (npm)
|
||||
|
||||
| Plugin | Pakiet | Dokumentacja |
|
||||
| --------------- | ---------------------- | ------------------------------------ |
|
||||
| Matrix | `@openclaw/matrix` | [Matrix](/pl/channels/matrix) |
|
||||
| Plugin | Pakiet | Dokumentacja |
|
||||
| --------------- | ---------------------- | ----------------------------------- |
|
||||
| Matrix | `@openclaw/matrix` | [Matrix](/pl/channels/matrix) |
|
||||
| Microsoft Teams | `@openclaw/msteams` | [Microsoft Teams](/pl/channels/msteams) |
|
||||
| Nostr | `@openclaw/nostr` | [Nostr](/pl/channels/nostr) |
|
||||
| Voice Call | `@openclaw/voice-call` | [Voice Call](/pl/plugins/voice-call) |
|
||||
| Zalo | `@openclaw/zalo` | [Zalo](/pl/channels/zalo) |
|
||||
| Zalo Personal | `@openclaw/zalouser` | [Zalo Personal](/pl/plugins/zalouser) |
|
||||
| Nostr | `@openclaw/nostr` | [Nostr](/pl/channels/nostr) |
|
||||
| Voice Call | `@openclaw/voice-call` | [Voice Call](/pl/plugins/voice-call) |
|
||||
| Zalo | `@openclaw/zalo` | [Zalo](/pl/channels/zalo) |
|
||||
| Zalo Personal | `@openclaw/zalouser` | [Zalo Personal](/pl/plugins/zalouser) |
|
||||
|
||||
### Core (dostarczane z OpenClaw)
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Providery modeli (włączone domyślnie)">
|
||||
<Accordion title="Dostawcy modeli (domyślnie włączeni)">
|
||||
`anthropic`, `byteplus`, `cloudflare-ai-gateway`, `github-copilot`, `google`,
|
||||
`huggingface`, `kilocode`, `kimi-coding`, `minimax`, `mistral`, `qwen`,
|
||||
`moonshot`, `nvidia`, `openai`, `opencode`, `opencode-go`, `openrouter`,
|
||||
@ -118,17 +118,17 @@ i [Plugin SDK Overview](/pl/plugins/sdk-overview).
|
||||
- `memory-lancedb` — instalowana na żądanie pamięć długoterminowa z automatycznym przywoływaniem/przechwytywaniem (ustaw `plugins.slots.memory = "memory-lancedb"`)
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Providery mowy (włączone domyślnie)">
|
||||
<Accordion title="Dostawcy mowy (domyślnie włączeni)">
|
||||
`elevenlabs`, `microsoft`
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Inne">
|
||||
- `browser` — dołączony Plugin przeglądarki dla narzędzia browser, CLI `openclaw browser`, metody gateway `browser.request`, runtime przeglądarki i domyślnej usługi sterowania przeglądarką (włączony domyślnie; wyłącz go przed zastąpieniem)
|
||||
- `browser` — dołączony plugin przeglądarki dla narzędzia browser, CLI `openclaw browser`, metody Gateway `browser.request`, środowiska uruchomieniowego przeglądarki i domyślnej usługi sterowania przeglądarką (domyślnie włączony; wyłącz go przed zastąpieniem)
|
||||
- `copilot-proxy` — most VS Code Copilot Proxy (domyślnie wyłączony)
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
Szukasz Pluginów firm trzecich? Zobacz [Community Plugins](/pl/plugins/community).
|
||||
Szukasz pluginów firm trzecich? Zobacz [Community Plugins](/pl/plugins/community).
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
@ -149,70 +149,103 @@ Szukasz Pluginów firm trzecich? Zobacz [Community Plugins](/pl/plugins/communit
|
||||
| Pole | Opis |
|
||||
| ---------------- | --------------------------------------------------------- |
|
||||
| `enabled` | Główny przełącznik (domyślnie: `true`) |
|
||||
| `allow` | Lista dozwolonych Pluginów (opcjonalnie) |
|
||||
| `deny` | Lista zablokowanych Pluginów (opcjonalnie; deny ma pierwszeństwo) |
|
||||
| `load.paths` | Dodatkowe pliki/katalogi Pluginów |
|
||||
| `allow` | Lista dozwolonych pluginów (opcjonalnie) |
|
||||
| `deny` | Lista zablokowanych pluginów (opcjonalnie; `deny` wygrywa) |
|
||||
| `load.paths` | Dodatkowe pliki/katalogi pluginów |
|
||||
| `slots` | Selektory wyłącznych slotów (np. `memory`, `contextEngine`) |
|
||||
| `entries.\<id\>` | Przełączniki i konfiguracja per Plugin |
|
||||
| `entries.\<id\>` | Przełączniki i konfiguracja dla poszczególnych pluginów |
|
||||
|
||||
Zmiany konfiguracji **wymagają restartu gateway**. Jeśli Gateway działa z obserwacją konfiguracji
|
||||
i włączonym restartem w procesie (domyślna ścieżka `openclaw gateway`), ten
|
||||
restart zwykle jest wykonywany automatycznie chwilę po zapisaniu konfiguracji.
|
||||
Zmiany konfiguracji **wymagają ponownego uruchomienia Gateway**. Jeśli Gateway działa z
|
||||
obserwowaniem konfiguracji i włączonym restartem w procesie (domyślna ścieżka `openclaw gateway`),
|
||||
to ponowne uruchomienie jest zwykle wykonywane automatycznie chwilę po zapisaniu konfiguracji.
|
||||
Nie ma obsługiwanej ścieżki hot-reload dla natywnego kodu uruchomieniowego pluginów ani hooków
|
||||
cyklu życia; uruchom ponownie proces Gateway, który obsługuje aktywny kanał, zanim
|
||||
zaczniesz oczekiwać, że zaktualizowany kod `register(api)`, hooki `api.on(...)`, narzędzia, usługi lub
|
||||
hooki dostawcy/środowiska uruchomieniowego zaczną działać.
|
||||
|
||||
<Accordion title="Stany Pluginu: disabled vs missing vs invalid">
|
||||
- **Disabled**: plugin istnieje, ale reguły włączania go wyłączyły. Konfiguracja zostaje zachowana.
|
||||
- **Missing**: konfiguracja odwołuje się do identyfikatora pluginu, którego wykrywanie nie znalazło.
|
||||
- **Invalid**: plugin istnieje, ale jego konfiguracja nie pasuje do zadeklarowanego schematu.
|
||||
`openclaw plugins list` to lokalny snapshot CLI/konfiguracji. Plugin oznaczony tam jako `loaded`
|
||||
oznacza, że plugin można wykryć i załadować z konfiguracji/plików widocznych dla
|
||||
tego wywołania CLI. Nie dowodzi to, że już działający zdalny proces potomny Gateway
|
||||
został ponownie uruchomiony do tego samego kodu pluginu. W konfiguracjach VPS/kontenerów z procesami
|
||||
opakowującymi wysyłaj restarty do właściwego procesu `openclaw gateway run` lub użyj
|
||||
`openclaw gateway restart` wobec działającego Gateway.
|
||||
|
||||
<Accordion title="Stany pluginu: wyłączony vs brakujący vs nieprawidłowy">
|
||||
- **Wyłączony**: plugin istnieje, ale reguły włączania go wyłączyły. Konfiguracja jest zachowywana.
|
||||
- **Brakujący**: konfiguracja odwołuje się do identyfikatora pluginu, którego wykrywanie nie znalazło.
|
||||
- **Nieprawidłowy**: plugin istnieje, ale jego konfiguracja nie odpowiada zadeklarowanemu schematowi.
|
||||
</Accordion>
|
||||
|
||||
## Wykrywanie i priorytet
|
||||
## Wykrywanie i pierwszeństwo
|
||||
|
||||
OpenClaw skanuje Pluginy w tej kolejności (pierwsze dopasowanie wygrywa):
|
||||
OpenClaw skanuje pluginy w tej kolejności (pierwsze dopasowanie wygrywa):
|
||||
|
||||
<Steps>
|
||||
<Step title="Ścieżki konfiguracji">
|
||||
`plugins.load.paths` — jawne ścieżki plików lub katalogów.
|
||||
`plugins.load.paths` — jawne ścieżki do pliku lub katalogu.
|
||||
</Step>
|
||||
|
||||
<Step title="Pluginy workspace">
|
||||
`\<workspace\>/.openclaw/<plugin-root>/*.ts` i `\<workspace\>/.openclaw/<plugin-root>/*/index.ts`.
|
||||
</Step>
|
||||
|
||||
<Step title="Globalne Pluginy">
|
||||
<Step title="Globalne pluginy">
|
||||
`~/.openclaw/<plugin-root>/*.ts` i `~/.openclaw/<plugin-root>/*/index.ts`.
|
||||
</Step>
|
||||
|
||||
<Step title="Dołączone Pluginy">
|
||||
Dostarczane z OpenClaw. Wiele z nich jest włączonych domyślnie (providery modeli, mowa).
|
||||
<Step title="Dołączone pluginy">
|
||||
Dostarczane z OpenClaw. Wiele z nich jest domyślnie włączonych (dostawcy modeli, mowa).
|
||||
Inne wymagają jawnego włączenia.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
### Reguły włączania
|
||||
|
||||
- `plugins.enabled: false` wyłącza wszystkie Pluginy
|
||||
- `plugins.deny` zawsze ma pierwszeństwo nad allow
|
||||
- `plugins.entries.\<id\>.enabled: false` wyłącza ten Plugin
|
||||
- Pluginy pochodzące z workspace są **domyślnie wyłączone** (muszą być jawnie włączone)
|
||||
- Dołączone Pluginy stosują wbudowany zestaw domyślnie włączonych, chyba że zostanie nadpisany
|
||||
- Wyłączne sloty mogą wymusić włączenie wybranego Pluginu dla tego slotu
|
||||
- Niektóre dołączone pluginy typu opt-in są włączane automatycznie, gdy konfiguracja wskazuje
|
||||
powierzchnię należącą do pluginu, taką jak odwołanie do modelu providera, konfiguracja kanału lub runtime harnessu
|
||||
- Trasy Codex z rodziny OpenAI zachowują osobne granice pluginów:
|
||||
`openai-codex/*` należy do Pluginu OpenAI, podczas gdy dołączony Plugin
|
||||
- `plugins.enabled: false` wyłącza wszystkie pluginy
|
||||
- `plugins.deny` zawsze wygrywa nad allow
|
||||
- `plugins.entries.\<id\>.enabled: false` wyłącza ten plugin
|
||||
- Pluginy pochodzące z workspace są **domyślnie wyłączone** (muszą zostać jawnie włączone)
|
||||
- Dołączone pluginy stosują wbudowany domyślny zestaw włączonych, chyba że zostanie nadpisany
|
||||
- Wyłączne sloty mogą wymusić włączenie pluginu wybranego dla tego slotu
|
||||
- Niektóre dołączone pluginy opt-in są włączane automatycznie, gdy konfiguracja wskazuje
|
||||
powierzchnię należącą do pluginu, taką jak odwołanie do modelu dostawcy, konfiguracja kanału lub
|
||||
środowisko uruchomieniowe harness
|
||||
- Trasy Codex z rodziny OpenAI zachowują oddzielne granice pluginów:
|
||||
`openai-codex/*` należy do pluginu OpenAI, podczas gdy dołączony plugin
|
||||
serwera aplikacji Codex jest wybierany przez `embeddedHarness.runtime: "codex"` lub starsze
|
||||
odwołania do modeli `codex/*`
|
||||
|
||||
## Sloty Pluginów (wyłączne kategorie)
|
||||
## Rozwiązywanie problemów z Runtime Hooks
|
||||
|
||||
Niektóre kategorie są wyłączne (tylko jedna może być aktywna jednocześnie):
|
||||
Jeśli plugin pojawia się w `plugins list`, ale efekty uboczne `register(api)` lub hooki
|
||||
nie działają w aktywnym ruchu czatu, sprawdź najpierw te elementy:
|
||||
|
||||
- Uruchom `openclaw gateway status --deep --require-rpc` i potwierdź, że aktywny
|
||||
URL Gateway, profil, ścieżka konfiguracji i proces to te, które edytujesz.
|
||||
- Uruchom ponownie aktywny Gateway po zmianach instalacji/konfiguracji/kodu pluginu. W kontenerach
|
||||
opakowujących PID 1 może być tylko supervisorem; uruchom ponownie lub wyślij sygnał do potomnego
|
||||
procesu `openclaw gateway run`.
|
||||
- Użyj `openclaw plugins inspect <id> --json`, aby potwierdzić rejestracje hooków i
|
||||
diagnostykę. Niedołączone hooki konwersacji, takie jak `llm_input`,
|
||||
`llm_output` i `agent_end`, wymagają
|
||||
`plugins.entries.<id>.hooks.allowConversationAccess=true`.
|
||||
- Do przełączania modeli preferuj `before_model_resolve`. Uruchamia się przed
|
||||
rozstrzygnięciem modelu dla tur agenta; `llm_output` uruchamia się dopiero po tym, jak próba modelu
|
||||
wygeneruje odpowiedź asystenta.
|
||||
- Aby uzyskać dowód skutecznego modelu sesji, użyj `openclaw sessions` lub
|
||||
powierzchni sesji/statusu Gateway, a podczas debugowania ładunków dostawcy uruchom
|
||||
Gateway z `--raw-stream --raw-stream-path <path>`.
|
||||
|
||||
## Sloty pluginów (wyłączne kategorie)
|
||||
|
||||
Niektóre kategorie są wyłączne (w danym czasie aktywna może być tylko jedna):
|
||||
|
||||
```json5
|
||||
{
|
||||
plugins: {
|
||||
slots: {
|
||||
memory: "memory-core", // lub "none", aby wyłączyć
|
||||
contextEngine: "legacy", // lub identyfikator pluginu
|
||||
contextEngine: "legacy", // lub id pluginu
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -220,18 +253,18 @@ Niektóre kategorie są wyłączne (tylko jedna może być aktywna jednocześnie
|
||||
|
||||
| Slot | Co kontroluje | Domyślnie |
|
||||
| --------------- | ---------------------- | ------------------- |
|
||||
| `memory` | Aktywny Plugin pamięci | `memory-core` |
|
||||
| `memory` | Aktywny plugin pamięci | `memory-core` |
|
||||
| `contextEngine` | Aktywny silnik kontekstu | `legacy` (wbudowany) |
|
||||
|
||||
## Dokumentacja referencyjna CLI
|
||||
## Dokumentacja CLI
|
||||
|
||||
```bash
|
||||
openclaw plugins list # zwięzły spis
|
||||
openclaw plugins list --enabled # tylko załadowane Pluginy
|
||||
openclaw plugins list --verbose # szczegółowe wiersze per Plugin
|
||||
openclaw plugins list --json # spis czytelny maszynowo
|
||||
openclaw plugins inspect <id> # pełne szczegóły
|
||||
openclaw plugins inspect <id> --json # format czytelny maszynowo
|
||||
openclaw plugins list # zwarta lista zasobów
|
||||
openclaw plugins list --enabled # tylko załadowane pluginy
|
||||
openclaw plugins list --verbose # wiersze ze szczegółami dla każdego pluginu
|
||||
openclaw plugins list --json # lista zasobów do odczytu maszynowego
|
||||
openclaw plugins inspect <id> # szczegóły szczegółowe
|
||||
openclaw plugins inspect <id> --json # format do odczytu maszynowego
|
||||
openclaw plugins inspect --all # tabela dla całej floty
|
||||
openclaw plugins info <id> # alias inspect
|
||||
openclaw plugins doctor # diagnostyka
|
||||
@ -240,15 +273,15 @@ openclaw plugins install <package> # instalacja (najpierw ClawHub, potem
|
||||
openclaw plugins install clawhub:<pkg> # instalacja tylko z ClawHub
|
||||
openclaw plugins install <spec> --force # nadpisanie istniejącej instalacji
|
||||
openclaw plugins install <path> # instalacja z lokalnej ścieżki
|
||||
openclaw plugins install -l <path> # linkowanie (bez kopiowania) do dev
|
||||
openclaw plugins install -l <path> # linkowanie (bez kopiowania) do celów deweloperskich
|
||||
openclaw plugins install <plugin> --marketplace <source>
|
||||
openclaw plugins install <plugin> --marketplace https://github.com/<owner>/<repo>
|
||||
openclaw plugins install <spec> --pin # zapis dokładnie rozpoznanej specyfikacji npm
|
||||
openclaw plugins install <spec> --pin # zapisanie dokładnej rozstrzygniętej specyfikacji npm
|
||||
openclaw plugins install <spec> --dangerously-force-unsafe-install
|
||||
openclaw plugins update <id-or-npm-spec> # aktualizacja jednego Pluginu
|
||||
openclaw plugins update <id-or-npm-spec> # aktualizacja jednego pluginu
|
||||
openclaw plugins update <id-or-npm-spec> --dangerously-force-unsafe-install
|
||||
openclaw plugins update --all # aktualizacja wszystkich
|
||||
openclaw plugins uninstall <id> # usunięcie konfiguracji/rejestrów instalacji
|
||||
openclaw plugins uninstall <id> # usunięcie rekordów konfiguracji/instalacji
|
||||
openclaw plugins uninstall <id> --keep-files
|
||||
openclaw plugins marketplace list <source>
|
||||
openclaw plugins marketplace list <source> --json
|
||||
@ -257,54 +290,57 @@ openclaw plugins enable <id>
|
||||
openclaw plugins disable <id>
|
||||
```
|
||||
|
||||
Dołączone Pluginy są dostarczane z OpenClaw. Wiele z nich jest włączonych domyślnie (na przykład
|
||||
dołączone providery modeli, dołączone providery mowy oraz dołączony Plugin
|
||||
przeglądarki). Inne dołączone Pluginy nadal wymagają `openclaw plugins enable <id>`.
|
||||
Dołączone pluginy są dostarczane z OpenClaw. Wiele z nich jest domyślnie włączonych (na przykład
|
||||
dołączoni dostawcy modeli, dołączoni dostawcy mowy oraz dołączony plugin
|
||||
browser). Inne dołączone pluginy nadal wymagają `openclaw plugins enable <id>`.
|
||||
|
||||
`--force` nadpisuje istniejący zainstalowany Plugin lub pakiet hooków w miejscu. Używaj
|
||||
`openclaw plugins update <id-or-npm-spec>` do rutynowych aktualizacji śledzonych pluginów npm.
|
||||
Nie jest to obsługiwane z `--link`, które ponownie używa ścieżki źródłowej zamiast
|
||||
kopiować do zarządzanego celu instalacji.
|
||||
`--force` nadpisuje istniejący zainstalowany plugin lub pakiet hooków na miejscu. Do
|
||||
rutynowych aktualizacji śledzonych pluginów npm używaj
|
||||
`openclaw plugins update <id-or-npm-spec>`. Ta opcja nie jest obsługiwana z `--link`, które ponownie używa ścieżki źródłowej zamiast
|
||||
kopiowania do zarządzanego celu instalacji.
|
||||
|
||||
Gdy `plugins.allow` jest już ustawione, `openclaw plugins install` dodaje
|
||||
identyfikator zainstalowanego pluginu do tej listy dozwolonych przed jego włączeniem, dzięki czemu instalacje są
|
||||
natychmiast gotowe do załadowania po restarcie.
|
||||
natychmiast możliwe do załadowania po restarcie.
|
||||
|
||||
`openclaw plugins update <id-or-npm-spec>` dotyczy śledzonych instalacji. Przekazanie
|
||||
specyfikacji pakietu npm z dist-tag lub dokładną wersją rozpoznaje nazwę pakietu
|
||||
z powrotem do śledzonego rekordu pluginu i zapisuje nową specyfikację dla przyszłych aktualizacji.
|
||||
Przekazanie nazwy pakietu bez wersji przenosi instalację przypiętą do dokładnej wersji z powrotem na
|
||||
domyślną linię wydań rejestru. Jeśli zainstalowany Plugin npm już odpowiada
|
||||
rozpoznanej wersji i zapisanej tożsamości artefaktu, OpenClaw pomija aktualizację
|
||||
specyfikacji pakietu npm z dist-tag lub dokładną wersją rozwiązuje nazwę pakietu
|
||||
z powrotem do śledzonego rekordu pluginu i zapisuje nową specyfikację do przyszłych aktualizacji.
|
||||
Przekazanie nazwy pakietu bez wersji przenosi dokładnie przypiętą instalację z powrotem na
|
||||
domyślną linię wydań rejestru. Jeśli zainstalowany plugin npm już odpowiada
|
||||
rozwiązanej wersji i zapisanej tożsamości artefaktu, OpenClaw pomija aktualizację
|
||||
bez pobierania, ponownej instalacji ani przepisywania konfiguracji.
|
||||
|
||||
`--pin` dotyczy tylko npm. Nie jest obsługiwane z `--marketplace`, ponieważ
|
||||
instalacje z marketplace zapisują metadane źródła marketplace zamiast specyfikacji npm.
|
||||
instalacje z marketplace zachowują metadane źródła marketplace zamiast specyfikacji npm.
|
||||
|
||||
`--dangerously-force-unsafe-install` to awaryjne nadpisanie dla fałszywych
|
||||
pozytywów z wbudowanego skanera niebezpiecznego kodu. Pozwala kontynuować instalacje i aktualizacje pluginów
|
||||
mimo wbudowanych ustaleń `critical`, ale nadal nie omija blokad polityki pluginu `before_install`
|
||||
ani blokowania przy błędzie skanowania.
|
||||
`--dangerously-force-unsafe-install` to awaryjne obejście typu break-glass dla fałszywie
|
||||
pozytywnych wyników wbudowanego skanera niebezpiecznego kodu. Pozwala kontynuować instalacje pluginów
|
||||
i aktualizacje pluginów mimo wbudowanych ustaleń `critical`, ale nadal
|
||||
nie omija blokad zasad pluginu `before_install` ani blokowania przy błędzie skanowania.
|
||||
|
||||
Ta flaga CLI dotyczy tylko przepływów instalacji/aktualizacji pluginów. Instalacje zależności Skills wykonywane przez Gateway używają zamiast tego odpowiadającego nadpisania żądania `dangerouslyForceUnsafeInstall`, natomiast `openclaw skills install` pozostaje osobnym przepływem pobierania/instalacji Skills z ClawHub.
|
||||
Ta flaga CLI dotyczy tylko przepływów instalacji/aktualizacji pluginów. Instalacje zależności Skills
|
||||
realizowane przez Gateway używają zamiast tego odpowiadającego nadpisania żądania
|
||||
`dangerouslyForceUnsafeInstall`, podczas gdy `openclaw skills install` pozostaje oddzielnym przepływem
|
||||
pobierania/instalacji Skills z ClawHub.
|
||||
|
||||
Zgodne bundle uczestniczą w tym samym przepływie `list`/`inspect`/`enable`/`disable`
|
||||
dla Pluginów. Obecna obsługa runtime obejmuje bundle Skills, Claude command-skills,
|
||||
domyślne ustawienia Claude `settings.json`, domyślne ustawienia Claude `.lsp.json` i zadeklarowane w manifeście
|
||||
Zgodne pakiety uczestniczą w tym samym przepływie list/inspect/enable/disable pluginów.
|
||||
Obecna obsługa uruchomieniowa obejmuje bundle Skills, Claude command-skills,
|
||||
domyślne ustawienia Claude `settings.json`, domyślne wpisy Claude `.lsp.json` i deklarowane w manifeście
|
||||
`lspServers`, Cursor command-skills oraz zgodne katalogi hooków Codex.
|
||||
|
||||
`openclaw plugins inspect <id>` raportuje również wykryte możliwości bundle oraz
|
||||
obsługiwane lub nieobsługiwane wpisy serwerów MCP i LSP dla pluginów opartych na bundle.
|
||||
`openclaw plugins inspect <id>` raportuje również wykryte możliwości pakietu oraz
|
||||
obsługiwane lub nieobsługiwane wpisy serwerów MCP i LSP dla pluginów opartych na pakietach.
|
||||
|
||||
Źródła marketplace mogą być nazwą znanego marketplace Claude z
|
||||
`~/.claude/plugins/known_marketplaces.json`, lokalnym katalogiem marketplace lub ścieżką
|
||||
`marketplace.json`, skrótem GitHub takim jak `owner/repo`, URL repozytorium GitHub
|
||||
albo URL git. W przypadku zdalnych marketplace wpisy pluginów muszą pozostać w
|
||||
sklonowanym repozytorium marketplace i używać wyłącznie względnych źródeł ścieżek.
|
||||
`~/.claude/plugins/known_marketplaces.json`, lokalnym katalogiem głównym marketplace lub
|
||||
ścieżką `marketplace.json`, skrótem GitHub takim jak `owner/repo`, adresem URL repozytorium GitHub
|
||||
albo adresem URL git. W przypadku zdalnych marketplace wpisy pluginów muszą pozostać wewnątrz
|
||||
sklonowanego repozytorium marketplace i używać wyłącznie względnych źródeł ścieżek.
|
||||
|
||||
Pełne szczegóły znajdziesz w [dokumentacji referencyjnej CLI `openclaw plugins`](/pl/cli/plugins).
|
||||
Pełne szczegóły znajdziesz w [dokumentacji CLI `openclaw plugins`](/pl/cli/plugins).
|
||||
|
||||
## Przegląd API Pluginów
|
||||
## Przegląd API pluginów
|
||||
|
||||
Natywne pluginy eksportują obiekt wejściowy, który udostępnia `register(api)`. Starsze
|
||||
pluginy mogą nadal używać `activate(api)` jako starszego aliasu, ale nowe pluginy powinny
|
||||
@ -329,47 +365,48 @@ export default definePluginEntry({
|
||||
```
|
||||
|
||||
OpenClaw ładuje obiekt wejściowy i wywołuje `register(api)` podczas aktywacji
|
||||
pluginu. Loader nadal przełącza się awaryjnie na `activate(api)` dla starszych pluginów,
|
||||
ale dołączone pluginy i nowe pluginy zewnętrzne powinny traktować `register` jako publiczny kontrakt.
|
||||
pluginu. Loader nadal wraca do `activate(api)` dla starszych pluginów,
|
||||
ale dołączone pluginy i nowe zewnętrzne pluginy powinny traktować `register` jako
|
||||
publiczny kontrakt.
|
||||
|
||||
Typowe metody rejestracji:
|
||||
|
||||
| Metoda | Co rejestruje |
|
||||
| --------------------------------------- | --------------------------- |
|
||||
| `registerProvider` | Provider modelu (LLM) |
|
||||
| `registerProvider` | Dostawca modeli (LLM) |
|
||||
| `registerChannel` | Kanał czatu |
|
||||
| `registerTool` | Narzędzie agenta |
|
||||
| `registerHook` / `on(...)` | Hooki cyklu życia |
|
||||
| `registerSpeechProvider` | Text-to-speech / STT |
|
||||
| `registerRealtimeTranscriptionProvider` | Streaming STT |
|
||||
| `registerRealtimeVoiceProvider` | Dwukierunkowy głos realtime |
|
||||
| `registerSpeechProvider` | Zamiana tekstu na mowę / STT |
|
||||
| `registerRealtimeTranscriptionProvider` | Strumieniowe STT |
|
||||
| `registerRealtimeVoiceProvider` | Dwukierunkowy głos w czasie rzeczywistym |
|
||||
| `registerMediaUnderstandingProvider` | Analiza obrazu/dźwięku |
|
||||
| `registerImageGenerationProvider` | Generowanie obrazów |
|
||||
| `registerMusicGenerationProvider` | Generowanie muzyki |
|
||||
| `registerVideoGenerationProvider` | Generowanie wideo |
|
||||
| `registerWebFetchProvider` | Provider web fetch / scrape |
|
||||
| `registerWebSearchProvider` | Web search |
|
||||
| `registerHttpRoute` | Endpoint HTTP |
|
||||
| `registerCommand` / `registerCli` | Polecenia CLI |
|
||||
| `registerWebFetchProvider` | Dostawca pobierania / scrapowania z sieci |
|
||||
| `registerWebSearchProvider` | Wyszukiwanie w sieci |
|
||||
| `registerHttpRoute` | Punkt końcowy HTTP |
|
||||
| `registerCommand` / `registerCli` | Polecenia CLI |
|
||||
| `registerContextEngine` | Silnik kontekstu |
|
||||
| `registerService` | Usługa działająca w tle |
|
||||
|
||||
Zachowanie hook guard dla typowanych hooków cyklu życia:
|
||||
Zachowanie strażników hooków dla typowanych hooków cyklu życia:
|
||||
|
||||
- `before_tool_call`: `{ block: true }` jest końcowe; handlery o niższym priorytecie są pomijane.
|
||||
- `before_tool_call`: `{ block: true }` jest terminalne; handlery o niższym priorytecie są pomijane.
|
||||
- `before_tool_call`: `{ block: false }` nic nie robi i nie usuwa wcześniejszej blokady.
|
||||
- `before_install`: `{ block: true }` jest końcowe; handlery o niższym priorytecie są pomijane.
|
||||
- `before_install`: `{ block: true }` jest terminalne; handlery o niższym priorytecie są pomijane.
|
||||
- `before_install`: `{ block: false }` nic nie robi i nie usuwa wcześniejszej blokady.
|
||||
- `message_sending`: `{ cancel: true }` jest końcowe; handlery o niższym priorytecie są pomijane.
|
||||
- `message_sending`: `{ cancel: true }` jest terminalne; handlery o niższym priorytecie są pomijane.
|
||||
- `message_sending`: `{ cancel: false }` nic nie robi i nie usuwa wcześniejszego anulowania.
|
||||
|
||||
Pełne zachowanie typowanych hooków znajdziesz w [SDK Overview](/pl/plugins/sdk-overview#hook-decision-semantics).
|
||||
Pełne informacje o zachowaniu typowanych hooków znajdziesz w [SDK Overview](/pl/plugins/sdk-overview#hook-decision-semantics).
|
||||
|
||||
## Powiązane
|
||||
|
||||
- [Building Plugins](/pl/plugins/building-plugins) — utwórz własny Plugin
|
||||
- [Plugin Bundles](/pl/plugins/bundles) — zgodność bundle Codex/Claude/Cursor
|
||||
- [Building Plugins](/pl/plugins/building-plugins) — utwórz własny plugin
|
||||
- [Plugin Bundles](/pl/plugins/bundles) — zgodność pakietów Codex/Claude/Cursor
|
||||
- [Plugin Manifest](/pl/plugins/manifest) — schemat manifestu
|
||||
- [Registering Tools](/pl/plugins/building-plugins#registering-agent-tools) — dodawanie narzędzi agenta w Pluginie
|
||||
- [Registering Tools](/pl/plugins/building-plugins#registering-agent-tools) — dodawanie narzędzi agenta w pluginie
|
||||
- [Plugin Internals](/pl/plugins/architecture) — model możliwości i pipeline ładowania
|
||||
- [Community Plugins](/pl/plugins/community) — listy Pluginów firm trzecich
|
||||
- [Community Plugins](/pl/plugins/community) — listy pluginów firm trzecich
|
||||
|
||||
Loading…
Reference in New Issue
Block a user