chore(i18n): refresh pl translations
This commit is contained in:
parent
868e6002af
commit
4ce94be648
File diff suppressed because it is too large
Load Diff
@ -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 są 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 są 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ównież `commands.useAccessGroups` oraz listy dozwolonych kanałów/użytkowników.
|
||||
Sprawdź też `commands.useAccessGroups` oraz listy dozwolonych kanałów/użytkowników.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
@ -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
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 (1–4) |
|
||||
| `filename` | string | Wskazówka nazwy pliku wyjściowego |
|
||||
| `count` | number | Liczba obrazów do wygenerowania (1–4) |
|
||||
| `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
|
||||
|
||||
@ -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)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user