chore(i18n): refresh pl translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-06 09:50:58 +00:00
parent 868e6002af
commit 4ce94be648
8 changed files with 1687 additions and 1545 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,30 +1,30 @@
---
read_when:
- Konfigurowanie Slack lub debugowanie trybu socket/HTTP w Slack
summary: Konfiguracja Slack i zachowanie środowiska uruchomieniowego (Socket Mode + HTTP Events API)
- Konfigurowanie Slack lub debugowanie trybu Slack socket/HTTP
summary: Konfiguracja Slack i zachowanie w czasie działania (Socket Mode + adresy URL żądań HTTP)
title: Slack
x-i18n:
generated_at: "2026-04-06T03:07:09Z"
generated_at: "2026-04-06T09:46:36Z"
model: gpt-5.4
provider: openai
source_hash: 7e4ff2ce7d92276d62f4f3d3693ddb56ca163d5fdc2f1082ff7ba3421fada69c
source_hash: 11571e7e10cfbf4de91dc1b1ed6582cd94afdcf6c3356fdd3ccc770096c6dd31
source_path: channels/slack.md
workflow: 15
---
# Slack
Status: gotowe do użycia produkcyjnego dla wiadomości prywatnych i kanałów przez integracje aplikacji Slack. Domyślnym trybem jest Socket Mode; tryb HTTP Events API również jest obsługiwany.
Status: gotowe do użycia produkcyjnego dla DM-ów i kanałów przez integracje aplikacji Slack. Domyślnym trybem jest Socket Mode; obsługiwane są również adresy URL żądań HTTP.
<CardGroup cols={3}>
<Card title="Parowanie" icon="link" href="/pl/channels/pairing">
Wiadomości prywatne Slack domyślnie używają trybu parowania.
DM-y Slack domyślnie działają w trybie parowania.
</Card>
<Card title="Polecenia slash" icon="terminal" href="/pl/tools/slash-commands">
Natywne zachowanie poleceń i katalog poleceń.
</Card>
<Card title="Rozwiązywanie problemów z kanałami" icon="wrench" href="/pl/channels/troubleshooting">
Diagnostyka międzykanałowa i instrukcje naprawy.
Diagnostyka międzykanałowa i procedury naprawcze.
</Card>
</CardGroup>
@ -33,12 +33,13 @@ Status: gotowe do użycia produkcyjnego dla wiadomości prywatnych i kanałów p
<Tabs>
<Tab title="Socket Mode (domyślnie)">
<Steps>
<Step title="Utwórz aplikację Slack i tokeny">
W ustawieniach aplikacji Slack:
<Step title="Utwórz nową aplikację Slack">
W ustawieniach aplikacji Slack naciśnij przycisk **[Create New App](https://api.slack.com/apps/new)**:
- włącz **Socket Mode**
- utwórz **App Token** (`xapp-...`) z uprawnieniem `connections:write`
- zainstaluj aplikację i skopiuj **Bot Token** (`xoxb-...`)
- wybierz **from a manifest** i wybierz obszar roboczy dla swojej aplikacji
- wklej [przykładowy manifest](#manifest-and-scope-checklist) z sekcji poniżej i kontynuuj tworzenie
- wygeneruj **App-Level Token** (`xapp-...`) z uprawnieniem `connections:write`
- zainstaluj aplikację i skopiuj wyświetlony **Bot Token** (`xoxb-...`)
</Step>
<Step title="Skonfiguruj OpenClaw">
@ -56,7 +57,7 @@ Status: gotowe do użycia produkcyjnego dla wiadomości prywatnych i kanałów p
}
```
Zmienna środowiskowa jako awaryjne źródło wartości (tylko konto domyślne):
Zmienna środowiskowa jako zapasowa konfiguracja (tylko konto domyślne):
```bash
SLACK_APP_TOKEN=xapp-...
@ -65,19 +66,6 @@ SLACK_BOT_TOKEN=xoxb-...
</Step>
<Step title="Subskrybuj zdarzenia aplikacji">
Subskrybuj zdarzenia bota dla:
- `app_mention`
- `message.channels`, `message.groups`, `message.im`, `message.mpim`
- `reaction_added`, `reaction_removed`
- `member_joined_channel`, `member_left_channel`
- `channel_rename`
- `pin_added`, `pin_removed`
Włącz także kartę **Messages Tab** w App Home dla wiadomości prywatnych.
</Step>
<Step title="Uruchom gateway">
```bash
@ -89,17 +77,19 @@ openclaw gateway
</Tab>
<Tab title="Tryb HTTP Events API">
<Tab title="Adresy URL żądań HTTP">
<Steps>
<Step title="Skonfiguruj aplikację Slack dla HTTP">
<Step title="Utwórz nową aplikację Slack">
W ustawieniach aplikacji Slack naciśnij przycisk **[Create New App](https://api.slack.com/apps/new)**:
- ustaw tryb na HTTP (`channels.slack.mode="http"`)
- skopiuj **Signing Secret** Slack
- ustaw Request URL dla Event Subscriptions, Interactivity i polecenia Slash na tę samą ścieżkę webhooka (domyślnie `/slack/events`)
- wybierz **from a manifest** i wybierz obszar roboczy dla swojej aplikacji
- wklej [przykładowy manifest](#manifest-and-scope-checklist) i zaktualizuj adresy URL przed utworzeniem
- zapisz **Signing Secret** do weryfikacji żądań
- zainstaluj aplikację i skopiuj wyświetlony **Bot Token** (`xoxb-...`)
</Step>
<Step title="Skonfiguruj tryb HTTP w OpenClaw">
<Step title="Skonfiguruj OpenClaw">
```json5
{
@ -115,12 +105,20 @@ openclaw gateway
}
```
<Note>
Używaj unikalnych ścieżek webhook dla wielu kont HTTP
Nadaj każdemu kontu odrębny `webhookPath` (domyślnie `/slack/events`), aby rejestracje się nie kolidowały.
</Note>
</Step>
<Step title="Używaj unikalnych ścieżek webhooka dla wielu kont">
Tryb HTTP dla wielu kont jest obsługiwany.
<Step title="Uruchom gateway">
```bash
openclaw gateway
```
Nadaj każdemu kontu odrębny `webhookPath`, aby rejestracje nie kolidowały ze sobą.
</Step>
</Steps>
@ -129,8 +127,8 @@ openclaw gateway
## Lista kontrolna manifestu i zakresów
<AccordionGroup>
<Accordion title="Przykład manifestu aplikacji Slack" defaultOpen>
<Tabs>
<Tab title="Socket Mode (domyślnie)">
```json
{
@ -205,8 +203,99 @@ openclaw gateway
}
```
</Accordion>
</Tab>
<Tab title="Adresy URL żądań HTTP">
```json
{
"display_information": {
"name": "OpenClaw",
"description": "Slack connector for OpenClaw"
},
"features": {
"bot_user": {
"display_name": "OpenClaw",
"always_online": true
},
"app_home": {
"messages_tab_enabled": true,
"messages_tab_read_only_enabled": false
},
"slash_commands": [
{
"command": "/openclaw",
"description": "Send a message to OpenClaw",
"should_escape": false,
"url": "https://gateway-host.example.com/slack/events"
}
]
},
"oauth_config": {
"scopes": {
"bot": [
"app_mentions:read",
"assistant:write",
"channels:history",
"channels:read",
"chat:write",
"commands",
"emoji:read",
"files:read",
"files:write",
"groups:history",
"groups:read",
"im:history",
"im:read",
"im:write",
"mpim:history",
"mpim:read",
"mpim:write",
"pins:read",
"pins:write",
"reactions:read",
"reactions:write",
"users:read"
]
}
},
"settings": {
"event_subscriptions": {
"request_url": "https://gateway-host.example.com/slack/events",
"bot_events": [
"app_mention",
"channel_rename",
"member_joined_channel",
"member_left_channel",
"message.channels",
"message.groups",
"message.im",
"message.mpim",
"pin_added",
"pin_removed",
"reaction_added",
"reaction_removed"
]
},
"interactivity": {
"is_enabled": true,
"request_url": "https://gateway-host.example.com/slack/events",
"message_menu_options_url": "https://gateway-host.example.com/slack/events"
}
}
}
```
</Tab>
</Tabs>
<AccordionGroup>
<Accordion title="Opcjonalne zakresy autorstwa (operacje zapisu)">
Dodaj zakres bota `chat:write.customize`, jeśli chcesz, aby wiadomości wychodzące używały tożsamości aktywnego agenta (niestandardowa nazwa użytkownika i ikona) zamiast domyślnej tożsamości aplikacji Slack.
Jeśli używasz ikony emoji, Slack oczekuje składni `:nazwa_emoji:`.
</Accordion>
<Accordion title="Opcjonalne zakresy tokena użytkownika (operacje odczytu)">
Jeśli skonfigurujesz `channels.slack.userToken`, typowe zakresy odczytu to:
@ -216,7 +305,7 @@ openclaw gateway
- `reactions:read`
- `pins:read`
- `emoji:read`
- `search:read` (jeśli polegasz na odczytach wyszukiwania Slack)
- `search:read` (jeśli korzystasz z odczytów wyszukiwania Slack)
</Accordion>
</AccordionGroup>
@ -225,26 +314,25 @@ openclaw gateway
- `botToken` + `appToken` są wymagane dla Socket Mode.
- Tryb HTTP wymaga `botToken` + `signingSecret`.
- `botToken`, `appToken`, `signingSecret` i `userToken` akceptują zwykłe
ciągi znaków lub obiekty SecretRef.
- Tokeny w konfiguracji mają pierwszeństwo przed awaryjnym źródłem wartości ze środowiska.
- Awaryjne źródło wartości środowiskowych `SLACK_BOT_TOKEN` / `SLACK_APP_TOKEN` dotyczy tylko konta domyślnego.
- `userToken` (`xoxp-...`) jest dostępny tylko w konfiguracji (bez awaryjnego źródła wartości ze środowiska) i domyślnie działa tylko do odczytu (`userTokenReadOnly: true`).
- Opcjonalnie: dodaj `chat:write.customize`, jeśli chcesz, aby wiadomości wychodzące używały tożsamości aktywnego agenta (niestandardowe `username` i ikona). `icon_emoji` używa składni `:emoji_name:`.
- `botToken`, `appToken`, `signingSecret` i `userToken` akceptują jawne
ciągi znaków albo obiekty SecretRef.
- Tokeny z konfiguracji mają pierwszeństwo przed zapasową konfiguracją ze zmiennych środowiskowych.
- Zapasowa konfiguracja z `SLACK_BOT_TOKEN` / `SLACK_APP_TOKEN` ze zmiennych środowiskowych dotyczy tylko konta domyślnego.
- `userToken` (`xoxp-...`) jest dostępny tylko w konfiguracji (bez zapasowej konfiguracji ze zmiennych środowiskowych) i domyślnie działa w trybie tylko do odczytu (`userTokenReadOnly: true`).
Zachowanie migawki stanu:
Zachowanie migawki statusu:
- Inspekcja konta Slack śledzi pola `*Source` i `*Status`
dla każdego poświadczenia (`botToken`, `appToken`, `signingSecret`, `userToken`).
- Stan to `available`, `configured_unavailable` lub `missing`.
- Status ma wartość `available`, `configured_unavailable` albo `missing`.
- `configured_unavailable` oznacza, że konto jest skonfigurowane przez SecretRef
lub inne niejawne źródło sekretu, ale bieżąca ścieżka polecenia/uruchomienia
albo inne źródło sekretu nieinline, ale bieżąca ścieżka polecenia/środowiska uruchomieniowego
nie mogła rozwiązać rzeczywistej wartości.
- W trybie HTTP uwzględniane jest `signingSecretStatus`; w Socket Mode
wymagana para to `botTokenStatus` + `appTokenStatus`.
<Tip>
W przypadku działań/odczytów katalogu token użytkownika może mieć pierwszeństwo, jeśli jest skonfigurowany. W przypadku zapisów nadal preferowany jest token bota; zapisy z użyciem tokena użytkownika są dozwolone tylko wtedy, gdy `userTokenReadOnly: false` i token bota jest niedostępny.
Do odczytów działań/katalogu preferowany może być token użytkownika, jeśli jest skonfigurowany. Przy zapisach nadal preferowany jest token bota; zapisy tokenem użytkownika są dozwolone tylko wtedy, gdy `userTokenReadOnly: false` i token bota jest niedostępny.
</Tip>
## Działania i bramki
@ -266,33 +354,33 @@ Bieżące działania wiadomości Slack obejmują `send`, `upload-file`, `downloa
## Kontrola dostępu i routing
<Tabs>
<Tab title="Zasady wiadomości prywatnych">
`channels.slack.dmPolicy` kontroluje dostęp do wiadomości prywatnych (starsza nazwa: `channels.slack.dm.policy`):
<Tab title="Zasada DM">
`channels.slack.dmPolicy` kontroluje dostęp do DM-ów (starsza nazwa: `channels.slack.dm.policy`):
- `pairing` (domyślnie)
- `allowlist`
- `open` (wymaga, aby `channels.slack.allowFrom` zawierało `"*"`; starsza nazwa: `channels.slack.dm.allowFrom`)
- `disabled`
Flagi wiadomości prywatnych:
Flagi DM:
- `dm.enabled` (domyślnie true)
- `channels.slack.allowFrom` (preferowane)
- `channels.slack.allowFrom` (zalecane)
- `dm.allowFrom` (starsza nazwa)
- `dm.groupEnabled` (grupowe wiadomości prywatne domyślnie false)
- `dm.groupEnabled` (DM-y grupowe domyślnie false)
- `dm.groupChannels` (opcjonalna lista dozwolonych MPIM)
Pierwszeństwo dla wielu kont:
Priorytet dla wielu kont:
- `channels.slack.accounts.default.allowFrom` dotyczy tylko konta `default`.
- Nazwane konta dziedziczą `channels.slack.allowFrom`, gdy ich własne `allowFrom` nie jest ustawione.
- Nazwane konta nie dziedziczą `channels.slack.accounts.default.allowFrom`.
Parowanie w wiadomościach prywatnych używa `openclaw pairing approve slack <code>`.
Parowanie w DM-ach używa `openclaw pairing approve slack <code>`.
</Tab>
<Tab title="Zasady kanałów">
<Tab title="Zasada kanału">
`channels.slack.groupPolicy` kontroluje obsługę kanałów:
- `open`
@ -301,26 +389,26 @@ Bieżące działania wiadomości Slack obejmują `send`, `upload-file`, `downloa
Lista dozwolonych kanałów znajduje się pod `channels.slack.channels` i powinna używać stabilnych identyfikatorów kanałów.
Uwaga dotycząca środowiska uruchomieniowego: jeśli `channels.slack` całkowicie nie istnieje (konfiguracja tylko przez zmienne środowiskowe), środowisko uruchomieniowe wraca do `groupPolicy="allowlist"` i zapisuje ostrzeżenie w logach (nawet jeśli ustawiono `channels.defaults.groupPolicy`).
Uwaga dotycząca działania w czasie wykonywania: jeśli `channels.slack` całkowicie nie istnieje (konfiguracja tylko przez zmienne środowiskowe), środowisko uruchomieniowe wraca do `groupPolicy="allowlist"` i zapisuje ostrzeżenie do logów (nawet jeśli ustawiono `channels.defaults.groupPolicy`).
Rozwiązywanie nazw/identyfikatorów:
- wpisy listy dozwolonych kanałów i wpisy listy dozwolonych wiadomości prywatnych są rozwiązywane przy uruchomieniu, gdy pozwala na to dostęp tokena
- nierozwiązane wpisy nazw kanałów są zachowywane zgodnie z konfiguracją, ale domyślnie ignorowane przy routingu
- autoryzacja przychodząca i routing kanałów domyślnie oparte najpierw na identyfikatorach; bezpośrednie dopasowanie nazwy użytkownika/slug wymaga `channels.slack.dangerouslyAllowNameMatching: true`
- wpisy listy dozwolonych kanałów i wpisy listy dozwolonych DM są rozwiązywane przy starcie, gdy dostęp tokena na to pozwala
- nierozwiązane wpisy nazw kanałów pozostają w konfiguracji, ale są domyślnie ignorowane przez routing
- autoryzacja przychodząca i routing kanałów domyślnie oparte najpierw na identyfikatorach; bezpośrednie dopasowanie nazw użytkowników/slugów wymaga `channels.slack.dangerouslyAllowNameMatching: true`
</Tab>
<Tab title="Wzmianki i użytkownicy kanałów">
Wiadomości kanałowe są domyślnie bramkowane wzmiankami.
<Tab title="Wzmianki i użytkownicy kanału">
Wiadomości na kanałach są domyślnie ograniczane przez wzmianki.
Źródła wzmianki:
- jawna wzmianka o aplikacji (`<@botId>`)
- wzorce regex wzmianki (`agents.list[].groupChat.mentionPatterns`, awaryjnie `messages.groupChat.mentionPatterns`)
- wzorce regex wzmianki (`agents.list[].groupChat.mentionPatterns`, zapasowo `messages.groupChat.mentionPatterns`)
- niejawne zachowanie wątku odpowiedzi do bota
Kontrole per kanał (`channels.slack.channels.<id>`; nazwy tylko przez rozwiązywanie przy uruchomieniu lub `dangerouslyAllowNameMatching`):
Kontrolki per kanał (`channels.slack.channels.<id>`; nazwy tylko przez rozwiązywanie przy starcie lub `dangerouslyAllowNameMatching`):
- `requireMention`
- `users` (lista dozwolonych)
@ -328,33 +416,33 @@ Bieżące działania wiadomości Slack obejmują `send`, `upload-file`, `downloa
- `skills`
- `systemPrompt`
- `tools`, `toolsBySender`
- format klucza `toolsBySender`: `id:`, `e164:`, `username:`, `name:` lub wildcard `"*"`
(starsze klucze bez prefiksu nadal mapują się tylko na `id:`)
- format klucza `toolsBySender`: `id:`, `e164:`, `username:`, `name:` albo symbol wieloznaczny `"*"`
(starsze klucze bez prefiksu nadal są mapowane tylko do `id:`)
</Tab>
</Tabs>
## Wątki, sesje i tagi odpowiedzi
- Wiadomości prywatne są routowane jako `direct`; kanały jako `channel`; MPIM jako `group`.
- Przy domyślnym `session.dmScope=main` wiadomości prywatne Slack są zwijane do głównej sesji agenta.
- DM-y są routowane jako `direct`; kanały jako `channel`; MPIM-y jako `group`.
- Przy domyślnym `session.dmScope=main` DM-y Slack są zwijane do głównej sesji agenta.
- Sesje kanałów: `agent:<agentId>:slack:channel:<channelId>`.
- Odpowiedzi w wątkach mogą tworzyć sufiksy sesji wątku (`:thread:<threadTs>`), gdy ma to zastosowanie.
- Odpowiedzi w wątku mogą tworzyć sufiksy sesji wątku (`:thread:<threadTs>`) tam, gdzie ma to zastosowanie.
- Domyślna wartość `channels.slack.thread.historyScope` to `thread`; domyślna wartość `thread.inheritParent` to `false`.
- `channels.slack.thread.initialHistoryLimit` kontroluje, ile istniejących wiadomości w wątku jest pobieranych przy starcie nowej sesji wątku (domyślnie `20`; ustaw `0`, aby wyłączyć).
- `channels.slack.thread.initialHistoryLimit` kontroluje liczbę istniejących wiadomości w wątku pobieranych przy rozpoczęciu nowej sesji wątku (domyślnie `20`; ustaw `0`, aby wyłączyć).
Kontrole wątkowania odpowiedzi:
Kontrolki wątkowania odpowiedzi:
- `channels.slack.replyToMode`: `off|first|all|batched` (domyślnie `off`)
- `channels.slack.replyToModeByChatType`: per `direct|group|channel`
- starsze awaryjne ustawienie dla czatów bezpośrednich: `channels.slack.dm.replyToMode`
- starsza zapasowa nazwa dla czatów bezpośrednich: `channels.slack.dm.replyToMode`
Obsługiwane są ręczne tagi odpowiedzi:
- `[[reply_to_current]]`
- `[[reply_to:<id>]]`
Uwaga: `replyToMode="off"` wyłącza **całe** wątkowanie odpowiedzi w Slack, w tym jawne tagi `[[reply_to_*]]`. Różni się to od Telegram, gdzie jawne tagi są nadal honorowane w trybie `"off"`. Różnica wynika z modeli wątków na tych platformach: w Slack wątki ukrywają wiadomości przed kanałem, podczas gdy odpowiedzi w Telegram pozostają widoczne w głównym przepływie czatu.
Uwaga: `replyToMode="off"` wyłącza **całe** wątkowanie odpowiedzi w Slack, w tym jawne tagi `[[reply_to_*]]`. Różni się to od Telegram, gdzie jawne tagi są nadal honorowane w trybie `"off"`. Różnica wynika z modeli wątków platform: w Slack wątki ukrywają wiadomości przed kanałem, podczas gdy w Telegram odpowiedzi pozostają widoczne w głównym przepływie czatu.
## Reakcje potwierdzające
@ -365,7 +453,7 @@ Kolejność rozwiązywania:
- `channels.slack.accounts.<accountId>.ackReaction`
- `channels.slack.ackReaction`
- `messages.ackReaction`
- awaryjnie emoji tożsamości agenta (`agents.list[].identity.emoji`, w przeciwnym razie "👀")
- zapasowe emoji tożsamości agenta (`agents.list[].identity.emoji`, w przeciwnym razie "👀")
Uwagi:
@ -379,15 +467,15 @@ Uwagi:
- `off`: wyłącza strumieniowanie podglądu na żywo.
- `partial` (domyślnie): zastępuje tekst podglądu najnowszym częściowym wynikiem.
- `block`: dołącza porcjowane aktualizacje podglądu.
- `progress`: pokazuje tekst stanu postępu podczas generowania, a następnie wysyła tekst końcowy.
- `progress`: pokazuje tekst statusu postępu podczas generowania, a następnie wysyła tekst końcowy.
`channels.slack.nativeStreaming` kontroluje natywne strumieniowanie tekstu Slack, gdy `streaming` ma wartość `partial` (domyślnie: `true`).
- Aby pojawiło się natywne strumieniowanie tekstu, musi być dostępny wątek odpowiedzi. Wybór wątku nadal podlega `replyToMode`. Bez niego używany jest zwykły podgląd wersji roboczej.
- Aby natywne strumieniowanie tekstu było widoczne, musi być dostępny wątek odpowiedzi. Wybór wątku nadal podąża za `replyToMode`. Bez tego używany jest zwykły podgląd szkicu.
- Media i ładunki inne niż tekst wracają do zwykłego dostarczania.
- Jeśli strumieniowanie nie powiedzie się w trakcie odpowiedzi, OpenClaw wraca do zwykłego dostarczania dla pozostałych ładunków.
- Jeśli strumieniowanie nie powiedzie się w połowie odpowiedzi, OpenClaw wraca do zwykłego dostarczania dla pozostałych ładunków.
Użyj podglądu wersji roboczej zamiast natywnego strumieniowania tekstu Slack:
Użyj podglądu szkicu zamiast natywnego strumieniowania tekstu Slack:
```json5
{
@ -402,12 +490,12 @@ Użyj podglądu wersji roboczej zamiast natywnego strumieniowania tekstu Slack:
Starsze klucze:
- `channels.slack.streamMode` (`replace | status_final | append`) jest automatycznie migrowane do `channels.slack.streaming`.
- `channels.slack.streamMode` (`replace | status_final | append`) jest automatycznie migrowany do `channels.slack.streaming`.
- wartość logiczna `channels.slack.streaming` jest automatycznie migrowana do `channels.slack.nativeStreaming`.
## Awaryjna reakcja pisania
## Zapasowa reakcja pisania
`typingReaction` dodaje tymczasową reakcję do przychodzącej wiadomości Slack, gdy OpenClaw przetwarza odpowiedź, a następnie usuwa ją po zakończeniu działania. Jest to najbardziej przydatne poza odpowiedziami we wątkach, które używają domyślnego wskaźnika stanu „pisze...”.
`typingReaction` dodaje tymczasową reakcję do przychodzącej wiadomości Slack, gdy OpenClaw przetwarza odpowiedź, a następnie usuwa ją po zakończeniu działania. Jest to najbardziej przydatne poza odpowiedziami w wątkach, które używają domyślnego wskaźnika statusu „pisze...”.
Kolejność rozwiązywania:
@ -417,39 +505,39 @@ Kolejność rozwiązywania:
Uwagi:
- Slack oczekuje shortcode'ów (na przykład `"hourglass_flowing_sand"`).
- Reakcja jest wykonywana w trybie best-effort, a próba sprzątania następuje automatycznie po zakończeniu odpowiedzi lub ścieżki błędu.
- Reakcja jest wykonywana w trybie best-effort, a próba jej usunięcia jest podejmowana automatycznie po odpowiedzi lub po zakończeniu ścieżki błędu.
## Media, dzielenie na części i dostarczanie
<AccordionGroup>
<Accordion title="Załączniki przychodzące">
Załączniki plików Slack są pobierane z prywatnych adresów URL hostowanych przez Slack (przepływ żądania uwierzytelnionego tokenem) i zapisywane w magazynie mediów, jeśli pobranie się powiedzie i limity rozmiaru na to pozwalają.
Załączniki plików Slack są pobierane z prywatnych adresów URL hostowanych przez Slack (przepływ żądań uwierzytelnianych tokenem) i zapisywane w magazynie mediów, gdy pobieranie się powiedzie i pozwalają na to limity rozmiaru.
Domyślny limit rozmiaru przychodzącego w środowisku uruchomieniowym to `20MB`, chyba że zostanie nadpisany przez `channels.slack.mediaMaxMb`.
Domyślny limit rozmiaru wejściowego w czasie działania to `20MB`, chyba że zostanie nadpisany przez `channels.slack.mediaMaxMb`.
</Accordion>
<Accordion title="Tekst i pliki wychodzące">
- części tekstu używają `channels.slack.textChunkLimit` (domyślnie 4000)
- `channels.slack.chunkMode="newline"` włącza dzielenie najpierw według akapitów
- wysyłanie plików używa API przesyłania Slack i może obejmować odpowiedzi we wątkach (`thread_ts`)
- limit mediów wychodzących podlega `channels.slack.mediaMaxMb`, jeśli jest skonfigurowany; w przeciwnym razie wysyłanie kanałowe używa domyślnych wartości według rodzaju MIME z pipeline'u mediów
- fragmenty tekstu używają `channels.slack.textChunkLimit` (domyślnie 4000)
- `channels.slack.chunkMode="newline"` włącza dzielenie z priorytetem akapitów
- wysyłanie plików używa API przesyłania Slack i może obejmować odpowiedzi w wątku (`thread_ts`)
- limit mediów wychodzących podąża za `channels.slack.mediaMaxMb`, jeśli jest skonfigurowany; w przeciwnym razie wysyłki kanałowe używają domyślnych wartości typu MIME z potoku mediów
</Accordion>
<Accordion title="Cele dostarczania">
Preferowane jawne cele:
- `user:<id>` dla wiadomości prywatnych
- `user:<id>` dla DM-ów
- `channel:<id>` dla kanałów
Wiadomości prywatne Slack są otwierane przez API konwersacji Slack podczas wysyłania do celów użytkownika.
DM-y Slack są otwierane przez API konwersacji Slack podczas wysyłania do celów użytkownika.
</Accordion>
</AccordionGroup>
## Polecenia i zachowanie slash
- Natywny tryb automatyczny poleceń jest **wyłączony** dla Slack (`commands.native: "auto"` nie włącza natywnych poleceń Slack).
- Natywny automatyczny tryb poleceń jest **wyłączony** dla Slack (`commands.native: "auto"` nie włącza natywnych poleceń Slack).
- Włącz natywne handlery poleceń Slack przez `channels.slack.commands.native: true` (lub globalne `commands.native: true`).
- Gdy natywne polecenia są włączone, zarejestruj pasujące polecenia slash w Slack (`/<command>`), z jednym wyjątkiem:
- zarejestruj `/agentstatus` dla polecenia statusu (Slack rezerwuje `/status`)
@ -457,9 +545,9 @@ Uwagi:
- Natywne menu argumentów dostosowują teraz strategię renderowania:
- do 5 opcji: bloki przycisków
- 6-100 opcji: statyczne menu wyboru
- powyżej 100 opcji: zewnętrzny wybór z asynchronicznym filtrowaniem opcji, gdy dostępne są handlery opcji interaktywności
- więcej niż 100 opcji: zewnętrzny wybór z asynchronicznym filtrowaniem opcji, gdy dostępne są handlery opcji interaktywności
- jeśli zakodowane wartości opcji przekraczają limity Slack, przepływ wraca do przycisków
- W przypadku długich ładunków opcji menu argumentów polecenia slash używają okna potwierdzenia przed wysłaniem wybranej wartości.
- Dla długich ładunków opcji menu argumentów poleceń slash używają dialogu potwierdzenia przed wysłaniem wybranej wartości.
Domyślne ustawienia polecenia slash:
@ -468,15 +556,15 @@ Domyślne ustawienia polecenia slash:
- `sessionPrefix: "slack:slash"`
- `ephemeral: true`
Sesje slash używają odizolowanych kluczy:
Sesje slash używają izolowanych kluczy:
- `agent:<agentId>:slack:slash:<userId>`
i nadal kierują wykonanie polecenia względem docelowej sesji konwersacji (`CommandTargetSessionKey`).
i nadal kierują wykonanie polecenia względem sesji docelowej konwersacji (`CommandTargetSessionKey`).
## Interaktywne odpowiedzi
Slack może renderować interaktywne kontrolki odpowiedzi tworzone przez agenta, ale ta funkcja jest domyślnie wyłączona.
Slack może renderować interaktywne kontrolki odpowiedzi autorstwa agenta, ale ta funkcja jest domyślnie wyłączona.
Włącz ją globalnie:
@ -492,7 +580,7 @@ Włącz ją globalnie:
}
```
Lub włącz ją tylko dla jednego konta Slack:
Albo włącz ją tylko dla jednego konta Slack:
```json5
{
@ -520,21 +608,21 @@ Te dyrektywy są kompilowane do Slack Block Kit i kierują kliknięcia lub wybor
Uwagi:
- To interfejs specyficzny dla Slack. Inne kanały nie tłumaczą dyrektyw Slack Block Kit na własne systemy przycisków.
- Wartości interaktywnego callbacka to generowane przez OpenClaw nieprzezroczyste tokeny, a nie surowe wartości tworzone przez agenta.
- Wartości interaktywnego callbacka to nieprzezroczyste tokeny generowane przez OpenClaw, a nie surowe wartości utworzone przez agenta.
- Jeśli wygenerowane interaktywne bloki przekroczyłyby limity Slack Block Kit, OpenClaw wraca do oryginalnej odpowiedzi tekstowej zamiast wysyłać nieprawidłowy ładunek blocks.
## Zgody exec w Slack
## Zatwierdzenia exec w Slack
Slack może działać jako natywny klient zatwierdzeń z interaktywnymi przyciskami i interakcjami, zamiast wracać do Web UI lub terminala.
Slack może działać jako natywny klient zatwierdzeń z interaktywnymi przyciskami i interakcjami, zamiast wracać do interfejsu Web UI lub terminala.
- Zgody exec używają `channels.slack.execApprovals.*` do natywnego routingu wiadomości prywatnych/kanałów.
- Zgody pluginów mogą nadal być rozwiązywane przez tę samą natywną powierzchnię przycisków Slack, gdy żądanie trafia już do Slack, a typ identyfikatora zgody to `plugin:`.
- Autoryzacja zatwierdzającego nadal jest egzekwowana: tylko użytkownicy zidentyfikowani jako zatwierdzający mogą zatwierdzać lub odrzucać żądania przez Slack.
- Zatwierdzenia exec używają `channels.slack.execApprovals.*` do natywnego routingu DM/kanału.
- Zatwierdzenia pluginów nadal mogą być rozwiązywane przez tę samą natywną powierzchnię przycisków Slack, gdy żądanie już trafia do Slack, a rodzaj identyfikatora zatwierdzenia to `plugin:`.
- Autoryzacja zatwierdzającego nadal jest wymuszana: tylko użytkownicy zidentyfikowani jako zatwierdzający mogą zatwierdzać lub odrzucać żądania przez Slack.
Używa to tej samej współdzielonej powierzchni przycisków zatwierdzeń co inne kanały. Gdy `interactivity` jest włączone w ustawieniach aplikacji Slack, prompty zatwierdzeń są renderowane bezpośrednio w konwersacji jako przyciski Block Kit.
Gdy te przyciski są obecne, są podstawowym UX zatwierdzeń; OpenClaw
powinno dołączać ręczne polecenie `/approve` tylko wtedy, gdy wynik narzędzia mówi, że zatwierdzenia na czacie
są niedostępne lub ręczne zatwierdzenie jest jedyną ścieżką.
Korzysta to z tej samej współdzielonej powierzchni przycisków zatwierdzeń co inne kanały. Gdy `interactivity` jest włączone w ustawieniach aplikacji Slack, prompty zatwierdzeń są renderowane jako przyciski Block Kit bezpośrednio w konwersacji.
Gdy te przyciski są obecne, stanowią podstawowy UX zatwierdzania; OpenClaw
powinien dołączać ręczne polecenie `/approve` tylko wtedy, gdy wynik narzędzia mówi, że
zatwierdzenia na czacie są niedostępne albo ręczne zatwierdzenie jest jedyną ścieżką.
Ścieżka konfiguracji:
@ -543,9 +631,9 @@ są niedostępne lub ręczne zatwierdzenie jest jedyną ścieżką.
- `channels.slack.execApprovals.target` (`dm` | `channel` | `both`, domyślnie: `dm`)
- `agentFilter`, `sessionFilter`
Slack automatycznie włącza natywne zgody exec, gdy `enabled` nie jest ustawione lub ma wartość `"auto"` i zostanie rozpoznany co najmniej jeden
Slack automatycznie włącza natywne zatwierdzenia exec, gdy `enabled` nie jest ustawione albo ma wartość `"auto"` i zostanie rozwiązany co najmniej jeden
zatwierdzający. Ustaw `enabled: false`, aby jawnie wyłączyć Slack jako natywnego klienta zatwierdzeń.
Ustaw `enabled: true`, aby wymusić natywne zatwierdzenia, gdy zostaną rozpoznani zatwierdzający.
Ustaw `enabled: true`, aby wymusić natywne zatwierdzenia, gdy zatwierdzający zostaną rozwiązani.
Domyślne zachowanie bez jawnej konfiguracji zatwierdzeń exec dla Slack:
@ -557,8 +645,8 @@ Domyślne zachowanie bez jawnej konfiguracji zatwierdzeń exec dla Slack:
}
```
Jawna konfiguracja natywna dla Slack jest potrzebna tylko wtedy, gdy chcesz nadpisać zatwierdzających, dodać filtry lub
włączyć dostarczanie do czatu źródłowego:
Jawna konfiguracja natywna Slack jest potrzebna tylko wtedy, gdy chcesz zastąpić zatwierdzających, dodać filtry lub
włączyć dostarczanie do czatu pochodzenia:
```json5
{
@ -574,35 +662,35 @@ włączyć dostarczanie do czatu źródłowego:
}
```
Współdzielone przekazywanie `approvals.exec` jest oddzielne. Używaj go tylko wtedy, gdy prompty zatwierdzeń exec muszą być także
Współdzielone przekazywanie `approvals.exec` jest osobne. Używaj go tylko wtedy, gdy prompty zatwierdzeń exec muszą być także
kierowane do innych czatów lub jawnych celów poza pasmem. Współdzielone przekazywanie `approvals.plugin` jest również
oddzielne; natywne przyciski Slack mogą nadal rozwiązywać zgody pluginów, gdy te żądania już trafiają
osobne; natywne przyciski Slack nadal mogą rozwiązywać zatwierdzenia pluginów, gdy te żądania już trafiają
do Slack.
`/approve` w tym samym czacie również działa w kanałach i wiadomościach prywatnych Slack, które już obsługują polecenia. Zobacz [Zgody exec](/pl/tools/exec-approvals), aby poznać pełny model przekazywania zatwierdzeń.
Polecenie `/approve` w tym samym czacie działa również w kanałach i DM-ach Slack, które już obsługują polecenia. Zobacz [Zatwierdzenia exec](/pl/tools/exec-approvals), aby poznać pełny model przekazywania zatwierdzeń.
## Zdarzenia i zachowanie operacyjne
- Edycje/usunięcia wiadomości oraz rozgłoszenia wątków są mapowane na zdarzenia systemowe.
- Zdarzenia dodania/usunięcia reakcji są mapowane na zdarzenia systemowe.
- Zdarzenia dołączenia/opuszczenia członka, utworzenia/zmiany nazwy kanału oraz dodania/usunięcia pinezki są mapowane na zdarzenia systemowe.
- `channel_id_changed` może migrować klucze konfiguracji kanału, gdy `configWrites` jest włączone.
- Metadane tematu/opisu kanału są traktowane jako niezaufany kontekst i mogą zostać wstrzyknięte do kontekstu routingu.
- Kontekst autora wątku i początkowej historii wątku jest filtrowany przez skonfigurowane listy dozwolonych nadawców, gdy ma to zastosowanie.
- Akcje bloków i interakcje z modalami emitują ustrukturyzowane zdarzenia systemowe `Slack interaction: ...` z bogatymi polami ładunku:
- akcje bloków: wybrane wartości, etykiety, wartości selektorów i metadane `workflow_*`
- Zdarzenia dołączenia/opuszczenia członka, utworzenia/zmiany nazwy kanału oraz dodania/usunięcia przypięcia są mapowane na zdarzenia systemowe.
- `channel_id_changed` może migrować klucze konfiguracji kanału, gdy włączone jest `configWrites`.
- Metadane tematu/celu kanału są traktowane jako niezaufany kontekst i mogą być wstrzykiwane do kontekstu routingu.
- Inicjator wątku i początkowe zasianie kontekstu historii wątku są filtrowane przez skonfigurowane listy dozwolonych nadawców, gdy ma to zastosowanie.
- Akcje bloków i interakcje modalne emitują ustrukturyzowane zdarzenia systemowe `Slack interaction: ...` z bogatymi polami ładunku:
- akcje bloków: wybrane wartości, etykiety, wartości selektora i metadane `workflow_*`
- zdarzenia modalne `view_submission` i `view_closed` z kierowanymi metadanymi kanału i danymi wejściowymi formularza
## Wskaźniki do dokumentacji konfiguracji
## Wskaźniki do dokumentacji referencyjnej konfiguracji
Główne źródło:
Główna dokumentacja referencyjna:
- [Dokumentacja konfiguracji - Slack](/pl/gateway/configuration-reference#slack)
- [Dokumentacja referencyjna konfiguracji - Slack](/pl/gateway/configuration-reference#slack)
Najważniejsze pola Slack:
Kluczowe pola Slack:
- tryb/uwierzytelnianie: `mode`, `botToken`, `appToken`, `signingSecret`, `webhookPath`, `accounts.*`
- dostęp do wiadomości prywatnych: `dm.enabled`, `dmPolicy`, `allowFrom` (starsze nazwy: `dm.policy`, `dm.allowFrom`), `dm.groupEnabled`, `dm.groupChannels`
- przełącznik zgodności: `dangerouslyAllowNameMatching` (awaryjny; pozostaw wyłączone, jeśli nie jest potrzebne)
- dostęp DM: `dm.enabled`, `dmPolicy`, `allowFrom` (starsze nazwy: `dm.policy`, `dm.allowFrom`), `dm.groupEnabled`, `dm.groupChannels`
- przełącznik zgodności: `dangerouslyAllowNameMatching` (tylko awaryjnie; pozostaw wyłączone, jeśli nie jest potrzebne)
- dostęp do kanałów: `groupPolicy`, `channels.*`, `channels.*.users`, `channels.*.requireMention`
- wątki/historia: `replyToMode`, `replyToModeByChatType`, `thread.*`, `historyLimit`, `dmHistoryLimit`, `dms.*.historyLimit`
- dostarczanie: `textChunkLimit`, `chunkMode`, `mediaMaxMb`, `streaming`, `nativeStreaming`
@ -611,13 +699,13 @@ Główne źródło:
## Rozwiązywanie problemów
<AccordionGroup>
<Accordion title="Brak odpowiedzi w kanałach">
<Accordion title="Brak odpowiedzi na kanałach">
Sprawdź po kolei:
- `groupPolicy`
- listę dozwolonych kanałów (`channels.slack.channels`)
- lista dozwolonych kanałów (`channels.slack.channels`)
- `requireMention`
- listę dozwolonych `users` per kanał
- lista dozwolonych `users` per kanał
Przydatne polecenia:
@ -629,11 +717,11 @@ openclaw doctor
</Accordion>
<Accordion title="Wiadomości prywatne są ignorowane">
<Accordion title="Wiadomości DM są ignorowane">
Sprawdź:
- `channels.slack.dm.enabled`
- `channels.slack.dmPolicy` (lub starsze `channels.slack.dm.policy`)
- `channels.slack.dmPolicy` (albo starsze `channels.slack.dm.policy`)
- zatwierdzenia parowania / wpisy listy dozwolonych
```bash
@ -642,10 +730,10 @@ openclaw pairing list slack
</Accordion>
<Accordion title="Tryb socket nie łączy się">
<Accordion title="Tryb socket się nie łączy">
Zweryfikuj tokeny bota i aplikacji oraz włączenie Socket Mode w ustawieniach aplikacji Slack.
Jeśli `openclaw channels status --probe --json` pokazuje `botTokenStatus` lub
Jeśli `openclaw channels status --probe --json` pokazuje `botTokenStatus` albo
`appTokenStatus: "configured_unavailable"`, konto Slack jest
skonfigurowane, ale bieżące środowisko uruchomieniowe nie mogło rozwiązać wartości
opartej na SecretRef.
@ -656,8 +744,8 @@ openclaw pairing list slack
Zweryfikuj:
- signing secret
- ścieżkę webhooka
- Slack Request URL (Events + Interactivity + Slash Commands)
- ścieżkę webhook
- adresy URL żądań Slack (Events + Interactivity + Slash Commands)
- unikalny `webhookPath` dla każdego konta HTTP
Jeśli `signingSecretStatus: "configured_unavailable"` pojawia się w migawkach
@ -672,7 +760,7 @@ openclaw pairing list slack
- natywnego trybu poleceń (`channels.slack.commands.native: true`) z pasującymi poleceniami slash zarejestrowanymi w Slack
- albo trybu pojedynczego polecenia slash (`channels.slack.slashCommand.enabled: true`)
Sprawdź równi`commands.useAccessGroups` oraz listy dozwolonych kanałów/użytkowników.
Sprawdź t`commands.useAccessGroups` oraz listy dozwolonych kanałów/użytkowników.
</Accordion>
</AccordionGroup>

View File

@ -1,56 +1,56 @@
---
read_when:
- Chcesz, aby promowanie pamięci uruchamiało się automatycznie
- Chcesz zrozumieć, co robi każda faza śnienia
- Chcesz dostroić konsolidację bez zaśmiecania pliku MEMORY.md
- Chcesz zrozumieć, co robi każda faza dreaming
- Chcesz dostroić konsolidację bez zaśmiecania `MEMORY.md`
summary: Konsolidacja pamięci w tle z fazami lekką, głęboką i REM oraz Dziennikiem snów
title: Śnienie (eksperymentalne)
title: Dreaming (eksperymentalne)
x-i18n:
generated_at: "2026-04-06T03:06:19Z"
generated_at: "2026-04-06T09:45:35Z"
model: gpt-5.4
provider: openai
source_hash: f27da718176bebf59fe8a80fddd4fb5b6d814ac5647f6c1e8344bcfb328db9de
source_hash: 36c4b1e70801d662090dc8ce20608c2f141c23cd7ce53c54e3dcf332c801fd4e
source_path: concepts/dreaming.md
workflow: 15
---
# Śnienie (eksperymentalne)
# Dreaming (eksperymentalne)
Śnienie to system konsolidacji pamięci działający w tle w `memory-core`.
Pomaga OpenClaw przenosić silne sygnały pamięci krótkoterminowej do trwałej pamięci, jednocześnie
zachowując przejrzystość i możliwość przeglądu całego procesu.
Dreaming to system konsolidacji pamięci działający w tle w `memory-core`.
Pomaga OpenClaw przenosić silne sygnały krótkoterminowe do trwałej pamięci, a jednocześnie
utrzymywać ten proces jako zrozumiały i możliwy do przejrzenia.
Śnienie jest funkcją **opcjonalną** i domyślnie jest wyłączone.
Dreaming jest funkcją **opcjonalną** i domyślnie jest wyłączone.
## Co zapisuje śnienie
## Co zapisuje dreaming
Śnienie przechowuje dwa rodzaje danych wyjściowych:
Dreaming utrzymuje dwa rodzaje danych wyjściowych:
- **Stan maszyny** w `memory/.dreams/` (magazyn recall, sygnały faz, punkty kontrolne przetwarzania, blokady).
- **Czytelne dla człowieka dane wyjściowe** w `DREAMS.md` (lub istniejącym `dreams.md`) oraz opcjonalnych plikach raportów faz w `memory/dreaming/<phase>/YYYY-MM-DD.md`.
- **Stan maszyny** w `memory/.dreams/` (magazyn przypomnień, sygnały faz, punkty kontrolne ingestii, blokady).
- **Dane czytelne dla człowieka** w `DREAMS.md` (lub istniejącym `dreams.md`) oraz opcjonalnych plikach raportów faz w `memory/dreaming/<phase>/YYYY-MM-DD.md`.
Promowanie do pamięci długoterminowej nadal zapisuje dane wyłącznie do `MEMORY.md`.
## Model faz
Śnienie wykorzystuje trzy współpracujące fazy:
Dreaming używa trzech współpracujących faz:
| Faza | Cel | Trwały zapis |
| ----- | ----------------------------------------- | ----------------- |
| Lekka | Sortowanie i przygotowywanie niedawnych materiałów krótkoterminowych | Nie |
| Lekka | Sortowanie i przygotowanie niedawnych materiałów krótkoterminowych | Nie |
| Głęboka | Ocenianie i promowanie trwałych kandydatów | Tak (`MEMORY.md`) |
| REM | Refleksja nad tematami i powracającymi ideami | Nie |
| REM | Refleksja nad motywami i powtarzającymi się ideami | Nie |
Te fazy są wewnętrznymi szczegółami implementacji, a nie osobnymi
„trybami” konfigurowanymi przez użytkownika.
konfigurowanymi przez użytkownika „trybami”.
### Faza lekka
Faza lekka przetwarza niedawne dzienne sygnały pamięci i ślady recall, usuwa duplikaty
Faza lekka pobiera niedawne dzienne sygnały pamięci i ślady przypomnień, usuwa duplikaty
i przygotowuje linie kandydatów.
- Odczytuje stan recall pamięci krótkoterminowej i niedawne dzienne pliki pamięci.
- Zapisuje zarządzany blok `## Light Sleep`, gdy magazyn obejmuje dane wyjściowe wbudowane w plik.
- Odczytuje stan krótkoterminowych przypomnień i niedawne dzienne pliki pamięci.
- Zapisuje zarządzany blok `## Light Sleep`, gdy magazyn zawiera dane wyjściowe inline.
- Rejestruje sygnały wzmacniające do późniejszego głębokiego rankingu.
- Nigdy nie zapisuje do `MEMORY.md`.
@ -58,9 +58,9 @@ i przygotowuje linie kandydatów.
Faza głęboka decyduje, co staje się pamięcią długoterminową.
- Nadaje ranking kandydatom przy użyciu ważonej punktacji i progów.
- Wymaga spełnienia `minScore`, `minRecallCount` i `minUniqueQueries`.
- Przed zapisem ponownie pobiera fragmenty z aktywnych dziennych plików, więc nieaktualne lub usunięte fragmenty są pomijane.
- Nadaje ranking kandydatom za pomocą ważonego punktowania i progów.
- Wymaga spełnienia `minScore`, `minRecallCount` oraz `minUniqueQueries`.
- Przed zapisem ponownie odtwarza fragmenty z bieżących plików dziennych, więc nieaktualne lub usunięte fragmenty są pomijane.
- Dopisuje promowane wpisy do `MEMORY.md`.
- Zapisuje podsumowanie `## Deep Sleep` w `DREAMS.md` i opcjonalnie zapisuje `memory/dreaming/deep/YYYY-MM-DD.md`.
@ -68,40 +68,40 @@ Faza głęboka decyduje, co staje się pamięcią długoterminową.
Faza REM wyodrębnia wzorce i sygnały refleksyjne.
- Tworzy podsumowania tematów i refleksji na podstawie niedawnych śladów krótkoterminowych.
- Zapisuje zarządzany blok `## REM Sleep`, gdy magazyn obejmuje dane wyjściowe wbudowane w plik.
- Buduje podsumowania motywów i refleksji na podstawie niedawnych śladów krótkoterminowych.
- Zapisuje zarządzany blok `## REM Sleep`, gdy magazyn zawiera dane wyjściowe inline.
- Rejestruje sygnały wzmacniające REM używane przez głęboki ranking.
- Nigdy nie zapisuje do `MEMORY.md`.
## Dziennik snów
Śnienie prowadzi też narracyjny **Dziennik snów** w `DREAMS.md`.
Gdy po każdej fazie zbierze się wystarczająco dużo materiału, `memory-core` uruchamia w tle
pomocniczą turę subagenta w trybie best-effort (z użyciem domyślnego modelu runtime)
Dreaming prowadzi także narracyjny **Dziennik snów** w `DREAMS.md`.
Gdy po każdej fazie zgromadzi się wystarczająco dużo materiału, `memory-core` uruchamia
podrzędną turę agenta w tle w trybie best-effort (z użyciem domyślnego modelu środowiska wykonawczego)
i dopisuje krótki wpis do dziennika.
Ten dziennik jest przeznaczony do czytania przez człowieka w interfejsie Dreams, a nie jako źródło promocji.
Ten dziennik jest przeznaczony do czytania przez ludzi w interfejsie Dreams, a nie jako źródło promocji.
## Sygnały głębokiego rankingu
Głęboki ranking wykorzystuje sześć ważonych sygnałów bazowych oraz wzmocnienie faz:
Głęboki ranking używa sześciu ważonych sygnałów bazowych oraz wzmocnienia fazowego:
| Sygnał | Waga | Opis |
| ------------------- | ------ | ------------------------------------------------- |
| Częstotliwość | 0.24 | Ile krótkoterminowych sygnałów zgromadził wpis |
| Częstotliwość | 0.24 | Ile sygnałów krótkoterminowych zgromadził wpis |
| Trafność | 0.30 | Średnia jakość wyszukiwania dla wpisu |
| Różnorodność zapytań | 0.15 | Różne konteksty zapytań/dni, w których się pojawił |
| Aktualność | 0.15 | Wynik świeżości osłabiany w czasie |
| Konsolidacja | 0.10 | Siła nawrotów w wielu dniach |
| Bogactwo pojęciowe | 0.06 | Gęstość tagów pojęciowych na podstawie fragmentu/ścieżki |
| Różnorodność zapytań | 0.15 | Odrębne konteksty zapytań/dni, w których wpis się pojawił |
| Aktualność | 0.15 | Wynik świeżości obniżany z upływem czasu |
| Konsolidacja | 0.10 | Siła nawrotu w wielu dniach |
| Bogactwo koncepcyjne | 0.06 | Gęstość tagów pojęciowych na podstawie fragmentu/ścieżki |
Trafienia z faz lekkiej i REM dodają niewielkie wzmocnienie osłabiane przez aktualność z
Trafienia fazy lekkiej i REM dodają niewielkie wzmocnienie malejące wraz z aktualnością z
`memory/.dreams/phase-signals.json`.
## Harmonogram
Po włączeniu `memory-core` automatycznie zarządza jednym zadaniem cron dla pełnego
przebiegu śnienia. Każdy przebieg uruchamia fazy po kolei: lekka -> REM -> głęboka.
przebiegu dreaming. Każdy przebieg uruchamia fazy w kolejności: light -> REM -> deep.
Domyślne zachowanie harmonogramu:
@ -111,7 +111,7 @@ Domyślne zachowanie harmonogramu:
## Szybki start
Włącz śnienie:
Włącz dreaming:
```json
{
@ -129,7 +129,7 @@ Włącz śnienie:
}
```
Włącz śnienie z niestandardowym harmonogramem przebiegu:
Włącz dreaming z niestandardową częstotliwością przebiegu:
```json
{
@ -158,9 +158,9 @@ Włącz śnienie z niestandardowym harmonogramem przebiegu:
/dreaming help
```
## Przepływ pracy CLI
## Workflow CLI
Użyj promowania przez CLI do podglądu lub ręcznego zastosowania:
Użyj promowania w CLI do podglądu lub ręcznego zastosowania:
```bash
openclaw memory promote
@ -172,6 +172,21 @@ openclaw memory status --deep
Ręczne `memory promote` domyślnie używa progów fazy głębokiej, chyba że zostaną one nadpisane
flagami CLI.
Wyjaśnij, dlaczego konkretny kandydat zostałby lub nie zostałby promowany:
```bash
openclaw memory promote-explain "router vlan"
openclaw memory promote-explain "router vlan" --json
```
Podejrzyj refleksje REM, prawdy kandydatów i dane wyjściowe głębokiego promowania bez
zapisywania czegokolwiek:
```bash
openclaw memory rem-harness
openclaw memory rem-harness --json
```
## Kluczowe wartości domyślne
Wszystkie ustawienia znajdują się pod `plugins.entries.memory-core.config.dreaming`.
@ -181,18 +196,18 @@ Wszystkie ustawienia znajdują się pod `plugins.entries.memory-core.config.drea
| `enabled` | `false` |
| `frequency` | `0 3 * * *` |
Zasady faz, progi i zachowanie magazynu są wewnętrznymi szczegółami implementacji
(i nie stanowią konfiguracji dostępnej dla użytkownika).
Polityka faz, progi i zachowanie przechowywania są wewnętrznymi szczegółami implementacji
(i nie są konfigurowane przez użytkownika).
Pełną listę kluczy znajdziesz w [Dokumentacji konfiguracji pamięci](/pl/reference/memory-config#dreaming-experimental).
Pełną listę kluczy znajdziesz w [Dokumentacji referencyjnej konfiguracji pamięci](/pl/reference/memory-config#dreaming-experimental).
## Interfejs Dreams
Po włączeniu karta **Dreams** w Gateway pokazuje:
- bieżący stan włączenia śnienia
- status na poziomie faz i obecność zarządzanego przebiegu
- liczbę elementów krótkoterminowych, długoterminowych i promowanych dzisiaj
- bieżący stan włączenia dreaming
- stan na poziomie faz oraz obecność zarządzanego przebiegu
- liczbę wpisów krótkoterminowych, długoterminowych i promowanych dzisiaj
- czas następnego zaplanowanego uruchomienia
- rozwijany czytnik Dziennika snów oparty na `doctor.memory.dreamDiary`
@ -201,4 +216,4 @@ Po włączeniu karta **Dreams** w Gateway pokazuje:
- [Pamięć](/pl/concepts/memory)
- [Wyszukiwanie w pamięci](/pl/concepts/memory-search)
- [CLI pamięci](/cli/memory)
- [Dokumentacja konfiguracji pamięci](/pl/reference/memory-config)
- [Dokumentacja referencyjna konfiguracji pamięci](/pl/reference/memory-config)

File diff suppressed because it is too large Load Diff

View File

@ -2,16 +2,16 @@
read_when:
- Widzisz ostrzeżenie OPENCLAW_PLUGIN_SDK_COMPAT_DEPRECATED
- Widzisz ostrzeżenie OPENCLAW_EXTENSION_API_DEPRECATED
- Aktualizujesz plugin do nowoczesnej architektury pluginów OpenClaw
- Aktualizujesz plugin do nowoczesnej architektury pluginów
- Utrzymujesz zewnętrzny plugin OpenClaw
sidebarTitle: Migrate to SDK
summary: Migracja ze starszej warstwy zgodności wstecznej do nowoczesnego Plugin SDK
summary: Przejdź ze starszej warstwy zgodności wstecznej na nowoczesny plugin SDK
title: Migracja Plugin SDK
x-i18n:
generated_at: "2026-04-06T03:10:37Z"
generated_at: "2026-04-06T09:46:39Z"
model: gpt-5.4
provider: openai
source_hash: b71ce69b30c3bb02da1b263b1d11dc3214deae5f6fc708515e23b5a1c7bb7c8f
source_hash: 94f12d1376edd8184714cc4dbea4a88fa8ed652f65e9365ede6176f3bf441b33
source_path: plugins/sdk-migration.md
workflow: 15
---
@ -20,25 +20,25 @@ x-i18n:
OpenClaw przeszedł od szerokiej warstwy zgodności wstecznej do nowoczesnej
architektury pluginów z ukierunkowanymi, udokumentowanymi importami. Jeśli Twój plugin został zbudowany przed
wprowadzeniem nowej architektury, ten przewodnik pomoże Ci przeprowadzić migrację.
nową architekturą, ten przewodnik pomoże Ci przeprowadzić migrację.
## Co się zmienia
Stary system pluginów udostępniał dwie szerokie powierzchnie, które pozwalały pluginom importować
Stary system pluginów udostępniał dwie szeroko otwarte powierzchnie, które pozwalały pluginom importować
wszystko, czego potrzebowały, z jednego punktu wejścia:
- **`openclaw/plugin-sdk/compat`** — pojedynczy import, który re-eksportował dziesiątki
helperów. Został wprowadzony, aby utrzymać działanie starszych pluginów opartych na hookach, podczas gdy
budowano nową architekturę pluginów.
- **`openclaw/extension-api`** — most, który dawał pluginom bezpośredni dostęp do
helperów po stronie hosta, takich jak osadzony runner agenta.
- **`openclaw/plugin-sdk/compat`** — pojedynczy import, który ponownie eksportował dziesiątki
pomocników. Został wprowadzony, aby starsze pluginy oparte na hookach nadal działały podczas budowy
nowej architektury pluginów.
- **`openclaw/extension-api`** — pomost, który dawał pluginom bezpośredni dostęp do
pomocników po stronie hosta, takich jak osadzony runner agenta.
Obie powierzchnie są teraz **przestarzałe**. Nadal działają w runtime, ale nowe
pluginy nie mogą ich używać, a istniejące pluginy powinny przeprowadzić migrację przed kolejnym
dużym wydaniem, które je usunie.
Obie powierzchnie są teraz **przestarzałe**. Nadal działają w czasie działania, ale nowe
pluginy nie mogą z nich korzystać, a istniejące pluginy powinny przeprowadzić migrację przed następnym
głównym wydaniem, które je usunie.
<Warning>
Warstwa zgodności wstecznej zostanie usunięta w jednym z przyszłych dużych wydań.
Warstwa zgodności wstecznej zostanie usunięta w jednym z przyszłych głównych wydań.
Pluginy, które nadal importują z tych powierzchni, przestaną działać, gdy to nastąpi.
</Warning>
@ -46,37 +46,37 @@ dużym wydaniem, które je usunie.
Stare podejście powodowało problemy:
- **Powolny start** — zaimportowanie jednego helpera ładowało dziesiątki niepowiązanych modułów
- **Zależności cykliczne** — szerokie re-eksporty ułatwiały tworzenie cykli importów
- **Niejasna powierzchnia API** — nie było sposobu, aby rozróżnić, które eksporty są stabilne, a które wewnętrzne
- **Powolne uruchamianie** — zaimportowanie jednego pomocnika wczytywało dziesiątki niepowiązanych modułów
- **Zależności cykliczne** — szerokie ponowne eksporty ułatwiały tworzenie cykli importów
- **Niejasna powierzchnia API** — nie było sposobu, aby określić, które eksporty są stabilne, a które wewnętrzne
Nowoczesne Plugin SDK to naprawia: każda ścieżka importu (`openclaw/plugin-sdk/\<subpath\>`)
jest małym, samodzielnym modułem z jasnym przeznaczeniem i udokumentowanym kontraktem.
Nowoczesny plugin SDK to naprawia: każda ścieżka importu (`openclaw/plugin-sdk/\<subpath\>`)
to mały, samowystarczalny moduł o jasnym przeznaczeniu i udokumentowanym kontrakcie.
Starsze wygodne powierzchnie providerów dla wbudowanych kanałów również zniknęły. Importy
Starsze wygodne warstwy dostawców dla wbudowanych kanałów również zostały usunięte. Importy
takie jak `openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`,
`openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp`,
powierzchnie helperów oznaczone marką kanału oraz
pomocnicze warstwy oznaczone marką kanału oraz
`openclaw/plugin-sdk/telegram-core` były prywatnymi skrótami mono-repo, a nie
stabilnymi kontraktami pluginów. Zamiast tego używaj wąskich, ogólnych subpath Plugin SDK. Wewnątrz
workspace wbudowanych pluginów trzymaj helpery należące do providera we własnym
stabilnymi kontraktami pluginów. Zamiast tego używaj wąskich, generycznych podścieżek SDK. W obrębie
pakietu roboczego wbudowanych pluginów przechowuj pomocniki należące do dostawcy we własnym
`api.ts` lub `runtime-api.ts` tego pluginu.
Bieżące przykłady wbudowanych providerów:
Aktualne przykłady wbudowanych dostawców:
- Anthropic trzyma helpery strumieni specyficzne dla Claude we własnej powierzchni `api.ts` /
- Anthropic przechowuje pomocniki strumieni specyficzne dla Claude we własnej warstwie `api.ts` /
`contract-api.ts`
- OpenAI trzyma konstruktory providerów, helpery modeli domyślnych i konstruktory providerów realtime
we własnym `api.ts`
- OpenRouter trzyma konstruktor providera oraz helpery onboardingowe/konfiguracyjne
- OpenAI przechowuje buildery dostawców, pomocniki domyślnych modeli i buildery dostawców realtime
we własnym `api.ts`
- OpenRouter przechowuje builder dostawcy oraz pomocniki onboardingu/konfiguracji we własnym
`api.ts`
## Jak przeprowadzić migrację
<Steps>
<Step title="Przeprowadź audyt zachowania fallbacku wrappera Windows">
<Step title="Sprawdź zachowanie fallbacku wrappera Windows">
Jeśli Twój plugin używa `openclaw/plugin-sdk/windows-spawn`, nierozwiązane wrappery Windows
`.cmd`/`.bat` teraz blokują się domyślnie, chyba że jawnie przekażesz
`.cmd`/`.bat` teraz kończą się bezpieczną odmową, chyba że jawnie przekażesz
`allowShellFallback: true`.
```typescript
@ -92,13 +92,13 @@ Bieżące przykłady wbudowanych providerów:
});
```
Jeśli wywołanie nie polega celowo na fallbacku powłoki, nie ustawiaj
`allowShellFallback`; zamiast tego obsłuż zgłaszany błąd.
Jeśli Twój wywołujący nie polega świadomie na fallbacku powłoki, nie ustawiaj
`allowShellFallback` i zamiast tego obsłuż zgłoszony błąd.
</Step>
<Step title="Znajdź przestarzałe importy">
Wyszukaj w swoim pluginie importy z którejkolwiek z przestarzałych powierzchni:
Przeszukaj swój plugin pod kątem importów z którejkolwiek z przestarzałych powierzchni:
```bash
grep -r "plugin-sdk/compat" my-plugin/
@ -124,8 +124,8 @@ Bieżące przykłady wbudowanych providerów:
import { resolveControlCommandGate } from "openclaw/plugin-sdk/command-auth";
```
W przypadku helperów po stronie hosta używaj wstrzykniętego runtime pluginu zamiast importować
je bezpośrednio:
W przypadku pomocników po stronie hosta użyj wstrzykniętego runtime pluginu zamiast importować je
bezpośrednio:
```typescript
// Before (deprecated extension-api bridge)
@ -136,9 +136,9 @@ Bieżące przykłady wbudowanych providerów:
const result = await api.runtime.agent.runEmbeddedPiAgent({ sessionId, prompt });
```
Ten sam wzorzec dotyczy innych starszych helperów mostu:
Ten sam wzorzec dotyczy innych starszych pomocników pomostowych:
| Old import | Modern equivalent |
| Stary import | Nowoczesny odpowiednik |
| --- | --- |
| `resolveAgentDir` | `api.runtime.agent.resolveAgentDir` |
| `resolveAgentWorkspaceDir` | `api.runtime.agent.resolveAgentWorkspaceDir` |
@ -146,7 +146,7 @@ Bieżące przykłady wbudowanych providerów:
| `resolveThinkingDefault` | `api.runtime.agent.resolveThinkingDefault` |
| `resolveAgentTimeoutMs` | `api.runtime.agent.resolveAgentTimeoutMs` |
| `ensureAgentWorkspace` | `api.runtime.agent.ensureAgentWorkspace` |
| session store helpers | `api.runtime.agent.session.*` |
| pomocniki magazynu sesji | `api.runtime.agent.session.*` |
</Step>
@ -160,168 +160,176 @@ Bieżące przykłady wbudowanych providerów:
## Dokumentacja ścieżek importu
<Accordion title="Tabela najczęstszych ścieżek importu">
| Import path | Purpose | Key exports |
<Accordion title="Tabela typowych ścieżek importu">
| Ścieżka importu | Przeznaczenie | Kluczowe eksporty |
| --- | --- | --- |
| `plugin-sdk/plugin-entry` | Kanoniczny helper punktu wejścia pluginu | `definePluginEntry` |
| `plugin-sdk/core` | Starszy parasolowy re-eksport definicji/builderów wejścia kanału | `defineChannelPluginEntry`, `createChatChannelPlugin` |
| `plugin-sdk/plugin-entry` | Kanoniczny pomocnik punktu wejścia pluginu | `definePluginEntry` |
| `plugin-sdk/core` | Starszy zbiorczy ponowny eksport definicji/builderów punktów wejścia kanałów | `defineChannelPluginEntry`, `createChatChannelPlugin` |
| `plugin-sdk/config-schema` | Eksport głównego schematu konfiguracji | `OpenClawSchema` |
| `plugin-sdk/provider-entry` | Helper punktu wejścia dla pojedynczego providera | `defineSingleProviderPluginEntry` |
| `plugin-sdk/channel-core` | Ukierunkowane definicje i buildery wejścia kanału | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
| `plugin-sdk/setup` | Współdzielone helpery kreatora konfiguracji | Monity allowlisty, buildery stanu konfiguracji |
| `plugin-sdk/setup-runtime` | Helpery runtime na potrzeby konfiguracji | Bezpieczne przy imporcie adaptery patch konfiguracji, helpery notatek lookup, `promptResolvedAllowFrom`, `splitSetupEntries`, delegowane proxy konfiguracji |
| `plugin-sdk/setup-adapter-runtime` | Helpery adaptera konfiguracji | `createEnvPatchedAccountSetupAdapter` |
| `plugin-sdk/setup-tools` | Helpery narzędzi konfiguracji | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
| `plugin-sdk/account-core` | Helpery wielu kont | Helpery listy kont/konfiguracji/bramek działań |
| `plugin-sdk/account-id` | Helpery identyfikatora konta | `DEFAULT_ACCOUNT_ID`, normalizacja identyfikatora konta |
| `plugin-sdk/account-resolution` | Helpery wyszukiwania kont | Helpery wyszukiwania kont + domyślnego fallbacku |
| `plugin-sdk/account-helpers` | Wąskie helpery kont | Helpery listy kont/działań na kontach |
| `plugin-sdk/channel-setup` | Adaptery kreatora konfiguracji | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, a także `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
| `plugin-sdk/provider-entry` | Pomocnik punktu wejścia pojedynczego dostawcy | `defineSingleProviderPluginEntry` |
| `plugin-sdk/channel-core` | Ukierunkowane definicje i buildery punktów wejścia kanałów | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
| `plugin-sdk/setup` | Współdzielone pomocniki kreatora konfiguracji | Prompty allowlisty, buildery statusu konfiguracji |
| `plugin-sdk/setup-runtime` | Pomocniki runtime na etapie konfiguracji | Bezpieczne dla importu adaptery łatek konfiguracji, pomocniki notatek wyszukiwania, `promptResolvedAllowFrom`, `splitSetupEntries`, delegowane proxy konfiguracji |
| `plugin-sdk/setup-adapter-runtime` | Pomocniki adaptera konfiguracji | `createEnvPatchedAccountSetupAdapter` |
| `plugin-sdk/setup-tools` | Pomocniki narzędzi konfiguracji | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
| `plugin-sdk/account-core` | Pomocniki wielu kont | Pomocniki listy kont/konfiguracji/bramkowania akcji |
| `plugin-sdk/account-id` | Pomocniki identyfikatora konta | `DEFAULT_ACCOUNT_ID`, normalizacja identyfikatora konta |
| `plugin-sdk/account-resolution` | Pomocniki wyszukiwania konta | Pomocniki wyszukiwania konta + fallbacku domyślnego |
| `plugin-sdk/account-helpers` | Wąskie pomocniki kont | Pomocniki listy kont/akcji na koncie |
| `plugin-sdk/channel-setup` | Adaptery kreatora konfiguracji | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, plus `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
| `plugin-sdk/channel-pairing` | Prymitywy parowania DM | `createChannelPairingController` |
| `plugin-sdk/channel-reply-pipeline` | Obsługa prefiksu odpowiedzi + wpisywania | `createChannelReplyPipeline` |
| `plugin-sdk/channel-reply-pipeline` | Okablowanie prefiksu odpowiedzi + wpisywania | `createChannelReplyPipeline` |
| `plugin-sdk/channel-config-helpers` | Fabryki adapterów konfiguracji | `createHybridChannelConfigAdapter` |
| `plugin-sdk/channel-config-schema` | Buildery schematu konfiguracji | Typy schematu konfiguracji kanału |
| `plugin-sdk/telegram-command-config` | Helpery konfiguracji poleceń Telegram | Normalizacja nazw poleceń, przycinanie opisów, walidacja duplikatów/konfliktów |
| `plugin-sdk/channel-policy` | Rozwiązywanie zasad grup/DM | `resolveChannelGroupRequireMention` |
| `plugin-sdk/channel-lifecycle` | Śledzenie stanu kont | `createAccountStatusSink` |
| `plugin-sdk/inbound-envelope` | Helpery kopert przychodzących | Współdzielone helpery routingu + buildera kopert |
| `plugin-sdk/inbound-reply-dispatch` | Helpery odpowiedzi przychodzących | Współdzielone helpery rejestrowania i dyspozycji |
| `plugin-sdk/messaging-targets` | Parsowanie celów wiadomości | Helpery parsowania/dopasowywania celów |
| `plugin-sdk/outbound-media` | Helpery mediów wychodzących | Współdzielone ładowanie mediów wychodzących |
| `plugin-sdk/outbound-runtime` | Helpery runtime dla wiadomości wychodzących | Helpery tożsamości wychodzącej/delegowania wysyłki |
| `plugin-sdk/thread-bindings-runtime` | Helpery powiązań wątków | Cykl życia powiązań wątków i helpery adapterów |
| `plugin-sdk/agent-media-payload` | Starsze helpery payloadu mediów | Builder payloadu mediów agenta dla starszych układów pól |
| `plugin-sdk/channel-runtime` | Przestarzały shim zgodności | Tylko starsze narzędzia runtime kanałów |
| `plugin-sdk/telegram-command-config` | Pomocniki konfiguracji komend Telegram | Normalizacja nazw komend, przycinanie opisów, walidacja duplikatów/konfliktów |
| `plugin-sdk/channel-policy` | Rozwiązywanie polityki grup/DM | `resolveChannelGroupRequireMention` |
| `plugin-sdk/channel-lifecycle` | Śledzenie statusu konta | `createAccountStatusSink` |
| `plugin-sdk/inbound-envelope` | Pomocniki kopert wejściowych | Współdzielone pomocniki trasy + buildera koperty |
| `plugin-sdk/inbound-reply-dispatch` | Pomocniki odpowiedzi wejściowych | Współdzielone pomocniki zapisu i dyspozycji |
| `plugin-sdk/messaging-targets` | Parsowanie celów wiadomości | Pomocniki parsowania/dopasowywania celów |
| `plugin-sdk/outbound-media` | Pomocniki mediów wychodzących | Współdzielone ładowanie mediów wychodzących |
| `plugin-sdk/outbound-runtime` | Pomocniki runtime wychodzącego | Pomocniki tożsamości wychodzącej/delegata wysyłki |
| `plugin-sdk/thread-bindings-runtime` | Pomocniki powiązań wątków | Pomocniki cyklu życia powiązań wątków i adapterów |
| `plugin-sdk/agent-media-payload` | Starsze pomocniki payloadów mediów | Builder payloadu mediów agenta dla starszych układów pól |
| `plugin-sdk/channel-runtime` | Przestarzała warstwa zgodności | Tylko starsze narzędzia runtime kanału |
| `plugin-sdk/channel-send-result` | Typy wyniku wysyłki | Typy wyniku odpowiedzi |
| `plugin-sdk/runtime-store` | Trwałe przechowywanie pluginu | `createPluginRuntimeStore` |
| `plugin-sdk/runtime` | Szerokie helpery runtime | Helpery runtime/logowania/kopii zapasowej/instalacji pluginów |
| `plugin-sdk/runtime-env` | Wąskie helpery środowiska runtime | Logger/środowisko runtime, helpery timeout, retry i backoff |
| `plugin-sdk/plugin-runtime` | Współdzielone helpery runtime pluginów | Helpery poleceń/hooków/http/interaktywności pluginów |
| `plugin-sdk/hook-runtime` | Helpery pipeline hooków | Współdzielone helpery pipeline webhooków/wewnętrznych hooków |
| `plugin-sdk/lazy-runtime` | Helpery lazy runtime | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeMethodBinder`, `createLazyRuntimeNamedExport`, `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | Helpery procesów | Współdzielone helpery exec |
| `plugin-sdk/cli-runtime` | Helpery runtime CLI | Formatowanie poleceń, oczekiwanie, helpery wersji |
| `plugin-sdk/gateway-runtime` | Helpery gatewaya | Klient gatewaya i helpery patch stanu kanałów |
| `plugin-sdk/config-runtime` | Helpery konfiguracji | Helpery ładowania/zapisu konfiguracji |
| `plugin-sdk/telegram-command-config` | Helpery poleceń Telegram | Stabilne helpery walidacji poleceń Telegram jako fallback, gdy powierzchnia kontraktu wbudowanego Telegram jest niedostępna |
| `plugin-sdk/approval-runtime` | Helpery promptów zatwierdzeń | Payload zatwierdzeń exec/pluginów, helpery możliwości/profilu zatwierdzeń, natywne helpery routingu/runtime zatwierdzeń |
| `plugin-sdk/approval-auth-runtime` | Helpery auth zatwierdzeń | Rozwiązywanie zatwierdzających, auth działań w tym samym czacie |
| `plugin-sdk/approval-client-runtime` | Helpery klienta zatwierdzeń | Helpery profilu/filtrowania natywnych zatwierdzeń exec |
| `plugin-sdk/approval-delivery-runtime` | Helpery dostarczania zatwierdzeń | Natywne adaptery możliwości/dostarczania zatwierdzeń |
| `plugin-sdk/approval-native-runtime` | Helpery celu zatwierdzeń | Helpery celu/powiązania konta dla natywnych zatwierdzeń |
| `plugin-sdk/approval-reply-runtime` | Helpery odpowiedzi zatwierdzeń | Helpery payloadu odpowiedzi zatwierdzeń exec/pluginów |
| `plugin-sdk/security-runtime` | Helpery bezpieczeństwa | Współdzielone helpery zaufania, bramkowania DM, treści zewnętrznej i zbierania sekretów |
| `plugin-sdk/ssrf-policy` | Helpery zasad SSRF | Helpery allowlisty hostów i zasad sieci prywatnych |
| `plugin-sdk/ssrf-runtime` | Helpery runtime SSRF | Pinned-dispatcher, guarded fetch, helpery zasad SSRF |
| `plugin-sdk/collection-runtime` | Helpery ograniczonego cache | `pruneMapToMaxSize` |
| `plugin-sdk/diagnostic-runtime` | Helpery bramkowania diagnostyki | `isDiagnosticFlagEnabled`, `isDiagnosticsEnabled` |
| `plugin-sdk/error-runtime` | Helpery formatowania błędów | `formatUncaughtError`, `isApprovalNotFoundError`, helpery grafu błędów |
| `plugin-sdk/fetch-runtime` | Helpery opakowanego fetch/proxy | `resolveFetch`, helpery proxy |
| `plugin-sdk/host-runtime` | Helpery normalizacji hosta | `normalizeHostname`, `normalizeScpRemoteHost` |
| `plugin-sdk/retry-runtime` | Helpery retry | `RetryConfig`, `retryAsync`, uruchamiacze zasad |
| `plugin-sdk/runtime-store` | Trwała pamięć pluginu | `createPluginRuntimeStore` |
| `plugin-sdk/runtime` | Szerokie pomocniki runtime | Pomocniki runtime/logowania/backupu/instalacji pluginów |
| `plugin-sdk/runtime-env` | Wąskie pomocniki środowiska runtime | Logger/runtime env, timeout, retry i pomocniki backoff |
| `plugin-sdk/plugin-runtime` | Współdzielone pomocniki runtime pluginu | Pomocniki komend/hooków/http/interaktywnych pluginu |
| `plugin-sdk/hook-runtime` | Pomocniki pipeline hooków | Współdzielone pomocniki pipeline webhooków/wewnętrznych hooków |
| `plugin-sdk/lazy-runtime` | Pomocniki leniwego runtime | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeMethodBinder`, `createLazyRuntimeNamedExport`, `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | Pomocniki procesów | Współdzielone pomocniki exec |
| `plugin-sdk/cli-runtime` | Pomocniki runtime CLI | Formatowanie komend, oczekiwania, pomocniki wersji |
| `plugin-sdk/gateway-runtime` | Pomocniki gateway | Klient gateway i pomocniki łatek statusu kanałów |
| `plugin-sdk/config-runtime` | Pomocniki konfiguracji | Pomocniki wczytywania/zapisu konfiguracji |
| `plugin-sdk/telegram-command-config` | Pomocniki komend Telegram | Pomocniki walidacji komend Telegram stabilne przy fallbacku, gdy powierzchnia kontraktu wbudowanego Telegram jest niedostępna |
| `plugin-sdk/approval-runtime` | Pomocniki promptów akceptacji | Payload akceptacji exec/pluginu, pomocniki możliwości/profilu akceptacji, natywne trasowanie/runtime akceptacji |
| `plugin-sdk/approval-auth-runtime` | Pomocniki autoryzacji akceptacji | Rozwiązywanie osoby zatwierdzającej, autoryzacja działań w tym samym czacie |
| `plugin-sdk/approval-client-runtime` | Pomocniki klienta akceptacji | Pomocniki profilu/filtra natywnej akceptacji exec |
| `plugin-sdk/approval-delivery-runtime` | Pomocniki dostarczania akceptacji | Adaptery możliwości/dostarczania natywnej akceptacji |
| `plugin-sdk/approval-native-runtime` | Pomocniki celu akceptacji | Pomocniki powiązania celu/konta natywnej akceptacji |
| `plugin-sdk/approval-reply-runtime` | Pomocniki odpowiedzi akceptacji | Pomocniki payloadu odpowiedzi akceptacji exec/pluginu |
| `plugin-sdk/security-runtime` | Pomocniki bezpieczeństwa | Współdzielone pomocniki zaufania, bramkowania DM, treści zewnętrznych i zbierania sekretów |
| `plugin-sdk/ssrf-policy` | Pomocniki polityki SSRF | Pomocniki allowlisty hostów i polityki sieci prywatnych |
| `plugin-sdk/ssrf-runtime` | Pomocniki runtime SSRF | Pomocniki przypiętego dispatchera, guarded fetch i polityki SSRF |
| `plugin-sdk/collection-runtime` | Pomocniki ograniczonej pamięci podręcznej | `pruneMapToMaxSize` |
| `plugin-sdk/diagnostic-runtime` | Pomocniki bramkowania diagnostyki | `isDiagnosticFlagEnabled`, `isDiagnosticsEnabled` |
| `plugin-sdk/error-runtime` | Pomocniki formatowania błędów | `formatUncaughtError`, `isApprovalNotFoundError`, pomocniki grafu błędów |
| `plugin-sdk/fetch-runtime` | Pomocniki opakowanego fetch/proxy | `resolveFetch`, pomocniki proxy |
| `plugin-sdk/host-runtime` | Pomocniki normalizacji hosta | `normalizeHostname`, `normalizeScpRemoteHost` |
| `plugin-sdk/retry-runtime` | Pomocniki retry | `RetryConfig`, `retryAsync`, wykonawcy polityk |
| `plugin-sdk/allow-from` | Formatowanie allowlisty | `formatAllowFromLowercase` |
| `plugin-sdk/allowlist-resolution` | Mapowanie wejścia allowlisty | `mapAllowlistResolutionInputs` |
| `plugin-sdk/command-auth` | Bramkowanie poleceń i helpery powierzchni poleceń | `resolveControlCommandGate`, helpery autoryzacji nadawcy, helpery rejestru poleceń |
| `plugin-sdk/secret-input` | Parsowanie danych wejściowych sekretów | Helpery danych wejściowych sekretów |
| `plugin-sdk/webhook-ingress` | Helpery żądań webhooków | Narzędzia celu webhooka |
| `plugin-sdk/webhook-request-guards` | Helpery strażników body webhooka | Helpery odczytu/limitu body żądania |
| `plugin-sdk/reply-runtime` | Współdzielony runtime odpowiedzi | Dyspozycja przychodząca, heartbeat, planner odpowiedzi, chunking |
| `plugin-sdk/reply-dispatch-runtime` | Wąskie helpery dyspozycji odpowiedzi | Helpery finalizacji + dyspozycji providera |
| `plugin-sdk/reply-history` | Helpery historii odpowiedzi | `buildHistoryContext`, `buildPendingHistoryContextFromMap`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-reference` | Planowanie referencji odpowiedzi | `createReplyReferencePlanner` |
| `plugin-sdk/reply-chunking` | Helpery chunków odpowiedzi | Helpery chunkingu tekstu/markdown |
| `plugin-sdk/session-store-runtime` | Helpery magazynu sesji | Helpery ścieżek magazynu + updated-at |
| `plugin-sdk/state-paths` | Helpery ścieżek stanu | Helpery katalogu stanu i OAuth |
| `plugin-sdk/routing` | Helpery routingu/kluczy sesji | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId`, helpery normalizacji kluczy sesji |
| `plugin-sdk/status-helpers` | Helpery stanu kanałów | Buildery podsumowania stanu kanału/konta, domyślne wartości runtime-state, helpery metadanych problemów |
| `plugin-sdk/target-resolver-runtime` | Helpery rozwiązywania celów | Współdzielone helpery rozwiązywania celów |
| `plugin-sdk/string-normalization-runtime` | Helpery normalizacji ciągów | Helpery normalizacji slugów/ciągów |
| `plugin-sdk/request-url` | Helpery URL żądania | Wyodrębnianie URL typu string z wejść podobnych do żądania |
| `plugin-sdk/run-command` | Helpery poleceń z pomiarem czasu | Uruchamianie poleceń z pomiarem czasu i znormalizowanym stdout/stderr |
| `plugin-sdk/param-readers` | Odczyt parametrów | Wspólne czytniki parametrów narzędzi/CLI |
| `plugin-sdk/tool-send` | Wyodrębnianie wysyłki narzędzia | Wyodrębnianie kanonicznych pól celu wysyłki z argumentów narzędzia |
| `plugin-sdk/temp-path` | Helpery ścieżek tymczasowych | Współdzielone helpery ścieżek tymczasowego pobierania |
| `plugin-sdk/logging-core` | Helpery logowania | Logger podsystemu i helpery redakcji |
| `plugin-sdk/markdown-table-runtime` | Helpery tabel markdown | Helpery trybu tabel markdown |
| `plugin-sdk/allowlist-resolution` | Mapowanie danych wejściowych allowlisty | `mapAllowlistResolutionInputs` |
| `plugin-sdk/command-auth` | Bramkowanie komend i pomocniki powierzchni komend | `resolveControlCommandGate`, pomocniki autoryzacji nadawcy, pomocniki rejestru komend |
| `plugin-sdk/secret-input` | Parsowanie danych wejściowych sekretów | Pomocniki danych wejściowych sekretów |
| `plugin-sdk/webhook-ingress` | Pomocniki żądań webhooków | Narzędzia celu webhooka |
| `plugin-sdk/webhook-request-guards` | Pomocniki guardów treści webhooków | Pomocniki odczytu/limitu ciała żądania |
| `plugin-sdk/reply-runtime` | Współdzielony runtime odpowiedzi | Dyspozycja wejściowa, heartbeat, planer odpowiedzi, chunking |
| `plugin-sdk/reply-dispatch-runtime` | Wąskie pomocniki dyspozycji odpowiedzi | Pomocniki finalizacji + dyspozycji dostawcy |
| `plugin-sdk/reply-history` | Pomocniki historii odpowiedzi | `buildHistoryContext`, `buildPendingHistoryContextFromMap`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-reference` | Planowanie odniesień odpowiedzi | `createReplyReferencePlanner` |
| `plugin-sdk/reply-chunking` | Pomocniki chunków odpowiedzi | Pomocniki chunkingu tekstu/markdown |
| `plugin-sdk/session-store-runtime` | Pomocniki magazynu sesji | Pomocniki ścieżki magazynu i czasu aktualizacji |
| `plugin-sdk/state-paths` | Pomocniki ścieżek stanu | Pomocniki katalogów stanu i OAuth |
| `plugin-sdk/routing` | Pomocniki routingu/kluczy sesji | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId`, pomocniki normalizacji kluczy sesji |
| `plugin-sdk/status-helpers` | Pomocniki statusu kanału | Buildery podsumowań statusu kanału/konta, domyślne ustawienia stanu runtime, pomocniki metadanych problemów |
| `plugin-sdk/target-resolver-runtime` | Pomocniki rozwiązywania celu | Współdzielone pomocniki resolvera celu |
| `plugin-sdk/string-normalization-runtime` | Pomocniki normalizacji ciągów | Pomocniki normalizacji slugów/ciągów |
| `plugin-sdk/request-url` | Pomocniki URL żądań | Wyodrębnianie URL-i tekstowych z danych wejściowych podobnych do żądania |
| `plugin-sdk/run-command` | Pomocniki komend z limitem czasu | Runner komend z normalizowanym stdout/stderr |
| `plugin-sdk/param-readers` | Odczytywacze parametrów | Typowe odczytywacze parametrów narzędzi/CLI |
| `plugin-sdk/tool-send` | Ekstrakcja wysyłki narzędzia | Wyodrębnianie kanonicznych pól celu wysyłki z argumentów narzędzia |
| `plugin-sdk/temp-path` | Pomocniki ścieżek tymczasowych | Współdzielone pomocniki ścieżek tymczasowego pobierania |
| `plugin-sdk/logging-core` | Pomocniki logowania | Logger podsystemu i pomocniki redakcji |
| `plugin-sdk/markdown-table-runtime` | Pomocniki tabel markdown | Pomocniki trybu tabel markdown |
| `plugin-sdk/reply-payload` | Typy odpowiedzi wiadomości | Typy payloadu odpowiedzi |
| `plugin-sdk/provider-setup` | Kuratorowane helpery konfiguracji providerów lokalnych/self-hosted | Helpery wykrywania/konfiguracji providerów self-hosted |
| `plugin-sdk/self-hosted-provider-setup` | Ukierunkowane helpery konfiguracji providerów self-hosted zgodnych z OpenAI | Te same helpery wykrywania/konfiguracji providerów self-hosted |
| `plugin-sdk/provider-auth-runtime` | Helpery auth providera w runtime | Helpery rozwiązywania klucza API w runtime |
| `plugin-sdk/provider-auth-api-key` | Helpery konfiguracji klucza API providera | Helpery onboardingu/zapisu profilu klucza API |
| `plugin-sdk/provider-auth-result` | Helpery wyniku auth providera | Standardowy builder wyniku auth OAuth |
| `plugin-sdk/provider-auth-login` | Helpery interaktywnego logowania providera | Współdzielone helpery interaktywnego logowania |
| `plugin-sdk/provider-env-vars` | Helpery zmiennych środowiskowych providera | Helpery wyszukiwania zmiennych środowiskowych auth providera |
| `plugin-sdk/provider-model-shared` | Współdzielone helpery modeli/replay providera | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, współdzielone buildery zasad replay, helpery endpointów providera oraz helpery normalizacji identyfikatora modelu |
| `plugin-sdk/provider-catalog-shared` | Współdzielone helpery katalogu providera | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
| `plugin-sdk/provider-onboard` | Patche onboardingu providera | Helpery konfiguracji onboardingu |
| `plugin-sdk/provider-http` | Helpery HTTP providera | Ogólne helpery HTTP/endpoint/capability providera |
| `plugin-sdk/provider-web-fetch` | Helpery web-fetch providera | Helpery rejestracji/cache providera web-fetch |
| `plugin-sdk/provider-web-search` | Helpery web-search providera | Helpery rejestracji/cache/konfiguracji providera web-search |
| `plugin-sdk/provider-tools` | Helpery zgodności narzędzi/schematów providera | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, czyszczenie schematu Gemini + diagnostyka oraz helpery zgodności xAI, takie jak `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-usage` | Helpery użycia providera | `fetchClaudeUsage`, `fetchGeminiUsage`, `fetchGithubCopilotUsage` i inne helpery użycia providera |
| `plugin-sdk/provider-stream` | Helpery wrapperów strumieni providera | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, typy wrapperów strumieni oraz współdzielone helpery wrapperów Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/provider-setup` | Kuratorowane pomocniki konfiguracji lokalnego/samohostowanego dostawcy | Pomocniki wykrywania/konfiguracji samohostowanego dostawcy |
| `plugin-sdk/self-hosted-provider-setup` | Ukierunkowane pomocniki konfiguracji samohostowanego dostawcy zgodnego z OpenAI | Te same pomocniki wykrywania/konfiguracji samohostowanego dostawcy |
| `plugin-sdk/provider-auth-runtime` | Pomocniki runtime autoryzacji dostawcy | Pomocniki rozwiązywania klucza API w runtime |
| `plugin-sdk/provider-auth-api-key` | Pomocniki konfiguracji klucza API dostawcy | Pomocniki onboardingu/zapisu profilu klucza API |
| `plugin-sdk/provider-auth-result` | Pomocniki wyniku autoryzacji dostawcy | Standardowy builder wyniku autoryzacji OAuth |
| `plugin-sdk/provider-auth-login` | Pomocniki interaktywnego logowania dostawcy | Współdzielone pomocniki interaktywnego logowania |
| `plugin-sdk/provider-env-vars` | Pomocniki zmiennych środowiskowych dostawcy | Pomocniki wyszukiwania zmiennych środowiskowych autoryzacji dostawcy |
| `plugin-sdk/provider-model-shared` | Współdzielone pomocniki modeli/replay dostawcy | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, współdzielone buildery polityki replay, pomocniki punktów końcowych dostawcy oraz pomocniki normalizacji identyfikatora modelu |
| `plugin-sdk/provider-catalog-shared` | Współdzielone pomocniki katalogu dostawców | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
| `plugin-sdk/provider-onboard` | Łatki onboardingu dostawcy | Pomocniki konfiguracji onboardingu |
| `plugin-sdk/provider-http` | Pomocniki HTTP dostawcy | Generyczne pomocniki możliwości HTTP/punktów końcowych dostawcy |
| `plugin-sdk/provider-web-fetch` | Pomocniki web-fetch dostawcy | Pomocniki rejestracji/cache dostawcy web-fetch |
| `plugin-sdk/provider-web-search` | Pomocniki web-search dostawcy | Pomocniki rejestracji/cache/konfiguracji dostawcy web-search |
| `plugin-sdk/provider-tools` | Pomocniki zgodności narzędzi/schematów dostawcy | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, czyszczenie schematu Gemini + diagnostyka oraz pomocniki zgodności xAI, takie jak `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-usage` | Pomocniki użycia dostawcy | `fetchClaudeUsage`, `fetchGeminiUsage`, `fetchGithubCopilotUsage` i inne pomocniki użycia dostawcy |
| `plugin-sdk/provider-stream` | Pomocniki opakowań strumieni dostawcy | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, typy opakowań strumieni oraz współdzielone pomocniki opakowań Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/keyed-async-queue` | Uporządkowana kolejka async | `KeyedAsyncQueue` |
| `plugin-sdk/media-runtime` | Współdzielone helpery mediów | Helpery pobierania/przekształcania/przechowywania mediów oraz buildery payloadów mediów |
| `plugin-sdk/media-understanding` | Helpery media-understanding | Typy providerów media understanding oraz eksporty helperów obraz/audio dla providerów |
| `plugin-sdk/text-runtime` | Współdzielone helpery tekstu | Usuwanie tekstu widocznego dla asystenta, helpery renderowania/chunkingu/tabel markdown, helpery redakcji, helpery tagów dyrektyw, narzędzia bezpiecznego tekstu i powiązane helpery tekstu/logowania |
| `plugin-sdk/text-chunking` | Helpery chunkingu tekstu | Helper chunkingu tekstu wychodzącego |
| `plugin-sdk/speech` | Helpery speech | Typy providerów speech oraz eksporty helperów dyrektyw, rejestru i walidacji dla providerów |
| `plugin-sdk/speech-core` | Współdzielony rdzeń speech | Typy providerów speech, rejestr, dyrektywy, normalizacja |
| `plugin-sdk/realtime-transcription` | Helpery realtime transcription | Typy providerów i helpery rejestru |
| `plugin-sdk/realtime-voice` | Helpery realtime voice | Typy providerów i helpery rejestru |
| `plugin-sdk/image-generation-core` | Współdzielony rdzeń image generation | Typy image generation, failover, auth i helpery rejestru |
| `plugin-sdk/music-generation` | Helpery music generation | Typy providerów/żądań/wyników music generation |
| `plugin-sdk/music-generation-core` | Współdzielony rdzeń music generation | Typy music generation, helpery failover, wyszukiwanie providera i parsowanie odwołań do modeli |
| `plugin-sdk/video-generation` | Helpery video generation | Typy providerów/żądań/wyników video generation |
| `plugin-sdk/video-generation-core` | Współdzielony rdzeń video generation | Typy video generation, helpery failover, wyszukiwanie providera i parsowanie odwołań do modeli |
| `plugin-sdk/interactive-runtime` | Helpery odpowiedzi interaktywnych | Normalizacja/redukcja payloadów odpowiedzi interaktywnych |
| `plugin-sdk/channel-config-primitives` | Prymitywy konfiguracji kanału | Wąskie prymitywy channel config-schema |
| `plugin-sdk/channel-config-writes` | Helpery zapisu konfiguracji kanału | Helpery autoryzacji zapisu konfiguracji kanału |
| `plugin-sdk/channel-plugin-common` | Wspólne preludium kanału | Eksporty wspólnego preludium pluginów kanałów |
| `plugin-sdk/channel-status` | Helpery stanu kanału | Współdzielone helpery migawki/podsumowania stanu kanału |
| `plugin-sdk/allowlist-config-edit` | Helpery konfiguracji allowlisty | Helpery edycji/odczytu konfiguracji allowlisty |
| `plugin-sdk/group-access` | Helpery dostępu do grup | Współdzielone helpery decyzji dostępu do grup |
| `plugin-sdk/direct-dm` | Helpery direct-DM | Współdzielone helpery auth/guard direct-DM |
| `plugin-sdk/extension-shared` | Współdzielone helpery rozszerzeń | Prymitywy helperów kanałów pasywnych/stanu |
| `plugin-sdk/webhook-targets` | Helpery celów webhooków | Rejestr celów webhooków i helpery instalacji tras |
| `plugin-sdk/webhook-path` | Helpery ścieżek webhooków | Helpery normalizacji ścieżek webhooków |
| `plugin-sdk/web-media` | Współdzielone helpery web media | Helpery ładowania mediów zdalnych/lokalnych |
| `plugin-sdk/zod` | Re-eksport Zod | Re-eksportowane `zod` dla użytkowników Plugin SDK |
| `plugin-sdk/memory-core` | Helpery wbudowanego memory-core | Powierzchnia helperów menedżera pamięci/konfiguracji/plików/CLI |
| `plugin-sdk/memory-core-engine-runtime` | Fasada runtime silnika pamięci | Fasada runtime indeksu/wyszukiwania pamięci |
| `plugin-sdk/media-runtime` | Współdzielone pomocniki mediów | Pomocniki pobierania/transformacji/przechowywania mediów oraz buildery payloadów mediów |
| `plugin-sdk/media-generation-runtime` | Współdzielone pomocniki generowania mediów | Współdzielone pomocniki failover, wyboru kandydatów i komunikatów o brakującym modelu dla generowania obrazów/wideo/muzyki |
| `plugin-sdk/media-understanding` | Pomocniki rozumienia mediów | Typy dostawców rozumienia mediów oraz eksporty pomocników obrazów/audio skierowane do dostawców |
| `plugin-sdk/text-runtime` | Współdzielone pomocniki tekstowe | Usuwanie tekstu widocznego dla asystenta, pomocniki renderowania/chunkingu/tabel markdown, pomocniki redakcji, pomocniki tagów dyrektyw, narzędzia bezpiecznego tekstu oraz powiązane pomocniki tekstu/logowania |
| `plugin-sdk/text-chunking` | Pomocniki chunkingu tekstu | Pomocnik chunkingu tekstu wychodzącego |
| `plugin-sdk/speech` | Pomocniki mowy | Typy dostawców mowy oraz eksporty pomocników dyrektyw, rejestru i walidacji skierowane do dostawców |
| `plugin-sdk/speech-core` | Współdzielony rdzeń mowy | Typy dostawców mowy, rejestr, dyrektywy, normalizacja |
| `plugin-sdk/realtime-transcription` | Pomocniki transkrypcji realtime | Typy dostawców i pomocniki rejestru |
| `plugin-sdk/realtime-voice` | Pomocniki głosu realtime | Typy dostawców i pomocniki rejestru |
| `plugin-sdk/image-generation-core` | Współdzielony rdzeń generowania obrazów | Pomocniki typów, failover, autoryzacji i rejestru generowania obrazów |
| `plugin-sdk/music-generation` | Pomocniki generowania muzyki | Typy dostawcy/żądania/wyniku generowania muzyki |
| `plugin-sdk/music-generation-core` | Współdzielony rdzeń generowania muzyki | Typy generowania muzyki, pomocniki failover, wyszukiwanie dostawcy i parsowanie model-ref |
| `plugin-sdk/video-generation` | Pomocniki generowania wideo | Typy dostawcy/żądania/wyniku generowania wideo |
| `plugin-sdk/video-generation-core` | Współdzielony rdzeń generowania wideo | Typy generowania wideo, pomocniki failover, wyszukiwanie dostawcy i parsowanie model-ref |
| `plugin-sdk/interactive-runtime` | Pomocniki odpowiedzi interaktywnych | Normalizacja/redukcja payloadu odpowiedzi interaktywnych |
| `plugin-sdk/channel-config-primitives` | Prymitywy konfiguracji kanału | Wąskie prymitywy schema konfiguracji kanału |
| `plugin-sdk/channel-config-writes` | Pomocniki zapisu konfiguracji kanału | Pomocniki autoryzacji zapisu konfiguracji kanału |
| `plugin-sdk/channel-plugin-common` | Współdzielone preludium kanału | Eksporty współdzielonego preludium pluginu kanału |
| `plugin-sdk/channel-status` | Pomocniki statusu kanału | Współdzielone pomocniki snapshotów/podsumowań statusu kanału |
| `plugin-sdk/allowlist-config-edit` | Pomocniki konfiguracji allowlisty | Pomocniki edycji/odczytu konfiguracji allowlisty |
| `plugin-sdk/group-access` | Pomocniki dostępu grupowego | Współdzielone pomocniki decyzji o dostępie grupowym |
| `plugin-sdk/direct-dm` | Pomocniki bezpośrednich DM | Współdzielone pomocniki autoryzacji/guardów bezpośrednich DM |
| `plugin-sdk/extension-shared` | Współdzielone pomocniki rozszerzeń | Prymitywy pomocników pasywnego kanału/statusu |
| `plugin-sdk/webhook-targets` | Pomocniki celów webhooków | Rejestr celów webhooków i pomocniki instalacji tras |
| `plugin-sdk/webhook-path` | Pomocniki ścieżek webhooków | Pomocniki normalizacji ścieżek webhooków |
| `plugin-sdk/web-media` | Współdzielone pomocniki web media | Pomocniki ładowania zdalnych/lokalnych mediów |
| `plugin-sdk/zod` | Ponowny eksport Zod | Ponownie eksportowany `zod` dla konsumentów plugin SDK |
| `plugin-sdk/memory-core` | Wbudowane pomocniki memory-core | Powierzchnia pomocników memory manager/config/file/CLI |
| `plugin-sdk/memory-core-engine-runtime` | Fasada runtime silnika pamięci | Fasada runtime indeksowania/wyszukiwania pamięci |
| `plugin-sdk/memory-core-host-engine-foundation` | Bazowy silnik hosta pamięci | Eksporty bazowego silnika hosta pamięci |
| `plugin-sdk/memory-core-host-engine-embeddings` | Silnik embeddingów hosta pamięci | Eksporty silnika embeddingów hosta pamięci |
| `plugin-sdk/memory-core-host-engine-qmd` | Silnik QMD hosta pamięci | Eksporty silnika QMD hosta pamięci |
| `plugin-sdk/memory-core-host-engine-storage` | Silnik storage hosta pamięci | Eksporty silnika storage hosta pamięci |
| `plugin-sdk/memory-core-host-multimodal` | Helpery multimodalne hosta pamięci | Helpery multimodalne hosta pamięci |
| `plugin-sdk/memory-core-host-query` | Helpery zapytań hosta pamięci | Helpery zapytań hosta pamięci |
| `plugin-sdk/memory-core-host-secret` | Helpery sekretów hosta pamięci | Helpery sekretów hosta pamięci |
| `plugin-sdk/memory-core-host-status` | Helpery stanu hosta pamięci | Helpery stanu hosta pamięci |
| `plugin-sdk/memory-core-host-runtime-cli` | Runtime CLI hosta pamięci | Helpery runtime CLI hosta pamięci |
| `plugin-sdk/memory-core-host-runtime-core` | Główny runtime hosta pamięci | Helpery głównego runtime hosta pamięci |
| `plugin-sdk/memory-core-host-runtime-files` | Helpery plików/runtime hosta pamięci | Helpery plików/runtime hosta pamięci |
| `plugin-sdk/memory-lancedb` | Helpery wbudowanego memory-lancedb | Powierzchnia helperów memory-lancedb |
| `plugin-sdk/testing` | Narzędzia testowe | Helpery testowe i mocki |
| `plugin-sdk/memory-core-host-multimodal` | Pomocniki multimodalne hosta pamięci | Pomocniki multimodalne hosta pamięci |
| `plugin-sdk/memory-core-host-query` | Pomocniki zapytań hosta pamięci | Pomocniki zapytań hosta pamięci |
| `plugin-sdk/memory-core-host-secret` | Pomocniki sekretów hosta pamięci | Pomocniki sekretów hosta pamięci |
| `plugin-sdk/memory-core-host-events` | Pomocniki dziennika zdarzeń hosta pamięci | Pomocniki dziennika zdarzeń hosta pamięci |
| `plugin-sdk/memory-core-host-status` | Pomocniki statusu hosta pamięci | Pomocniki statusu hosta pamięci |
| `plugin-sdk/memory-core-host-runtime-cli` | Runtime CLI hosta pamięci | Pomocniki runtime CLI hosta pamięci |
| `plugin-sdk/memory-core-host-runtime-core` | Runtime rdzenia hosta pamięci | Pomocniki runtime rdzenia hosta pamięci |
| `plugin-sdk/memory-core-host-runtime-files` | Pomocniki plików/runtime hosta pamięci | Pomocniki plików/runtime hosta pamięci |
| `plugin-sdk/memory-host-core` | Alias runtime rdzenia hosta pamięci | Neutralny względem dostawcy alias dla pomocników runtime rdzenia hosta pamięci |
| `plugin-sdk/memory-host-events` | Alias dziennika zdarzeń hosta pamięci | Neutralny względem dostawcy alias dla pomocników dziennika zdarzeń hosta pamięci |
| `plugin-sdk/memory-host-files` | Alias plików/runtime hosta pamięci | Neutralny względem dostawcy alias dla pomocników plików/runtime hosta pamięci |
| `plugin-sdk/memory-host-markdown` | Pomocniki zarządzanego markdown | Współdzielone pomocniki zarządzanego markdown dla pluginów powiązanych z pamięcią |
| `plugin-sdk/memory-host-search` | Fasada wyszukiwania aktywnej pamięci | Leniwa fasada runtime search-manager aktywnej pamięci |
| `plugin-sdk/memory-host-status` | Alias statusu hosta pamięci | Neutralny względem dostawcy alias dla pomocników statusu hosta pamięci |
| `plugin-sdk/memory-lancedb` | Wbudowane pomocniki memory-lancedb | Powierzchnia pomocników memory-lancedb |
| `plugin-sdk/testing` | Narzędzia testowe | Pomocniki testowe i mocki |
</Accordion>
Ta tabela celowo obejmuje wspólny podzbiór migracyjny, a nie pełną
powierzchnię SDK. Pełna lista ponad 200 punktów wejścia znajduje się w
Ta tabela celowo obejmuje typowy podzbiór migracyjny, a nie pełną powierzchnię SDK.
Pełna lista ponad 200 punktów wejścia znajduje się w
`scripts/lib/plugin-sdk-entrypoints.json`.
Ta lista nadal zawiera niektóre powierzchnie helperów wbudowanych pluginów, takie jak
Ta lista nadal zawiera niektóre pomocnicze warstwy wbudowanych pluginów, takie jak
`plugin-sdk/feishu`, `plugin-sdk/feishu-setup`, `plugin-sdk/zalo`,
`plugin-sdk/zalo-setup` i `plugin-sdk/matrix*`. Nadal są eksportowane na potrzeby
utrzymania i zgodności wbudowanych pluginów, ale celowo
pominięto je we wspólnej tabeli migracji i nie są zalecanym celem dla
`plugin-sdk/zalo-setup` i `plugin-sdk/matrix*`. Nadal są one eksportowane na potrzeby
utrzymania i zgodności wbudowanych pluginów, ale zostały celowo
pominięte w typowej tabeli migracyjnej i nie są zalecanym celem dla
nowego kodu pluginów.
Ta sama zasada dotyczy innych rodzin helperów wbudowanych, takich jak:
Ta sama zasada dotyczy innych rodzin wbudowanych pomocników, takich jak:
- helpery obsługi przeglądarki: `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support`
- pomocniki obsługi przeglądarki: `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support`
- Matrix: `plugin-sdk/matrix*`
- LINE: `plugin-sdk/line*`
- IRC: `plugin-sdk/irc*`
- powierzchnie helperów/wbudowanych pluginów, takie jak `plugin-sdk/googlechat`,
- wbudowane powierzchnie pomocników/pluginów, takie jak `plugin-sdk/googlechat`,
`plugin-sdk/zalouser`, `plugin-sdk/bluebubbles*`,
`plugin-sdk/mattermost*`, `plugin-sdk/msteams`,
`plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`,
@ -331,21 +339,21 @@ Ta sama zasada dotyczy innych rodzin helperów wbudowanych, takich jak:
`plugin-sdk/thread-ownership` i `plugin-sdk/voice-call`
`plugin-sdk/github-copilot-token` obecnie udostępnia wąską
powierzchnię helperów tokena: `DEFAULT_COPILOT_API_BASE_URL`,
`deriveCopilotApiBaseUrlFromToken` oraz `resolveCopilotApiToken`.
powierzchnię pomocników tokenów `DEFAULT_COPILOT_API_BASE_URL`,
`deriveCopilotApiBaseUrlFromToken` i `resolveCopilotApiToken`.
Używaj najwęższego importu pasującego do zadania. Jeśli nie możesz znaleźć eksportu,
sprawdź źródło w `src/plugin-sdk/` lub zapytaj na Discord.
## Harmonogram usunięcia
| When | What happens |
| ---------------------- | ----------------------------------------------------------------------- |
| **Now** | Przestarzałe powierzchnie emitują ostrzeżenia runtime |
| **Next major release** | Przestarzałe powierzchnie zostaną usunięte; pluginy nadal ich używające przestaną działać |
| Kiedy | Co się dzieje |
| ---------------------- | --------------------------------------------------------------------- |
| **Teraz** | Przestarzałe powierzchnie emitują ostrzeżenia w runtime |
| **Następne główne wydanie** | Przestarzałe powierzchnie zostaną usunięte; pluginy, które nadal z nich korzystają, przestaną działać |
Wszystkie pluginy core zostały już zmigrowane. Zewnętrzne pluginy powinny przeprowadzić migrację
przed następnym dużym wydaniem.
przed następnym głównym wydaniem.
## Tymczasowe wyciszenie ostrzeżeń
@ -361,8 +369,8 @@ To tymczasowa furtka awaryjna, a nie trwałe rozwiązanie.
## Powiązane
- [Pierwsze kroki](/pl/plugins/building-plugins) — zbuduj swój pierwszy plugin
- [Przegląd SDK](/pl/plugins/sdk-overview) — pełna dokumentacja importów subpath
- [Przegląd SDK](/pl/plugins/sdk-overview) — pełna dokumentacja importów podścieżek
- [Pluginy kanałów](/pl/plugins/sdk-channel-plugins) — tworzenie pluginów kanałów
- [Pluginy providerów](/pl/plugins/sdk-provider-plugins) — tworzenie pluginów providerów
- [Pluginy dostawców](/pl/plugins/sdk-provider-plugins) — tworzenie pluginów dostawców
- [Wnętrze pluginów](/pl/plugins/architecture) — szczegółowe omówienie architektury
- [Manifest pluginu](/pl/plugins/manifest) — dokumentacja schematu manifestu

View File

@ -1,16 +1,16 @@
---
read_when:
- Musisz wiedzieć, z której ścieżki podrzędnej SDK importować
- Chcesz mieć dokumentację wszystkich metod rejestracji w OpenClawPluginApi
- Musisz wiedzieć, z której podścieżki SDK importować
- Chcesz znaleźć dokumentację wszystkich metod rejestracji w `OpenClawPluginApi`
- Szukasz konkretnego eksportu SDK
sidebarTitle: SDK Overview
summary: Mapa importów, dokumentacja API rejestracji i architektura SDK
summary: Mapa importów, dokumentacja referencyjna API rejestracji i architektura SDK
title: Przegląd Plugin SDK
x-i18n:
generated_at: "2026-04-06T03:11:37Z"
generated_at: "2026-04-06T09:46:50Z"
model: gpt-5.4
provider: openai
source_hash: d801641f26f39dc21490d2a69a337ff1affb147141360916b8b58a267e9f822a
source_hash: acd2887ef52c66b2f234858d812bb04197ecd0bfb3e4f7bf3622f8fdc765acad
source_path: plugins/sdk-overview.md
workflow: 15
---
@ -18,323 +18,336 @@ x-i18n:
# Przegląd Plugin SDK
Plugin SDK to typowany kontrakt między pluginami a rdzeniem. Ta strona jest
dokumentacją tego, **co importować** i **co można rejestrować**.
dokumentacją referencyjną dla **tego, co importować** i **co można rejestrować**.
<Tip>
**Szukasz przewodnika krok po kroku?**
- Pierwszy plugin? Zacznij od [Pierwsze kroki](/pl/plugins/building-plugins)
- Plugin kanału? Zobacz [Pluginy kanałów](/pl/plugins/sdk-channel-plugins)
- Plugin providera? Zobacz [Pluginy providerów](/pl/plugins/sdk-provider-plugins)
- Plugin dostawcy? Zobacz [Pluginy dostawców](/pl/plugins/sdk-provider-plugins)
</Tip>
## Konwencja importu
Zawsze importuj z konkretnej ścieżki podrzędnej:
Zawsze importuj z konkretnej podścieżki:
```typescript
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core";
```
Każda ścieżka podrzędna to mały, samowystarczalny moduł. Dzięki temu start jest szybki i
zapobiega to problemom z zależnościami cyklicznymi. W przypadku pomocników wejścia/builda specyficznych dla kanału
preferuj `openclaw/plugin-sdk/channel-core`; `openclaw/plugin-sdk/core` zachowaj dla
szerszej powierzchni zbiorczej i współdzielonych helperów, takich jak
Każda podścieżka jest małym, samowystarczalnym modułem. Dzięki temu uruchamianie
pozostaje szybkie i unika się problemów z zależnościami cyklicznymi. W przypadku
pomocników budowania/punktów wejścia specyficznych dla kanałów preferuj
`openclaw/plugin-sdk/channel-core`; `openclaw/plugin-sdk/core` zachowaj dla
szerszej powierzchni parasolowej i współdzielonych pomocników, takich jak
`buildChannelConfigSchema`.
Nie dodawaj ani nie polegaj na wygodnych warstwach nazwanych od providerów, takich jak
`openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`,
`openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp` ani
warstwach helperów oznaczonych marką kanału. Bundled plugins powinny składać generyczne
ścieżki podrzędne SDK we własnych barrelach `api.ts` lub `runtime-api.ts`, a rdzeń
powinien albo używać tych lokalnych barreli pluginu, albo dodać wąski generyczny kontrakt SDK,
gdy potrzeba jest rzeczywiście międzykanałowa.
Nie dodawaj ani nie polegaj na wygodnych interfejsach nazwanych od dostawców,
takich jak `openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`,
`openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp`, ani na
pomocniczych interfejsach oznaczonych marką kanału. Bundled plugins powinny
składać generyczne podścieżki SDK we własnych barrelach `api.ts` lub
`runtime-api.ts`, a rdzeń powinien albo używać tych lokalnych barrelów pluginu,
albo dodać wąski generyczny kontrakt SDK, gdy potrzeba faktycznie dotyczy wielu
kanałów.
Wygenerowana mapa eksportów nadal zawiera niewielki zestaw warstw helperów bundled plugins,
takich jak `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`,
Wygenerowana mapa eksportów nadal zawiera mały zestaw pomocniczych interfejsów
dla bundled plugins, takich jak `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`,
`plugin-sdk/zalo`, `plugin-sdk/zalo-setup` i `plugin-sdk/matrix*`. Te
ścieżki podrzędne istnieją wyłącznie dla utrzymania bundled plugins i zgodności; są
celowo pominięte w typowej tabeli poniżej i nie są zalecaną ścieżką
importu dla nowych pluginów zewnętrznych.
podścieżki istnieją wyłącznie na potrzeby utrzymania bundled plugins i
zgodności; celowo pominięto je w typowej tabeli poniżej i nie są zalecaną
ścieżką importu dla nowych pluginów zewnętrznych.
## Dokumentacja ścieżek podrzędnych
## Dokumentacja podścieżek
Najczęściej używane ścieżki podrzędne, pogrupowane według przeznaczenia. Wygenerowana pełna lista
ponad 200 ścieżek podrzędnych znajduje się w `scripts/lib/plugin-sdk-entrypoints.json`.
Najczęściej używane podścieżki pogrupowane według przeznaczenia. Wygenerowana
pełna lista ponad 200 podścieżek znajduje się w `scripts/lib/plugin-sdk-entrypoints.json`.
Zarezerwowane ścieżki helperów bundled plugins nadal pojawiają się w tej wygenerowanej liście.
Traktuj je jako szczegół implementacyjny/powierzchnie zgodności, chyba że strona dokumentacji
jawnie promuje którąś z nich jako publiczną.
Zastrzeżone pomocnicze podścieżki bundled plugins nadal pojawiają się na tej
wygenerowanej liście. Traktuj je jako szczegóły implementacyjne lub powierzchnie
zgodności, chyba że jakaś strona dokumentacji wyraźnie promuje daną z nich jako
publiczną.
### Wejście pluginu
### Punkt wejścia pluginu
| Ścieżka podrzędna | Kluczowe eksporty |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
| `plugin-sdk/core` | `defineChannelPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase`, `defineSetupPluginEntry`, `buildChannelConfigSchema` |
| `plugin-sdk/config-schema` | `OpenClawSchema` |
| Podścieżka | Kluczowe eksporty |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
| `plugin-sdk/core` | `defineChannelPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase`, `defineSetupPluginEntry`, `buildChannelConfigSchema` |
| `plugin-sdk/config-schema` | `OpenClawSchema` |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
<AccordionGroup>
<Accordion title="Ścieżki podrzędne kanałów">
| Ścieżka podrzędna | Kluczowe eksporty |
<Accordion title="Podścieżki kanałów">
| Podścieżka | Kluczowe eksporty |
| --- | --- |
| `plugin-sdk/channel-core` | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
| `plugin-sdk/config-schema` | Eksport głównego schematu Zod `openclaw.json` (`OpenClawSchema`) |
| `plugin-sdk/channel-setup` | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, a także `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
| `plugin-sdk/setup` | Współdzielone helpery kreatora konfiguracji, prompty list dozwolonych, konstruktory statusu konfiguracji |
| `plugin-sdk/setup` | Współdzielone pomocniki kreatora konfiguracji, prompty list dozwolonych i konstruktory statusu konfiguracji |
| `plugin-sdk/setup-runtime` | `createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, `createSetupInputPresenceValidator`, `noteChannelLookupFailure`, `noteChannelLookupSummary`, `promptResolvedAllowFrom`, `splitSetupEntries`, `createAllowlistSetupWizardProxy`, `createDelegatedSetupWizardProxy` |
| `plugin-sdk/setup-adapter-runtime` | `createEnvPatchedAccountSetupAdapter` |
| `plugin-sdk/setup-tools` | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
| `plugin-sdk/account-core` | Helpery konfiguracji i action-gate dla wielu kont oraz helpery fallbacku do konta domyślnego |
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, helpery normalizacji account-id |
| `plugin-sdk/account-resolution` | Wyszukiwanie konta + helpery fallbacku do wartości domyślnej |
| `plugin-sdk/account-helpers` | Wąskie helpery list kont/działań na kontach |
| `plugin-sdk/account-core` | Pomocniki konfiguracji wielukontowej/bramek akcji oraz pomocniki domyślnego konta awaryjnego |
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, pomocniki normalizacji identyfikatora konta |
| `plugin-sdk/account-resolution` | Wyszukiwanie konta + pomocniki domyślnego fallbacku |
| `plugin-sdk/account-helpers` | Wąskie pomocniki list akcji konta i działań na koncie |
| `plugin-sdk/channel-pairing` | `createChannelPairingController` |
| `plugin-sdk/channel-reply-pipeline` | `createChannelReplyPipeline` |
| `plugin-sdk/channel-config-helpers` | `createHybridChannelConfigAdapter` |
| `plugin-sdk/channel-config-schema` | Typy schematu konfiguracji kanału |
| `plugin-sdk/telegram-command-config` | Helpery normalizacji/walidacji poleceń niestandardowych Telegram z fallbackiem do bundled contract |
| `plugin-sdk/telegram-command-config` | Pomocniki normalizacji/walidacji niestandardowych komend Telegram z fallbackiem kontraktu bundled |
| `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` |
| `plugin-sdk/channel-lifecycle` | `createAccountStatusSink` |
| `plugin-sdk/inbound-envelope` | Współdzielone helpery tras przychodzących + budowania envelope |
| `plugin-sdk/inbound-reply-dispatch` | Współdzielone helpery rejestrowania i dispatchu danych przychodzących |
| `plugin-sdk/messaging-targets` | Helpery parsowania/dopasowywania targetów |
| `plugin-sdk/outbound-media` | Współdzielone helpery ładowania mediów wychodzących |
| `plugin-sdk/outbound-runtime` | Helpery tożsamości wychodzącej/delegatów wysyłania |
| `plugin-sdk/thread-bindings-runtime` | Helpery cyklu życia thread-binding i adapterów |
| `plugin-sdk/agent-media-payload` | Starszy konstruktor payloadu mediów agenta |
| `plugin-sdk/conversation-runtime` | Helpery conversation/thread binding, pairingu i configured-binding |
| `plugin-sdk/runtime-config-snapshot` | Helper snapshotu konfiguracji runtime |
| `plugin-sdk/runtime-group-policy` | Helpery rozwiązywania polityki grup w runtime |
| `plugin-sdk/channel-status` | Współdzielone helpery snapshotu/podsumowania statusu kanału |
| `plugin-sdk/inbound-envelope` | Współdzielone pomocniki routingu przychodzącego + konstruktora koperty |
| `plugin-sdk/inbound-reply-dispatch` | Współdzielone pomocniki zapisu i wysyłki dla wiadomości przychodzących |
| `plugin-sdk/messaging-targets` | Pomocniki parsowania/dopasowywania celów |
| `plugin-sdk/outbound-media` | Współdzielone pomocniki ładowania mediów wychodzących |
| `plugin-sdk/outbound-runtime` | Pomocniki tożsamości wychodzącej i delegatów wysyłania |
| `plugin-sdk/thread-bindings-runtime` | Pomocniki cyklu życia i adapterów wiązań wątków |
| `plugin-sdk/agent-media-payload` | Starszy konstruktor ładunku mediów agenta |
| `plugin-sdk/conversation-runtime` | Pomocniki wiązania konwersacji/wątków, parowania i skonfigurowanych wiązań |
| `plugin-sdk/runtime-config-snapshot` | Pomocnik migawki konfiguracji runtime |
| `plugin-sdk/runtime-group-policy` | Pomocniki rozstrzygania polityki grup runtime |
| `plugin-sdk/channel-status` | Współdzielone pomocniki migawki/podsumowania statusu kanału |
| `plugin-sdk/channel-config-primitives` | Wąskie prymitywy schematu konfiguracji kanału |
| `plugin-sdk/channel-config-writes` | Helpery autoryzacji zapisu konfiguracji kanału |
| `plugin-sdk/channel-plugin-common` | Współdzielone eksporty prelude dla pluginów kanałów |
| `plugin-sdk/allowlist-config-edit` | Helpery edycji/odczytu konfiguracji list dozwolonych |
| `plugin-sdk/group-access` | Współdzielone helpery decyzji dostępu do grup |
| `plugin-sdk/direct-dm` | Współdzielone helpery auth/guard dla bezpośrednich DM |
| `plugin-sdk/interactive-runtime` | Helpery normalizacji/redukcji payloadów odpowiedzi interaktywnych |
| `plugin-sdk/channel-inbound` | Helpery debounce, dopasowywania wzmianek i envelope |
| `plugin-sdk/channel-send-result` | Typy wyniku odpowiedzi |
| `plugin-sdk/channel-config-writes` | Pomocniki autoryzacji zapisu konfiguracji kanału |
| `plugin-sdk/channel-plugin-common` | Współdzielone eksporty preludium pluginów kanałów |
| `plugin-sdk/allowlist-config-edit` | Pomocniki odczytu/edycji konfiguracji listy dozwolonych |
| `plugin-sdk/group-access` | Współdzielone pomocniki decyzji dostępu grupowego |
| `plugin-sdk/direct-dm` | Współdzielone pomocniki autoryzacji/ochrony dla bezpośrednich DM |
| `plugin-sdk/interactive-runtime` | Pomocniki normalizacji/redukcji ładunków interaktywnych odpowiedzi |
| `plugin-sdk/channel-inbound` | Debounce, dopasowywanie wzmianek, pomocniki kopert |
| `plugin-sdk/channel-send-result` | Typy wyników odpowiedzi |
| `plugin-sdk/channel-actions` | `createMessageToolButtonsSchema`, `createMessageToolCardSchema` |
| `plugin-sdk/channel-targets` | Helpery parsowania/dopasowywania targetów |
| `plugin-sdk/channel-targets` | Pomocniki parsowania/dopasowywania celów |
| `plugin-sdk/channel-contract` | Typy kontraktu kanału |
| `plugin-sdk/channel-feedback` | Integracja feedbacku/reakcji |
| `plugin-sdk/channel-feedback` | Okablowanie opinii/reakcji |
</Accordion>
<Accordion title="Ścieżki podrzędne providerów">
| Ścieżka podrzędna | Kluczowe eksporty |
<Accordion title="Podścieżki dostawców">
| Podścieżka | Kluczowe eksporty |
| --- | --- |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
| `plugin-sdk/provider-setup` | Kuratorowane helpery konfiguracji providerów lokalnych/self-hosted |
| `plugin-sdk/self-hosted-provider-setup` | Skupione helpery konfiguracji self-hosted providerów zgodnych z OpenAI |
| `plugin-sdk/provider-auth-runtime` | Helpery rozwiązywania kluczy API w runtime dla pluginów providerów |
| `plugin-sdk/provider-auth-api-key` | Helpery onboardingu/zapisu profilu dla klucza API |
| `plugin-sdk/provider-auth-result` | Standardowy konstruktor wyniku auth OAuth |
| `plugin-sdk/provider-auth-login` | Współdzielone helpery interaktywnego logowania dla pluginów providerów |
| `plugin-sdk/provider-env-vars` | Helpery wyszukiwania zmiennych env auth providera |
| `plugin-sdk/provider-setup` | Kuratorowane pomocniki konfiguracji lokalnych/self-hosted dostawców |
| `plugin-sdk/self-hosted-provider-setup` | Ukierunkowane pomocniki konfiguracji self-hosted dostawców zgodnych z OpenAI |
| `plugin-sdk/provider-auth-runtime` | Pomocniki rozstrzygania kluczy API w runtime dla pluginów dostawców |
| `plugin-sdk/provider-auth-api-key` | Pomocniki onboardingu kluczy API/zapisu profilu |
| `plugin-sdk/provider-auth-result` | Standardowy konstruktor wyniku autoryzacji OAuth |
| `plugin-sdk/provider-auth-login` | Współdzielone pomocniki interaktywnego logowania dla pluginów dostawców |
| `plugin-sdk/provider-env-vars` | Pomocniki wyszukiwania zmiennych środowiskowych autoryzacji dostawców |
| `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile` |
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, współdzielone konstruktory polityki replay, helpery endpointów providerów i helpery normalizacji model-id, takie jak `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, współdzielone konstruktory polityk replay, pomocniki endpointów dostawców oraz pomocniki normalizacji identyfikatorów modeli, takie jak `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
| `plugin-sdk/provider-http` | Generyczne helpery HTTP/endpoints/capabilities providera |
| `plugin-sdk/provider-web-fetch` | Helpery rejestracji/cache konfiguracji web-fetch providerów |
| `plugin-sdk/provider-web-search` | Helpery rejestracji/cache/config dla providerów web-search |
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, czyszczenie schematów Gemini + diagnostyka oraz helpery zgodności xAI, takie jak `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-http` | Generyczne pomocniki możliwości HTTP/endpointów dostawców |
| `plugin-sdk/provider-web-fetch` | Pomocniki rejestracji/cache dostawców pobierania z internetu |
| `plugin-sdk/provider-web-search` | Pomocniki rejestracji/cache/konfiguracji dostawców wyszukiwania w internecie |
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, czyszczenie schematów Gemini + diagnostyka oraz pomocniki zgodności xAI, takie jak `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-usage` | `fetchClaudeUsage` i podobne |
| `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, typy opakowań strumieni i współdzielone helpery opakowań Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/provider-onboard` | Helpery poprawek konfiguracji onboardingu |
| `plugin-sdk/global-singleton` | Pomocniki singletonów/map/cache lokalnych dla procesu |
| `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, typy wrapperów strumieni oraz współdzielone pomocniki wrapperów Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/provider-onboard` | Pomocniki łatania konfiguracji onboardingu |
| `plugin-sdk/global-singleton` | Pomocniki lokalnych dla procesu singletonów/map/cache |
</Accordion>
<Accordion title="Ścieżki podrzędne auth i bezpieczeństwa">
| Ścieżka podrzędna | Kluczowe eksporty |
<Accordion title="Podścieżki autoryzacji i bezpieczeństwa">
| Podścieżka | Kluczowe eksporty |
| --- | --- |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, helpery rejestru poleceń, helpery autoryzacji nadawcy |
| `plugin-sdk/approval-auth-runtime` | Helpery rozwiązywania approvera i auth działań w tym samym czacie |
| `plugin-sdk/approval-client-runtime` | Helpery profilu/filtra natywnych zgód na exec |
| `plugin-sdk/approval-delivery-runtime` | Adaptery możliwości/dostarczania natywnych zgód |
| `plugin-sdk/approval-native-runtime` | Helpery targetów natywnych zgód + account-binding |
| `plugin-sdk/approval-reply-runtime` | Helpery payloadów odpowiedzi dla zgód exec/plugin |
| `plugin-sdk/command-auth-native` | Natywne helpery auth poleceń + helpery natywnego session-target |
| `plugin-sdk/command-detection` | Współdzielone helpery wykrywania poleceń |
| `plugin-sdk/command-surface` | Normalizacja treści poleceń i helpery command-surface |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, pomocniki rejestru komend, pomocniki autoryzacji nadawcy |
| `plugin-sdk/approval-auth-runtime` | Pomocniki rozstrzygania zatwierdzających i autoryzacji działań w tym samym czacie |
| `plugin-sdk/approval-client-runtime` | Pomocniki natywnego wykonania dla profili/filtrów zatwierdzania |
| `plugin-sdk/approval-delivery-runtime` | Adaptery możliwości/dostarczania natywnego zatwierdzania |
| `plugin-sdk/approval-native-runtime` | Pomocniki celu natywnego zatwierdzania + wiązania kont |
| `plugin-sdk/approval-reply-runtime` | Pomocniki ładunków odpowiedzi zatwierdzania exec/plugin |
| `plugin-sdk/command-auth-native` | Natywna autoryzacja komend + pomocniki natywnego celu sesji |
| `plugin-sdk/command-detection` | Współdzielone pomocniki wykrywania komend |
| `plugin-sdk/command-surface` | Pomocniki normalizacji treści komend i powierzchni komend |
| `plugin-sdk/allow-from` | `formatAllowFromLowercase` |
| `plugin-sdk/security-runtime` | Współdzielone helpery zaufania, bramkowania DM, treści zewnętrznych i zbierania sekretów |
| `plugin-sdk/ssrf-policy` | Helpery polityki SSRF dla listy dozwolonych hostów i sieci prywatnych |
| `plugin-sdk/ssrf-runtime` | Helpery pinned-dispatcher, fetch z ochroną SSRF i polityki SSRF |
| `plugin-sdk/secret-input` | Helpery parsowania wejścia sekretów |
| `plugin-sdk/webhook-ingress` | Helpery żądań/targetów webhooków |
| `plugin-sdk/webhook-request-guards` | Helpery rozmiaru body/timeoutu żądań |
| `plugin-sdk/security-runtime` | Współdzielone pomocniki zaufania, bramkowania DM, zewnętrznych treści i zbierania sekretów |
| `plugin-sdk/ssrf-policy` | Pomocniki allowlist hostów i polityki SSRF dla sieci prywatnych |
| `plugin-sdk/ssrf-runtime` | Pomocniki przypiętego dispatchera, fetch chronionego przed SSRF i polityki SSRF |
| `plugin-sdk/secret-input` | Pomocniki parsowania wejść sekretów |
| `plugin-sdk/webhook-ingress` | Pomocniki żądań/docelowych webhooków |
| `plugin-sdk/webhook-request-guards` | Pomocniki limitu rozmiaru treści i limitu czasu żądań |
</Accordion>
<Accordion title="Ścieżki podrzędne runtime i storage">
| Ścieżka podrzędna | Kluczowe eksporty |
<Accordion title="Podścieżki runtime i pamięci trwałej">
| Podścieżka | Kluczowe eksporty |
| --- | --- |
| `plugin-sdk/runtime` | Szerokie helpery runtime/logowania/backupu/instalacji pluginów |
| `plugin-sdk/runtime-env` | Wąskie helpery env runtime, loggera, timeoutu, retry i backoff |
| `plugin-sdk/runtime` | Szeroka powierzchnia pomocników runtime/logowania/kopii zapasowych/instalacji pluginów |
| `plugin-sdk/runtime-env` | Wąskie pomocniki środowiska runtime, loggera, timeoutów, ponowień i backoffu |
| `plugin-sdk/runtime-store` | `createPluginRuntimeStore` |
| `plugin-sdk/plugin-runtime` | Współdzielone helpery poleceń/hooków/http/interakcji pluginów |
| `plugin-sdk/hook-runtime` | Współdzielone helpery pipeline webhooków i hooków wewnętrznych |
| `plugin-sdk/lazy-runtime` | Helpery leniwego importu/bindings runtime, takie jak `createLazyRuntimeModule`, `createLazyRuntimeMethod` i `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | Helpery wykonywania procesów |
| `plugin-sdk/cli-runtime` | Helpery formatowania CLI, oczekiwania i wersji |
| `plugin-sdk/gateway-runtime` | Helpery klienta Gateway i łatek statusu kanałów |
| `plugin-sdk/config-runtime` | Helpery ładowania/zapisu konfiguracji |
| `plugin-sdk/telegram-command-config` | Helpery normalizacji nazw/opisów poleceń Telegram oraz sprawdzania duplikatów/konfliktów, nawet gdy powierzchnia bundled Telegram contract jest niedostępna |
| `plugin-sdk/approval-runtime` | Helpery zgód exec/plugin, konstruktory możliwości zgód, helpery auth/profili, helpery natywnego routingu/runtime |
| `plugin-sdk/reply-runtime` | Współdzielone helpery runtime przychodzących/odpowiedzi, chunking, dispatch, heartbeat, planner odpowiedzi |
| `plugin-sdk/reply-dispatch-runtime` | Wąskie helpery dispatchu/finalizacji odpowiedzi |
| `plugin-sdk/reply-history` | Współdzielone helpery krótkookresowej historii odpowiedzi, takie jak `buildHistoryContext`, `recordPendingHistoryEntry` i `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/plugin-runtime` | Współdzielone pomocniki komend/hooków/http/interakcji pluginów |
| `plugin-sdk/hook-runtime` | Współdzielone pomocniki pipeline webhooków i hooków wewnętrznych |
| `plugin-sdk/lazy-runtime` | Pomocniki leniwego importu/powiązań runtime, takie jak `createLazyRuntimeModule`, `createLazyRuntimeMethod` i `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | Pomocniki uruchamiania procesów |
| `plugin-sdk/cli-runtime` | Pomocniki formatowania CLI, oczekiwania i wersji |
| `plugin-sdk/gateway-runtime` | Pomocniki klienta Gateway i łatania statusu kanału |
| `plugin-sdk/config-runtime` | Pomocniki ładowania/zapisu konfiguracji |
| `plugin-sdk/telegram-command-config` | Normalizacja nazw/opisów komend Telegram oraz wykrywanie duplikatów/konfliktów, nawet gdy powierzchnia kontraktu bundled Telegram jest niedostępna |
| `plugin-sdk/approval-runtime` | Pomocniki zatwierdzania exec/plugin, konstruktory możliwości zatwierdzania, pomocniki auth/profili, pomocniki natywnego routingu/runtime |
| `plugin-sdk/reply-runtime` | Współdzielone pomocniki runtime dla wiadomości przychodzących/odpowiedzi, chunking, dispatch, heartbeat, planer odpowiedzi |
| `plugin-sdk/reply-dispatch-runtime` | Wąskie pomocniki dispatch/finalizacji odpowiedzi |
| `plugin-sdk/reply-history` | Współdzielone pomocniki krótkookresowej historii odpowiedzi, takie jak `buildHistoryContext`, `recordPendingHistoryEntry` i `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-reference` | `createReplyReferencePlanner` |
| `plugin-sdk/reply-chunking` | Wąskie helpery chunkingu tekstu/Markdown |
| `plugin-sdk/session-store-runtime` | Helpery ścieżek magazynu sesji + updated-at |
| `plugin-sdk/state-paths` | Helpery ścieżek katalogów stanu/OAuth |
| `plugin-sdk/routing` | Helpery route/session-key/account-binding, takie jak `resolveAgentRoute`, `buildAgentSessionKey` i `resolveDefaultAgentBoundAccountId` |
| `plugin-sdk/status-helpers` | Współdzielone helpery podsumowania statusu kanału/konta, wartości domyślne stanu runtime i helpery metadanych problemów |
| `plugin-sdk/target-resolver-runtime` | Współdzielone helpery rozwiązywania targetów |
| `plugin-sdk/string-normalization-runtime` | Helpery normalizacji slug/string |
| `plugin-sdk/request-url` | Wyodrębnianie stringowych URL z wejść podobnych do fetch/request |
| `plugin-sdk/run-command` | Uruchamianie poleceń z limitem czasu i znormalizowanymi wynikami stdout/stderr |
| `plugin-sdk/param-readers` | Wspólni czytelnicy parametrów dla narzędzi/CLI |
| `plugin-sdk/tool-send` | Wyodrębnianie kanonicznych pól celu wysyłki z argumentów narzędzia |
| `plugin-sdk/temp-path` | Współdzielone helpery ścieżek tymczasowego pobierania |
| `plugin-sdk/logging-core` | Helpery loggera podsystemu i redakcji |
| `plugin-sdk/markdown-table-runtime` | Helpery trybu tabel Markdown |
| `plugin-sdk/json-store` | Małe helpery odczytu/zapisu stanu JSON |
| `plugin-sdk/file-lock` | Re-entrant helpery blokady pliku |
| `plugin-sdk/persistent-dedupe` | Helpery cache deduplikacji opartego na dysku |
| `plugin-sdk/acp-runtime` | Helpery runtime/sesji ACP i dispatchu odpowiedzi |
| `plugin-sdk/reply-chunking` | Wąskie pomocniki chunkingu tekstu/Markdown |
| `plugin-sdk/session-store-runtime` | Pomocniki ścieżek magazynu sesji + `updated-at` |
| `plugin-sdk/state-paths` | Pomocniki ścieżek katalogów stanu/OAuth |
| `plugin-sdk/routing` | Pomocniki wiązania trasy/klucza sesji/konta, takie jak `resolveAgentRoute`, `buildAgentSessionKey` i `resolveDefaultAgentBoundAccountId` |
| `plugin-sdk/status-helpers` | Współdzielone pomocniki podsumowania statusu kanału/konta, domyślne stany runtime i pomocniki metadanych problemów |
| `plugin-sdk/target-resolver-runtime` | Współdzielone pomocniki rozstrzygania celu |
| `plugin-sdk/string-normalization-runtime` | Pomocniki normalizacji slugów/ciągów znaków |
| `plugin-sdk/request-url` | Wyodrębnianie URL-i tekstowych z wejść typu fetch/request |
| `plugin-sdk/run-command` | Uruchamianie komend z limitem czasu i znormalizowanymi wynikami stdout/stderr |
| `plugin-sdk/param-readers` | Typowe czytniki parametrów narzędzi/CLI |
| `plugin-sdk/tool-send` | Wyodrębnianie kanonicznych pól celu wysyłki z argumentów narzędzi |
| `plugin-sdk/temp-path` | Współdzielone pomocniki ścieżek tymczasowego pobierania |
| `plugin-sdk/logging-core` | Logger podsystemu i pomocniki redakcji |
| `plugin-sdk/markdown-table-runtime` | Pomocniki trybu tabel Markdown |
| `plugin-sdk/json-store` | Małe pomocniki odczytu/zapisu stanu JSON |
| `plugin-sdk/file-lock` | Pomocniki reentrantnych blokad plików |
| `plugin-sdk/persistent-dedupe` | Pomocniki cache deduplikacji na dysku |
| `plugin-sdk/acp-runtime` | Pomocniki ACP runtime/sesji i dispatchu odpowiedzi |
| `plugin-sdk/agent-config-primitives` | Wąskie prymitywy schematu konfiguracji runtime agenta |
| `plugin-sdk/boolean-param` | Tolerancyjny czytnik parametrów boolean |
| `plugin-sdk/dangerous-name-runtime` | Helpery rozwiązywania dopasowań niebezpiecznych nazw |
| `plugin-sdk/device-bootstrap` | Helpery bootstrapu urządzeń i tokenów pairingu |
| `plugin-sdk/extension-shared` | Współdzielone prymitywy helperów kanałów pasywnych i statusu |
| `plugin-sdk/models-provider-runtime` | Helpery odpowiedzi polecenia `/models`/providerów |
| `plugin-sdk/skill-commands-runtime` | Helpery listowania poleceń Skills |
| `plugin-sdk/native-command-registry` | Helpery rejestru/build/serializacji natywnych poleceń |
| `plugin-sdk/provider-zai-endpoint` | Helpery wykrywania endpointów Z.AI |
| `plugin-sdk/infra-runtime` | Helpery zdarzeń systemowych/heartbeat |
| `plugin-sdk/collection-runtime` | Małe helpery ograniczonych cache |
| `plugin-sdk/diagnostic-runtime` | Helpery flag diagnostycznych i zdarzeń |
| `plugin-sdk/error-runtime` | Graf błędów, formatowanie, współdzielone helpery klasyfikacji błędów, `isApprovalNotFoundError` |
| `plugin-sdk/fetch-runtime` | Opakowany fetch, proxy i helpery pinned lookup |
| `plugin-sdk/host-runtime` | Helpery normalizacji hostname i hostów SCP |
| `plugin-sdk/retry-runtime` | Helpery konfiguracji retry i runnera retry |
| `plugin-sdk/agent-runtime` | Helpery agent dir/identity/workspace |
| `plugin-sdk/directory-runtime` | Zapytania/deduplikacja katalogów oparte na konfiguracji |
| `plugin-sdk/boolean-param` | Czytnik luźnych parametrów logicznych |
| `plugin-sdk/dangerous-name-runtime` | Pomocniki rozstrzygania dopasowań niebezpiecznych nazw |
| `plugin-sdk/device-bootstrap` | Pomocniki bootstrapu urządzenia i tokenów parowania |
| `plugin-sdk/extension-shared` | Współdzielone prymitywy pomocników pasywnego kanału i statusu |
| `plugin-sdk/models-provider-runtime` | Pomocniki odpowiedzi dostawców/komendy `/models` |
| `plugin-sdk/skill-commands-runtime` | Pomocniki listowania komend Skills |
| `plugin-sdk/native-command-registry` | Pomocniki rejestru/budowania/serializacji natywnych komend |
| `plugin-sdk/provider-zai-endpoint` | Pomocniki wykrywania endpointów Z.A.I |
| `plugin-sdk/infra-runtime` | Pomocniki zdarzeń systemowych/heartbeat |
| `plugin-sdk/collection-runtime` | Pomocniki małych ograniczonych cache |
| `plugin-sdk/diagnostic-runtime` | Pomocniki flag diagnostycznych i zdarzeń |
| `plugin-sdk/error-runtime` | Graf błędów, formatowanie, współdzielone pomocniki klasyfikacji błędów, `isApprovalNotFoundError` |
| `plugin-sdk/fetch-runtime` | Pomocniki opakowanego fetch, proxy i przypiętych lookupów |
| `plugin-sdk/host-runtime` | Pomocniki normalizacji hostname i hostów SCP |
| `plugin-sdk/retry-runtime` | Pomocniki konfiguracji ponowień i wykonawcy ponowień |
| `plugin-sdk/agent-runtime` | Pomocniki katalogu/tożsamości/obszaru roboczego agenta |
| `plugin-sdk/directory-runtime` | Zapytania deduplikacja katalogów oparta na konfiguracji |
| `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` |
</Accordion>
<Accordion title="Ścieżki podrzędne capabilities i testowania">
| Ścieżka podrzędna | Kluczowe eksporty |
<Accordion title="Podścieżki możliwości i testowania">
| Podścieżka | Kluczowe eksporty |
| --- | --- |
| `plugin-sdk/media-runtime` | Współdzielone helpery pobierania/przekształcania/przechowywania mediów oraz konstruktory payloadów mediów |
| `plugin-sdk/media-understanding` | Typy providerów rozumienia mediów oraz eksporty helperów obrazów/audio skierowane do providerów |
| `plugin-sdk/text-runtime` | Współdzielone helpery tekstu/Markdown/logowania, takie jak usuwanie tekstu widocznego dla asystenta, renderowanie/chunking/tabele Markdown, helpery redakcji, helpery tagów dyrektyw i bezpieczne utility tekstowe |
| `plugin-sdk/text-chunking` | Helper chunkingu tekstu wychodzącego |
| `plugin-sdk/speech` | Typy providerów mowy oraz helpery dyrektyw, rejestru i walidacji skierowane do providerów |
| `plugin-sdk/speech-core` | Współdzielone typy providerów mowy, registry, dyrektywy i helpery normalizacji |
| `plugin-sdk/realtime-transcription` | Typy providerów transkrypcji realtime i helpery rejestru |
| `plugin-sdk/realtime-voice` | Typy providerów głosu realtime i helpery rejestru |
| `plugin-sdk/image-generation` | Typy providerów generowania obrazów |
| `plugin-sdk/image-generation-core` | Współdzielone typy generowania obrazów, helpery failover, auth i rejestru |
| `plugin-sdk/music-generation` | Typy providerów/żądań/wyników generowania muzyki |
| `plugin-sdk/music-generation-core` | Współdzielone typy generowania muzyki, helpery failover, lookup providera i parsowanie model-ref |
| `plugin-sdk/video-generation` | Typy providerów/żądań/wyników generowania wideo |
| `plugin-sdk/video-generation-core` | Współdzielone typy generowania wideo, helpery failover, lookup providera i parsowanie model-ref |
| `plugin-sdk/webhook-targets` | Rejestr targetów webhooków i helpery instalacji tras |
| `plugin-sdk/webhook-path` | Helpery normalizacji ścieżek webhooków |
| `plugin-sdk/web-media` | Współdzielone helpery ładowania mediów zdalnych/lokalnych |
| `plugin-sdk/zod` | Re-eksport `zod` dla konsumentów plugin SDK |
| `plugin-sdk/media-runtime` | Współdzielone pomocniki pobierania/transformacji/przechowywania mediów oraz konstruktory ładunków mediów |
| `plugin-sdk/media-generation-runtime` | Współdzielone pomocniki failover dla generowania mediów, wybór kandydatów i komunikaty o brakujących modelach |
| `plugin-sdk/media-understanding` | Typy dostawców rozumienia mediów oraz eksporty pomocników obrazów/audio skierowane do dostawców |
| `plugin-sdk/text-runtime` | Współdzielone pomocniki tekstu/Markdown/logowania, takie jak usuwanie tekstu widocznego dla asystenta, pomocniki renderowania/chunkingu/tabel Markdown, pomocniki redakcji, pomocniki tagów dyrektyw i narzędzia bezpiecznego tekstu |
| `plugin-sdk/text-chunking` | Pomocnik chunkingu tekstu wychodzącego |
| `plugin-sdk/speech` | Typy dostawców mowy oraz eksporty pomocników dyrektyw, rejestru i walidacji skierowane do dostawców |
| `plugin-sdk/speech-core` | Współdzielone typy dostawców mowy oraz pomocniki rejestru, dyrektyw i normalizacji |
| `plugin-sdk/realtime-transcription` | Typy dostawców transkrypcji realtime i pomocniki rejestru |
| `plugin-sdk/realtime-voice` | Typy dostawców głosu realtime i pomocniki rejestru |
| `plugin-sdk/image-generation` | Typy dostawców generowania obrazów |
| `plugin-sdk/image-generation-core` | Współdzielone typy generowania obrazów oraz pomocniki failover, auth i rejestru |
| `plugin-sdk/music-generation` | Typy dostawców/żądań/wyników generowania muzyki |
| `plugin-sdk/music-generation-core` | Współdzielone typy generowania muzyki, pomocniki failover, wyszukiwanie dostawców i parsowanie model-ref |
| `plugin-sdk/video-generation` | Typy dostawców/żądań/wyników generowania wideo |
| `plugin-sdk/video-generation-core` | Współdzielone typy generowania wideo, pomocniki failover, wyszukiwanie dostawców i parsowanie model-ref |
| `plugin-sdk/webhook-targets` | Rejestr celów webhooków i pomocniki instalacji tras |
| `plugin-sdk/webhook-path` | Pomocniki normalizacji ścieżek webhooków |
| `plugin-sdk/web-media` | Współdzielone pomocniki ładowania zdalnych/lokalnych mediów |
| `plugin-sdk/zod` | Reeksport `zod` dla odbiorców Plugin SDK |
| `plugin-sdk/testing` | `installCommonResolveTargetErrorCases`, `shouldAckReaction` |
</Accordion>
<Accordion title="Ścieżki podrzędne pamięci">
| Ścieżka podrzędna | Kluczowe eksporty |
<Accordion title="Podścieżki pamięci">
| Podścieżka | Kluczowe eksporty |
| --- | --- |
| `plugin-sdk/memory-core` | Powierzchnia helperów bundled memory-core dla helperów manager/config/file/CLI |
| `plugin-sdk/memory-core-engine-runtime` | Fasada runtime indeksowania/wyszukiwania pamięci |
| `plugin-sdk/memory-core-host-engine-foundation` | Eksporty foundation engine hosta pamięci |
| `plugin-sdk/memory-core-host-engine-embeddings` | Eksporty embedding engine hosta pamięci |
| `plugin-sdk/memory-core-host-engine-qmd` | Eksporty QMD engine hosta pamięci |
| `plugin-sdk/memory-core-host-engine-storage` | Eksporty storage engine hosta pamięci |
| `plugin-sdk/memory-core-host-multimodal` | Multimodalne helpery hosta pamięci |
| `plugin-sdk/memory-core-host-query` | Helpery zapytań hosta pamięci |
| `plugin-sdk/memory-core-host-secret` | Helpery sekretów hosta pamięci |
| `plugin-sdk/memory-core-host-status` | Helpery statusu hosta pamięci |
| `plugin-sdk/memory-core-host-runtime-cli` | Helpery runtime CLI hosta pamięci |
| `plugin-sdk/memory-core-host-runtime-core` | Helpery głównego runtime hosta pamięci |
| `plugin-sdk/memory-core-host-runtime-files` | Helpery plików/runtime hosta pamięci |
| `plugin-sdk/memory-lancedb` | Powierzchnia helperów bundled memory-lancedb |
| `plugin-sdk/memory-core` | Powierzchnia pomocnicza bundled memory-core dla menedżera/konfiguracji/plików/pomocników CLI |
| `plugin-sdk/memory-core-engine-runtime` | Fasada runtime indeksu/wyszukiwania pamięci |
| `plugin-sdk/memory-core-host-engine-foundation` | Eksporty silnika podstaw hosta pamięci |
| `plugin-sdk/memory-core-host-engine-embeddings` | Eksporty silnika embeddingów hosta pamięci |
| `plugin-sdk/memory-core-host-engine-qmd` | Eksporty silnika QMD hosta pamięci |
| `plugin-sdk/memory-core-host-engine-storage` | Eksporty silnika przechowywania hosta pamięci |
| `plugin-sdk/memory-core-host-multimodal` | Pomocniki multimodalne hosta pamięci |
| `plugin-sdk/memory-core-host-query` | Pomocniki zapytań hosta pamięci |
| `plugin-sdk/memory-core-host-secret` | Pomocniki sekretów hosta pamięci |
| `plugin-sdk/memory-core-host-events` | Pomocniki dziennika zdarzeń hosta pamięci |
| `plugin-sdk/memory-core-host-status` | Pomocniki statusu hosta pamięci |
| `plugin-sdk/memory-core-host-runtime-cli` | Pomocniki CLI runtime hosta pamięci |
| `plugin-sdk/memory-core-host-runtime-core` | Pomocniki rdzeniowego runtime hosta pamięci |
| `plugin-sdk/memory-core-host-runtime-files` | Pomocniki plików/runtime hosta pamięci |
| `plugin-sdk/memory-host-core` | Neutralny względem dostawcy alias pomocników rdzeniowego runtime hosta pamięci |
| `plugin-sdk/memory-host-events` | Neutralny względem dostawcy alias pomocników dziennika zdarzeń hosta pamięci |
| `plugin-sdk/memory-host-files` | Neutralny względem dostawcy alias pomocników plików/runtime hosta pamięci |
| `plugin-sdk/memory-host-markdown` | Współdzielone pomocniki zarządzanego Markdown dla pluginów powiązanych z pamięcią |
| `plugin-sdk/memory-host-search` | Aktywna fasada runtime pamięci dla dostępu do menedżera wyszukiwania |
| `plugin-sdk/memory-host-status` | Neutralny względem dostawcy alias pomocników statusu hosta pamięci |
| `plugin-sdk/memory-lancedb` | Powierzchnia pomocnicza bundled memory-lancedb |
</Accordion>
<Accordion title="Zarezerwowane ścieżki podrzędne helperów bundled">
| Rodzina | Obecne ścieżki podrzędne | Zamierzone użycie |
<Accordion title="Zastrzeżone pomocnicze podścieżki bundled">
| Rodzina | Bieżące podścieżki | Przeznaczenie |
| --- | --- | --- |
| Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | Helpery wsparcia bundled browser plugin (`browser-support` pozostaje barrelem zgodności) |
| Matrix | `plugin-sdk/matrix`, `plugin-sdk/matrix-helper`, `plugin-sdk/matrix-runtime-heavy`, `plugin-sdk/matrix-runtime-shared`, `plugin-sdk/matrix-runtime-surface`, `plugin-sdk/matrix-surface`, `plugin-sdk/matrix-thread-bindings` | Powierzchnia helperów/runtime bundled Matrix |
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Powierzchnia helperów/runtime bundled LINE |
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Powierzchnia helperów bundled IRC |
| Helpery specyficzne dla kanału | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | Warstwy zgodności/helperów bundled kanałów |
| Helpery auth/specyficzne dla pluginu | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Warstwy helperów bundled funkcji/pluginów; `plugin-sdk/github-copilot-token` eksportuje obecnie `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` i `resolveCopilotApiToken` |
| Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | Pomocniki wsparcia bundled browser plugin (`browser-support` pozostaje barrelem zgodności) |
| Matrix | `plugin-sdk/matrix`, `plugin-sdk/matrix-helper`, `plugin-sdk/matrix-runtime-heavy`, `plugin-sdk/matrix-runtime-shared`, `plugin-sdk/matrix-runtime-surface`, `plugin-sdk/matrix-surface`, `plugin-sdk/matrix-thread-bindings` | Powierzchnia pomocnicza/runtime bundled Matrix |
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Powierzchnia pomocnicza/runtime bundled LINE |
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Powierzchnia pomocnicza bundled IRC |
| Pomocniki specyficzne dla kanałów | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | Interfejsy pomocnicze/zgodności bundled kanałów |
| Pomocniki specyficzne dla auth/pluginów | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Interfejsy pomocnicze bundled funkcji/pluginów; `plugin-sdk/github-copilot-token` obecnie eksportuje `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` i `resolveCopilotApiToken` |
</Accordion>
</AccordionGroup>
## API rejestracji
Callback `register(api)` otrzymuje obiekt `OpenClawPluginApi` z następującymi
metodami:
Callback `register(api)` otrzymuje obiekt `OpenClawPluginApi` z tymi metodami:
### Rejestracja capabilities
### Rejestracja możliwości
| Metoda | Co rejestruje |
| ------------------------------------------------ | -------------------------------- |
| `api.registerProvider(...)` | Wnioskowanie tekstowe (LLM) |
| `api.registerChannel(...)` | Kanał wiadomości |
| `api.registerSpeechProvider(...)` | Syntezę text-to-speech / STT |
| `api.registerRealtimeTranscriptionProvider(...)` | Strumieniową transkrypcję realtime |
| `api.registerRealtimeVoiceProvider(...)` | Dwukierunkowe sesje głosowe realtime |
| `api.registerMediaUnderstandingProvider(...)` | Analizę obrazów/audio/wideo |
| `api.registerSpeechProvider(...)` | Synteza tekstu na mowę / STT |
| `api.registerRealtimeTranscriptionProvider(...)` | Strumieniowa transkrypcja realtime |
| `api.registerRealtimeVoiceProvider(...)` | Dwukierunkowe sesje głosu realtime |
| `api.registerMediaUnderstandingProvider(...)` | Analiza obrazu/audio/wideo |
| `api.registerImageGenerationProvider(...)` | Generowanie obrazów |
| `api.registerMusicGenerationProvider(...)` | Generowanie muzyki |
| `api.registerVideoGenerationProvider(...)` | Generowanie wideo |
| `api.registerWebFetchProvider(...)` | Provider web fetch / scrape |
| `api.registerWebSearchProvider(...)` | Wyszukiwanie w sieci |
| `api.registerWebFetchProvider(...)` | Dostawca pobierania / scrapingu z internetu |
| `api.registerWebSearchProvider(...)` | Wyszukiwanie w internecie |
### Narzędzia i polecenia
### Narzędzia i komendy
| Metoda | Co rejestruje |
| ------------------------------- | --------------------------------------------- |
| `api.registerTool(tool, opts?)` | Narzędzie agenta (wymagane lub `{ optional: true }`) |
| `api.registerCommand(def)` | Niestandardowe polecenie (omija LLM) |
| `api.registerCommand(def)` | Niestandardową komendę (z pominięciem LLM) |
### Infrastruktura
| Metoda | Co rejestruje |
| ---------------------------------------------- | ------------------- |
| `api.registerHook(events, handler, opts?)` | Hook zdarzeń |
| `api.registerHttpRoute(params)` | Endpoint HTTP Gateway |
| `api.registerGatewayMethod(name, handler)` | Metodę RPC Gateway |
| `api.registerCli(registrar, opts?)` | Podpolecenie CLI |
| `api.registerService(service)` | Usługę działającą w tle |
| `api.registerInteractiveHandler(registration)` | Handler interaktywny |
| Metoda | Co rejestruje |
| ---------------------------------------------- | ------------------------------------- |
| `api.registerHook(events, handler, opts?)` | Hook zdarzeń |
| `api.registerHttpRoute(params)` | Endpoint HTTP Gateway |
| `api.registerGatewayMethod(name, handler)` | Metodę RPC Gateway |
| `api.registerCli(registrar, opts?)` | Podkomendę CLI |
| `api.registerService(service)` | Usługę działającą w tle |
| `api.registerInteractiveHandler(registration)` | Obsługę interaktywną |
| `api.registerMemoryPromptSupplement(builder)` | Addytywną sekcję promptu związaną z pamięcią |
| `api.registerMemoryCorpusSupplement(adapter)` | Addytywny korpus wyszukiwania/odczytu pamięci |
Zarezerwowane przestrzenie nazw admina rdzenia (`config.*`, `exec.approvals.*`, `wizard.*`,
`update.*`) zawsze pozostają `operator.admin`, nawet jeśli plugin próbuje przypisać
węższy zakres metody gatewaya. Dla metod należących do pluginu preferuj prefiksy specyficzne dla pluginu.
Zastrzeżone przestrzenie nazw administracyjnych rdzenia (`config.*`, `exec.approvals.*`, `wizard.*`,
`update.*`) zawsze pozostają `operator.admin`, nawet jeśli plugin próbuje
przypisać węższy zakres metody Gateway. Dla metod należących do pluginu
preferuj prefiksy specyficzne dla pluginu.
### Metadane rejestracji CLI
`api.registerCli(registrar, opts?)` akceptuje dwa rodzaje metadanych najwyższego poziomu:
- `commands`: jawne korzenie poleceń należące do rejestratora
- `descriptors`: deskryptory poleceń używane podczas parsowania dla głównej pomocy CLI,
- `commands`: jawne korzenie komend należące do registrara
- `descriptors`: deskryptory komend używane na etapie parsowania dla głównej pomocy CLI,
routingu i leniwej rejestracji CLI pluginu
Jeśli chcesz, aby polecenie pluginu pozostało ładowane leniwie w zwykłej ścieżce głównego CLI,
podaj `descriptors`, które obejmą każdy korzeń polecenia najwyższego poziomu udostępniany przez tego
rejestratora.
Jeśli chcesz, aby komenda pluginu pozostała leniwie ładowana w normalnej
ścieżce głównego CLI, podaj `descriptors`, które obejmują każdy korzeń komendy
najwyższego poziomu udostępniany przez ten registrar.
```typescript
api.registerCli(
@ -346,7 +359,7 @@ api.registerCli(
descriptors: [
{
name: "matrix",
description: "Manage Matrix accounts, verification, devices, and profile state",
description: "Zarządzaj kontami Matrix, weryfikacją, urządzeniami i stanem profilu",
hasSubcommands: true,
},
],
@ -354,66 +367,69 @@ api.registerCli(
);
```
Używaj samego `commands` tylko wtedy, gdy nie potrzebujesz leniwej rejestracji głównego CLI.
Ta zgodnościowa ścieżka eager nadal jest wspierana, ale nie instaluje
placeholderów opartych na deskryptorach do leniwego ładowania podczas parsowania.
Używaj samego `commands` tylko wtedy, gdy nie potrzebujesz leniwej rejestracji
w głównym CLI. Ta zgodnościowa ścieżka eager nadal jest wspierana, ale nie
instaluje placeholderów opartych na deskryptorach dla leniwego ładowania na
etapie parsowania.
### Wyłączne sloty
### Sloty wyłączne
| Metoda | Co rejestruje |
| ------------------------------------------ | ------------------------------------- |
| `api.registerContextEngine(id, factory)` | Silnik kontekstu (aktywny tylko jeden naraz) |
| `api.registerMemoryPromptSection(builder)` | Konstruktor sekcji promptu pamięci |
| `api.registerMemoryFlushPlan(resolver)` | Resolver planu flush pamięci |
| `api.registerMemoryRuntime(runtime)` | Adapter runtime pamięci |
| Metoda | Co rejestruje |
| ------------------------------------------ | ------------------------------------ |
| `api.registerContextEngine(id, factory)` | Silnik kontekstu (jeden aktywny naraz) |
| `api.registerMemoryPromptSection(builder)` | Konstruktor sekcji promptu pamięci |
| `api.registerMemoryFlushPlan(resolver)` | Resolver planu opróżniania pamięci |
| `api.registerMemoryRuntime(runtime)` | Adapter runtime pamięci |
### Adaptery embeddingów pamięci
### Adaptery osadzania pamięci
| Metoda | Co rejestruje |
| ---------------------------------------------- | ---------------------------------------------- |
| `api.registerMemoryEmbeddingProvider(adapter)` | Adapter embeddingów pamięci dla aktywnego pluginu |
| `api.registerMemoryEmbeddingProvider(adapter)` | Adapter osadzania pamięci dla aktywnego pluginu |
- `registerMemoryPromptSection`, `registerMemoryFlushPlan` i
`registerMemoryRuntime` są zarezerwowane wyłącznie dla pluginów pamięci.
- `registerMemoryEmbeddingProvider` pozwala aktywnemu pluginowi pamięci zarejestrować jeden
lub więcej identyfikatorów adapterów embeddingów (na przykład `openai`, `gemini` albo własny identyfikator zdefiniowany przez plugin).
`registerMemoryRuntime` są wyłączne dla pluginów pamięci.
- `registerMemoryEmbeddingProvider` pozwala aktywnemu pluginowi pamięci
zarejestrować jeden lub więcej identyfikatorów adapterów osadzania
(na przykład `openai`, `gemini` albo niestandardowy identyfikator
zdefiniowany przez plugin).
- Konfiguracja użytkownika, taka jak `agents.defaults.memorySearch.provider` i
`agents.defaults.memorySearch.fallback`, jest rozwiązywana względem tych zarejestrowanych
identyfikatorów adapterów.
`agents.defaults.memorySearch.fallback`, jest rozstrzygana względem tych
zarejestrowanych identyfikatorów adapterów.
### Zdarzenia i cykl życia
| Metoda | Co robi |
| -------------------------------------------- | ------------------------------ |
| `api.on(hookName, handler, opts?)` | Typowany hook cyklu życia |
| `api.onConversationBindingResolved(handler)` | Callback resolution conversation binding |
| Metoda | Co robi |
| -------------------------------------------- | --------------------------- |
| `api.on(hookName, handler, opts?)` | Typowany hook cyklu życia |
| `api.onConversationBindingResolved(handler)` | Callback rozstrzygnięcia wiązania konwersacji |
### Semantyka decyzji hooków
- `before_tool_call`: zwrócenie `{ block: true }` jest rozstrzygające. Gdy którykolwiek handler to ustawi, handlery o niższym priorytecie są pomijane.
- `before_tool_call`: zwrócenie `{ block: true }` jest końcowe. Gdy dowolny handler to ustawi, handlery o niższym priorytecie są pomijane.
- `before_tool_call`: zwrócenie `{ block: false }` jest traktowane jako brak decyzji (tak samo jak pominięcie `block`), a nie jako nadpisanie.
- `before_install`: zwrócenie `{ block: true }` jest rozstrzygające. Gdy którykolwiek handler to ustawi, handlery o niższym priorytecie są pomijane.
- `before_install`: zwrócenie `{ block: true }` jest końcowe. Gdy dowolny handler to ustawi, handlery o niższym priorytecie są pomijane.
- `before_install`: zwrócenie `{ block: false }` jest traktowane jako brak decyzji (tak samo jak pominięcie `block`), a nie jako nadpisanie.
- `reply_dispatch`: zwrócenie `{ handled: true, ... }` jest rozstrzygające. Gdy którykolwiek handler przejmie dispatch, handlery o niższym priorytecie i domyślna ścieżka dispatchu modelu są pomijane.
- `message_sending`: zwrócenie `{ cancel: true }` jest rozstrzygające. Gdy którykolwiek handler to ustawi, handlery o niższym priorytecie są pomijane.
- `reply_dispatch`: zwrócenie `{ handled: true, ... }` jest końcowe. Gdy dowolny handler przejmie dispatch, handlery o niższym priorytecie oraz domyślna ścieżka dispatchu modelu są pomijane.
- `message_sending`: zwrócenie `{ cancel: true }` jest końcowe. Gdy dowolny handler to ustawi, handlery o niższym priorytecie są pomijane.
- `message_sending`: zwrócenie `{ cancel: false }` jest traktowane jako brak decyzji (tak samo jak pominięcie `cancel`), a nie jako nadpisanie.
### Pola obiektu API
| Pole | Typ | Opis |
| ----------------------- | ------------------------- | -------------------------------------------------------------------------------------------- |
| `api.id` | `string` | Identyfikator pluginu |
| `api.name` | `string` | Wyświetlana nazwa |
| `api.version` | `string?` | Wersja pluginu (opcjonalnie) |
| `api.description` | `string?` | Opis pluginu (opcjonalnie) |
| `api.source` | `string` | Ścieżka źródłowa pluginu |
| `api.rootDir` | `string?` | Katalog główny pluginu (opcjonalnie) |
| `api.config` | `OpenClawConfig` | Bieżący snapshot konfiguracji (aktywny snapshot runtime w pamięci, gdy jest dostępny) |
| `api.pluginConfig` | `Record<string, unknown>` | Konfiguracja specyficzna dla pluginu z `plugins.entries.<id>.config` |
| `api.runtime` | `PluginRuntime` | [Helpery runtime](/pl/plugins/sdk-runtime) |
| `api.logger` | `PluginLogger` | Logger o zawężonym zakresie (`debug`, `info`, `warn`, `error`) |
| `api.registrationMode` | `PluginRegistrationMode` | Bieżący tryb ładowania; `"setup-runtime"` to lekki etap uruchamiania/konfiguracji przed pełnym wejściem |
| `api.resolvePath(input)` | `(string) => string` | Rozwiąż ścieżkę względem katalogu głównego pluginu |
| Pole | Typ | Opis |
| ----------------------- | ------------------------- | ------------------------------------------------------------------------------------------- |
| `api.id` | `string` | Identyfikator pluginu |
| `api.name` | `string` | Nazwa wyświetlana |
| `api.version` | `string?` | Wersja pluginu (opcjonalnie) |
| `api.description` | `string?` | Opis pluginu (opcjonalnie) |
| `api.source` | `string` | Ścieżka źródłowa pluginu |
| `api.rootDir` | `string?` | Katalog główny pluginu (opcjonalnie) |
| `api.config` | `OpenClawConfig` | Bieżąca migawka konfiguracji (aktywny snapshot runtime w pamięci, gdy jest dostępny) |
| `api.pluginConfig` | `Record<string, unknown>` | Konfiguracja specyficzna dla pluginu z `plugins.entries.<id>.config` |
| `api.runtime` | `PluginRuntime` | [Pomocniki runtime](/pl/plugins/sdk-runtime) |
| `api.logger` | `PluginLogger` | Logger o zawężonym zakresie (`debug`, `info`, `warn`, `error`) |
| `api.registrationMode` | `PluginRegistrationMode` | Bieżący tryb ładowania; `"setup-runtime"` to lekki etap uruchamiania/konfiguracji przed pełnym entry |
| `api.resolvePath(input)` | `(string) => string` | Rozstrzyganie ścieżki względem katalogu głównego pluginu |
## Konwencja modułów wewnętrznych
@ -421,48 +437,51 @@ Wewnątrz pluginu używaj lokalnych plików barrel do importów wewnętrznych:
```
my-plugin/
api.ts # Publiczne eksporty dla zewnętrznych konsumentów
runtime-api.ts # Eksporty runtime tylko do użytku wewnętrznego
api.ts # Publiczne eksporty dla zewnętrznych odbiorców
runtime-api.ts # Eksporty runtime wyłącznie do użytku wewnętrznego
index.ts # Punkt wejścia pluginu
setup-entry.ts # Lekki punkt wejścia tylko do konfiguracji (opcjonalnie)
setup-entry.ts # Lekki punkt wejścia tylko do konfiguracji (opcjonalny)
```
<Warning>
Nigdy nie importuj własnego pluginu przez `openclaw/plugin-sdk/<your-plugin>`
z kodu produkcyjnego. Kieruj importy wewnętrzne przez `./api.ts` lub
w kodzie produkcyjnym. Kieruj importy wewnętrzne przez `./api.ts` albo
`./runtime-api.ts`. Ścieżka SDK jest wyłącznie kontraktem zewnętrznym.
</Warning>
Ładowane przez fasadę publiczne powierzchnie bundled plugins (`api.ts`, `runtime-api.ts`,
`index.ts`, `setup-entry.ts` i podobne publiczne pliki wejściowe) preferują teraz
aktywny snapshot konfiguracji runtime, gdy OpenClaw już działa. Jeśli snapshot runtime
jeszcze nie istnieje, wracają do konfiguracji rozwiązanej z pliku na dysku.
Publiczne powierzchnie bundled plugins ładowane przez fasadę (`api.ts`,
`runtime-api.ts`, `index.ts`, `setup-entry.ts` i podobne publiczne pliki wejściowe)
preferują teraz aktywną migawkę konfiguracji runtime, gdy OpenClaw jest już
uruchomiony. Jeśli migawka runtime jeszcze nie istnieje, przechodzą na
konfigurację rozstrzygniętą z pliku na dysku.
Pluginy providerów mogą również udostępniać wąski barrel kontraktowy lokalny dla pluginu, gdy
helper jest celowo specyficzny dla providera i jeszcze nie należy do generycznej ścieżki podrzędnej SDK.
Obecny przykład bundled: provider Anthropic trzyma swoje helpery strumienia Claude
we własnej publicznej warstwie `api.ts` / `contract-api.ts`, zamiast promować logikę nagłówków beta Anthropic i `service_tier` do generycznego
kontraktu `plugin-sdk/*`.
Pluginy dostawców mogą także udostępniać wąski lokalny barrel kontraktu pluginu,
gdy pomocnik jest celowo specyficzny dla dostawcy i nie pasuje jeszcze do
generycznej podścieżki SDK. Bieżący bundled przykład: dostawca Anthropic
przechowuje swoje pomocniki strumieni Claude we własnym publicznym interfejsie
`api.ts` / `contract-api.ts` zamiast promować logikę nagłówków beta Anthropic i
`service_tier` do generycznego kontraktu `plugin-sdk/*`.
Inne obecne przykłady bundled:
Inne bieżące bundled przykłady:
- `@openclaw/openai-provider`: `api.ts` eksportuje konstruktory providerów,
helpery modeli domyślnych i konstruktory providerów realtime
- `@openclaw/openrouter-provider`: `api.ts` eksportuje konstruktor providera oraz
helpery onboardingu/konfiguracji
- `@openclaw/openai-provider`: `api.ts` eksportuje konstruktory dostawców,
pomocniki modeli domyślnych i konstruktory dostawców realtime
- `@openclaw/openrouter-provider`: `api.ts` eksportuje konstruktor dostawcy oraz
pomocniki onboardingu/konfiguracji
<Warning>
Kod produkcyjny rozszerzeń powinien również unikać importów `openclaw/plugin-sdk/<other-plugin>`.
Jeśli helper jest naprawdę współdzielony, promuj go do neutralnej ścieżki podrzędnej SDK,
takiej jak `openclaw/plugin-sdk/speech`, `.../provider-model-shared` lub innej
powierzchni zorientowanej na capability, zamiast sprzęgać ze sobą dwa pluginy.
Kod produkcyjny rozszerzeń powinien także unikać importów
`openclaw/plugin-sdk/<other-plugin>`. Jeśli jakiś pomocnik jest faktycznie
współdzielony, przenieś go do neutralnej podścieżki SDK, takiej jak
`openclaw/plugin-sdk/speech`, `.../provider-model-shared` lub innej
powierzchni zorientowanej na możliwości, zamiast wiązać dwa pluginy ze sobą.
</Warning>
## Powiązane
- [Punkty wejścia](/pl/plugins/sdk-entrypoints) — opcje `definePluginEntry` i `defineChannelPluginEntry`
- [Helpery runtime](/pl/plugins/sdk-runtime) — pełna dokumentacja przestrzeni nazw `api.runtime`
- [Setup i konfiguracja](/pl/plugins/sdk-setup) — pakowanie, manifesty, schematy konfiguracji
- [Pomocniki runtime](/pl/plugins/sdk-runtime) — pełna dokumentacja referencyjna przestrzeni nazw `api.runtime`
- [Konfiguracja i setup](/pl/plugins/sdk-setup) — pakowanie, manifesty, schematy konfiguracji
- [Testowanie](/pl/plugins/sdk-testing) — narzędzia testowe i reguły lint
- [Migracja SDK](/pl/plugins/sdk-migration) — migracja z przestarzałych powierzchni
- [Wnętrze pluginów](/pl/plugins/architecture) — szczegółowa architektura i model capabilities
- [Wnętrze pluginów](/pl/plugins/architecture) — szczegółowa architektura i model możliwości

View File

@ -1,30 +1,30 @@
---
read_when:
- Generujesz obrazy przez agenta
- Konfigurujesz dostawców i modele generowania obrazów
- Chcesz zrozumieć parametry narzędzia image_generate
summary: Generowanie i edycja obrazów przy użyciu skonfigurowanych dostawców (OpenAI, Google Gemini, fal, MiniMax, ComfyUI, Vydra)
- Generowanie obrazów przez agenta
- Konfigurowanie dostawców i modeli do generowania obrazów
- Zrozumienie parametrów narzędzia image_generate
summary: Generuj i edytuj obrazy za pomocą skonfigurowanych dostawców (OpenAI, Google Gemini, fal, MiniMax, ComfyUI, Vydra)
title: Generowanie obrazów
x-i18n:
generated_at: "2026-04-06T03:13:44Z"
generated_at: "2026-04-06T09:45:33Z"
model: gpt-5.4
provider: openai
source_hash: dde416dd1441a06605db85b5813cf61ccfc525813d6db430b7b7dfa53d6a3134
source_hash: 903cc522c283a8da2cbd449ae3e25f349a74d00ecfdaf0f323fd8aa3f2107aea
source_path: tools/image-generation.md
workflow: 15
---
# Generowanie obrazów
Narzędzie `image_generate` pozwala agentowi tworzyć i edytować obrazy przy użyciu skonfigurowanych dostawców. Wygenerowane obrazy są automatycznie dostarczane jako załączniki multimedialne w odpowiedzi agenta.
Narzędzie `image_generate` umożliwia agentowi tworzenie i edytowanie obrazów przy użyciu skonfigurowanych dostawców. Wygenerowane obrazy są automatycznie dostarczane jako załączniki multimedialne w odpowiedzi agenta.
<Note>
Narzędzie pojawia się tylko wtedy, gdy dostępny jest co najmniej jeden dostawca generowania obrazów. Jeśli nie widzisz `image_generate` w narzędziach agenta, skonfiguruj `agents.defaults.imageGenerationModel` albo ustaw klucz API dostawcy.
Narzędzie pojawia się tylko wtedy, gdy dostępny jest co najmniej jeden dostawca generowania obrazów. Jeśli nie widzisz `image_generate` w narzędziach swojego agenta, skonfiguruj `agents.defaults.imageGenerationModel` lub ustaw klucz API dostawcy.
</Note>
## Szybki start
1. Ustaw klucz API dla co najmniej jednego dostawcy (na przykład `OPENAI_API_KEY` albo `GEMINI_API_KEY`).
1. Ustaw klucz API dla co najmniej jednego dostawcy (na przykład `OPENAI_API_KEY` lub `GEMINI_API_KEY`).
2. Opcjonalnie ustaw preferowany model:
```json5
@ -39,20 +39,20 @@ Narzędzie pojawia się tylko wtedy, gdy dostępny jest co najmniej jeden dostaw
}
```
3. Poproś agenta: _"Wygeneruj obraz przyjaznej maskotki homara."_
3. Poproś agenta: _„Wygeneruj obraz przyjaznej maskotki homara.”_
Agent automatycznie wywoła `image_generate`. Nie trzeba dodawać go do allowlisty narzędzi — jest domyślnie włączony, gdy dostawca jest dostępny.
Agent automatycznie wywoła `image_generate`. Nie trzeba dodawać go do listy dozwolonych narzędzi — jest domyślnie włączone, gdy dostawca jest dostępny.
## Obsługiwani dostawcy
| Dostawca | Model domyślny | Obsługa edycji | Klucz API |
| -------- | -------------------------------- | ----------------------------------- | ------------------------------------------------------- |
| OpenAI | `gpt-image-1` | Tak (do 5 obrazów) | `OPENAI_API_KEY` |
| Google | `gemini-3.1-flash-image-preview` | Tak | `GEMINI_API_KEY` lub `GOOGLE_API_KEY` |
| fal | `fal-ai/flux/dev` | Tak | `FAL_KEY` |
| MiniMax | `image-01` | Tak (odniesienie do obiektu) | `MINIMAX_API_KEY` lub MiniMax OAuth (`minimax-portal`) |
| ComfyUI | `workflow` | Tak (1 obraz, konfigurowany przez workflow) | `COMFY_API_KEY` lub `COMFY_CLOUD_API_KEY` dla chmury |
| Vydra | `grok-imagine` | Nie | `VYDRA_API_KEY` |
| Dostawca | Model domyślny | Obsługa edycji | Klucz API |
| -------- | -------------------------------- | ---------------------------------- | ------------------------------------------------------ |
| OpenAI | `gpt-image-1` | Tak (do 5 obrazów) | `OPENAI_API_KEY` |
| Google | `gemini-3.1-flash-image-preview` | Tak | `GEMINI_API_KEY` lub `GOOGLE_API_KEY` |
| fal | `fal-ai/flux/dev` | Tak | `FAL_KEY` |
| MiniMax | `image-01` | Tak (odniesienie do obiektu) | `MINIMAX_API_KEY` lub OAuth MiniMax (`minimax-portal`) |
| ComfyUI | `workflow` | Tak (1 obraz, zgodnie z workflow) | `COMFY_API_KEY` lub `COMFY_CLOUD_API_KEY` dla chmury |
| Vydra | `grok-imagine` | Nie | `VYDRA_API_KEY` |
Użyj `action: "list"`, aby sprawdzić dostępnych dostawców i modele w czasie działania:
@ -64,18 +64,18 @@ Użyj `action: "list"`, aby sprawdzić dostępnych dostawców i modele w czasie
| Parametr | Typ | Opis |
| ------------- | -------- | ------------------------------------------------------------------------------------- |
| `prompt` | string | Prompt do generowania obrazu (wymagany dla `action: "generate"`) |
| `action` | string | `"generate"` (domyślnie) albo `"list"` do sprawdzenia dostawców |
| `model` | string | Nadpisanie dostawca/model, np. `openai/gpt-image-1` |
| `image` | string | Ścieżka lub URL pojedynczego obrazu referencyjnego dla trybu edycji |
| `images` | string[] | Wiele obrazów referencyjnych dla trybu edycji (do 5) |
| `size` | string | Wskazówka rozmiaru: `1024x1024`, `1536x1024`, `1024x1536`, `1024x1792`, `1792x1024` |
| `aspectRatio` | string | Proporcje obrazu: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
| `prompt` | string | Prompt generowania obrazu (wymagany dla `action: "generate"`) |
| `action` | string | `"generate"` (domyślnie) lub `"list"` do sprawdzenia dostawców |
| `model` | string | Nadpisanie dostawcy/modelu, np. `openai/gpt-image-1` |
| `image` | string | Ścieżka lub URL pojedynczego obrazu referencyjnego dla trybu edycji |
| `images` | string[] | Wiele obrazów referencyjnych dla trybu edycji (do 5) |
| `size` | string | Wskazówka rozmiaru: `1024x1024`, `1536x1024`, `1024x1536`, `1024x1792`, `1792x1024` |
| `aspectRatio` | string | Współczynnik proporcji: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
| `resolution` | string | Wskazówka rozdzielczości: `1K`, `2K` lub `4K` |
| `count` | number | Liczba obrazów do wygenerowania (14) |
| `filename` | string | Wskazówka nazwy pliku wyjściowego |
| `count` | number | Liczba obrazów do wygenerowania (14) |
| `filename` | string | Wskazówka nazwy pliku wyjściowego |
Nie wszyscy dostawcy obsługują wszystkie parametry. Narzędzie przekazuje to, co obsługuje dany dostawca, ignoruje resztę i zgłasza pominięte nadpisania w wyniku narzędzia.
Nie wszyscy dostawcy obsługują wszystkie parametry. Narzędzie przekazuje to, co obsługuje dany dostawca, ignoruje resztę i zgłasza pominięte nadpisania w wyniku działania narzędzia.
## Konfiguracja
@ -101,52 +101,50 @@ Podczas generowania obrazu OpenClaw próbuje dostawców w tej kolejności:
1. Parametr **`model`** z wywołania narzędzia (jeśli agent go określi)
2. **`imageGenerationModel.primary`** z konfiguracji
3. **`imageGenerationModel.fallbacks`** w podanej kolejności
4. **Automatyczne wykrywanie** — używa tylko domyślnych dostawców wspieranych przez uwierzytelnianie:
4. **Automatyczne wykrywanie** — używa tylko domyślnych dostawców opartych na uwierzytelnianiu:
- najpierw bieżący domyślny dostawca
- następnie pozostali zarejestrowani dostawcy generowania obrazów w kolejności identyfikatorów dostawców
- pozostali zarejestrowani dostawcy generowania obrazów w kolejności identyfikatorów dostawców
Jeśli dostawca zawiedzie (błąd uwierzytelniania, rate limit itd.), automatycznie próbowany jest następny kandydat. Jeśli zawiodą wszyscy, błąd zawiera szczegóły każdej próby.
Jeśli dostawca zawiedzie (błąd uwierzytelnienia, limit szybkości itp.), automatycznie próbowany jest kolejny kandydat. Jeśli zawiodą wszystkie, błąd zawiera szczegóły z każdej próby.
Uwagi:
- Automatyczne wykrywanie uwzględnia uwierzytelnianie. Domyślny dostawca trafia na listę kandydatów
tylko wtedy, gdy OpenClaw faktycznie potrafi uwierzytelnić tego dostawcę.
- Użyj `action: "list"`, aby sprawdzić aktualnie zarejestrowanych dostawców, ich
modele domyślne i wskazówki dotyczące zmiennych env dla uwierzytelniania.
- Automatyczne wykrywanie uwzględnia stan uwierzytelnienia. Domyślny dostawca trafia na listę kandydatów tylko wtedy, gdy OpenClaw może rzeczywiście uwierzytelnić tego dostawcę.
- Użyj `action: "list"`, aby sprawdzić aktualnie zarejestrowanych dostawców, ich domyślne modele i wskazówki dotyczące zmiennych środowiskowych uwierzytelniania.
### Edycja obrazów
OpenAI, Google, fal, MiniMax i ComfyUI obsługują edycję obrazów referencyjnych. Przekaż ścieżkę lub URL obrazu referencyjnego:
```
"Wygeneruj akwarelową wersję tego zdjęcia" + image: "/path/to/photo.jpg"
"Generate a watercolor version of this photo" + image: "/path/to/photo.jpg"
```
OpenAI i Google obsługują do 5 obrazów referencyjnych przez parametr `images`. fal, MiniMax i ComfyUI obsługują 1.
OpenAI i Google obsługują do 5 obrazów referencyjnych za pomocą parametru `images`. fal, MiniMax i ComfyUI obsługują 1.
Generowanie obrazów MiniMax jest dostępne przez obie dołączone ścieżki uwierzytelniania MiniMax:
- `minimax/image-01` dla konfiguracji z kluczem API
- `minimax-portal/image-01` dla konfiguracji z OAuth
- `minimax-portal/image-01` dla konfiguracji OAuth
## Możliwości dostawców
| Możliwość | OpenAI | Google | fal | MiniMax | ComfyUI | Vydra |
| -------------------- | -------------------- | -------------------- | ------------------- | -------------------------- | ---------------------------------- | ----- |
| Generowanie | Tak (do 4) | Tak (do 4) | Tak (do 4) | Tak (do 9) | Tak (wyjścia określone przez workflow) | Tak (1) |
| Edycja/referencja | Tak (do 5 obrazów) | Tak (do 5 obrazów) | Tak (1 obraz) | Tak (1 obraz, odniesienie do obiektu) | Tak (1 obraz, konfigurowany przez workflow) | Nie |
| Kontrola rozmiaru | Tak | Tak | Tak | Nie | Nie | Nie |
| Proporcje obrazu | Nie | Tak | Tak (tylko generowanie) | Tak | Nie | Nie |
| Rozdzielczość (1K/2K/4K) | Nie | Tak | Tak | Nie | Nie | Nie |
| Możliwość | OpenAI | Google | fal | MiniMax | ComfyUI | Vydra |
| -------------------- | -------------------- | -------------------- | ------------------- | -------------------------- | ---------------------------------- | ------- |
| Generowanie | Tak (do 4) | Tak (do 4) | Tak (do 4) | Tak (do 9) | Tak (wyniki określone przez workflow) | Tak (1) |
| Edycja/referencja | Tak (do 5 obrazów) | Tak (do 5 obrazów) | Tak (1 obraz) | Tak (1 obraz, odniesienie do obiektu) | Tak (1 obraz, zgodnie z workflow) | Nie |
| Kontrola rozmiaru | Tak | Tak | Tak | Nie | Nie | Nie |
| Współczynnik proporcji | Nie | Tak | Tak (tylko generowanie) | Tak | Nie | Nie |
| Rozdzielczość (1K/2K/4K) | Nie | Tak | Tak | Nie | Nie | Nie |
## Powiązane
- [Przegląd narzędzi](/pl/tools) — wszystkie dostępne narzędzia agenta
- [fal](/providers/fal) — konfiguracja dostawcy obrazów i wideo fal
- [ComfyUI](/providers/comfy) — konfiguracja lokalnych workflow ComfyUI i Comfy Cloud
- [fal](/pl/providers/fal) — konfiguracja dostawcy obrazów i wideo fal
- [ComfyUI](/pl/providers/comfy) — konfiguracja lokalnego ComfyUI i workflow Comfy Cloud
- [Google (Gemini)](/pl/providers/google) — konfiguracja dostawcy obrazów Gemini
- [MiniMax](/pl/providers/minimax) — konfiguracja dostawcy obrazów MiniMax
- [OpenAI](/pl/providers/openai) — konfiguracja dostawcy OpenAI Images
- [Vydra](/providers/vydra) — konfiguracja obrazów, wideo i mowy Vydra
- [Referencja konfiguracji](/pl/gateway/configuration-reference#agent-defaults) — konfiguracja `imageGenerationModel`
- [Modele](/pl/concepts/models) — konfiguracja modeli i failover
- [Vydra](/pl/providers/vydra) — konfiguracja obrazów, wideo i mowy Vydra
- [Dokumentacja referencyjna konfiguracji](/pl/gateway/configuration-reference#agent-defaults) — konfiguracja `imageGenerationModel`
- [Modele](/pl/concepts/models) — konfiguracja modeli i przełączanie awaryjne

View File

@ -1,25 +1,25 @@
---
read_when:
- Generowanie wideo przez agenta
- Konfigurowanie dostawców i modeli generowania wideo
- Generowanie filmów za pomocą agenta
- Konfigurowanie dostawców i modeli do generowania filmów
- Zrozumienie parametrów narzędzia video_generate
summary: Generowanie wideo z tekstu, obrazów lub istniejących filmów przy użyciu 12 backendów dostawców
title: Generowanie wideo
summary: Generuj filmy z tekstu, obrazów lub istniejących filmów przy użyciu 12 backendów dostawców
title: Generowanie filmów
x-i18n:
generated_at: "2026-04-06T03:14:27Z"
generated_at: "2026-04-06T09:45:44Z"
model: gpt-5.4
provider: openai
source_hash: 4afec87368232221db1aa5a3980254093d6a961b17271b2dcbf724e6bd455b16
source_hash: 90d8a392b35adbd899232b02c55c10895b9d7ffc9858d6ca448f2e4e4a57f12f
source_path: tools/video-generation.md
workflow: 15
---
# Generowanie wideo
# Generowanie filmów
Agenci OpenClaw mogą generować wideo z promptów tekstowych, obrazów referencyjnych lub istniejących filmów. Obsługiwanych jest dwanaście backendów dostawców, z których każdy ma różne opcje modeli, tryby wejścia i zestawy funkcji. Agent automatycznie wybiera właściwego dostawcę na podstawie twojej konfiguracji i dostępnych kluczy API.
Agenci OpenClaw mogą generować filmy na podstawie promptów tekstowych, obrazów referencyjnych lub istniejących filmów. Obsługiwanych jest dwanaście backendów dostawców, a każdy z nich oferuje inne opcje modeli, tryby wejściowe i zestawy funkcji. Agent automatycznie wybiera odpowiedniego dostawcę na podstawie konfiguracji i dostępnych kluczy API.
<Note>
Narzędzie `video_generate` pojawia się tylko wtedy, gdy dostępny jest co najmniej jeden dostawca generowania wideo. Jeśli nie widzisz go w narzędziach agenta, ustaw klucz API dostawcy albo skonfiguruj `agents.defaults.videoGenerationModel`.
Narzędzie `video_generate` pojawia się tylko wtedy, gdy dostępny jest co najmniej jeden dostawca generowania filmów. Jeśli go nie widzisz w narzędziach agenta, ustaw klucz API dostawcy lub skonfiguruj `agents.defaults.videoGenerationModel`.
</Note>
## Szybki start
@ -38,41 +38,41 @@ openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1
3. Poproś agenta:
> Wygeneruj 5-sekundowe kinowe wideo przedstawiające przyjaznego homara surfującego o zachodzie słońca.
> Wygeneruj 5-sekundowy film kinowy przedstawiający przyjaznego homara surfującego o zachodzie słońca.
Agent automatycznie wywoła `video_generate`. Nie jest wymagane dodawanie narzędzia do allowlisty.
Agent automatycznie wywołuje `video_generate`. Nie jest wymagane dodawanie narzędzia do listy dozwolonych.
## Co dzieje się podczas generowania wideo
## Co dzieje się podczas generowania filmu
Generowanie wideo jest asynchroniczne. Gdy agent wywołuje `video_generate` w sesji:
Generowanie filmu jest asynchroniczne. Gdy agent wywołuje `video_generate` w sesji:
1. OpenClaw wysyła żądanie do dostawcy i natychmiast zwraca identyfikator zadania.
2. Dostawca przetwarza zadanie w tle (zwykle od 30 sekund do 5 minut w zależności od dostawcy i rozdzielczości).
3. Gdy wideo jest gotowe, OpenClaw wybudza tę samą sesję przez wewnętrzne zdarzenie ukończenia.
4. Agent publikuje gotowe wideo z powrotem w oryginalnej konwersacji.
3. Gdy film jest gotowy, OpenClaw wybudza tę samą sesję za pomocą wewnętrznego zdarzenia ukończenia.
4. Agent publikuje gotowy film z powrotem w oryginalnej rozmowie.
Gdy zadanie jest w toku, zduplikowane wywołania `video_generate` w tej samej sesji zwracają bieżący stan zadania zamiast rozpoczynać kolejne generowanie. Użyj `openclaw tasks list` albo `openclaw tasks show <taskId>`, aby sprawdzić postęp przez CLI.
Gdy zadanie jest w toku, zduplikowane wywołania `video_generate` w tej samej sesji zwracają bieżący status zadania zamiast uruchamiać kolejne generowanie. Użyj `openclaw tasks list` lub `openclaw tasks show <taskId>`, aby sprawdzić postęp z poziomu CLI.
Poza uruchomieniami agenta opartymi na sesji (na przykład przy bezpośrednich wywołaniach narzędzia) narzędzie wraca do generowania inline i zwraca końcową ścieżkę multimediów w tej samej turze.
Poza uruchomieniami agenta opartymi na sesji (na przykład przy bezpośrednich wywołaniach narzędzia) narzędzie przechodzi do generowania inline i zwraca końcową ścieżkę do multimediów w tej samej turze.
## Obsługiwani dostawcy
| Dostawca | Model domyślny | Tekst | Obraz ref. | Wideo ref. | Klucz API |
| -------- | ------------------------------ | ----- | ---------------- | ---------------- | ----------------------------------------- |
| Alibaba | `wan2.6-t2v` | Tak | Tak (zdalny URL) | Tak (zdalny URL) | `MODELSTUDIO_API_KEY` |
| BytePlus | `seedance-1-0-lite-t2v-250428` | Tak | 1 obraz | Nie | `BYTEPLUS_API_KEY` |
| ComfyUI | `workflow` | Tak | 1 obraz | Nie | `COMFY_API_KEY` lub `COMFY_CLOUD_API_KEY` |
| fal | `fal-ai/minimax/video-01-live` | Tak | 1 obraz | Nie | `FAL_KEY` |
| Google | `veo-3.1-fast-generate-preview` | Tak | 1 obraz | 1 wideo | `GEMINI_API_KEY` |
| MiniMax | `MiniMax-Hailuo-2.3` | Tak | 1 obraz | Nie | `MINIMAX_API_KEY` |
| OpenAI | `sora-2` | Tak | 1 obraz | 1 wideo | `OPENAI_API_KEY` |
| Qwen | `wan2.6-t2v` | Tak | Tak (zdalny URL) | Tak (zdalny URL) | `QWEN_API_KEY` |
| Runway | `gen4.5` | Tak | 1 obraz | 1 wideo | `RUNWAYML_API_SECRET` |
| Together | `Wan-AI/Wan2.2-T2V-A14B` | Tak | 1 obraz | Nie | `TOGETHER_API_KEY` |
| Vydra | `veo3` | Tak | 1 obraz (`kling`) | Nie | `VYDRA_API_KEY` |
| xAI | `grok-imagine-video` | Tak | 1 obraz | 1 wideo | `XAI_API_KEY` |
| Dostawca | Model domyślny | Tekst | Obraz referencyjny | Film referencyjny | Klucz API |
| -------- | ------------------------------- | ----- | ------------------ | ----------------- | ----------------------------------------- |
| Alibaba | `wan2.6-t2v` | Tak | Tak (zdalny URL) | Tak (zdalny URL) | `MODELSTUDIO_API_KEY` |
| BytePlus | `seedance-1-0-lite-t2v-250428` | Tak | 1 obraz | Nie | `BYTEPLUS_API_KEY` |
| ComfyUI | `workflow` | Tak | 1 obraz | Nie | `COMFY_API_KEY` lub `COMFY_CLOUD_API_KEY` |
| fal | `fal-ai/minimax/video-01-live` | Tak | 1 obraz | Nie | `FAL_KEY` |
| Google | `veo-3.1-fast-generate-preview` | Tak | 1 obraz | 1 film | `GEMINI_API_KEY` |
| MiniMax | `MiniMax-Hailuo-2.3` | Tak | 1 obraz | Nie | `MINIMAX_API_KEY` |
| OpenAI | `sora-2` | Tak | 1 obraz | 1 film | `OPENAI_API_KEY` |
| Qwen | `wan2.6-t2v` | Tak | Tak (zdalny URL) | Tak (zdalny URL) | `QWEN_API_KEY` |
| Runway | `gen4.5` | Tak | 1 obraz | 1 film | `RUNWAYML_API_SECRET` |
| Together | `Wan-AI/Wan2.2-T2V-A14B` | Tak | 1 obraz | Nie | `TOGETHER_API_KEY` |
| Vydra | `veo3` | Tak | 1 obraz (`kling`) | Nie | `VYDRA_API_KEY` |
| xAI | `grok-imagine-video` | Tak | 1 obraz | 1 film | `XAI_API_KEY` |
Niektórzy dostawcy akceptują dodatkowe lub alternatywne zmienne środowiskowe kluczy API. Szczegóły znajdziesz na poszczególnych [stronach dostawców](#related).
Niektórzy dostawcy akceptują dodatkowe lub alternatywne zmienne środowiskowe dla kluczy API. Szczegóły znajdziesz na poszczególnych [stronach dostawców](#related).
Uruchom `video_generate action=list`, aby sprawdzić dostępnych dostawców i modele w czasie działania.
@ -80,56 +80,56 @@ Uruchom `video_generate action=list`, aby sprawdzić dostępnych dostawców i mo
### Wymagane
| Parametr | Typ | Opis |
| -------- | ------ | ------------------------------------------------------------------------ |
| `prompt` | string | Tekstowy opis wideo do wygenerowania (wymagany dla `action: "generate"`) |
| Parametr | Typ | Opis |
| -------- | ------ | ----------------------------------------------------------------------------- |
| `prompt` | string | Tekstowy opis filmu do wygenerowania (wymagany dla `action: "generate"`) |
### Wejścia treści
| Parametr | Typ | Opis |
| -------- | -------- | ------------------------------------ |
| Parametr | Typ | Opis |
| -------- | -------- | ------------------------------------- |
| `image` | string | Pojedynczy obraz referencyjny (ścieżka lub URL) |
| `images` | string[] | Wiele obrazów referencyjnych (maks. 5) |
| `video` | string | Pojedyncze wideo referencyjne (ścieżka lub URL) |
| `videos` | string[] | Wiele filmów referencyjnych (maks. 4) |
| `images` | string[] | Wiele obrazów referencyjnych (maksymalnie 5) |
| `video` | string | Pojedynczy film referencyjny (ścieżka lub URL) |
| `videos` | string[] | Wiele filmów referencyjnych (maksymalnie 4) |
### Sterowanie stylem
### Kontrola stylu
| Parametr | Typ | Opis |
| ---------------- | ------- | ------------------------------------------------------------------------ |
| `aspectRatio` | string | `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
| `resolution` | string | `480P`, `720P` lub `1080P` |
| `durationSeconds`| number | Docelowy czas trwania w sekundach (zaokrąglany do najbliższej wartości obsługiwanej przez dostawcę) |
| `size` | string | Wskazówka rozmiaru, gdy dostawca ją obsługuje |
| `audio` | boolean | Włącza generowany dźwięk, gdy jest obsługiwany |
| `watermark` | boolean | Przełącza watermark dostawcy, gdy jest obsługiwany |
| `size` | string | Wskazówka rozmiaru, jeśli dostawca ją obsługuje |
| `audio` | boolean | Włącz generowany dźwięk, jeśli jest obsługiwany |
| `watermark` | boolean | Włącz lub wyłącz znak wodny dostawcy, jeśli jest obsługiwany |
### Zaawansowane
| Parametr | Typ | Opis |
| --------- | ------ | ------------------------------------------------ |
| `action` | string | `"generate"` (domyślnie), `"status"` albo `"list"` |
| `model` | string | Nadpisanie dostawcy/modelu (np. `runway/gen4.5`) |
| `filename`| string | Wskazówka nazwy pliku wyjściowego |
| Parametr | Typ | Opis |
| ---------- | ------ | --------------------------------------------------- |
| `action` | string | `"generate"` (domyślnie), `"status"` lub `"list"` |
| `model` | string | Nadpisanie dostawcy/modelu (np. `runway/gen4.5`) |
| `filename` | string | Wskazówka dotycząca nazwy pliku |
Nie wszyscy dostawcy obsługują wszystkie parametry. Nieobsługiwane nadpisania są ignorowane w trybie best-effort i zgłaszane jako ostrzeżenia w wyniku narzędzia. Twarde ograniczenia capability (na przykład zbyt wiele wejść referencyjnych) powodują błąd przed wysłaniem.
Nie wszyscy dostawcy obsługują wszystkie parametry. Nieobsługiwane nadpisania są ignorowane w miarę możliwości i zgłaszane jako ostrzeżenia w wyniku narzędzia. Twarde ograniczenia możliwości (takie jak zbyt wiele wejść referencyjnych) powodują błąd przed wysłaniem.
## Działania
## Akcje
- **generate** (domyślnie) -- utwórz wideo z podanego promptu i opcjonalnych wejść referencyjnych.
- **status** -- sprawdź stan zadania generowania wideo będącego w toku dla bieżącej sesji bez uruchamiania kolejnego generowania.
- **list** -- pokaż dostępnych dostawców, modele i ich capabilities.
- **generate** (domyślnie) -- utwórz film na podstawie podanego promptu i opcjonalnych wejść referencyjnych.
- **status** -- sprawdź stan zadania generowania filmu będącego w toku dla bieżącej sesji bez uruchamiania kolejnego generowania.
- **list** -- pokaż dostępnych dostawców, modele i ich możliwości.
## Wybór modelu
Podczas generowania wideo OpenClaw rozpoznaje model w tej kolejności:
Podczas generowania filmu OpenClaw ustala model w następującej kolejności:
1. **parametr narzędzia `model`** -- jeśli agent poda go w wywołaniu.
1. **Parametr narzędzia `model`** -- jeśli agent określi go w wywołaniu.
2. **`videoGenerationModel.primary`** -- z konfiguracji.
3. **`videoGenerationModel.fallbacks`** -- próbowane po kolei.
4. **Automatyczne wykrywanie** -- używa dostawców z poprawnym auth, zaczynając od bieżącego domyślnego dostawcy, a następnie pozostałych dostawców w kolejności alfabetycznej.
4. **Automatyczne wykrywanie** -- używa dostawców z prawidłową autoryzacją, zaczynając od bieżącego domyślnego dostawcy, a następnie pozostałych dostawców w kolejności alfabetycznej.
Jeśli jeden dostawca zawiedzie, automatycznie próbowany jest kolejny kandydat. Jeśli zawiodą wszyscy kandydaci, błąd zawiera szczegóły każdej próby.
Jeśli jeden dostawca zawiedzie, następny kandydat jest próbowany automatycznie. Jeśli wszyscy kandydaci zawiodą, błąd zawiera szczegóły z każdej próby.
```json5
{
@ -146,24 +146,24 @@ Jeśli jeden dostawca zawiedzie, automatycznie próbowany jest kolejny kandydat.
## Uwagi o dostawcach
| Dostawca | Uwagi |
| -------- | ----- |
| Alibaba | Używa asynchronicznego endpointu DashScope/Model Studio. Obrazy i filmy referencyjne muszą być zdalnymi URL-ami `http(s)`. |
| BytePlus | Tylko jeden obraz referencyjny. |
| ComfyUI | Lokalne lub chmurowe wykonanie sterowane workflow. Obsługuje text-to-video i image-to-video przez skonfigurowany graf. |
| fal | Używa przepływu opartego na kolejce dla długich zadań. Tylko jeden obraz referencyjny. |
| Google | Używa Gemini/Veo. Obsługuje jeden obraz albo jedno wideo referencyjne. |
| MiniMax | Tylko jeden obraz referencyjny. |
| OpenAI | Przekazywane jest tylko nadpisanie `size`. Inne nadpisania stylu (`aspectRatio`, `resolution`, `audio`, `watermark`) są ignorowane z ostrzeżeniem. |
| Qwen | Ten sam backend DashScope co Alibaba. Wejścia referencyjne muszą być zdalnymi URL-ami `http(s)`; pliki lokalne są odrzucane z góry. |
| Runway | Obsługuje pliki lokalne przez data URI. Video-to-video wymaga `runway/gen4_aleph`. Uruchomienia tylko tekstowe udostępniają proporcje `16:9` i `9:16`. |
| Together | Tylko jeden obraz referencyjny. |
| Vydra | Używa bezpośrednio `https://www.vydra.ai/api/v1`, aby uniknąć przekierowań gubiących auth. `veo3` jest dołączony tylko jako text-to-video; `kling` wymaga zdalnego URL obrazu. |
| xAI | Obsługuje text-to-video, image-to-video oraz zdalne przepływy edycji/rozszerzania wideo. |
| Dostawca | Uwagi |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Alibaba | Używa asynchronicznego endpointu DashScope/Model Studio. Obrazy i filmy referencyjne muszą być zdalnymi adresami URL `http(s)`. |
| BytePlus | Tylko pojedynczy obraz referencyjny. |
| ComfyUI | Lokalne lub chmurowe wykonywanie sterowane workflow. Obsługuje text-to-video i image-to-video przez skonfigurowany graf. |
| fal | Używa przepływu opartego na kolejce dla długotrwałych zadań. Tylko pojedynczy obraz referencyjny. |
| Google | Używa Gemini/Veo. Obsługuje jeden obraz lub jeden film referencyjny. |
| MiniMax | Tylko pojedynczy obraz referencyjny. |
| OpenAI | Przekazywane jest tylko nadpisanie `size`. Inne nadpisania stylu (`aspectRatio`, `resolution`, `audio`, `watermark`) są ignorowane z ostrzeżeniem. |
| Qwen | Ten sam backend DashScope co Alibaba. Wejścia referencyjne muszą być zdalnymi adresami URL `http(s)`; pliki lokalne są odrzucane z góry. |
| Runway | Obsługuje pliki lokalne przez URI danych. Video-to-video wymaga `runway/gen4_aleph`. Uruchomienia tylko tekstowe udostępniają proporcje `16:9` i `9:16`. |
| Together | Tylko pojedynczy obraz referencyjny. |
| Vydra | Używa bezpośrednio `https://www.vydra.ai/api/v1`, aby uniknąć przekierowań z gubieniem autoryzacji. `veo3` jest dołączony tylko jako text-to-video; `kling` wymaga zdalnego adresu URL obrazu. |
| xAI | Obsługuje przepływy text-to-video, image-to-video oraz zdalną edycję/rozszerzanie wideo. |
## Konfiguracja
Ustaw domyślny model generowania wideo w konfiguracji OpenClaw:
Ustaw domyślny model generowania filmów w konfiguracji OpenClaw:
```json5
{
@ -187,18 +187,18 @@ openclaw config set agents.defaults.videoGenerationModel.primary "qwen/wan2.6-t2
## Powiązane
- [Przegląd narzędzi](/pl/tools)
- [Zadania w tle](/pl/automation/tasks) -- śledzenie zadań dla asynchronicznego generowania wideo
- [Alibaba Model Studio](/providers/alibaba)
- [BytePlus](/providers/byteplus)
- [ComfyUI](/providers/comfy)
- [fal](/providers/fal)
- [Zadania w tle](/pl/automation/tasks) -- śledzenie zadań dla asynchronicznego generowania filmów
- [Alibaba Model Studio](/pl/providers/alibaba)
- [BytePlus](/pl/concepts/model-providers#byteplus-international)
- [ComfyUI](/pl/providers/comfy)
- [fal](/pl/providers/fal)
- [Google (Gemini)](/pl/providers/google)
- [MiniMax](/pl/providers/minimax)
- [OpenAI](/pl/providers/openai)
- [Qwen](/pl/providers/qwen)
- [Runway](/providers/runway)
- [Runway](/pl/providers/runway)
- [Together AI](/pl/providers/together)
- [Vydra](/providers/vydra)
- [Vydra](/pl/providers/vydra)
- [xAI](/pl/providers/xai)
- [Dokumentacja konfiguracji](/pl/gateway/configuration-reference#agent-defaults)
- [Dokumentacja referencyjna konfiguracji](/pl/gateway/configuration-reference#agent-defaults)
- [Modele](/pl/concepts/models)