chore(i18n): refresh pl translations
This commit is contained in:
parent
c27328833b
commit
d62407f710
@ -1,30 +1,30 @@
|
||||
---
|
||||
read_when:
|
||||
- Praca nad funkcjami kanału Discord
|
||||
summary: Status obsługi bota Discord, możliwości i konfiguracja
|
||||
summary: Stan obsługi bota Discord, możliwości i konfiguracja
|
||||
title: Discord
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T03:08:43Z"
|
||||
generated_at: "2026-04-08T09:46:58Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 54af2176a1b4fa1681e3f07494def0c652a2730165058848000e71a59e2a9d08
|
||||
source_hash: 3cd2886fad941ae2129e681911309539e9a65a2352b777b538d7f4686a68f73f
|
||||
source_path: channels/discord.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Discord (Bot API)
|
||||
|
||||
Status: gotowy do DM-ów i kanałów serwerowych przez oficjalną bramę Discord.
|
||||
Stan: gotowy do DM-ów i kanałów serwera za pośrednictwem oficjalnej bramy Discord.
|
||||
|
||||
<CardGroup cols={3}>
|
||||
<Card title="Parowanie" icon="link" href="/pl/channels/pairing">
|
||||
DM-y Discord domyślnie działają w trybie parowania.
|
||||
</Card>
|
||||
<Card title="Polecenia slash" icon="terminal" href="/pl/tools/slash-commands">
|
||||
Natywne działanie poleceń i katalog poleceń.
|
||||
<Card title="Polecenia ukośnikowe" icon="terminal" href="/pl/tools/slash-commands">
|
||||
Natywne zachowanie poleceń i katalog poleceń.
|
||||
</Card>
|
||||
<Card title="Rozwiązywanie problemów z kanałem" icon="wrench" href="/pl/channels/troubleshooting">
|
||||
Diagnostyka i przepływ naprawy między kanałami.
|
||||
Diagnostyka międzykanałowa i przepływ naprawczy.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -40,8 +40,8 @@ Musisz utworzyć nową aplikację z botem, dodać bota do swojego serwera i spar
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Włącz uprzywilejowane intencje">
|
||||
Nadal na stronie **Bot**, przewiń w dół do **Privileged Gateway Intents** i włącz:
|
||||
<Step title="Włącz uprawnione intencje">
|
||||
Nadal na stronie **Bot** przewiń do sekcji **Privileged Gateway Intents** i włącz:
|
||||
|
||||
- **Message Content Intent** (wymagane)
|
||||
- **Server Members Intent** (zalecane; wymagane dla list dozwolonych ról i dopasowywania nazw do ID)
|
||||
@ -50,20 +50,20 @@ Musisz utworzyć nową aplikację z botem, dodać bota do swojego serwera i spar
|
||||
</Step>
|
||||
|
||||
<Step title="Skopiuj token bota">
|
||||
Przewiń z powrotem w górę na stronie **Bot** i kliknij **Reset Token**.
|
||||
Przewiń z powrotem do góry na stronie **Bot** i kliknij **Reset Token**.
|
||||
|
||||
<Note>
|
||||
Wbrew nazwie spowoduje to wygenerowanie pierwszego tokena — nic nie jest „resetowane”.
|
||||
Mimo nazwy spowoduje to wygenerowanie Twojego pierwszego tokena — nic nie jest „resetowane”.
|
||||
</Note>
|
||||
|
||||
Skopiuj token i zapisz go w bezpiecznym miejscu. To jest Twój **Bot Token** i będzie potrzebny za chwilę.
|
||||
Skopiuj token i zapisz go w bezpiecznym miejscu. To jest Twój **Bot Token** i za chwilę będzie potrzebny.
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Wygeneruj URL zaproszenia i dodaj bota do serwera">
|
||||
Kliknij **OAuth2** na pasku bocznym. Wygenerujesz URL zaproszenia z odpowiednimi uprawnieniami do dodania bota do swojego serwera.
|
||||
<Step title="Wygeneruj adres URL zaproszenia i dodaj bota do serwera">
|
||||
Kliknij **OAuth2** na pasku bocznym. Wygenerujesz adres URL zaproszenia z odpowiednimi uprawnieniami do dodania bota do swojego serwera.
|
||||
|
||||
Przewiń w dół do **OAuth2 URL Generator** i włącz:
|
||||
Przewiń do **OAuth2 URL Generator** i włącz:
|
||||
|
||||
- `bot`
|
||||
- `applications.commands`
|
||||
@ -75,32 +75,32 @@ Musisz utworzyć nową aplikację z botem, dodać bota do swojego serwera i spar
|
||||
- Read Message History
|
||||
- Embed Links
|
||||
- Attach Files
|
||||
- Add Reactions (opcjonalnie)
|
||||
- Add Reactions (opcjonalne)
|
||||
|
||||
Skopiuj wygenerowany URL na dole, wklej go do przeglądarki, wybierz swój serwer i kliknij **Continue**, aby połączyć. Powinieneś teraz zobaczyć swojego bota na serwerze Discord.
|
||||
Skopiuj wygenerowany adres URL na dole, wklej go do przeglądarki, wybierz swój serwer i kliknij **Continue**, aby połączyć. Powinieneś teraz zobaczyć swojego bota na serwerze Discord.
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Włącz Developer Mode i zbierz swoje ID">
|
||||
Po powrocie do aplikacji Discord musisz włączyć Developer Mode, aby móc kopiować wewnętrzne ID.
|
||||
<Step title="Włącz tryb deweloperski i zbierz swoje ID">
|
||||
Po powrocie do aplikacji Discord musisz włączyć Developer Mode, aby móc kopiować wewnętrzne identyfikatory.
|
||||
|
||||
1. Kliknij **User Settings** (ikona koła zębatego obok awatara) → **Advanced** → włącz **Developer Mode**
|
||||
2. Kliknij prawym przyciskiem myszy **ikonę serwera** na pasku bocznym → **Copy Server ID**
|
||||
3. Kliknij prawym przyciskiem myszy **swój awatar** → **Copy User ID**
|
||||
1. Kliknij **User Settings** (ikona koła zębatego obok avatara) → **Advanced** → włącz **Developer Mode**
|
||||
2. Kliknij prawym przyciskiem **ikonę serwera** na pasku bocznym → **Copy Server ID**
|
||||
3. Kliknij prawym przyciskiem własny **avatar** → **Copy User ID**
|
||||
|
||||
Zapisz **Server ID** i **User ID** razem z Bot Token — w następnym kroku prześlesz wszystkie trzy do OpenClaw.
|
||||
Zapisz swoje **Server ID** i **User ID** razem z Bot Token — w następnym kroku przekażesz wszystkie trzy do OpenClaw.
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Zezwól na DM-y od członków serwera">
|
||||
Aby parowanie działało, Discord musi pozwalać Twojemu botowi wysyłać do Ciebie DM-y. Kliknij prawym przyciskiem myszy **ikonę serwera** → **Privacy Settings** → włącz **Direct Messages**.
|
||||
Aby parowanie działało, Discord musi pozwalać Twojemu botowi wysyłać do Ciebie DM-y. Kliknij prawym przyciskiem **ikonę serwera** → **Privacy Settings** → włącz **Direct Messages**.
|
||||
|
||||
Umożliwia to członkom serwera (w tym botom) wysyłanie Ci DM-ów. Pozostaw to włączone, jeśli chcesz używać DM-ów Discord z OpenClaw. Jeśli planujesz używać tylko kanałów serwerowych, możesz wyłączyć DM-y po sparowaniu.
|
||||
Dzięki temu członkowie serwera (w tym boty) mogą wysyłać Ci DM-y. Pozostaw tę opcję włączoną, jeśli chcesz używać DM-ów Discord z OpenClaw. Jeśli planujesz używać tylko kanałów serwera, możesz wyłączyć DM-y po sparowaniu.
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Ustaw bezpiecznie token bota (nie wysyłaj go na czacie)">
|
||||
Token bota Discord jest tajny (jak hasło). Ustaw go na maszynie, na której działa OpenClaw, zanim wyślesz wiadomość do swojego agenta.
|
||||
Token Twojego bota Discord jest sekretem (jak hasło). Ustaw go na maszynie, na której działa OpenClaw, zanim wyślesz wiadomość do agenta.
|
||||
|
||||
```bash
|
||||
export DISCORD_BOT_TOKEN="YOUR_BOT_TOKEN"
|
||||
@ -110,7 +110,7 @@ openclaw config set channels.discord.enabled true --strict-json
|
||||
openclaw gateway
|
||||
```
|
||||
|
||||
Jeśli OpenClaw działa już jako usługa w tle, uruchom go ponownie przez aplikację OpenClaw Mac albo przez zatrzymanie i ponowne uruchomienie procesu `openclaw gateway run`.
|
||||
Jeśli OpenClaw działa już jako usługa w tle, uruchom go ponownie za pomocą aplikacji OpenClaw Mac albo zatrzymaj i uruchom ponownie proces `openclaw gateway run`.
|
||||
|
||||
</Step>
|
||||
|
||||
@ -118,9 +118,9 @@ openclaw gateway
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Zapytaj swojego agenta">
|
||||
Porozmawiaj ze swoim agentem OpenClaw na dowolnym istniejącym kanale (np. Telegram) i przekaż mu te informacje. Jeśli Discord jest Twoim pierwszym kanałem, użyj zamiast tego karty CLI / config.
|
||||
Porozmawiaj ze swoim agentem OpenClaw na dowolnym istniejącym kanale (np. Telegram) i przekaż mu to. Jeśli Discord jest Twoim pierwszym kanałem, zamiast tego użyj karty CLI / config.
|
||||
|
||||
> „Mam już ustawiony token bota Discord w konfiguracji. Dokończ proszę konfigurację Discord przy użyciu User ID `<user_id>` i Server ID `<server_id>`.”
|
||||
> "Ustawiłem już token mojego bota Discord w konfiguracji. Dokończ proszę konfigurację Discord za pomocą User ID `<user_id>` i Server ID `<server_id>`."
|
||||
</Tab>
|
||||
<Tab title="CLI / config">
|
||||
Jeśli wolisz konfigurację opartą na pliku, ustaw:
|
||||
@ -140,13 +140,13 @@ openclaw gateway
|
||||
}
|
||||
```
|
||||
|
||||
Fallback env dla konta domyślnego:
|
||||
Zmienna środowiskowa jako fallback dla konta domyślnego:
|
||||
|
||||
```bash
|
||||
DISCORD_BOT_TOKEN=...
|
||||
```
|
||||
|
||||
Jawne wartości `token` są obsługiwane. Wartości SecretRef są także obsługiwane dla `channels.discord.token` u dostawców env/file/exec. Zobacz [Secrets Management](/pl/gateway/secrets).
|
||||
Zwykłe tekstowe wartości `token` są obsługiwane. Wartości SecretRef są również obsługiwane dla `channels.discord.token` we wszystkich dostawcach env/file/exec. Zobacz [Zarządzanie sekretami](/pl/gateway/secrets).
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
@ -154,13 +154,13 @@ DISCORD_BOT_TOKEN=...
|
||||
</Step>
|
||||
|
||||
<Step title="Zatwierdź pierwsze parowanie DM">
|
||||
Poczekaj, aż brama będzie działać, a następnie wyślij DM do swojego bota w Discord. Odpowie kodem parowania.
|
||||
Poczekaj, aż brama zacznie działać, a następnie wyślij DM do swojego bota w Discord. Odpowie kodem parowania.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Zapytaj swojego agenta">
|
||||
Wyślij kod parowania do swojego agenta na istniejącym kanale:
|
||||
|
||||
> „Zatwierdź ten kod parowania Discord: `<CODE>`”
|
||||
> "Zatwierdź ten kod parowania Discord: `<CODE>`"
|
||||
</Tab>
|
||||
<Tab title="CLI">
|
||||
|
||||
@ -174,29 +174,29 @@ openclaw pairing approve discord <CODE>
|
||||
|
||||
Kody parowania wygasają po 1 godzinie.
|
||||
|
||||
Powinieneś teraz móc rozmawiać ze swoim agentem przez DM na Discordzie.
|
||||
Powinieneś teraz móc rozmawiać ze swoim agentem w Discord przez DM.
|
||||
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Note>
|
||||
Rozpoznawanie tokena uwzględnia konto. Wartości tokena z konfiguracji mają pierwszeństwo przed fallbackiem env. `DISCORD_BOT_TOKEN` jest używany tylko dla konta domyślnego.
|
||||
W przypadku zaawansowanych wywołań wychodzących (narzędzie wiadomości/działania kanałowe) jawny `token` na poziomie wywołania jest używany dla tego wywołania. Dotyczy to działań typu send oraz read/probe (na przykład read/search/fetch/thread/pins/permissions). Zasady konta i ustawienia ponawiania pochodzą nadal z wybranego konta w aktywnej migawce środowiska uruchomieniowego.
|
||||
Rozwiązywanie tokena jest zależne od konta. Wartości tokena w konfiguracji mają pierwszeństwo przed fallbackiem z env. `DISCORD_BOT_TOKEN` jest używany tylko dla konta domyślnego.
|
||||
W przypadku zaawansowanych wywołań wychodzących (narzędzie wiadomości/działania kanałowe) jawny `token` dla pojedynczego wywołania jest używany tylko dla tego wywołania. Dotyczy to działań typu send oraz read/probe (na przykład read/search/fetch/thread/pins/permissions). Zasady konta i ustawienia ponawiania pochodzą nadal z wybranego konta w aktywnej migawce środowiska wykonawczego.
|
||||
</Note>
|
||||
|
||||
## Zalecane: skonfiguruj przestrzeń roboczą serwera
|
||||
## Zalecane: skonfiguruj obszar roboczy serwera
|
||||
|
||||
Gdy DM-y już działają, możesz skonfigurować swój serwer Discord jako pełną przestrzeń roboczą, w której każdy kanał ma własną sesję agenta z własnym kontekstem. Jest to zalecane dla prywatnych serwerów, gdzie jesteście tylko Ty i Twój bot.
|
||||
Gdy DM-y już działają, możesz skonfigurować swój serwer Discord jako pełny obszar roboczy, w którym każdy kanał ma własną sesję agenta i własny kontekst. Jest to zalecane w przypadku prywatnych serwerów, na których jesteś tylko Ty i Twój bot.
|
||||
|
||||
<Steps>
|
||||
<Step title="Dodaj swój serwer do listy dozwolonych serwerów">
|
||||
To umożliwia agentowi odpowiadanie na dowolnym kanale na Twoim serwerze, a nie tylko w DM-ach.
|
||||
Dzięki temu agent będzie mógł odpowiadać na dowolnym kanale na Twoim serwerze, a nie tylko w DM-ach.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Zapytaj swojego agenta">
|
||||
> „Dodaj mój Discord Server ID `<server_id>` do listy dozwolonych serwerów”
|
||||
> "Dodaj moje Discord Server ID `<server_id>` do listy dozwolonych serwerów"
|
||||
</Tab>
|
||||
<Tab title="Config">
|
||||
<Tab title="Konfiguracja">
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -219,14 +219,14 @@ Gdy DM-y już działają, możesz skonfigurować swój serwer Discord jako pełn
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Zezwól na odpowiedzi bez @wzmianki">
|
||||
Domyślnie agent odpowiada na kanałach serwerowych tylko wtedy, gdy zostanie oznaczony przez @mention. W przypadku prywatnego serwera prawdopodobnie chcesz, aby odpowiadał na każdą wiadomość.
|
||||
<Step title="Zezwól na odpowiedzi bez wzmianki @">
|
||||
Domyślnie agent odpowiada na kanałach serwera tylko wtedy, gdy zostanie wspomniany przez @mention. Na prywatnym serwerze prawdopodobnie chcesz, aby odpowiadał na każdą wiadomość.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Zapytaj swojego agenta">
|
||||
> „Pozwól mojemu agentowi odpowiadać na tym serwerze bez konieczności używania @mention”
|
||||
> "Pozwól mojemu agentowi odpowiadać na tym serwerze bez konieczności używania @mention"
|
||||
</Tab>
|
||||
<Tab title="Config">
|
||||
<Tab title="Konfiguracja">
|
||||
Ustaw `requireMention: false` w konfiguracji serwera:
|
||||
|
||||
```json5
|
||||
@ -248,35 +248,35 @@ Gdy DM-y już działają, możesz skonfigurować swój serwer Discord jako pełn
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Zaplanuj pamięć dla kanałów serwerowych">
|
||||
Domyślnie pamięć długoterminowa (`MEMORY.md`) jest ładowana tylko w sesjach DM. Kanały serwerowe nie ładują automatycznie `MEMORY.md`.
|
||||
<Step title="Zaplanuj użycie pamięci na kanałach serwera">
|
||||
Domyślnie pamięć długoterminowa (MEMORY.md) jest ładowana tylko w sesjach DM. Kanały serwera nie ładują automatycznie MEMORY.md.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Zapytaj swojego agenta">
|
||||
> „Gdy zadaję pytania na kanałach Discord, używaj `memory_search` lub `memory_get`, jeśli potrzebujesz długoterminowego kontekstu z `MEMORY.md`.”
|
||||
> "Kiedy zadaję pytania na kanałach Discord, używaj memory_search lub memory_get, jeśli potrzebujesz długoterminowego kontekstu z MEMORY.md."
|
||||
</Tab>
|
||||
<Tab title="Ręcznie">
|
||||
Jeśli potrzebujesz współdzielonego kontekstu na każdym kanale, umieść stabilne instrukcje w `AGENTS.md` lub `USER.md` (są wstrzykiwane do każdej sesji). Notatki długoterminowe trzymaj w `MEMORY.md` i uzyskuj do nich dostęp na żądanie za pomocą narzędzi pamięci.
|
||||
Jeśli potrzebujesz współdzielonego kontekstu na każdym kanale, umieść stałe instrukcje w `AGENTS.md` lub `USER.md` (są wstrzykiwane do każdej sesji). Długoterminowe notatki trzymaj w `MEMORY.md` i uzyskuj do nich dostęp na żądanie za pomocą narzędzi pamięci.
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
Teraz utwórz kilka kanałów na swoim serwerze Discord i zacznij rozmawiać. Agent widzi nazwę kanału, a każdy kanał otrzymuje własną odizolowaną sesję — możesz więc skonfigurować `#coding`, `#home`, `#research` lub cokolwiek pasuje do Twojego sposobu pracy.
|
||||
Teraz utwórz kilka kanałów na swoim serwerze Discord i zacznij rozmawiać. Twój agent widzi nazwę kanału, a każdy kanał otrzymuje własną izolowaną sesję — możesz więc skonfigurować `#coding`, `#home`, `#research` lub cokolwiek pasuje do Twojego sposobu pracy.
|
||||
|
||||
## Model działania środowiska uruchomieniowego
|
||||
## Model środowiska wykonawczego
|
||||
|
||||
- Brama zarządza połączeniem z Discord.
|
||||
- Kierowanie odpowiedzi jest deterministyczne: odpowiedzi przychodzące z Discord wracają do Discord.
|
||||
- Domyślnie (`session.dmScope=main`) bezpośrednie rozmowy współdzielą główną sesję agenta (`agent:main:main`).
|
||||
- Kanały serwerowe mają odizolowane klucze sesji (`agent:<agentId>:discord:channel:<channelId>`).
|
||||
- Brama zarządza połączeniem Discord.
|
||||
- Routing odpowiedzi jest deterministyczny: odpowiedzi przychodzące z Discord wracają do Discord.
|
||||
- Domyślnie (`session.dmScope=main`) czaty bezpośrednie współdzielą główną sesję agenta (`agent:main:main`).
|
||||
- Kanały serwera mają izolowane klucze sesji (`agent:<agentId>:discord:channel:<channelId>`).
|
||||
- Grupowe DM-y są domyślnie ignorowane (`channels.discord.dm.groupEnabled=false`).
|
||||
- Natywne polecenia slash działają w odizolowanych sesjach poleceń (`agent:<agentId>:discord:slash:<userId>`), nadal przenosząc `CommandTargetSessionKey` do kierowanej sesji rozmowy.
|
||||
- Natywne polecenia ukośnikowe działają w izolowanych sesjach poleceń (`agent:<agentId>:discord:slash:<userId>`), przy jednoczesnym przenoszeniu `CommandTargetSessionKey` do routowanej sesji rozmowy.
|
||||
|
||||
## Kanały forum
|
||||
|
||||
Kanały forum i kanały multimedialne Discord akceptują tylko posty w wątkach. OpenClaw obsługuje dwa sposoby ich tworzenia:
|
||||
Kanały forum i mediów Discord akceptują tylko posty w wątkach. OpenClaw obsługuje dwa sposoby ich tworzenia:
|
||||
|
||||
- Wyślij wiadomość do nadrzędnego forum (`channel:<forumId>`), aby automatycznie utworzyć wątek. Tytuł wątku używa pierwszej niepustej linii wiadomości.
|
||||
- Użyj `openclaw message thread create`, aby utworzyć wątek bezpośrednio. Nie przekazuj `--message-id` dla kanałów forum.
|
||||
@ -288,36 +288,36 @@ openclaw message send --channel discord --target channel:<forumId> \
|
||||
--message "Topic title\nBody of the post"
|
||||
```
|
||||
|
||||
Przykład: jawne utworzenie wątku forum
|
||||
Przykład: jawnie utwórz wątek forum
|
||||
|
||||
```bash
|
||||
openclaw message thread create --channel discord --target channel:<forumId> \
|
||||
--thread-name "Topic title" --message "Body of the post"
|
||||
```
|
||||
|
||||
Nadrzędne fora nie akceptują komponentów Discord. Jeśli potrzebujesz komponentów, wysyłaj do samego wątku (`channel:<threadId>`).
|
||||
Nadrzędne fora nie akceptują komponentów Discord. Jeśli potrzebujesz komponentów, wyślij do samego wątku (`channel:<threadId>`).
|
||||
|
||||
## Komponenty interaktywne
|
||||
|
||||
OpenClaw obsługuje kontenery Discord components v2 dla wiadomości agenta. Użyj narzędzia wiadomości z ładunkiem `components`. Wyniki interakcji są kierowane z powrotem do agenta jako zwykłe wiadomości przychodzące i stosują istniejące ustawienia Discord `replyToMode`.
|
||||
OpenClaw obsługuje kontenery komponentów Discord v2 dla wiadomości agenta. Użyj narzędzia wiadomości z ładunkiem `components`. Wyniki interakcji są kierowane z powrotem do agenta jako zwykłe wiadomości przychodzące i podlegają istniejącym ustawieniom Discord `replyToMode`.
|
||||
|
||||
Obsługiwane bloki:
|
||||
|
||||
- `text`, `section`, `separator`, `actions`, `media-gallery`, `file`
|
||||
- Wiersze akcji pozwalają na maksymalnie 5 przycisków albo jedno menu wyboru
|
||||
- Wiersze akcji pozwalają na maksymalnie 5 przycisków albo pojedyncze menu wyboru
|
||||
- Typy wyboru: `string`, `user`, `role`, `mentionable`, `channel`
|
||||
|
||||
Domyślnie komponenty są jednorazowe. Ustaw `components.reusable=true`, aby pozwolić na wielokrotne użycie przycisków, selektorów i formularzy aż do ich wygaśnięcia.
|
||||
Domyślnie komponenty są jednorazowe. Ustaw `components.reusable=true`, aby umożliwić wielokrotne użycie przycisków, list wyboru i formularzy aż do ich wygaśnięcia.
|
||||
|
||||
Aby ograniczyć, kto może kliknąć przycisk, ustaw `allowedUsers` na tym przycisku (ID użytkowników Discord, tagi lub `*`). Gdy jest to skonfigurowane, niedopasowani użytkownicy otrzymują efemeryczną odmowę.
|
||||
Aby ograniczyć, kto może kliknąć przycisk, ustaw `allowedUsers` dla tego przycisku (ID użytkowników Discord, tagi lub `*`). Gdy jest to skonfigurowane, niedopasowani użytkownicy otrzymują efemeryczną odmowę.
|
||||
|
||||
Polecenia slash `/model` i `/models` otwierają interaktywny selektor modelu z listami rozwijanymi dostawcy i modelu oraz krokiem Submit. Odpowiedź selektora jest efemeryczna i tylko użytkownik, który ją wywołał, może z niej korzystać.
|
||||
Polecenia ukośnikowe `/model` i `/models` otwierają interaktywny wybór modelu z listami rozwijanymi dostawcy i modelu oraz krokiem Submit. Odpowiedź selektora jest efemeryczna i tylko użytkownik, który go wywołał, może z niej korzystać.
|
||||
|
||||
Załączniki plików:
|
||||
|
||||
- bloki `file` muszą wskazywać na odwołanie do załącznika (`attachment://<filename>`)
|
||||
- podaj załącznik przez `media`/`path`/`filePath` (pojedynczy plik); użyj `media-gallery` dla wielu plików
|
||||
- użyj `filename`, aby nadpisać nazwę przesyłanego pliku, gdy ma odpowiadać odwołaniu do załącznika
|
||||
- bloki `file` muszą wskazywać referencję załącznika (`attachment://<filename>`)
|
||||
- przekaż załącznik przez `media`/`path`/`filePath` (pojedynczy plik); dla wielu plików użyj `media-gallery`
|
||||
- użyj `filename`, aby nadpisać nazwę przesyłanego pliku, gdy ma odpowiadać referencji załącznika
|
||||
|
||||
Formularze modalne:
|
||||
|
||||
@ -383,18 +383,18 @@ Przykład:
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Zasady DM">
|
||||
`channels.discord.dmPolicy` steruje dostępem do DM-ów (starsza nazwa: `channels.discord.dm.policy`):
|
||||
`channels.discord.dmPolicy` kontroluje dostęp do DM-ów (starsze: `channels.discord.dm.policy`):
|
||||
|
||||
- `pairing` (domyślnie)
|
||||
- `pairing` (domyślne)
|
||||
- `allowlist`
|
||||
- `open` (wymaga, aby `channels.discord.allowFrom` zawierało `"*"`; starsza nazwa: `channels.discord.dm.allowFrom`)
|
||||
- `open` (wymaga, aby `channels.discord.allowFrom` zawierało `"*"`; starsze: `channels.discord.dm.allowFrom`)
|
||||
- `disabled`
|
||||
|
||||
Jeśli zasady DM nie są otwarte, nieznani użytkownicy są blokowani (lub proszeni o sparowanie w trybie `pairing`).
|
||||
|
||||
Priorytet dla wielu kont:
|
||||
|
||||
- `channels.discord.accounts.default.allowFrom` ma zastosowanie tylko do konta `default`.
|
||||
- `channels.discord.accounts.default.allowFrom` dotyczy tylko konta `default`.
|
||||
- Nazwane konta dziedziczą `channels.discord.allowFrom`, gdy ich własne `allowFrom` nie jest ustawione.
|
||||
- Nazwane konta nie dziedziczą `channels.discord.accounts.default.allowFrom`.
|
||||
|
||||
@ -403,11 +403,11 @@ Przykład:
|
||||
- `user:<id>`
|
||||
- wzmianka `<@id>`
|
||||
|
||||
Same numeryczne ID są niejednoznaczne i są odrzucane, chyba że podano jawnie rodzaj celu user/channel.
|
||||
Same numeryczne ID są niejednoznaczne i odrzucane, chyba że podano jawny rodzaj celu użytkownik/kanał.
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Zasady serwerów">
|
||||
<Tab title="Zasady serwera">
|
||||
Obsługa serwerów jest kontrolowana przez `channels.discord.groupPolicy`:
|
||||
|
||||
- `open`
|
||||
@ -419,11 +419,11 @@ Przykład:
|
||||
Zachowanie `allowlist`:
|
||||
|
||||
- serwer musi pasować do `channels.discord.guilds` (preferowane `id`, akceptowany slug)
|
||||
- opcjonalne listy dozwolonych nadawców: `users` (zalecane stabilne ID) i `roles` (tylko ID ról); jeśli skonfigurowano którekolwiek z nich, nadawcy są dozwoleni, gdy pasują do `users` LUB `roles`
|
||||
- opcjonalne listy dozwolonych nadawców: `users` (zalecane stabilne ID) i `roles` (tylko ID ról); jeśli skonfigurowano którąkolwiek z nich, nadawcy są dozwoleni, gdy pasują do `users` LUB `roles`
|
||||
- bezpośrednie dopasowywanie nazw/tagów jest domyślnie wyłączone; włącz `channels.discord.dangerouslyAllowNameMatching: true` tylko jako tryb zgodności awaryjnej
|
||||
- nazwy/tagi są obsługiwane dla `users`, ale ID są bezpieczniejsze; `openclaw security audit` ostrzega, gdy używane są wpisy nazwa/tag
|
||||
- jeśli serwer ma skonfigurowane `channels`, kanały nieuwzględnione na liście są odrzucane
|
||||
- jeśli serwer nie ma bloku `channels`, wszystkie kanały w tym serwerze z listy dozwolonych są dozwolone
|
||||
- nazwy/tagi są obsługiwane dla `users`, ale ID są bezpieczniejsze; `openclaw security audit` ostrzega, gdy używane są wpisy nazw/tagów
|
||||
- jeśli serwer ma skonfigurowane `channels`, kanały spoza listy są odrzucane
|
||||
- jeśli serwer nie ma bloku `channels`, wszystkie kanały na tym serwerze z listy dozwolonych są dopuszczone
|
||||
|
||||
Przykład:
|
||||
|
||||
@ -449,20 +449,20 @@ Przykład:
|
||||
}
|
||||
```
|
||||
|
||||
Jeśli ustawisz tylko `DISCORD_BOT_TOKEN` i nie utworzysz bloku `channels.discord`, fallback środowiska uruchomieniowego będzie `groupPolicy="allowlist"` (z ostrzeżeniem w logach), nawet jeśli `channels.defaults.groupPolicy` ma wartość `open`.
|
||||
Jeśli ustawisz tylko `DISCORD_BOT_TOKEN` i nie utworzysz bloku `channels.discord`, fallback środowiska wykonawczego to `groupPolicy="allowlist"` (z ostrzeżeniem w logach), nawet jeśli `channels.defaults.groupPolicy` ma wartość `open`.
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Wzmianki i grupowe DM-y">
|
||||
Wiadomości na serwerach są domyślnie bramkowane wzmiankami.
|
||||
Wiadomości na serwerze są domyślnie ograniczane przez wzmianki.
|
||||
|
||||
Wykrywanie wzmianki obejmuje:
|
||||
|
||||
- jawną wzmiankę o bocie
|
||||
- skonfigurowane wzorce wzmianki (`agents.list[].groupChat.mentionPatterns`, fallback `messages.groupChat.mentionPatterns`)
|
||||
- niejawne zachowanie odpowiedzi-do-bota w obsługiwanych przypadkach
|
||||
- skonfigurowane wzorce wzmianek (`agents.list[].groupChat.mentionPatterns`, fallback `messages.groupChat.mentionPatterns`)
|
||||
- niejawne zachowanie odpowiedzi do bota w obsługiwanych przypadkach
|
||||
|
||||
`requireMention` jest konfigurowane dla każdego serwera/kanału (`channels.discord.guilds...`).
|
||||
`requireMention` konfiguruje się dla każdego serwera/kanału osobno (`channels.discord.guilds...`).
|
||||
`ignoreOtherMentions` opcjonalnie odrzuca wiadomości, które wspominają innego użytkownika/rolę, ale nie bota (z wyłączeniem @everyone/@here).
|
||||
|
||||
Grupowe DM-y:
|
||||
@ -475,7 +475,7 @@ Przykład:
|
||||
|
||||
### Routing agenta oparty na rolach
|
||||
|
||||
Użyj `bindings[].match.roles`, aby kierować członków serwerów Discord do różnych agentów według ID ról. Powiązania oparte na rolach akceptują tylko ID ról i są oceniane po powiązaniach peer lub parent-peer, a przed powiązaniami tylko-serwerowymi. Jeśli powiązanie ustawia też inne pola dopasowania (na przykład `peer` + `guildId` + `roles`), wszystkie skonfigurowane pola muszą pasować.
|
||||
Użyj `bindings[].match.roles`, aby kierować członków serwera Discord do różnych agentów według ID roli. Powiązania oparte na rolach akceptują wyłącznie ID ról i są oceniane po powiązaniach peer lub parent-peer, a przed powiązaniami tylko-serwerowymi. Jeśli powiązanie ustawia także inne pola dopasowania (na przykład `peer` + `guildId` + `roles`), wszystkie skonfigurowane pola muszą pasować.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -510,7 +510,7 @@ Użyj `bindings[].match.roles`, aby kierować członków serwerów Discord do r
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Uprzywilejowane intencje">
|
||||
<Accordion title="Uprawnione intencje">
|
||||
W **Bot -> Privileged Gateway Intents** włącz:
|
||||
|
||||
- Message Content Intent
|
||||
@ -532,7 +532,7 @@ Użyj `bindings[].match.roles`, aby kierować członków serwerów Discord do r
|
||||
- Read Message History
|
||||
- Embed Links
|
||||
- Attach Files
|
||||
- Add Reactions (opcjonalnie)
|
||||
- Add Reactions (opcjonalne)
|
||||
|
||||
Unikaj `Administrator`, chyba że jest to wyraźnie potrzebne.
|
||||
|
||||
@ -545,61 +545,61 @@ Użyj `bindings[].match.roles`, aby kierować członków serwerów Discord do r
|
||||
- ID kanału
|
||||
- ID użytkownika
|
||||
|
||||
W konfiguracji OpenClaw preferuj numeryczne ID dla wiarygodnych audytów i testów.
|
||||
Preferuj numeryczne ID w konfiguracji OpenClaw dla wiarygodnych audytów i testów.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Natywne polecenia i uwierzytelnianie poleceń
|
||||
## Polecenia natywne i uwierzytelnianie poleceń
|
||||
|
||||
- `commands.native` ma domyślnie wartość `"auto"` i jest włączone dla Discord.
|
||||
- `commands.native` domyślnie ma wartość `"auto"` i jest włączone dla Discord.
|
||||
- Nadpisanie dla kanału: `channels.discord.commands.native`.
|
||||
- `commands.native=false` jawnie czyści wcześniej zarejestrowane natywne polecenia Discord.
|
||||
- Uwierzytelnianie natywnych poleceń używa tych samych list dozwolonych i zasad Discord co zwykła obsługa wiadomości.
|
||||
- Polecenia mogą być nadal widoczne w interfejsie Discord dla użytkowników bez uprawnień; wykonanie nadal wymusza autoryzację OpenClaw i zwraca „not authorized”.
|
||||
- `commands.native=false` jawnie usuwa wcześniej zarejestrowane natywne polecenia Discord.
|
||||
- Uwierzytelnianie natywnych poleceń używa tych samych list dozwolonych/zasad Discord co zwykła obsługa wiadomości.
|
||||
- Polecenia mogą nadal być widoczne w interfejsie Discord dla użytkowników bez uprawnień; wykonanie nadal wymusza uwierzytelnianie OpenClaw i zwraca „not authorized”.
|
||||
|
||||
Zobacz [Slash commands](/pl/tools/slash-commands), aby poznać katalog poleceń i zachowanie.
|
||||
Zobacz [Polecenia ukośnikowe](/pl/tools/slash-commands), aby poznać katalog poleceń i ich zachowanie.
|
||||
|
||||
Domyślne ustawienia poleceń slash:
|
||||
Domyślne ustawienia poleceń ukośnikowych:
|
||||
|
||||
- `ephemeral: true`
|
||||
|
||||
## Szczegóły funkcji
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Znaczniki odpowiedzi i natywne odpowiedzi">
|
||||
Discord obsługuje znaczniki odpowiedzi w wyjściu agenta:
|
||||
<Accordion title="Tagi odpowiedzi i natywne odpowiedzi">
|
||||
Discord obsługuje tagi odpowiedzi w danych wyjściowych agenta:
|
||||
|
||||
- `[[reply_to_current]]`
|
||||
- `[[reply_to:<id>]]`
|
||||
|
||||
Sterowane przez `channels.discord.replyToMode`:
|
||||
Kontrolowane przez `channels.discord.replyToMode`:
|
||||
|
||||
- `off` (domyślnie)
|
||||
- `off` (domyślne)
|
||||
- `first`
|
||||
- `all`
|
||||
- `batched`
|
||||
|
||||
Uwaga: `off` wyłącza niejawne wątkowanie odpowiedzi. Jawne znaczniki `[[reply_to_*]]` są nadal respektowane.
|
||||
Uwaga: `off` wyłącza niejawne wątkowanie odpowiedzi. Jawne tagi `[[reply_to_*]]` są nadal respektowane.
|
||||
`first` zawsze dołącza niejawną natywną referencję odpowiedzi do pierwszej wychodzącej wiadomości Discord w danej turze.
|
||||
`batched` dołącza niejawną natywną referencję odpowiedzi Discord tylko wtedy, gdy
|
||||
tura przychodząca była odroczoną partią wielu wiadomości. Jest to przydatne,
|
||||
gdy chcesz używać natywnych odpowiedzi głównie przy niejednoznacznych,
|
||||
gwałtownych seriach czatu, a nie przy każdej turze pojedynczej wiadomości.
|
||||
gdy chcesz używać natywnych odpowiedzi głównie przy niejednoznacznych, gwałtownych seriach czatu, a nie przy każdej
|
||||
pojedynczej turze wiadomości.
|
||||
|
||||
ID wiadomości są ujawniane w kontekście/historii, dzięki czemu agenci mogą kierować odpowiedzi na konkretne wiadomości.
|
||||
ID wiadomości są ujawniane w kontekście/historii, dzięki czemu agenci mogą kierować odpowiedzi do konkretnych wiadomości.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Podgląd transmisji na żywo">
|
||||
OpenClaw może strumieniować robocze odpowiedzi, wysyłając tymczasową wiadomość i edytując ją w miarę napływu tekstu.
|
||||
OpenClaw może strumieniowo wyświetlać szkice odpowiedzi, wysyłając tymczasową wiadomość i edytując ją w miarę napływu tekstu.
|
||||
|
||||
- `channels.discord.streaming` steruje strumieniowaniem podglądu (`off` | `partial` | `block` | `progress`, domyślnie: `off`).
|
||||
- Domyślna wartość pozostaje `off`, ponieważ edycje podglądu w Discord mogą szybko osiągnąć limity szybkości, zwłaszcza gdy wiele botów lub bram współdzieli to samo konto albo ruch serwera.
|
||||
- `progress` jest akceptowane dla spójności między kanałami i mapuje się na `partial` w Discord.
|
||||
- `channels.discord.streamMode` jest starszym aliasem i jest migrowane automatycznie.
|
||||
- `partial` edytuje pojedynczą wiadomość podglądu, gdy napływają tokeny.
|
||||
- `block` emituje fragmenty wielkości szkicu (użyj `draftChunk`, aby dostroić rozmiar i punkty podziału).
|
||||
- `channels.discord.streaming` kontroluje podgląd strumieniowy (`off` | `partial` | `block` | `progress`, domyślnie: `off`).
|
||||
- Domyślnie pozostaje `off`, ponieważ edycje podglądu w Discord mogą szybko natrafić na limity szybkości, zwłaszcza gdy wiele botów lub bram współdzieli to samo konto lub ruch serwera.
|
||||
- `progress` jest akceptowane dla spójności międzykanałowej i w Discord mapuje się na `partial`.
|
||||
- `channels.discord.streamMode` to starszy alias i jest automatycznie migrowany.
|
||||
- `partial` edytuje pojedynczą wiadomość podglądu w miarę napływu tokenów.
|
||||
- `block` emituje fragmenty o rozmiarze szkicu (użyj `draftChunk`, aby dostroić rozmiar i punkty podziału).
|
||||
|
||||
Przykład:
|
||||
|
||||
@ -613,7 +613,7 @@ Domyślne ustawienia poleceń slash:
|
||||
}
|
||||
```
|
||||
|
||||
Domyślne dzielenie na fragmenty w trybie `block` (ograniczane do `channels.discord.textChunkLimit`):
|
||||
Domyślne fragmentowanie w trybie `block` (ograniczane do `channels.discord.textChunkLimit`):
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -630,9 +630,9 @@ Domyślne ustawienia poleceń slash:
|
||||
}
|
||||
```
|
||||
|
||||
Strumieniowanie podglądu dotyczy tylko tekstu; odpowiedzi multimedialne wracają do zwykłego dostarczania.
|
||||
Podgląd strumieniowy obsługuje tylko tekst; odpowiedzi z mediami wracają do zwykłego dostarczania.
|
||||
|
||||
Uwaga: strumieniowanie podglądu jest oddzielne od strumieniowania blokowego. Gdy strumieniowanie blokowe jest jawnie
|
||||
Uwaga: podgląd strumieniowy jest oddzielny od strumieniowania blokowego. Gdy strumieniowanie blokowe jest jawnie
|
||||
włączone dla Discord, OpenClaw pomija strumień podglądu, aby uniknąć podwójnego strumieniowania.
|
||||
|
||||
</Accordion>
|
||||
@ -644,33 +644,33 @@ Domyślne ustawienia poleceń slash:
|
||||
- fallback: `messages.groupChat.historyLimit`
|
||||
- `0` wyłącza
|
||||
|
||||
Ustawienia historii DM:
|
||||
Kontrola historii DM:
|
||||
|
||||
- `channels.discord.dmHistoryLimit`
|
||||
- `channels.discord.dms["<user_id>"].historyLimit`
|
||||
|
||||
Zachowanie wątków:
|
||||
|
||||
- wątki Discord są kierowane jako sesje kanałów
|
||||
- metadane nadrzędnego wątku mogą być używane do połączenia z sesją nadrzędną
|
||||
- wątki Discord są routowane jako sesje kanałów
|
||||
- metadane wątku nadrzędnego mogą być używane do powiązania z sesją nadrzędną
|
||||
- konfiguracja wątku dziedziczy konfigurację kanału nadrzędnego, chyba że istnieje wpis specyficzny dla wątku
|
||||
|
||||
Tematy kanałów są wstrzykiwane jako kontekst **niezaufany** (nie jako prompt systemowy).
|
||||
Kontekst odpowiedzi i cytowanej wiadomości pozostaje obecnie taki, jak został odebrany.
|
||||
Listy dozwolonych Discord przede wszystkim ograniczają to, kto może wyzwolić agenta, a nie stanowią pełnej granicy redakcji kontekstu uzupełniającego.
|
||||
Tematy kanałów są wstrzykiwane jako kontekst **niezaufany** (nie jako system prompt).
|
||||
Kontekst odpowiedzi i cytowanych wiadomości obecnie pozostaje taki, jak został odebrany.
|
||||
Listy dozwolonych Discord przede wszystkim ograniczają, kto może uruchomić agenta, a nie stanowią pełnej granicy redakcji dodatkowego kontekstu.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Sesje powiązane z wątkiem dla subagentów">
|
||||
Discord może powiązać wątek z celem sesji, aby kolejne wiadomości w tym wątku nadal trafiały do tej samej sesji (w tym sesji subagentów).
|
||||
Discord może powiązać wątek z celem sesji, tak aby kolejne wiadomości w tym wątku nadal były kierowane do tej samej sesji (w tym sesji subagentów).
|
||||
|
||||
Polecenia:
|
||||
|
||||
- `/focus <target>` powiąż bieżący/nowy wątek z celem subagenta/sesji
|
||||
- `/unfocus` usuń bieżące powiązanie wątku
|
||||
- `/agents` pokaż aktywne uruchomienia i stan powiązań
|
||||
- `/session idle <duration|off>` sprawdź/zaktualizuj automatyczne odwiązywanie po bezczynności dla powiązań focus
|
||||
- `/session max-age <duration|off>` sprawdź/zaktualizuj twardy maksymalny wiek dla powiązań focus
|
||||
- `/session idle <duration|off>` sprawdź/zaktualizuj automatyczne odwiązywanie po bezczynności dla powiązań z fokusem
|
||||
- `/session max-age <duration|off>` sprawdź/zaktualizuj sztywny maksymalny wiek dla powiązań z fokusem
|
||||
|
||||
Konfiguracja:
|
||||
|
||||
@ -689,7 +689,7 @@ Domyślne ustawienia poleceń slash:
|
||||
enabled: true,
|
||||
idleHours: 24,
|
||||
maxAgeHours: 0,
|
||||
spawnSubagentSessions: false, // opt-in
|
||||
spawnSubagentSessions: false, // opcjonalne
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -698,18 +698,18 @@ Domyślne ustawienia poleceń slash:
|
||||
|
||||
Uwagi:
|
||||
|
||||
- `session.threadBindings.*` ustawia globalne wartości domyślne.
|
||||
- `session.threadBindings.*` ustawia domyślne ustawienia globalne.
|
||||
- `channels.discord.threadBindings.*` nadpisuje zachowanie Discord.
|
||||
- `spawnSubagentSessions` musi mieć wartość true, aby automatycznie tworzyć/powiązywać wątki dla `sessions_spawn({ thread: true })`.
|
||||
- `spawnAcpSessions` musi mieć wartość true, aby automatycznie tworzyć/powiązywać wątki dla ACP (`/acp spawn ... --thread ...` lub `sessions_spawn({ runtime: "acp", thread: true })`).
|
||||
- Jeśli powiązania wątków są wyłączone dla konta, `/focus` i powiązane operacje na powiązaniach wątków są niedostępne.
|
||||
- Jeśli powiązania wątków są wyłączone dla konta, `/focus` i powiązane operacje powiązań wątków są niedostępne.
|
||||
|
||||
Zobacz [Sub-agents](/pl/tools/subagents), [ACP Agents](/pl/tools/acp-agents) i [Configuration Reference](/pl/gateway/configuration-reference).
|
||||
Zobacz [Sub-agenci](/pl/tools/subagents), [Agenci ACP](/pl/tools/acp-agents) oraz [Dokumentacja konfiguracji](/pl/gateway/configuration-reference).
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Trwałe powiązania kanałów ACP">
|
||||
W przypadku stabilnych, „zawsze aktywnych” przestrzeni roboczych ACP skonfiguruj najwyższego poziomu typowane powiązania ACP wskazujące na rozmowy Discord.
|
||||
Dla stabilnych, „zawsze aktywnych” obszarów roboczych ACP skonfiguruj najwyższego poziomu typowane powiązania ACP kierowane do rozmów Discord.
|
||||
|
||||
Ścieżka konfiguracji:
|
||||
|
||||
@ -766,14 +766,14 @@ Domyślne ustawienia poleceń slash:
|
||||
Uwagi:
|
||||
|
||||
- `/acp spawn codex --bind here` wiąże bieżący kanał lub wątek Discord na miejscu i utrzymuje kierowanie przyszłych wiadomości do tej samej sesji ACP.
|
||||
- Może to nadal oznaczać „uruchom nową sesję Codex ACP”, ale samo w sobie nie tworzy nowego wątku Discord. Istniejący kanał pozostaje powierzchnią czatu.
|
||||
- Codex może nadal działać we własnym `cwd` lub obszarze roboczym backendu na dysku. Ten obszar roboczy jest stanem środowiska uruchomieniowego, a nie wątkiem Discord.
|
||||
- Wiadomości w wątku mogą dziedziczyć powiązanie ACP kanału nadrzędnego.
|
||||
- Nadal może to oznaczać „uruchom świeżą sesję Codex ACP”, ale samo w sobie nie tworzy nowego wątku Discord. Istniejący kanał pozostaje powierzchnią czatu.
|
||||
- Codex może nadal działać we własnym `cwd` lub obszarze roboczym backendu na dysku. Ten obszar roboczy jest stanem środowiska wykonawczego, a nie wątkiem Discord.
|
||||
- Wiadomości wątków mogą dziedziczyć powiązanie ACP kanału nadrzędnego.
|
||||
- W powiązanym kanale lub wątku `/new` i `/reset` resetują tę samą sesję ACP na miejscu.
|
||||
- Tymczasowe powiązania wątków nadal działają i mogą nadpisywać rozstrzyganie celu, gdy są aktywne.
|
||||
- Tymczasowe powiązania wątków nadal działają i mogą nadpisywać rozwiązywanie celu, gdy są aktywne.
|
||||
- `spawnAcpSessions` jest wymagane tylko wtedy, gdy OpenClaw musi utworzyć/powiązać podrzędny wątek przez `--thread auto|here`. Nie jest wymagane dla `/acp spawn ... --bind here` w bieżącym kanale.
|
||||
|
||||
Zobacz [ACP Agents](/pl/tools/acp-agents), aby poznać szczegóły zachowania powiązań.
|
||||
Zobacz [Agenci ACP](/pl/tools/acp-agents), aby poznać szczegóły zachowania powiązań.
|
||||
|
||||
</Accordion>
|
||||
|
||||
@ -781,18 +781,18 @@ Domyślne ustawienia poleceń slash:
|
||||
Tryb powiadomień o reakcjach dla każdego serwera:
|
||||
|
||||
- `off`
|
||||
- `own` (domyślnie)
|
||||
- `own` (domyślne)
|
||||
- `all`
|
||||
- `allowlist` (używa `guilds.<id>.users`)
|
||||
|
||||
Zdarzenia reakcji są zamieniane na zdarzenia systemowe i dołączane do kierowanej sesji Discord.
|
||||
Zdarzenia reakcji są zamieniane na zdarzenia systemowe i dołączane do routowanej sesji Discord.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Reakcje potwierdzające">
|
||||
`ackReaction` wysyła emoji potwierdzenia, gdy OpenClaw przetwarza wiadomość przychodzącą.
|
||||
|
||||
Kolejność rozstrzygania:
|
||||
Kolejność rozwiązywania:
|
||||
|
||||
- `channels.discord.accounts.<accountId>.ackReaction`
|
||||
- `channels.discord.ackReaction`
|
||||
@ -801,7 +801,7 @@ Domyślne ustawienia poleceń slash:
|
||||
|
||||
Uwagi:
|
||||
|
||||
- Discord akceptuje emoji Unicode lub niestandardowe nazwy emoji.
|
||||
- Discord akceptuje emoji unicode lub niestandardowe nazwy emoji.
|
||||
- Użyj `""`, aby wyłączyć reakcję dla kanału lub konta.
|
||||
|
||||
</Accordion>
|
||||
@ -809,7 +809,7 @@ Domyślne ustawienia poleceń slash:
|
||||
<Accordion title="Zapisy konfiguracji">
|
||||
Zapisy konfiguracji inicjowane z kanału są domyślnie włączone.
|
||||
|
||||
Ma to wpływ na przepływy `/config set|unset` (gdy funkcje poleceń są włączone).
|
||||
Dotyczy to przepływów `/config set|unset` (gdy funkcje poleceń są włączone).
|
||||
|
||||
Wyłącz:
|
||||
|
||||
@ -826,7 +826,7 @@ Domyślne ustawienia poleceń slash:
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Proxy bramy">
|
||||
Kieruj ruch WebSocket bramy Discord i wyszukiwania REST przy uruchamianiu (ID aplikacji + rozstrzyganie listy dozwolonych) przez proxy HTTP(S) za pomocą `channels.discord.proxy`.
|
||||
Kieruj ruch WebSocket bramy Discord i zapytania REST przy uruchamianiu (ID aplikacji + rozwiązywanie listy dozwolonych) przez proxy HTTP(S) za pomocą `channels.discord.proxy`.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -857,7 +857,7 @@ Domyślne ustawienia poleceń slash:
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Obsługa PluralKit">
|
||||
Włącz rozstrzyganie PluralKit, aby mapować wiadomości proxy na tożsamość członka systemu:
|
||||
Włącz rozwiązywanie PluralKit, aby mapować wiadomości proxy na tożsamość członka systemu:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -865,7 +865,7 @@ Domyślne ustawienia poleceń slash:
|
||||
discord: {
|
||||
pluralkit: {
|
||||
enabled: true,
|
||||
token: "pk_live_...", // optional; needed for private systems
|
||||
token: "pk_live_...", // opcjonalne; potrzebne dla prywatnych systemów
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -882,7 +882,7 @@ Domyślne ustawienia poleceń slash:
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Konfiguracja obecności">
|
||||
Aktualizacje obecności są stosowane, gdy ustawisz pole statusu lub aktywności albo gdy włączysz auto presence.
|
||||
Aktualizacje obecności są stosowane, gdy ustawisz pole statusu lub aktywności, albo gdy włączysz automatyczną obecność.
|
||||
|
||||
Przykład tylko ze statusem:
|
||||
|
||||
@ -932,7 +932,7 @@ Domyślne ustawienia poleceń slash:
|
||||
- 4: Custom (używa tekstu aktywności jako stanu statusu; emoji jest opcjonalne)
|
||||
- 5: Competing
|
||||
|
||||
Przykład auto presence (sygnał kondycji środowiska uruchomieniowego):
|
||||
Przykład automatycznej obecności (sygnał kondycji środowiska wykonawczego):
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -949,7 +949,7 @@ Domyślne ustawienia poleceń slash:
|
||||
}
|
||||
```
|
||||
|
||||
Auto presence mapuje dostępność środowiska uruchomieniowego na status Discord: healthy => online, degraded lub unknown => idle, exhausted lub unavailable => dnd. Opcjonalne nadpisania tekstu:
|
||||
Automatyczna obecność mapuje dostępność środowiska wykonawczego na status Discord: healthy => online, degraded lub unknown => idle, exhausted lub unavailable => dnd. Opcjonalne nadpisania tekstu:
|
||||
|
||||
- `autoPresence.healthyText`
|
||||
- `autoPresence.degradedText`
|
||||
@ -958,43 +958,43 @@ Domyślne ustawienia poleceń slash:
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Zatwierdzenia w Discord">
|
||||
Discord obsługuje zatwierdzanie oparte na przyciskach w DM-ach i może opcjonalnie publikować prośby o zatwierdzenie w kanale źródłowym.
|
||||
Discord obsługuje zatwierdzanie oparte na przyciskach w DM-ach i może opcjonalnie publikować monity o zatwierdzenie w kanale źródłowym.
|
||||
|
||||
Ścieżka konfiguracji:
|
||||
|
||||
- `channels.discord.execApprovals.enabled`
|
||||
- `channels.discord.execApprovals.approvers` (opcjonalnie; jeśli to możliwe, fallback do `commands.ownerAllowFrom`)
|
||||
- `channels.discord.execApprovals.approvers` (opcjonalne; gdy to możliwe, fallback do `commands.ownerAllowFrom`)
|
||||
- `channels.discord.execApprovals.target` (`dm` | `channel` | `both`, domyślnie: `dm`)
|
||||
- `agentFilter`, `sessionFilter`, `cleanupAfterResolve`
|
||||
|
||||
Discord automatycznie włącza natywne zatwierdzenia exec, gdy `enabled` jest nieustawione lub ma wartość `"auto"` i można rozstrzygnąć co najmniej jednego zatwierdzającego, albo z `execApprovals.approvers`, albo z `commands.ownerAllowFrom`. Discord nie wywodzi zatwierdzających exec z kanałowego `allowFrom`, starszego `dm.allowFrom` ani z bezpośredniego `defaultTo`. Ustaw `enabled: false`, aby jawnie wyłączyć Discord jako natywnego klienta zatwierdzeń.
|
||||
Discord automatycznie włącza natywne zatwierdzenia exec, gdy `enabled` nie jest ustawione lub ma wartość `"auto"` i można rozwiązać co najmniej jednego zatwierdzającego — albo z `execApprovals.approvers`, albo z `commands.ownerAllowFrom`. Discord nie wywnioskuje zatwierdzających exec z kanałowego `allowFrom`, starszego `dm.allowFrom` ani z `defaultTo` dla wiadomości bezpośrednich. Ustaw `enabled: false`, aby jawnie wyłączyć Discord jako natywnego klienta zatwierdzeń.
|
||||
|
||||
Gdy `target` ma wartość `channel` lub `both`, prośba o zatwierdzenie jest widoczna w kanale. Tylko rozstrzygnięci zatwierdzający mogą używać przycisków; inni użytkownicy otrzymują efemeryczną odmowę. Prośby o zatwierdzenie zawierają tekst polecenia, więc włączaj dostarczanie do kanału tylko na zaufanych kanałach. Jeśli nie da się wyprowadzić ID kanału z klucza sesji, OpenClaw wraca do dostarczenia przez DM.
|
||||
Gdy `target` ma wartość `channel` lub `both`, monit o zatwierdzenie jest widoczny w kanale. Tylko rozwiązani zatwierdzający mogą używać przycisków; inni użytkownicy otrzymują efemeryczną odmowę. Monity o zatwierdzenie zawierają tekst polecenia, dlatego dostarczanie do kanału włączaj tylko na zaufanych kanałach. Jeśli nie można wyprowadzić ID kanału z klucza sesji, OpenClaw wraca do dostarczania przez DM.
|
||||
|
||||
Discord renderuje także współdzielone przyciski zatwierdzania używane przez inne kanały czatu. Natywny adapter Discord głównie dodaje routowanie DM dla zatwierdzających oraz rozsyłanie do kanału.
|
||||
Gdy te przyciski są obecne, stanowią podstawowy interfejs zatwierdzania; OpenClaw
|
||||
Discord renderuje również współdzielone przyciski zatwierdzania używane przez inne kanały czatu. Natywny adapter Discord głównie dodaje routing DM zatwierdzających i rozsyłanie do kanału.
|
||||
Gdy te przyciski są obecne, są one podstawowym 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 lub ręczne zatwierdzenie jest jedyną ścieżką.
|
||||
że zatwierdzenia na czacie są niedostępne albo ręczne zatwierdzenie jest jedyną drogą.
|
||||
|
||||
Uwierzytelnianie bramy dla tego modułu obsługi używa tego samego współdzielonego kontraktu rozstrzygania poświadczeń co inni klienci Gateway:
|
||||
Uwierzytelnianie bramy dla tego modułu obsługi używa tego samego współdzielonego kontraktu rozwiązywania poświadczeń co inni klienci Gateway:
|
||||
|
||||
- uwierzytelnianie lokalne z pierwszeństwem env (`OPENCLAW_GATEWAY_TOKEN` / `OPENCLAW_GATEWAY_PASSWORD`, potem `gateway.auth.*`)
|
||||
- w trybie lokalnym `gateway.remote.*` może być użyte jako fallback tylko wtedy, gdy `gateway.auth.*` nie jest ustawione; skonfigurowane, ale nierozstrzygnięte lokalne SecretRef są zamykane fail-closed
|
||||
- najpierw lokalne uwierzytelnianie z env (`OPENCLAW_GATEWAY_TOKEN` / `OPENCLAW_GATEWAY_PASSWORD`, a następnie `gateway.auth.*`)
|
||||
- w trybie lokalnym `gateway.remote.*` może być używane jako fallback tylko wtedy, gdy `gateway.auth.*` nie jest ustawione; skonfigurowane, ale nierozwiązane lokalne SecretRef kończą się bezpieczną odmową
|
||||
- obsługa trybu zdalnego przez `gateway.remote.*`, gdy ma zastosowanie
|
||||
- nadpisania URL są bezpieczne względem nadpisywania: nadpisania CLI nie używają ponownie niejawnych poświadczeń, a nadpisania env używają tylko poświadczeń env
|
||||
- nadpisania URL są bezpieczne względem nadpisywania: nadpisania CLI nie używają ponownie niejawnych poświadczeń, a nadpisania env używają tylko poświadczeń z env
|
||||
|
||||
Zachowanie rozstrzygania zatwierdzeń:
|
||||
Zachowanie rozwiązywania zatwierdzeń:
|
||||
|
||||
- ID z prefiksem `plugin:` są rozstrzygane przez `plugin.approval.resolve`.
|
||||
- Inne ID są rozstrzygane przez `exec.approval.resolve`.
|
||||
- Discord nie wykonuje tu dodatkowego kroku fallback z exec do plugin; prefiks
|
||||
id decyduje, którą metodę bramy wywoła.
|
||||
- ID z prefiksem `plugin:` są rozwiązywane przez `plugin.approval.resolve`.
|
||||
- Pozostałe ID są rozwiązywane przez `exec.approval.resolve`.
|
||||
- Discord nie wykonuje tutaj dodatkowego przejścia fallback exec-to-plugin; prefiks
|
||||
ID decyduje, którą metodę bramy wywoła.
|
||||
|
||||
Zatwierdzenia exec domyślnie wygasają po 30 minutach. Jeśli zatwierdzenia zawodzą z
|
||||
nieznanymi ID zatwierdzeń, sprawdź rozstrzyganie zatwierdzających, włączenie funkcji oraz
|
||||
czy dostarczony rodzaj id zatwierdzenia pasuje do oczekującego żądania.
|
||||
Zatwierdzenia exec domyślnie wygasają po 30 minutach. Jeśli zatwierdzenia kończą się błędem
|
||||
z nieznanymi ID zatwierdzeń, sprawdź rozwiązywanie zatwierdzających, włączenie funkcji oraz
|
||||
czy dostarczony rodzaj ID zatwierdzenia pasuje do oczekującego żądania.
|
||||
|
||||
Powiązane dokumenty: [Exec approvals](/pl/tools/exec-approvals)
|
||||
Powiązana dokumentacja: [Zatwierdzenia exec](/pl/tools/exec-approvals)
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
@ -1010,23 +1010,25 @@ Podstawowe przykłady:
|
||||
- moderacja: `timeout`, `kick`, `ban`
|
||||
- obecność: `setPresence`
|
||||
|
||||
Bramki działań znajdują się pod `channels.discord.actions.*`.
|
||||
Działanie `event-create` akceptuje opcjonalny parametr `image` (URL lub lokalna ścieżka pliku), aby ustawić obraz okładki zaplanowanego wydarzenia.
|
||||
|
||||
Bramki działań znajdują się w `channels.discord.actions.*`.
|
||||
|
||||
Domyślne zachowanie bramek:
|
||||
|
||||
| Grupa działań | Domyślnie |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- |
|
||||
| Grupa działań | Domyślnie |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- |
|
||||
| reactions, messages, threads, pins, polls, search, memberInfo, roleInfo, channelInfo, channels, voiceStatus, events, stickers, emojiUploads, stickerUploads, permissions | włączone |
|
||||
| roles | wyłączone |
|
||||
| moderation | wyłączone |
|
||||
| presence | wyłączone |
|
||||
| roles | wyłączone |
|
||||
| moderation | wyłączone |
|
||||
| presence | wyłączone |
|
||||
|
||||
## Components v2 UI
|
||||
## Interfejs Components v2
|
||||
|
||||
OpenClaw używa Discord components v2 do zatwierdzeń exec i znaczników między kontekstami. Działania wiadomości Discord mogą również przyjmować `components` dla niestandardowego interfejsu (zaawansowane; wymaga skonstruowania ładunku komponentu przez narzędzie discord), podczas gdy starsze `embeds` pozostają dostępne, ale nie są zalecane.
|
||||
OpenClaw używa Discord components v2 do zatwierdzeń exec i znaczników międzykontekstowych. Działania wiadomości Discord mogą również przyjmować `components` dla niestandardowego interfejsu (zaawansowane; wymaga skonstruowania ładunku komponentów za pomocą narzędzia discord), podczas gdy starsze `embeds` nadal są dostępne, ale nie są zalecane.
|
||||
|
||||
- `channels.discord.ui.components.accentColor` ustawia kolor akcentu używany przez kontenery komponentów Discord (hex).
|
||||
- Ustawienie dla konta: `channels.discord.accounts.<id>.ui.components.accentColor`.
|
||||
- Ustawienie per konto: `channels.discord.accounts.<id>.ui.components.accentColor`.
|
||||
- `embeds` są ignorowane, gdy obecne są components v2.
|
||||
|
||||
Przykład:
|
||||
@ -1047,15 +1049,15 @@ Przykład:
|
||||
|
||||
## Kanały głosowe
|
||||
|
||||
OpenClaw może dołączać do kanałów głosowych Discord na potrzeby rozmów w czasie rzeczywistym i ciągłych konwersacji. To jest oddzielne od załączników z wiadomościami głosowymi.
|
||||
OpenClaw może dołączać do kanałów głosowych Discord, aby prowadzić rozmowy w czasie rzeczywistym i ciągłe. To osobna funkcja, niezależna od załączników z wiadomościami głosowymi.
|
||||
|
||||
Wymagania:
|
||||
|
||||
- Włącz natywne polecenia (`commands.native` lub `channels.discord.commands.native`).
|
||||
- Włącz polecenia natywne (`commands.native` lub `channels.discord.commands.native`).
|
||||
- Skonfiguruj `channels.discord.voice`.
|
||||
- Bot potrzebuje uprawnień Connect + Speak w docelowym kanale głosowym.
|
||||
|
||||
Użyj polecenia natywnego tylko dla Discord `/vc join|leave|status`, aby sterować sesjami. Polecenie używa domyślnego agenta konta i podlega tym samym regułom list dozwolonych i zasad grupowych co inne polecenia Discord.
|
||||
Użyj polecenia natywnego tylko dla Discord `/vc join|leave|status`, aby kontrolować sesje. Polecenie używa domyślnego agenta konta i podlega tym samym zasadom listy dozwolonych oraz group policy co pozostałe polecenia Discord.
|
||||
|
||||
Przykład automatycznego dołączania:
|
||||
|
||||
@ -1086,22 +1088,22 @@ Przykład automatycznego dołączania:
|
||||
Uwagi:
|
||||
|
||||
- `voice.tts` nadpisuje `messages.tts` tylko dla odtwarzania głosowego.
|
||||
- Tury transkrypcji głosowej wyprowadzają status właściciela z Discord `allowFrom` (lub `dm.allowFrom`); mówcy niebędący właścicielami nie mogą uzyskać dostępu do narzędzi tylko dla właściciela (na przykład `gateway` i `cron`).
|
||||
- Voice jest domyślnie włączone; ustaw `channels.discord.voice.enabled=false`, aby je wyłączyć.
|
||||
- `voice.daveEncryption` i `voice.decryptionFailureTolerance` są przekazywane do opcji dołączania `@discordjs/voice`.
|
||||
- Tury transkrypcji głosowej wyprowadzają status właściciela z Discord `allowFrom` (lub `dm.allowFrom`); mówcy niebędący właścicielami nie mogą uzyskiwać dostępu do narzędzi tylko dla właściciela (na przykład `gateway` i `cron`).
|
||||
- Głos jest domyślnie włączony; ustaw `channels.discord.voice.enabled=false`, aby go wyłączyć.
|
||||
- `voice.daveEncryption` i `voice.decryptionFailureTolerance` są przekazywane bezpośrednio do opcji dołączania `@discordjs/voice`.
|
||||
- Domyślne wartości `@discordjs/voice` to `daveEncryption=true` i `decryptionFailureTolerance=24`, jeśli nie są ustawione.
|
||||
- OpenClaw monitoruje także błędy odszyfrowywania odbioru i automatycznie odzyskuje działanie, opuszczając i ponownie dołączając do kanału głosowego po powtarzających się błędach w krótkim oknie czasu.
|
||||
- OpenClaw obserwuje również błędy deszyfrowania podczas odbioru i automatycznie odzyskuje połączenie, opuszczając i ponownie dołączając do kanału głosowego po powtarzających się błędach w krótkim oknie czasu.
|
||||
- Jeśli logi odbioru wielokrotnie pokazują `DecryptionFailed(UnencryptedWhenPassthroughDisabled)`, może to być błąd odbioru upstream `@discordjs/voice` śledzony w [discord.js #11419](https://github.com/discordjs/discord.js/issues/11419).
|
||||
|
||||
## Wiadomości głosowe
|
||||
|
||||
Wiadomości głosowe Discord pokazują podgląd fali dźwiękowej i wymagają dźwięku OGG/Opus oraz metadanych. OpenClaw generuje falę automatycznie, ale potrzebuje dostępnych `ffmpeg` i `ffprobe` na hoście bramy do sprawdzania i konwersji plików audio.
|
||||
Wiadomości głosowe Discord pokazują podgląd przebiegu fali i wymagają dźwięku OGG/Opus oraz metadanych. OpenClaw generuje przebieg automatycznie, ale potrzebuje dostępnych `ffmpeg` i `ffprobe` na hoście bramy, aby analizować i konwertować pliki audio.
|
||||
|
||||
Wymagania i ograniczenia:
|
||||
|
||||
- Podaj **lokalną ścieżkę pliku** (URL-e są odrzucane).
|
||||
- Pomiń treść tekstową (Discord nie pozwala na tekst + wiadomość głosową w tym samym ładunku).
|
||||
- Akceptowany jest dowolny format audio; OpenClaw konwertuje do OGG/Opus, gdy jest to potrzebne.
|
||||
- Podaj **lokalną ścieżkę pliku** (adresy URL są odrzucane).
|
||||
- Pomiń treść tekstową (Discord nie pozwala na tekst i wiadomość głosową w tym samym ładunku).
|
||||
- Akceptowany jest dowolny format audio; OpenClaw w razie potrzeby konwertuje go do OGG/Opus.
|
||||
|
||||
Przykład:
|
||||
|
||||
@ -1112,10 +1114,10 @@ message(action="send", channel="discord", target="channel:123", path="/path/to/a
|
||||
## Rozwiązywanie problemów
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Użyto niedozwolonych intencji albo bot nie widzi wiadomości z serwera">
|
||||
<Accordion title="Użyto niedozwolonych intencji lub bot nie widzi wiadomości z serwera">
|
||||
|
||||
- włącz Message Content Intent
|
||||
- włącz Server Members Intent, gdy zależysz od rozstrzygania użytkowników/członków
|
||||
- włącz Server Members Intent, jeśli polegasz na rozwiązywaniu użytkowników/członków
|
||||
- uruchom ponownie bramę po zmianie intencji
|
||||
|
||||
</Accordion>
|
||||
@ -1125,9 +1127,9 @@ message(action="send", channel="discord", target="channel:123", path="/path/to/a
|
||||
- sprawdź `groupPolicy`
|
||||
- sprawdź listę dozwolonych serwerów w `channels.discord.guilds`
|
||||
- jeśli istnieje mapa `channels` dla serwera, dozwolone są tylko wymienione kanały
|
||||
- sprawdź działanie `requireMention` i wzorce wzmianki
|
||||
- sprawdź zachowanie `requireMention` i wzorce wzmianek
|
||||
|
||||
Przydatne sprawdzenia:
|
||||
Przydatne polecenia:
|
||||
|
||||
```bash
|
||||
openclaw doctor
|
||||
@ -1137,16 +1139,16 @@ openclaw logs --follow
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Require mention false, ale nadal blokowane">
|
||||
<Accordion title="Require mention ustawione na false, ale nadal jest blokowane">
|
||||
Typowe przyczyny:
|
||||
|
||||
- `groupPolicy="allowlist"` bez pasującej listy dozwolonych serwerów/kanałów
|
||||
- `requireMention` skonfigurowane w niewłaściwym miejscu (musi być pod `channels.discord.guilds` lub wpisem kanału)
|
||||
- nadawca zablokowany przez listę dozwolonych `users` serwera/kanału
|
||||
- `groupPolicy="allowlist"` bez pasującej listy dozwolonych serwera/kanału
|
||||
- `requireMention` skonfigurowane w niewłaściwym miejscu (musi znajdować się w `channels.discord.guilds` lub we wpisie kanału)
|
||||
- nadawca zablokowany przez listę dozwolonych `users` dla serwera/kanału
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Długotrwałe moduły obsługi przekraczają limit czasu albo duplikują odpowiedzi">
|
||||
<Accordion title="Długotrwale działające handlery kończą się timeoutem lub duplikują odpowiedzi">
|
||||
|
||||
Typowe logi:
|
||||
|
||||
@ -1156,12 +1158,12 @@ openclaw logs --follow
|
||||
|
||||
Parametr budżetu listenera:
|
||||
|
||||
- pojedyncze konto: `channels.discord.eventQueue.listenerTimeout`
|
||||
- jedno konto: `channels.discord.eventQueue.listenerTimeout`
|
||||
- wiele kont: `channels.discord.accounts.<accountId>.eventQueue.listenerTimeout`
|
||||
|
||||
Parametr limitu czasu wykonania workera:
|
||||
Parametr timeoutu działania workera:
|
||||
|
||||
- pojedyncze konto: `channels.discord.inboundWorker.runTimeoutMs`
|
||||
- jedno konto: `channels.discord.inboundWorker.runTimeoutMs`
|
||||
- wiele kont: `channels.discord.accounts.<accountId>.inboundWorker.runTimeoutMs`
|
||||
- domyślnie: `1800000` (30 minut); ustaw `0`, aby wyłączyć
|
||||
|
||||
@ -1186,54 +1188,54 @@ openclaw logs --follow
|
||||
}
|
||||
```
|
||||
|
||||
Użyj `eventQueue.listenerTimeout` dla wolnej konfiguracji listenera, a `inboundWorker.runTimeoutMs`
|
||||
tylko wtedy, gdy chcesz osobnego bezpiecznika dla kolejkowanych tur agenta.
|
||||
Użyj `eventQueue.listenerTimeout` dla powolnej konfiguracji listenera, a `inboundWorker.runTimeoutMs`
|
||||
tylko wtedy, gdy chcesz oddzielny bezpiecznik dla kolejkowanych tur agenta.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Niezgodności audytu uprawnień">
|
||||
<Accordion title="Niezgodności w audycie uprawnień">
|
||||
Kontrole uprawnień `channels status --probe` działają tylko dla numerycznych ID kanałów.
|
||||
|
||||
Jeśli używasz kluczy slug, dopasowanie w środowisku uruchomieniowym nadal może działać, ale test nie może w pełni zweryfikować uprawnień.
|
||||
Jeśli używasz kluczy slug, dopasowanie w czasie działania nadal może działać, ale test nie może w pełni zweryfikować uprawnień.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Problemy z DM i parowaniem">
|
||||
|
||||
- DM wyłączone: `channels.discord.dm.enabled=false`
|
||||
- zasady DM wyłączone: `channels.discord.dmPolicy="disabled"` (starsza nazwa: `channels.discord.dm.policy`)
|
||||
- zasady DM wyłączone: `channels.discord.dmPolicy="disabled"` (starsze: `channels.discord.dm.policy`)
|
||||
- oczekiwanie na zatwierdzenie parowania w trybie `pairing`
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Pętle bot-do-bota">
|
||||
Domyślnie wiadomości napisane przez boty są ignorowane.
|
||||
Domyślnie wiadomości autorstwa botów są ignorowane.
|
||||
|
||||
Jeśli ustawisz `channels.discord.allowBots=true`, użyj ścisłych reguł wzmianki i list dozwolonych, aby uniknąć zapętlenia.
|
||||
Preferuj `channels.discord.allowBots="mentions"`, aby akceptować tylko wiadomości od botów, które wspominają bota.
|
||||
Jeśli ustawisz `channels.discord.allowBots=true`, użyj ścisłych reguł wzmianki i listy dozwolonych, aby uniknąć zapętlenia.
|
||||
Preferuj `channels.discord.allowBots="mentions"`, aby akceptować tylko wiadomości botów, które wspominają bota.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Głosowe STT wypada z DecryptionFailed(...)">
|
||||
<Accordion title="Głosowe STT gubi dane z DecryptionFailed(...)">
|
||||
|
||||
- utrzymuj OpenClaw w aktualnej wersji (`openclaw update`), aby logika odzyskiwania odbioru głosowego Discord była obecna
|
||||
- potwierdź `channels.discord.voice.daveEncryption=true` (domyślnie)
|
||||
- utrzymuj OpenClaw w aktualnej wersji (`openclaw update`), aby logika odzyskiwania odbioru głosu Discord była obecna
|
||||
- potwierdź `channels.discord.voice.daveEncryption=true` (domyślne)
|
||||
- zacznij od `channels.discord.voice.decryptionFailureTolerance=24` (domyślna wartość upstream) i dostrajaj tylko w razie potrzeby
|
||||
- obserwuj logi pod kątem:
|
||||
- `discord voice: DAVE decrypt failures detected`
|
||||
- `discord voice: repeated decrypt failures; attempting rejoin`
|
||||
- jeśli błędy utrzymują się po automatycznym ponownym dołączeniu, zbierz logi i porównaj z [discord.js #11419](https://github.com/discordjs/discord.js/issues/11419)
|
||||
- jeśli błędy utrzymują się po automatycznym ponownym dołączeniu, zbierz logi i porównaj je z [discord.js #11419](https://github.com/discordjs/discord.js/issues/11419)
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Wskaźniki do dokumentacji referencyjnej konfiguracji
|
||||
## Wskaźniki dokumentacji konfiguracji
|
||||
|
||||
Główna dokumentacja referencyjna:
|
||||
Główna dokumentacja:
|
||||
|
||||
- [Configuration reference - Discord](/pl/gateway/configuration-reference#discord)
|
||||
- [Dokumentacja konfiguracji - Discord](/pl/gateway/configuration-reference#discord)
|
||||
|
||||
Najważniejsze pola Discord:
|
||||
Kluczowe pola Discord:
|
||||
|
||||
- uruchamianie/uwierzytelnianie: `enabled`, `token`, `accounts.*`, `allowBots`
|
||||
- zasady: `groupPolicy`, `dm.*`, `guilds.*`, `guilds.*.channels.*`
|
||||
@ -1247,14 +1249,14 @@ Najważniejsze pola Discord:
|
||||
- `mediaMaxMb` ogranicza wychodzące przesyłanie do Discord (domyślnie: `100MB`)
|
||||
- działania: `actions.*`
|
||||
- obecność: `activity`, `status`, `activityType`, `activityUrl`
|
||||
- UI: `ui.components.accentColor`
|
||||
- interfejs: `ui.components.accentColor`
|
||||
- funkcje: `threadBindings`, najwyższego poziomu `bindings[]` (`type: "acp"`), `pluralkit`, `execApprovals`, `intents`, `agentComponents`, `heartbeat`, `responsePrefix`
|
||||
|
||||
## Bezpieczeństwo i operacje
|
||||
|
||||
- Traktuj tokeny bota jak sekrety (w środowiskach nadzorowanych preferowany jest `DISCORD_BOT_TOKEN`).
|
||||
- Nadawaj uprawnienia Discord zgodnie z zasadą najmniejszych uprawnień.
|
||||
- Jeśli wdrożenie/stan poleceń jest nieaktualny, uruchom ponownie bramę i sprawdź ponownie przez `openclaw channels status --probe`.
|
||||
- Traktuj tokeny botów jako sekrety (w środowiskach nadzorowanych preferowane `DISCORD_BOT_TOKEN`).
|
||||
- Przyznawaj minimalne niezbędne uprawnienia Discord.
|
||||
- Jeśli wdrożenie poleceń lub ich stan są nieaktualne, uruchom ponownie bramę i sprawdź ponownie za pomocą `openclaw channels status --probe`.
|
||||
|
||||
## Powiązane
|
||||
|
||||
@ -1264,4 +1266,4 @@ Najważniejsze pola Discord:
|
||||
- [Bezpieczeństwo](/pl/gateway/security)
|
||||
- [Routing wielu agentów](/pl/concepts/multi-agent)
|
||||
- [Rozwiązywanie problemów](/pl/channels/troubleshooting)
|
||||
- [Polecenia slash](/pl/tools/slash-commands)
|
||||
- [Polecenia ukośnikowe](/pl/tools/slash-commands)
|
||||
|
||||
@ -1,66 +1,66 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz, aby promowanie pamięci uruchamiało się automatycznie
|
||||
- Chcesz zrozumieć, co robi każda faza dreaming
|
||||
- Chcesz zrozumieć, co robi każda faza śnienia
|
||||
- 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: Dreaming (eksperymentalne)
|
||||
title: Śnienie (eksperymentalne)
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T09:45:35Z"
|
||||
generated_at: "2026-04-08T09:44:09Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 36c4b1e70801d662090dc8ce20608c2f141c23cd7ce53c54e3dcf332c801fd4e
|
||||
source_hash: 0254f3b0949158264e583c12f36f2b1a83d1b44dc4da01a1b272422d38e8655d
|
||||
source_path: concepts/dreaming.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Dreaming (eksperymentalne)
|
||||
# Śnienie (eksperymentalne)
|
||||
|
||||
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 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 tego procesu.
|
||||
|
||||
Dreaming jest funkcją **opcjonalną** i domyślnie jest wyłączone.
|
||||
Śnienie jest **opcjonalne** i domyślnie wyłączone.
|
||||
|
||||
## Co zapisuje dreaming
|
||||
## Co zapisuje śnienie
|
||||
|
||||
Dreaming utrzymuje dwa rodzaje danych wyjściowych:
|
||||
Śnienie przechowuje dwa rodzaje danych wyjściowych:
|
||||
|
||||
- **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`.
|
||||
- **Stan maszyny** w `memory/.dreams/` (magazyn przywołań, sygnały faz, punkty kontrolne przetwarzania, blokady).
|
||||
- **Dane czytelne dla człowieka** w `DREAMS.md` (lub istniejącym `dreams.md`) oraz opcjonalne pliki 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
|
||||
|
||||
Dreaming używa trzech współpracujących faz:
|
||||
Śnienie używa trzech współpracujących faz:
|
||||
|
||||
| Faza | Cel | Trwały zapis |
|
||||
| ----- | ----------------------------------------- | ----------------- |
|
||||
| Lekka | Sortowanie i przygotowanie niedawnych materiałów krótkoterminowych | Nie |
|
||||
| Faza | Cel | Trwały zapis |
|
||||
| ----- | ---------------------------------------- | ----------------- |
|
||||
| Lekka | Sortowanie i przygotowywanie ostatnich materiałów krótkoterminowych | Nie |
|
||||
| Głęboka | Ocenianie i promowanie trwałych kandydatów | Tak (`MEMORY.md`) |
|
||||
| REM | Refleksja nad motywami i powtarzającymi się ideami | Nie |
|
||||
| REM | Refleksja nad motywami i powracającymi pomysłami | Nie |
|
||||
|
||||
Te fazy są wewnętrznymi szczegółami implementacji, a nie osobnymi
|
||||
konfigurowanymi przez użytkownika „trybami”.
|
||||
|
||||
### Faza lekka
|
||||
|
||||
Faza lekka pobiera niedawne dzienne sygnały pamięci i ślady przypomnień, usuwa duplikaty
|
||||
Faza lekka przetwarza ostatnie sygnały dziennej pamięci i ślady przywołań, usuwa duplikaty
|
||||
i przygotowuje linie kandydatów.
|
||||
|
||||
- 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.
|
||||
- Odczytuje stan przywołań krótkoterminowych, ostatnie dzienne pliki pamięci oraz zredagowane transkrypty sesji, jeśli są dostępne.
|
||||
- Zapisuje zarządzany blok `## Light Sleep`, gdy magazyn zawiera dane wyjściowe osadzone w pliku.
|
||||
- Rejestruje sygnały wzmocnienia do późniejszego rankingu głębokiego.
|
||||
- Nigdy nie zapisuje do `MEMORY.md`.
|
||||
|
||||
### Faza głęboka
|
||||
|
||||
Faza głęboka decyduje, co staje się pamięcią długoterminową.
|
||||
Faza głęboka decyduje, co trafia do pamięci długoterminowej.
|
||||
|
||||
- Nadaje ranking kandydatom za pomocą ważonego punktowania i progów.
|
||||
- Ustala ranking kandydatów przy użyciu ważonej punktacji 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.
|
||||
- Przed zapisem ponownie pobiera 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,50 +68,57 @@ Faza głęboka decyduje, co staje się pamięcią długoterminową.
|
||||
|
||||
Faza REM wyodrębnia wzorce i sygnały refleksyjne.
|
||||
|
||||
- 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.
|
||||
- Buduje podsumowania motywów i refleksji na podstawie ostatnich śladów krótkoterminowych.
|
||||
- Zapisuje zarządzany blok `## REM Sleep`, gdy magazyn zawiera dane wyjściowe osadzone w pliku.
|
||||
- Rejestruje sygnały wzmocnienia REM używane przez ranking głęboki.
|
||||
- Nigdy nie zapisuje do `MEMORY.md`.
|
||||
|
||||
## Przetwarzanie transkryptów sesji
|
||||
|
||||
Śnienie może przetwarzać zredagowane transkrypty sesji do korpusu śnienia. Gdy
|
||||
transkrypty są dostępne, są przekazywane do fazy lekkiej razem z dziennymi
|
||||
sygnałami pamięci i śladami przywołań. Treści osobiste i wrażliwe są redagowane
|
||||
przed przetworzeniem.
|
||||
|
||||
## Dziennik snów
|
||||
|
||||
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)
|
||||
Śnienie prowadzi również 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, w trybie best-effort, turę podagenta (z użyciem domyślnego modelu runtime)
|
||||
i dopisuje krótki wpis do dziennika.
|
||||
|
||||
Ten dziennik jest przeznaczony do czytania przez ludzi w interfejsie Dreams, a nie jako źródło promocji.
|
||||
Ten dziennik służy do czytania przez człowieka w interfejsie Dreams, a nie jako źródło promocji.
|
||||
|
||||
## Sygnały głębokiego rankingu
|
||||
## Sygnały rankingu głębokiego
|
||||
|
||||
Głęboki ranking używa sześciu ważonych sygnałów bazowych oraz wzmocnienia fazowego:
|
||||
Ranking głęboki używa sześciu ważonych sygnałów bazowych oraz wzmocnienia faz:
|
||||
|
||||
| Sygnał | Waga | Opis |
|
||||
| Sygnał | Waga | Opis |
|
||||
| ------------------- | ------ | ------------------------------------------------- |
|
||||
| Częstotliwość | 0.24 | Ile sygnałów krótkoterminowych zgromadził wpis |
|
||||
| Trafność | 0.30 | Średnia jakość wyszukiwania dla wpisu |
|
||||
| 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 |
|
||||
| Trafność | 0.30 | Średnia jakość pobierania dla wpisu |
|
||||
| Różnorodność zapytań | 0.15 | Różne konteksty zapytań/dni, w których się pojawił |
|
||||
| Aktualność | 0.15 | Wynik świeżości z zanikiem w czasie |
|
||||
| Konsolidacja | 0.10 | Siła nawrotów w wielu dniach |
|
||||
| Bogactwo pojęciowe | 0.06 | Gęstość tagów pojęciowych z fragmentu/ścieżki |
|
||||
|
||||
Trafienia fazy lekkiej i REM dodają niewielkie wzmocnienie malejące wraz z aktualnością z
|
||||
Trafienia fazy lekkiej i REM dodają niewielkie wzmocnienie z zanikiem aktualności z
|
||||
`memory/.dreams/phase-signals.json`.
|
||||
|
||||
## Harmonogram
|
||||
|
||||
Po włączeniu `memory-core` automatycznie zarządza jednym zadaniem cron dla pełnego
|
||||
przebiegu dreaming. Każdy przebieg uruchamia fazy w kolejności: light -> REM -> deep.
|
||||
przebiegu śnienia. Każdy przebieg uruchamia fazy w kolejności: lekka -> REM -> głęboka.
|
||||
|
||||
Domyślne zachowanie harmonogramu:
|
||||
|
||||
| Ustawienie | Domyślnie |
|
||||
| Ustawienie | Domyślna wartość |
|
||||
| -------------------- | ----------- |
|
||||
| `dreaming.frequency` | `0 3 * * *` |
|
||||
|
||||
## Szybki start
|
||||
|
||||
Włącz dreaming:
|
||||
Włącz śnienie:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -129,7 +136,7 @@ Włącz dreaming:
|
||||
}
|
||||
```
|
||||
|
||||
Włącz dreaming z niestandardową częstotliwością przebiegu:
|
||||
Włącz śnienie z niestandardowym harmonogramem przebiegów:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -149,7 +156,7 @@ Włącz dreaming z niestandardową częstotliwością przebiegu:
|
||||
}
|
||||
```
|
||||
|
||||
## Komenda ukośnikowa
|
||||
## Polecenie ukośnikowe
|
||||
|
||||
```
|
||||
/dreaming status
|
||||
@ -158,9 +165,9 @@ Włącz dreaming z niestandardową częstotliwością przebiegu:
|
||||
/dreaming help
|
||||
```
|
||||
|
||||
## Workflow CLI
|
||||
## Przepływ pracy CLI
|
||||
|
||||
Użyj promowania w CLI do podglądu lub ręcznego zastosowania:
|
||||
Użyj promocji w CLI do podglądu lub ręcznego zastosowania:
|
||||
|
||||
```bash
|
||||
openclaw memory promote
|
||||
@ -169,7 +176,7 @@ openclaw memory promote --limit 5
|
||||
openclaw memory status --deep
|
||||
```
|
||||
|
||||
Ręczne `memory promote` domyślnie używa progów fazy głębokiej, chyba że zostaną one nadpisane
|
||||
Ręczne `memory promote` domyślnie używa progów fazy głębokiej, o ile nie zostaną nadpisane
|
||||
flagami CLI.
|
||||
|
||||
Wyjaśnij, dlaczego konkretny kandydat zostałby lub nie zostałby promowany:
|
||||
@ -179,7 +186,7 @@ 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
|
||||
Wyświetl podgląd refleksji REM, prawd kandydatów i danych wyjściowych promocji głębokiej bez
|
||||
zapisywania czegokolwiek:
|
||||
|
||||
```bash
|
||||
@ -189,25 +196,25 @@ openclaw memory rem-harness --json
|
||||
|
||||
## Kluczowe wartości domyślne
|
||||
|
||||
Wszystkie ustawienia znajdują się pod `plugins.entries.memory-core.config.dreaming`.
|
||||
Wszystkie ustawienia znajdują się w `plugins.entries.memory-core.config.dreaming`.
|
||||
|
||||
| Klucz | Domyślnie |
|
||||
| Klucz | Domyślna wartość |
|
||||
| ----------- | ----------- |
|
||||
| `enabled` | `false` |
|
||||
| `frequency` | `0 3 * * *` |
|
||||
|
||||
Polityka faz, progi i zachowanie przechowywania są wewnętrznymi szczegółami implementacji
|
||||
(i nie są konfigurowane przez użytkownika).
|
||||
Polityka faz, progi i zachowanie magazynu są wewnętrznymi szczegółami implementacji
|
||||
(i nie stanowią konfiguracji dostępnej dla użytkownika).
|
||||
|
||||
Pełną listę kluczy znajdziesz w [Dokumentacji referencyjnej konfiguracji pamięci](/pl/reference/memory-config#dreaming-experimental).
|
||||
Pełną listę kluczy znajdziesz w [Dokumentacji konfiguracji pamięci](/pl/reference/memory-config#dreaming-experimental).
|
||||
|
||||
## Interfejs Dreams
|
||||
|
||||
Po włączeniu karta **Dreams** w Gateway pokazuje:
|
||||
|
||||
- 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
|
||||
- bieżący stan włączenia śnienia
|
||||
- stan na poziomie faz i obecność zarządzanego przebiegu
|
||||
- liczbę elementów krótkoterminowych, długoterminowych i promowanych dzisiaj
|
||||
- czas następnego zaplanowanego uruchomienia
|
||||
- rozwijany czytnik Dziennika snów oparty na `doctor.memory.dreamDiary`
|
||||
|
||||
@ -216,4 +223,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 referencyjna konfiguracji pamięci](/pl/reference/memory-config)
|
||||
- [Dokumentacja konfiguracji pamięci](/pl/reference/memory-config)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -2,43 +2,45 @@
|
||||
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-08T02:17:46Z"
|
||||
generated_at: "2026-04-08T09:45:41Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 155a8b14bc345319c8516ebdb8a0ccdea2c5f7fa07dad343442996daee21ecad
|
||||
source_hash: d9a2ce7f5553563516a549ca87e776a6a71e8dd8533a773c5ddbecfae43e7b77
|
||||
source_path: plugins/sdk-migration.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Migracja Plugin SDK
|
||||
|
||||
OpenClaw przeszedł od szerokiej warstwy zgodności wstecznej do nowoczesnej architektury
|
||||
pluginów z ukierunkowanymi, udokumentowanymi importami. Jeśli Twój plugin powstał przed
|
||||
nową architekturą, ten przewodnik pomoże Ci przeprowadzić migrację.
|
||||
OpenClaw przeszedł od szerokiej warstwy zgodności wstecznej do nowoczesnej
|
||||
architektury pluginów z ukierunkowanymi, udokumentowanymi importami. Jeśli
|
||||
Twój plugin powstał przed wprowadzeniem nowej architektury, ten przewodnik
|
||||
pomoże Ci przeprowadzić migrację.
|
||||
|
||||
## Co się zmienia
|
||||
|
||||
Stary system pluginów udostępniał dwie bardzo szerokie powierzchnie, które pozwalały pluginom importować
|
||||
wszystko, czego potrzebowały, z jednego punktu wejścia:
|
||||
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 reeksportował dziesiątki
|
||||
pomocników. Został wprowadzony po to, aby starsze pluginy oparte na hookach nadal działały
|
||||
podczas budowy nowej architektury pluginów.
|
||||
- **`openclaw/extension-api`** — most, który dawał pluginom bezpośredni dostęp do
|
||||
pomocników po stronie hosta, takich jak osadzony runner agenta.
|
||||
- **`openclaw/plugin-sdk/compat`** — pojedynczy import, który reeksportował
|
||||
dziesiątki helperów. Został wprowadzony po to, aby starsze pluginy oparte na
|
||||
hookach nadal działały, 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.
|
||||
|
||||
Obie powierzchnie są teraz **przestarzałe**. Nadal działają w czasie działania, ale nowe
|
||||
pluginy nie mogą ich używać, a istniejące pluginy powinny przeprowadzić migrację przed następnym
|
||||
głównym wydaniem, które je usunie.
|
||||
Obie te powierzchnie są teraz **przestarzałe**. Nadal działają w runtime, ale
|
||||
nowe pluginy nie mogą już z nich korzystać, a istniejące pluginy powinny
|
||||
przeprowadzić migrację, zanim kolejna główna wersja je usunie.
|
||||
|
||||
<Warning>
|
||||
Warstwa zgodności wstecznej zostanie usunięta w jednym z przyszłych głównych wydań.
|
||||
Warstwa zgodności wstecznej zostanie usunięta w jednej z przyszłych głównych wersji.
|
||||
Pluginy, które nadal importują z tych powierzchni, przestaną działać, gdy to nastąpi.
|
||||
</Warning>
|
||||
|
||||
@ -46,85 +48,87 @@ głównym wydaniem, które je usunie.
|
||||
|
||||
Stare podejście powodowało problemy:
|
||||
|
||||
- **Powolne uruchamianie** — zaimportowanie jednego pomocnika ładowało dziesiątki niepowiązanych modułów
|
||||
- **Zależności cykliczne** — szerokie reeksporty ułatwiały tworzenie cykli importów
|
||||
- **Niejasna powierzchnia API** — nie było sposobu, aby odróżnić stabilne eksporty od wewnętrznych
|
||||
- **Powolne uruchamianie** — zaimportowanie jednego helpera ładowało dziesiątki
|
||||
niepowiązanych modułów
|
||||
- **Zależności cykliczne** — szerokie reeksporty ułatwiały tworzenie cykli importu
|
||||
- **Niejasna powierzchnia API** — nie było sposobu, by stwierdzić, które eksporty
|
||||
są stabilne, a które wewnętrzne
|
||||
|
||||
Nowoczesny Plugin SDK to naprawia: każda ścieżka importu (`openclaw/plugin-sdk/\<subpath\>`)
|
||||
jest małym, samodzielnym modułem o jasno określonym celu i udokumentowanym kontrakcie.
|
||||
Nowoczesny Plugin SDK rozwiązuje ten problem: każda ścieżka importu (`openclaw/plugin-sdk/\<subpath\>`)
|
||||
to mały, samodzielny moduł z jasnym przeznaczeniem i udokumentowanym kontraktem.
|
||||
|
||||
Starsze wygodne warstwy dostawców dla dołączonych kanałów również zniknęły. Importy
|
||||
Starsze wygodne powierzchnie provideró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`,
|
||||
warstwy pomocnicze oznaczone marką kanału oraz
|
||||
powierzchnie helperów 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 podścieżek SDK. Wewnątrz
|
||||
dołączonego obszaru roboczego pluginów trzymaj pomocniki należące do dostawcy we własnym
|
||||
stabilnymi kontraktami pluginów. Zamiast nich używaj wąskich, ogólnych podścieżek SDK. Wewnątrz
|
||||
workspace wbudowanych pluginów przechowuj helpery należące do providera we własnym
|
||||
`api.ts` lub `runtime-api.ts` tego pluginu.
|
||||
|
||||
Aktualne przykłady dołączonych dostawców:
|
||||
Bieżące przykłady wbudowanych providerów:
|
||||
|
||||
- Anthropic przechowuje pomocniki strumieni specyficzne dla Claude we własnej warstwie `api.ts` /
|
||||
- Anthropic przechowuje helpery strumieni specyficzne dla Claude we własnej powierzchni `api.ts` /
|
||||
`contract-api.ts`
|
||||
- OpenAI przechowuje konstruktory dostawców, pomocniki modeli domyślnych i konstruktory dostawców realtime
|
||||
we własnym `api.ts`
|
||||
- OpenRouter przechowuje konstruktor dostawcy oraz pomocniki onboardingu/konfiguracji we własnym
|
||||
- OpenAI przechowuje buildery providerów, helpery modeli domyślnych i buildery providerów
|
||||
realtime we własnym `api.ts`
|
||||
- OpenRouter przechowuje builder providera oraz helpery onboardingu/konfiguracji we własnym
|
||||
`api.ts`
|
||||
|
||||
## Jak przeprowadzić migrację
|
||||
|
||||
<Steps>
|
||||
<Step title="Przenieś handlery natywne dla zatwierdzeń na fakty możliwości">
|
||||
Pluginy kanałów obsługujące zatwierdzenia udostępniają teraz natywne zachowanie zatwierdzeń przez
|
||||
<Step title="Przenieś handlery natywnych zatwierdzeń do capability facts">
|
||||
Pluginy kanałów obsługujące zatwierdzanie udostępniają teraz natywne zachowanie zatwierdzania przez
|
||||
`approvalCapability.nativeRuntime` oraz współdzielony rejestr runtime-context.
|
||||
|
||||
Najważniejsze zmiany:
|
||||
|
||||
- Zamień `approvalCapability.handler.loadRuntime(...)` na
|
||||
- Zastąp `approvalCapability.handler.loadRuntime(...)` przez
|
||||
`approvalCapability.nativeRuntime`
|
||||
- Przenieś uwierzytelnianie/dostarczanie specyficzne dla zatwierdzeń ze starszego okablowania `plugin.auth` /
|
||||
`plugin.approvals` na `approvalCapability`
|
||||
- `ChannelPlugin.approvals` zostało usunięte z publicznego kontraktu pluginów kanałowych;
|
||||
przenieś pola delivery/native/render do `approvalCapability`
|
||||
- `plugin.auth` pozostaje tylko dla przepływów logowania/wylogowania kanału; hooki
|
||||
uwierzytelniania zatwierdzeń nie są już tam odczytywane przez core
|
||||
- Przenieś uwierzytelnianie i dostarczanie specyficzne dla zatwierdzeń ze starszego powiązania `plugin.auth` /
|
||||
`plugin.approvals` do `approvalCapability`
|
||||
- `ChannelPlugin.approvals` zostało usunięte z publicznego kontraktu
|
||||
pluginu kanału; przenieś pola delivery/native/render do `approvalCapability`
|
||||
- `plugin.auth` pozostaje wyłącznie dla przepływów logowania/wylogowania kanału; hooki
|
||||
uwierzytelniania zatwierdzeń w tym miejscu nie są już odczytywane przez core
|
||||
- Rejestruj obiekty runtime należące do kanału, takie jak klienci, tokeny lub aplikacje
|
||||
Bolt, przez `openclaw/plugin-sdk/channel-runtime-context`
|
||||
- Nie wysyłaj komunikatów o przekierowaniu należących do pluginu z natywnych handlerów zatwierdzeń;
|
||||
core odpowiada teraz za komunikaty „dostarczono gdzie indziej” na podstawie rzeczywistych wyników dostarczenia
|
||||
core zarządza teraz komunikatami o dostarczeniu w inne miejsce na podstawie rzeczywistych wyników delivery
|
||||
- Przy przekazywaniu `channelRuntime` do `createChannelManager(...)` podaj
|
||||
rzeczywistą powierzchnię `createPluginRuntime().channel`. Częściowe stuby są odrzucane.
|
||||
|
||||
Zobacz `/plugins/sdk-channel-plugins`, aby poznać bieżący układ
|
||||
approval capability.
|
||||
Aktualny układ capability zatwierdzeń znajdziesz w
|
||||
`/plugins/sdk-channel-plugins`.
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Sprawdź zachowanie zapasowe wrapperów Windows">
|
||||
Jeśli Twój plugin używa `openclaw/plugin-sdk/windows-spawn`, nierozwiązane wrappery Windows
|
||||
`.cmd`/`.bat` teraz domyślnie kończą się błędem, chyba że jawnie przekażesz
|
||||
`.cmd`/`.bat` teraz kończą się bezpieczną porażką, chyba że jawnie przekażesz
|
||||
`allowShellFallback: true`.
|
||||
|
||||
```typescript
|
||||
// Before
|
||||
// Przed
|
||||
const program = applyWindowsSpawnProgramPolicy({ candidate });
|
||||
|
||||
// After
|
||||
// Po
|
||||
const program = applyWindowsSpawnProgramPolicy({
|
||||
candidate,
|
||||
// Only set this for trusted compatibility callers that intentionally
|
||||
// accept shell-mediated fallback.
|
||||
// Ustaw to tylko dla zaufanych wywołujących zgodności, którzy świadomie
|
||||
// akceptują zapasowe wywołanie przez shell.
|
||||
allowShellFallback: true,
|
||||
});
|
||||
```
|
||||
|
||||
Jeśli wywołujący nie polega celowo na zapasowym użyciu powłoki, nie ustawiaj
|
||||
`allowShellFallback`, tylko obsłuż zgłaszany błąd.
|
||||
Jeśli Twój kod wywołujący nie polega świadomie na zapasowym wywołaniu przez shell, nie ustawiaj
|
||||
`allowShellFallback` i zamiast tego obsłuż zgłaszany błąd.
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Znajdź przestarzałe importy">
|
||||
Przeszukaj plugin w poszukiwaniu importów z którejkolwiek z przestarzałych powierzchni:
|
||||
Przeszukaj plugin pod kątem importów z którejkolwiek z przestarzałych powierzchni:
|
||||
|
||||
```bash
|
||||
grep -r "plugin-sdk/compat" my-plugin/
|
||||
@ -137,32 +141,32 @@ Aktualne przykłady dołączonych dostawców:
|
||||
Każdy eksport ze starej powierzchni odpowiada konkretnej nowoczesnej ścieżce importu:
|
||||
|
||||
```typescript
|
||||
// Before (deprecated backwards-compatibility layer)
|
||||
// Przed (przestarzała warstwa zgodności wstecznej)
|
||||
import {
|
||||
createChannelReplyPipeline,
|
||||
createPluginRuntimeStore,
|
||||
resolveControlCommandGate,
|
||||
} from "openclaw/plugin-sdk/compat";
|
||||
|
||||
// After (modern focused imports)
|
||||
// Po (nowoczesne ukierunkowane importy)
|
||||
import { createChannelReplyPipeline } from "openclaw/plugin-sdk/channel-reply-pipeline";
|
||||
import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
|
||||
import { resolveControlCommandGate } from "openclaw/plugin-sdk/command-auth";
|
||||
```
|
||||
|
||||
W przypadku pomocników po stronie hosta używaj wstrzykniętego runtime pluginu zamiast
|
||||
bezpośredniego importu:
|
||||
W przypadku helperów po stronie hosta używaj wstrzykniętego runtime pluginu zamiast importować je
|
||||
bezpośrednio:
|
||||
|
||||
```typescript
|
||||
// Before (deprecated extension-api bridge)
|
||||
// Przed (przestarzały most extension-api)
|
||||
import { runEmbeddedPiAgent } from "openclaw/extension-api";
|
||||
const result = await runEmbeddedPiAgent({ sessionId, prompt });
|
||||
|
||||
// After (injected runtime)
|
||||
// Po (wstrzyknięty runtime)
|
||||
const result = await api.runtime.agent.runEmbeddedPiAgent({ sessionId, prompt });
|
||||
```
|
||||
|
||||
Ten sam wzorzec dotyczy innych starszych pomocników mostu:
|
||||
Ten sam wzorzec dotyczy innych starszych helperów mostu:
|
||||
|
||||
| Stary import | Nowoczesny odpowiednik |
|
||||
| --- | --- |
|
||||
@ -172,7 +176,7 @@ Aktualne przykłady dołączonych dostawców:
|
||||
| `resolveThinkingDefault` | `api.runtime.agent.resolveThinkingDefault` |
|
||||
| `resolveAgentTimeoutMs` | `api.runtime.agent.resolveAgentTimeoutMs` |
|
||||
| `ensureAgentWorkspace` | `api.runtime.agent.ensureAgentWorkspace` |
|
||||
| pomocniki magazynu sesji | `api.runtime.agent.session.*` |
|
||||
| helpery magazynu sesji | `api.runtime.agent.session.*` |
|
||||
|
||||
</Step>
|
||||
|
||||
@ -184,183 +188,185 @@ Aktualne przykłady dołączonych dostawców:
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Dokumentacja ścieżek importu
|
||||
## Odniesienie do ścieżek importu
|
||||
|
||||
<Accordion title="Tabela najczęściej używanych ścieżek importu">
|
||||
| Import path | Cel | Kluczowe eksporty |
|
||||
<Accordion title="Tabela typowych ścieżek importu">
|
||||
| Ścieżka importu | Przeznaczenie | Kluczowe eksporty |
|
||||
| --- | --- | --- |
|
||||
| `plugin-sdk/plugin-entry` | Kanoniczny pomocnik punktu wejścia pluginu | `definePluginEntry` |
|
||||
| `plugin-sdk/core` | Starszy zbiorczy reeksport dla 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` | 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 allowlist, buildery statusu konfiguracji |
|
||||
| `plugin-sdk/setup-runtime` | Pomocniki runtime na etapie konfiguracji | Bezpieczne importowo adaptery łatek konfiguracji, pomocniki notatek lookup, `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 dla wielu kont | Pomocniki list kont/konfiguracji/bram akcji |
|
||||
| `plugin-sdk/account-id` | Pomocniki identyfikatorów kont | `DEFAULT_ACCOUNT_ID`, normalizacja identyfikatora konta |
|
||||
| `plugin-sdk/account-resolution` | Pomocniki wyszukiwania kont | Wyszukiwanie konta + pomocniki zapasowego wyboru domyślnego |
|
||||
| `plugin-sdk/account-helpers` | Wąskie pomocniki kont | Pomocniki list kont/akcji na kontach |
|
||||
| `plugin-sdk/plugin-entry` | Kanoniczny helper punktu wejścia pluginu | `definePluginEntry` |
|
||||
| `plugin-sdk/core` | Starszy zbiorczy reeksport definicji/builderów wejść kanałów | `defineChannelPluginEntry`, `createChatChannelPlugin` |
|
||||
| `plugin-sdk/config-schema` | Eksport schematu głównej konfiguracji | `OpenClawSchema` |
|
||||
| `plugin-sdk/provider-entry` | Helper punktu wejścia pojedynczego providera | `defineSingleProviderPluginEntry` |
|
||||
| `plugin-sdk/channel-core` | Ukierunkowane definicje i buildery wejść kanałów | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
|
||||
| `plugin-sdk/setup` | Współdzielone helpery kreatora konfiguracji | Prompty allowlist i buildery statusu konfiguracji |
|
||||
| `plugin-sdk/setup-runtime` | Helpery runtime dla konfiguracji | Bezpieczne przy imporcie adaptery poprawek 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 akcji |
|
||||
| `plugin-sdk/account-id` | Helpery account-id | `DEFAULT_ACCOUNT_ID`, normalizacja account-id |
|
||||
| `plugin-sdk/account-resolution` | Helpery wyszukiwania kont | Helpery wyszukiwania kont i domyślnego fallbacku |
|
||||
| `plugin-sdk/account-helpers` | Wąskie helpery kont | Helpery listy kont/akcji na kontach |
|
||||
| `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` | Okablowanie prefiksu odpowiedzi + typing | `createChannelReplyPipeline` |
|
||||
| `plugin-sdk/channel-reply-pipeline` | Powiązanie prefiksu odpowiedzi i wskaźnika pisania | `createChannelReplyPipeline` |
|
||||
| `plugin-sdk/channel-config-helpers` | Fabryki adapterów konfiguracji | `createHybridChannelConfigAdapter` |
|
||||
| `plugin-sdk/channel-config-schema` | Buildery schematów konfiguracji | Typy schematu konfiguracji kanału |
|
||||
| `plugin-sdk/telegram-command-config` | Pomocniki konfiguracji poleceń Telegram | Normalizacja nazw poleceń, przycinanie opisów, walidacja duplikatów/konfliktów |
|
||||
| `plugin-sdk/channel-policy` | Rozstrzyganie polityk grup/DM | `resolveChannelGroupRequireMention` |
|
||||
| `plugin-sdk/channel-lifecycle` | Śledzenie statusu konta | `createAccountStatusSink` |
|
||||
| `plugin-sdk/inbound-envelope` | Pomocniki kopert wejściowych | Współdzielone pomocniki routingu + buildera kopert |
|
||||
| `plugin-sdk/inbound-reply-dispatch` | Pomocniki odpowiedzi wejściowych | Współdzielone pomocniki zapisu i dispatchu |
|
||||
| `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/delegatów wysyłki |
|
||||
| `plugin-sdk/thread-bindings-runtime` | Pomocniki powiązań wątków | Cykl życia powiązań wątków i pomocniki 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ły shim zgodności | Tylko starsze narzędzia channel runtime |
|
||||
| `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 polityk grup/DM | `resolveChannelGroupRequireMention` |
|
||||
| `plugin-sdk/channel-lifecycle` | Śledzenie statusu kont | `createAccountStatusSink` |
|
||||
| `plugin-sdk/inbound-envelope` | Helpery kopert wejściowych | Współdzielone helpery routingu i budowania kopert |
|
||||
| `plugin-sdk/inbound-reply-dispatch` | Helpery odpowiedzi wejściowych | Współdzielone helpery zapisu i dispatch |
|
||||
| `plugin-sdk/messaging-targets` | Parsowanie celów wiadomości | Helpery parsowania/dopasowania 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 wyjścia | Helpery tożsamości wychodzącej/delegatów wysyłki |
|
||||
| `plugin-sdk/thread-bindings-runtime` | Helpery powiązań wątków | Helpery cyklu życia powiązań wątków i 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łu |
|
||||
| `plugin-sdk/channel-send-result` | Typy wyników wysyłki | Typy wyników odpowiedzi |
|
||||
| `plugin-sdk/runtime-store` | Trwałe przechowywanie pluginu | `createPluginRuntimeStore` |
|
||||
| `plugin-sdk/runtime` | Szerokie pomocniki runtime | Pomocniki runtime/logowania/kopii zapasowych/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 pluginów | Pomocniki poleceń/hooków/http/interakcji pluginów |
|
||||
| `plugin-sdk/hook-runtime` | Pomocniki potoku hooków | Współdzielone pomocniki potoku 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 poleceń, oczekiwania, pomocniki wersji |
|
||||
| `plugin-sdk/gateway-runtime` | Pomocniki gateway | Klient gateway i pomocniki łat statusu kanału |
|
||||
| `plugin-sdk/config-runtime` | Pomocniki konfiguracji | Pomocniki ładowania/zapisu konfiguracji |
|
||||
| `plugin-sdk/telegram-command-config` | Pomocniki poleceń Telegram | Pomocniki walidacji poleceń Telegram stabilne jako fallback, gdy powierzchnia kontraktu dołączonego Telegram jest niedostępna |
|
||||
| `plugin-sdk/approval-runtime` | Pomocniki promptów zatwierdzeń | Payload exec/plugin approval, pomocniki approval capability/profile, natywne pomocniki routingu/runtime zatwierdzeń |
|
||||
| `plugin-sdk/approval-auth-runtime` | Pomocniki auth zatwierdzeń | Rozstrzyganie osoby zatwierdzającej, uwierzytelnianie akcji w tym samym czacie |
|
||||
| `plugin-sdk/approval-client-runtime` | Pomocniki klienta zatwierdzeń | Natywne pomocniki profili/filtrów zatwierdzeń exec |
|
||||
| `plugin-sdk/approval-delivery-runtime` | Pomocniki dostarczania zatwierdzeń | Adaptery natywnych approval capability/delivery |
|
||||
| `plugin-sdk/approval-gateway-runtime` | Pomocniki gateway zatwierdzeń | Współdzielony pomocnik rozstrzygania approval gateway |
|
||||
| `plugin-sdk/approval-handler-adapter-runtime` | Pomocniki adaptera zatwierdzeń | Lekkie pomocniki ładowania natywnych adapterów zatwierdzeń dla gorących punktów wejścia kanałów |
|
||||
| `plugin-sdk/approval-handler-runtime` | Pomocniki handlerów zatwierdzeń | Szersze pomocniki runtime handlerów zatwierdzeń; preferuj węższe warstwy adapter/gateway, gdy wystarczą |
|
||||
| `plugin-sdk/approval-native-runtime` | Pomocniki celów zatwierdzeń | Pomocniki natywnych powiązań celu/konta zatwierdzeń |
|
||||
| `plugin-sdk/approval-reply-runtime` | Pomocniki odpowiedzi zatwierdzeń | Pomocniki payloadów odpowiedzi exec/plugin approval |
|
||||
| `plugin-sdk/channel-runtime-context` | Pomocniki channel runtime-context | Ogólne pomocniki register/get/watch dla channel runtime-context |
|
||||
| `plugin-sdk/security-runtime` | Pomocniki bezpieczeństwa | Współdzielone pomocniki trust, bramkowania DM, treści zewnętrznych i zbierania sekretów |
|
||||
| `plugin-sdk/ssrf-policy` | Pomocniki polityki SSRF | Pomocniki allowlist hostów i polityki sieci prywatnych |
|
||||
| `plugin-sdk/ssrf-runtime` | Pomocniki runtime SSRF | Pinned-dispatcher, guarded fetch, pomocniki 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`, uruchamiacze polityk |
|
||||
| `plugin-sdk/runtime` | Szerokie helpery runtime | Helpery runtime/logowania/backupu/instalacji pluginów |
|
||||
| `plugin-sdk/runtime-env` | Wąskie helpery środowiska runtime | Logger/runtime env, helpery timeoutów, retry i backoff |
|
||||
| `plugin-sdk/plugin-runtime` | Współdzielone helpery runtime pluginów | Helpery poleceń/hooków/http/interaktywnych funkcji pluginu |
|
||||
| `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ń, oczekiwania, helpery wersji |
|
||||
| `plugin-sdk/gateway-runtime` | Helpery Gateway | Klient Gateway i helpery poprawek statusu kanału |
|
||||
| `plugin-sdk/config-runtime` | Helpery konfiguracji | Helpery ładowania/zapisu konfiguracji |
|
||||
| `plugin-sdk/telegram-command-config` | Helpery poleceń Telegram | Stabilne fallbackowe helpery walidacji poleceń Telegram, gdy powierzchnia kontraktu wbudowanego Telegrama jest niedostępna |
|
||||
| `plugin-sdk/approval-runtime` | Helpery promptów zatwierdzania | Payload zatwierdzeń exec/pluginu, helpery capability/profile zatwierdzeń, natywny routing/runtime zatwierdzeń |
|
||||
| `plugin-sdk/approval-auth-runtime` | Helpery uwierzytelniania zatwierdzeń | Rozwiązywanie approvera, autoryzacja akcji w tym samym czacie |
|
||||
| `plugin-sdk/approval-client-runtime` | Helpery klienta zatwierdzeń | Helpery profilu/filtra natywnych zatwierdzeń exec |
|
||||
| `plugin-sdk/approval-delivery-runtime` | Helpery dostarczania zatwierdzeń | Adaptery capability/delivery natywnych zatwierdzeń |
|
||||
| `plugin-sdk/approval-gateway-runtime` | Helpery Gateway dla zatwierdzeń | Współdzielony helper rozwiązywania approval gateway |
|
||||
| `plugin-sdk/approval-handler-adapter-runtime` | Helpery adaptera zatwierdzeń | Lekkie helpery ładowania natywnych adapterów zatwierdzeń dla gorących punktów wejścia kanałów |
|
||||
| `plugin-sdk/approval-handler-runtime` | Helpery handlerów zatwierdzeń | Szersze helpery runtime handlerów zatwierdzeń; preferuj węższe powierzchnie adaptera/gateway, gdy są wystarczające |
|
||||
| `plugin-sdk/approval-native-runtime` | Helpery celu zatwierdzeń | Helpery natywnego celu zatwierdzeń/powiązania kont |
|
||||
| `plugin-sdk/approval-reply-runtime` | Helpery odpowiedzi zatwierdzeń | Helpery payloadu odpowiedzi zatwierdzeń exec/pluginu |
|
||||
| `plugin-sdk/channel-runtime-context` | Helpery runtime-context kanału | Ogólne helpery register/get/watch dla runtime-context kanału |
|
||||
| `plugin-sdk/security-runtime` | Helpery bezpieczeństwa | Współdzielone helpery zaufania, bramek DM, treści zewnętrznych i zbierania sekretów |
|
||||
| `plugin-sdk/ssrf-policy` | Helpery polityki SSRF | Helpery allowlist hostów i polityki sieci prywatnych |
|
||||
| `plugin-sdk/ssrf-runtime` | Helpery runtime SSRF | Pinned-dispatcher, guarded fetch, helpery polityki 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` | Opakowane helpery fetch/proxy | `resolveFetch`, helpery proxy |
|
||||
| `plugin-sdk/host-runtime` | Helpery normalizacji hosta | `normalizeHostname`, `normalizeScpRemoteHost` |
|
||||
| `plugin-sdk/retry-runtime` | Helpery retry | `RetryConfig`, `retryAsync`, executory polityk |
|
||||
| `plugin-sdk/allow-from` | Formatowanie allowlist | `formatAllowFromLowercase` |
|
||||
| `plugin-sdk/allowlist-resolution` | Mapowanie wejść allowlist | `mapAllowlistResolutionInputs` |
|
||||
| `plugin-sdk/command-auth` | Bramkowanie poleceń i pomocniki powierzchni poleceń | `resolveControlCommandGate`, pomocniki autoryzacji nadawcy, pomocniki rejestru poleceń |
|
||||
| `plugin-sdk/secret-input` | Parsowanie tajnych danych wejściowych | Pomocniki secret input |
|
||||
| `plugin-sdk/webhook-ingress` | Pomocniki żądań webhooków | Narzędzia celu webhooka |
|
||||
| `plugin-sdk/webhook-request-guards` | Pomocniki guardów żądań webhooków | Pomocniki odczytu/limitowania treści żądań |
|
||||
| `plugin-sdk/reply-runtime` | Współdzielony runtime odpowiedzi | Inbound dispatch, heartbeat, planner odpowiedzi, chunking |
|
||||
| `plugin-sdk/reply-dispatch-runtime` | Wąskie pomocniki dispatchu odpowiedzi | Finalizacja + pomocniki dispatchu dostawcy |
|
||||
| `plugin-sdk/reply-history` | Pomocniki historii odpowiedzi | `buildHistoryContext`, `buildPendingHistoryContextFromMap`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` |
|
||||
| `plugin-sdk/allowlist-resolution` | Mapowanie danych wejściowych allowlist | `mapAllowlistResolutionInputs` |
|
||||
| `plugin-sdk/command-auth` | Bramkowanie poleceń i helpery powierzchni poleceń | `resolveControlCommandGate`, helpery autoryzacji nadawcy, helpery rejestru poleceń |
|
||||
| `plugin-sdk/secret-input` | Parsowanie wejścia sekretów | Helpery wejścia sekretów |
|
||||
| `plugin-sdk/webhook-ingress` | Helpery żądań webhook | Narzędzia celu webhook |
|
||||
| `plugin-sdk/webhook-request-guards` | Helpery guardów treści webhook | Helpery odczytu/limitów treści żądania |
|
||||
| `plugin-sdk/reply-runtime` | Współdzielony runtime odpowiedzi | Dispatch wejściowy, heartbeat, planer odpowiedzi, chunking |
|
||||
| `plugin-sdk/reply-dispatch-runtime` | Wąskie helpery dispatch odpowiedzi | Helpery finalize i dispatch providera |
|
||||
| `plugin-sdk/reply-history` | Helpery historii odpowiedzi | `buildHistoryContext`, `buildPendingHistoryContextFromMap`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` |
|
||||
| `plugin-sdk/reply-reference` | Planowanie referencji odpowiedzi | `createReplyReferencePlanner` |
|
||||
| `plugin-sdk/reply-chunking` | Pomocniki dzielenia odpowiedzi | Pomocniki dzielenia tekstu/markdown |
|
||||
| `plugin-sdk/session-store-runtime` | Pomocniki magazynu sesji | Ścieżka magazynu + pomocniki updated-at |
|
||||
| `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 stany runtime, pomocniki metadanych problemów |
|
||||
| `plugin-sdk/target-resolver-runtime` | Pomocniki rozstrzygania celów | Współdzielone pomocniki target resolver |
|
||||
| `plugin-sdk/string-normalization-runtime` | Pomocniki normalizacji tekstu | Pomocniki normalizacji slugów/ciągów |
|
||||
| `plugin-sdk/request-url` | Pomocniki URL żądań | Wyodrębnianie URL jako ciągów z danych wejściowych podobnych do żądania |
|
||||
| `plugin-sdk/run-command` | Pomocniki poleceń z pomiarem czasu | Runner poleceń z normalizowanym stdout/stderr |
|
||||
| `plugin-sdk/param-readers` | Czytniki parametrów | Typowe czytniki parametrów narzędzi/CLI |
|
||||
| `plugin-sdk/tool-send` | Wyodrębnianie wysyłki z 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 tymczasowych pobrań |
|
||||
| `plugin-sdk/logging-core` | Pomocniki logowania | Logger podsystemu i pomocniki redakcji |
|
||||
| `plugin-sdk/markdown-table-runtime` | Pomocniki tabel markdown | Pomocniki trybów tabel markdown |
|
||||
| `plugin-sdk/reply-payload` | Typy payloadów odpowiedzi | Typy payloadów odpowiedzi wiadomości |
|
||||
| `plugin-sdk/provider-setup` | Dobrane pomocniki konfiguracji lokalnych/samohostowanych dostawców | Pomocniki wykrywania/konfiguracji samohostowanych dostawców |
|
||||
| `plugin-sdk/self-hosted-provider-setup` | Ukierunkowane pomocniki konfiguracji samohostowanych dostawców zgodnych z OpenAI | Te same pomocniki wykrywania/konfiguracji samohostowanych dostawców |
|
||||
| `plugin-sdk/provider-auth-runtime` | Pomocniki auth runtime dostawców | Pomocniki rozstrzygania kluczy API runtime |
|
||||
| `plugin-sdk/provider-auth-api-key` | Pomocniki konfiguracji kluczy API dostawców | Pomocniki onboardingu/zapisu profilu dla kluczy API |
|
||||
| `plugin-sdk/provider-auth-result` | Pomocniki wyników auth dostawców | Standardowy builder wyniku auth OAuth |
|
||||
| `plugin-sdk/provider-auth-login` | Pomocniki interaktywnego logowania dostawców | Współdzielone pomocniki interaktywnego logowania |
|
||||
| `plugin-sdk/provider-env-vars` | Pomocniki zmiennych środowiskowych dostawców | Pomocniki wyszukiwania zmiennych środowiskowych auth dostawców |
|
||||
| `plugin-sdk/provider-model-shared` | Współdzielone pomocniki modeli/replay dostawców | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, współdzielone buildery polityk replay, pomocniki endpointów dostawców i normalizacji identyfikatorów modeli |
|
||||
| `plugin-sdk/provider-catalog-shared` | Współdzielone pomocniki katalogów dostawców | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
|
||||
| `plugin-sdk/provider-onboard` | Łatki onboardingu dostawców | Pomocniki konfiguracji onboardingu |
|
||||
| `plugin-sdk/provider-http` | Pomocniki HTTP dostawców | Ogólne pomocniki HTTP/możliwości endpointów dostawców |
|
||||
| `plugin-sdk/provider-web-fetch` | Pomocniki web-fetch dostawców | Pomocniki rejestracji/cache dostawców web-fetch |
|
||||
| `plugin-sdk/provider-web-search-contract` | Pomocniki kontraktu web-search dostawców | Wąskie pomocniki kontraktu konfiguracji/poświadczeń web-search, takie jak `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` oraz funkcje ustawiania/pobierania poświadczeń o ograniczonym zakresie |
|
||||
| `plugin-sdk/provider-web-search` | Pomocniki web-search dostawców | Pomocniki rejestracji/cache/runtime dostawców web-search |
|
||||
| `plugin-sdk/provider-tools` | Pomocniki zgodności narzędzi/schematów dostawców | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, czyszczenie schematów Gemini + diagnostyka oraz pomocniki zgodności xAI, takie jak `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
|
||||
| `plugin-sdk/provider-usage` | Pomocniki użycia dostawców | `fetchClaudeUsage`, `fetchGeminiUsage`, `fetchGithubCopilotUsage` i inne pomocniki użycia dostawców |
|
||||
| `plugin-sdk/provider-stream` | Pomocniki wrapperów strumieni dostawców | `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/reply-chunking` | Helpery chunków odpowiedzi | Helpery chunkingu tekstu/markdown |
|
||||
| `plugin-sdk/session-store-runtime` | Helpery magazynu sesji | Helpery ścieżki magazynu i updated-at |
|
||||
| `plugin-sdk/state-paths` | Helpery ścieżek stanu | Helpery katalogów stanu i OAuth |
|
||||
| `plugin-sdk/routing` | Helpery routingu/kluczy sesji | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId`, helpery normalizacji kluczy sesji |
|
||||
| `plugin-sdk/status-helpers` | Helpery statusu kanału | Buildery podsumowania statusu kanału/konta, domyślne wartości stanu runtime, helpery metadanych problemów |
|
||||
| `plugin-sdk/target-resolver-runtime` | Helpery rozwiązywania celu | Współdzielone helpery target resolver |
|
||||
| `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-i jako stringów z danych wejściowych podobnych do request |
|
||||
| `plugin-sdk/run-command` | Helpery poleceń z limitem czasu | Uruchamianie poleceń z limitem czasu i znormalizowanym stdout/stderr |
|
||||
| `plugin-sdk/param-readers` | Odczyt parametrów | Typowe odczyty parametrów narzędzi/CLI |
|
||||
| `plugin-sdk/tool-payload` | Wyodrębnianie payloadu narzędzi | Wyodrębnianie znormalizowanych payloadów z obiektów wyników narzędzi |
|
||||
| `plugin-sdk/tool-send` | Wyodrębnianie wysyłki narzędzi | Wyodrębnianie kanonicznych pól celu wysyłki z argumentów narzędzi |
|
||||
| `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/reply-payload` | Typy odpowiedzi wiadomości | Typy payloadu odpowiedzi |
|
||||
| `plugin-sdk/provider-setup` | Kuratorowane helpery konfiguracji lokalnych/samohostowanych providerów | Helpery wykrywania/konfiguracji samohostowanych providerów |
|
||||
| `plugin-sdk/self-hosted-provider-setup` | Ukierunkowane helpery konfiguracji samohostowanych providerów zgodnych z OpenAI | Te same helpery wykrywania/konfiguracji samohostowanych providerów |
|
||||
| `plugin-sdk/provider-auth-runtime` | Helpery uwierzytelniania providera w runtime | Helpery rozwiązywania kluczy 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 uwierzytelniania providera | Standardowy builder wyniku uwierzytelniania 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 do uwierzytelniania providera |
|
||||
| `plugin-sdk/provider-model-shared` | Współdzielone helpery modeli/odtwarzania providera | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, współdzielone buildery polityki replay, helpery endpointów providera i helpery normalizacji model-id |
|
||||
| `plugin-sdk/provider-catalog-shared` | Współdzielone helpery katalogu providera | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
|
||||
| `plugin-sdk/provider-onboard` | Poprawki onboardingu providera | Helpery konfiguracji onboardingu |
|
||||
| `plugin-sdk/provider-http` | Helpery HTTP providera | Ogólne helpery HTTP/zdolności endpointów providera |
|
||||
| `plugin-sdk/provider-web-fetch` | Helpery web-fetch providera | Helpery rejestracji/cache providera web-fetch |
|
||||
| `plugin-sdk/provider-web-search-config-contract` | Helpery konfiguracji web-search providera | Wąskie helpery konfiguracji/poświadczeń web-search dla providerów, które nie wymagają powiązania włączania pluginu |
|
||||
| `plugin-sdk/provider-web-search-contract` | Helpery kontraktu web-search providera | Wąskie helpery kontraktu konfiguracji/poświadczeń web-search, takie jak `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` oraz zakresowe settery/gettery poświadczeń |
|
||||
| `plugin-sdk/provider-web-search` | Helpery web-search providera | Helpery rejestracji/cache/runtime providera web-search |
|
||||
| `plugin-sdk/provider-tools` | Helpery zgodności narzędzi/schematów providera | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, czyszczenie schematów 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 opakowań strumienia providera | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, typy opakowań strumienia oraz współdzielone helpery 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 pomocniki mediów | Pomocniki pobierania/przekształcania/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 braku modeli dla generowania obrazów/wideo/muzyki |
|
||||
| `plugin-sdk/media-understanding` | Pomocniki media-understanding | Typy dostawców media understanding oraz eksporty pomocników obrazów/audio dla dostawców |
|
||||
| `plugin-sdk/text-runtime` | Współdzielone pomocniki tekstu | Usuwanie tekstu widocznego dla asystenta, pomocniki renderowania/dzielenia/tabel markdown, redakcji, tagów dyrektyw, bezpiecznego tekstu oraz powiązane pomocniki tekstowe/logowania |
|
||||
| `plugin-sdk/text-chunking` | Pomocniki dzielenia tekstu | Pomocnik dzielenia tekstu wychodzącego |
|
||||
| `plugin-sdk/speech` | Pomocniki speech | Typy dostawców speech oraz eksporty pomocników dyrektyw, rejestru i walidacji dla dostawców |
|
||||
| `plugin-sdk/speech-core` | Współdzielony rdzeń speech | Typy dostawców speech, 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, auth i rejestru generowania obrazów |
|
||||
| `plugin-sdk/music-generation` | Pomocniki generowania muzyki | Typy dostawców/żądań/wyników generowania muzyki |
|
||||
| `plugin-sdk/music-generation-core` | Współdzielony rdzeń generowania muzyki | Pomocniki typów, failover, wyszukiwania dostawców i parsowania model-ref dla generowania muzyki |
|
||||
| `plugin-sdk/video-generation` | Pomocniki generowania wideo | Typy dostawców/żądań/wyników generowania wideo |
|
||||
| `plugin-sdk/video-generation-core` | Współdzielony rdzeń generowania wideo | Pomocniki typów, failover, wyszukiwania dostawców i parsowania model-ref dla generowania wideo |
|
||||
| `plugin-sdk/interactive-runtime` | Pomocniki odpowiedzi interaktywnych | Normalizacja/redukcja payloadów odpowiedzi interaktywnych |
|
||||
| `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-generation-runtime` | Współdzielone helpery generowania mediów | Współdzielone helpery failover, wybór kandydatów i komunikaty o brakującym modelu dla generowania obrazów/wideo/muzyki |
|
||||
| `plugin-sdk/media-understanding` | Helpery rozumienia mediów | Typy providerów rozumienia mediów oraz eksporty helperów obrazów/audio dla providerów |
|
||||
| `plugin-sdk/text-runtime` | Współdzielone helpery tekstowe | Usuwanie tekstu widocznego dla asystenta, helpery renderowania/chunkingu/tabel markdown, helpery redakcji, helpery tagów dyrektyw, narzędzia bezpiecznego tekstu i pokrewne helpery tekstu/logowania |
|
||||
| `plugin-sdk/text-chunking` | Helpery chunkingu tekstu | Helper chunkingu tekstu wychodzącego |
|
||||
| `plugin-sdk/speech` | Helpery mowy | Typy providerów mowy oraz eksporty helperów dyrektyw, rejestru i walidacji dla providerów |
|
||||
| `plugin-sdk/speech-core` | Współdzielony rdzeń mowy | Typy providerów mowy, rejestr, dyrektywy, normalizacja |
|
||||
| `plugin-sdk/realtime-transcription` | Helpery transkrypcji realtime | Typy providerów i helpery rejestru |
|
||||
| `plugin-sdk/realtime-voice` | Helpery głosu realtime | Typy providerów i helpery rejestru |
|
||||
| `plugin-sdk/image-generation-core` | Współdzielony rdzeń generowania obrazów | Typy generowania obrazów, failover, uwierzytelnianie i helpery rejestru |
|
||||
| `plugin-sdk/music-generation` | Helpery generowania muzyki | Typy providera/żądania/wyniku generowania muzyki |
|
||||
| `plugin-sdk/music-generation-core` | Współdzielony rdzeń generowania muzyki | Typy generowania muzyki, helpery failover, wyszukiwanie providera i parsowanie model-ref |
|
||||
| `plugin-sdk/video-generation` | Helpery generowania wideo | Typy providera/żądania/wyniku generowania wideo |
|
||||
| `plugin-sdk/video-generation-core` | Współdzielony rdzeń generowania wideo | Typy generowania wideo, helpery failover, wyszukiwanie providera i parsowanie model-ref |
|
||||
| `plugin-sdk/interactive-runtime` | Helpery interaktywnych odpowiedzi | Normalizacja/redukcja payloadu interaktywnych odpowiedzi |
|
||||
| `plugin-sdk/channel-config-primitives` | Prymitywy konfiguracji kanału | Wąskie prymitywy channel config-schema |
|
||||
| `plugin-sdk/channel-config-writes` | Pomocniki zapisu konfiguracji kanału | Pomocniki autoryzacji zapisu konfiguracji kanału |
|
||||
| `plugin-sdk/channel-plugin-common` | Wspólny prelude kanału | Eksporty wspólnego 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 allowlist | Pomocniki edycji/odczytu konfiguracji allowlist |
|
||||
| `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 auth/guard bezpośrednich DM |
|
||||
| `plugin-sdk/extension-shared` | Współdzielone pomocniki rozszerzeń | Prymitywy pomocników pasywnego kanału/statusu i ambient proxy |
|
||||
| `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` | Reeksport Zod | Reeksport `zod` dla użytkowników Plugin SDK |
|
||||
| `plugin-sdk/memory-core` | Dołączone pomocniki memory-core | Powierzchnia pomocników menedżera/konfiguracji/plików/CLI pamięci |
|
||||
| `plugin-sdk/channel-config-writes` | Helpery zapisu konfiguracji kanału | Helpery autoryzacji zapisu konfiguracji kanału |
|
||||
| `plugin-sdk/channel-plugin-common` | Współdzielone preludium kanału | Współdzielone eksporty preludium pluginu kanału |
|
||||
| `plugin-sdk/channel-status` | Helpery statusu kanału | Współdzielone helpery snapshotu/podsumowania statusu kanału |
|
||||
| `plugin-sdk/allowlist-config-edit` | Helpery konfiguracji allowlist | Helpery edycji/odczytu konfiguracji allowlist |
|
||||
| `plugin-sdk/group-access` | Helpery dostępu do grup | Współdzielone helpery decyzji dostępu do grup |
|
||||
| `plugin-sdk/direct-dm` | Helpery bezpośrednich DM | Współdzielone helpery autoryzacji/guardów bezpośrednich DM |
|
||||
| `plugin-sdk/extension-shared` | Współdzielone helpery rozszerzeń | Prymitywy helperów kanałów pasywnych/statusu i ambient proxy |
|
||||
| `plugin-sdk/webhook-targets` | Helpery celów webhook | Rejestr celów webhook i helpery instalacji rout |
|
||||
| `plugin-sdk/webhook-path` | Helpery ścieżek webhook | Helpery normalizacji ścieżek webhook |
|
||||
| `plugin-sdk/web-media` | Współdzielone helpery web media | Helpery ładowania mediów zdalnych/lokalnych |
|
||||
| `plugin-sdk/zod` | Reeksport zod | Reeksportowany `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/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 przechowywania hosta pamięci | Eksporty silnika przechowywania hosta pamięci |
|
||||
| `plugin-sdk/memory-core-host-multimodal` | Wielomodalne pomocniki hosta pamięci | Wielomodalne pomocniki 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 core hosta pamięci | Pomocniki runtime core 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 core hosta pamięci | Neutralny względem dostawcy alias pomocników runtime core hosta pamięci |
|
||||
| `plugin-sdk/memory-host-events` | Alias dziennika zdarzeń hosta pamięci | Neutralny względem dostawcy alias pomocników dziennika zdarzeń hosta pamięci |
|
||||
| `plugin-sdk/memory-host-files` | Alias plików/runtime hosta pamięci | Neutralny względem dostawcy alias 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 aktywnego wyszukiwania pamięci | Leniwa fasada runtime menedżera wyszukiwania aktywnej pamięci |
|
||||
| `plugin-sdk/memory-host-status` | Alias statusu hosta pamięci | Neutralny względem dostawcy alias pomocników statusu hosta pamięci |
|
||||
| `plugin-sdk/memory-lancedb` | Dołączone pomocniki memory-lancedb | Powierzchnia pomocników memory-lancedb |
|
||||
| `plugin-sdk/testing` | Narzędzia testowe | Pomocniki testowe i mocki |
|
||||
| `plugin-sdk/memory-core-host-engine-foundation` | Silnik hosta foundation dla pamięci | Eksporty silnika hosta foundation dla pamięci |
|
||||
| `plugin-sdk/memory-core-host-engine-embeddings` | Silnik embeddingów hosta dla pamięci | Eksporty silnika embeddingów hosta dla pamięci |
|
||||
| `plugin-sdk/memory-core-host-engine-qmd` | Silnik QMD hosta dla pamięci | Eksporty silnika QMD hosta dla pamięci |
|
||||
| `plugin-sdk/memory-core-host-engine-storage` | Silnik storage hosta dla pamięci | Eksporty silnika storage hosta dla pamięci |
|
||||
| `plugin-sdk/memory-core-host-multimodal` | Helpery multimodalnego hosta pamięci | Helpery multimodalnego 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-events` | Helpery dziennika zdarzeń hosta pamięci | Helpery dziennika zdarzeń hosta pamięci |
|
||||
| `plugin-sdk/memory-core-host-status` | Helpery statusu hosta pamięci | Helpery statusu 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-host-core` | Alias głównego runtime hosta pamięci | Neutralny wobec dostawcy alias helperów głównego runtime hosta pamięci |
|
||||
| `plugin-sdk/memory-host-events` | Alias dziennika zdarzeń hosta pamięci | Neutralny wobec dostawcy alias helperów dziennika zdarzeń hosta pamięci |
|
||||
| `plugin-sdk/memory-host-files` | Alias plików/runtime hosta pamięci | Neutralny wobec dostawcy alias helperów plików/runtime hosta pamięci |
|
||||
| `plugin-sdk/memory-host-markdown` | Helpery zarządzanego markdown | Współdzielone helpery zarządzanego markdown dla pluginów sąsiadujących z pamięcią |
|
||||
| `plugin-sdk/memory-host-search` | Fasada wyszukiwania aktywnej pamięci | Leniwa fasada runtime menedżera wyszukiwania aktywnej pamięci |
|
||||
| `plugin-sdk/memory-host-status` | Alias statusu hosta pamięci | Neutralny wobec dostawcy alias helperów statusu 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 |
|
||||
</Accordion>
|
||||
|
||||
Ta tabela celowo obejmuje wspólny podzbiór do migracji, a nie pełną powierzchnię SDK.
|
||||
Pełna lista ponad 200 punktów wejścia znajduje się w
|
||||
Ta tabela celowo zawiera 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 warstwy pomocnicze dołączonych pluginów, takie jak
|
||||
Ta lista nadal zawiera niektóre powierzchnie helperów 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ą one eksportowane dla
|
||||
utrzymania zgodności i konserwacji dołączonych pluginów, ale celowo
|
||||
pominięto je w tabeli najczęstszych migracji i nie są zalecanym celem dla
|
||||
`plugin-sdk/zalo-setup` i `plugin-sdk/matrix*`. Pozostają one eksportowane na potrzeby
|
||||
utrzymania i zgodności wbudowanych pluginów, ale celowo
|
||||
pominięto je w typowej tabeli migracyjnej i nie są zalecanym celem dla
|
||||
nowego kodu pluginów.
|
||||
|
||||
Ta sama zasada dotyczy innych rodzin dołączonych pomocników, takich jak:
|
||||
Ta sama zasada dotyczy innych rodzin helperów wbudowanych pluginów, takich jak:
|
||||
|
||||
- pomocniki wsparcia 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`
|
||||
- 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`
|
||||
- Matrix: `plugin-sdk/matrix*`
|
||||
- LINE: `plugin-sdk/line*`
|
||||
- IRC: `plugin-sdk/irc*`
|
||||
- dołączone powierzchnie pomocnicze/pluginów, takie jak `plugin-sdk/googlechat`,
|
||||
- powierzchnie wbudowanych helperó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`,
|
||||
@ -370,23 +376,23 @@ Ta sama zasada dotyczy innych rodzin dołączonych pomocników, takich jak:
|
||||
`plugin-sdk/thread-ownership` i `plugin-sdk/voice-call`
|
||||
|
||||
`plugin-sdk/github-copilot-token` obecnie udostępnia wąską
|
||||
powierzchnię pomocników tokenów `DEFAULT_COPILOT_API_BASE_URL`,
|
||||
`deriveCopilotApiBaseUrlFromToken` oraz `resolveCopilotApiToken`.
|
||||
powierzchnię helperów tokenów `DEFAULT_COPILOT_API_BASE_URL`,
|
||||
`deriveCopilotApiBaseUrlFromToken` i `resolveCopilotApiToken`.
|
||||
|
||||
Używaj najwęższego importu, który pasuje do zadania. Jeśli nie możesz znaleźć eksportu,
|
||||
sprawdź źródło w `src/plugin-sdk/` albo zapytaj na Discord.
|
||||
sprawdź źródło w `src/plugin-sdk/` lub zapytaj na Discord.
|
||||
|
||||
## Harmonogram usunięcia
|
||||
|
||||
| Kiedy | Co się dzieje |
|
||||
| ---------------------- | ----------------------------------------------------------------------- |
|
||||
| **Teraz** | Przestarzałe powierzchnie emitują ostrzeżenia w czasie działania |
|
||||
| **Następne główne wydanie** | Przestarzałe powierzchnie zostaną usunięte; pluginy nadal z nich korzystające przestaną działać |
|
||||
| Kiedy | Co się dzieje |
|
||||
| ---------------------- | ---------------------------------------------------------------------- |
|
||||
| **Teraz** | Przestarzałe powierzchnie emitują ostrzeżenia w runtime |
|
||||
| **Następna główna wersja** | Przestarzałe powierzchnie zostaną usunięte; pluginy nadal z nich korzystające przestaną działać |
|
||||
|
||||
Wszystkie główne pluginy zostały już zmigrowane. Zewnętrzne pluginy powinny przeprowadzić migrację
|
||||
przed następnym głównym wydaniem.
|
||||
Wszystkie podstawowe pluginy zostały już zmigrowane. Zewnętrzne pluginy powinny
|
||||
przeprowadzić migrację przed następną główną wersją.
|
||||
|
||||
## Tymczasowe wyciszenie ostrzeżeń
|
||||
## Tymczasowe wyciszanie ostrzeżeń
|
||||
|
||||
Ustaw te zmienne środowiskowe podczas pracy nad migracją:
|
||||
|
||||
@ -399,9 +405,9 @@ To tymczasowa furtka awaryjna, a nie trwałe rozwiązanie.
|
||||
|
||||
## Powiązane
|
||||
|
||||
- [Getting Started](/pl/plugins/building-plugins) — zbuduj swój pierwszy plugin
|
||||
- [SDK Overview](/pl/plugins/sdk-overview) — pełna dokumentacja importów podścieżek
|
||||
- [Channel Plugins](/pl/plugins/sdk-channel-plugins) — budowanie pluginów kanałów
|
||||
- [Provider Plugins](/pl/plugins/sdk-provider-plugins) — budowanie pluginów dostawców
|
||||
- [Plugin Internals](/pl/plugins/architecture) — szczegółowe omówienie architektury
|
||||
- [Plugin Manifest](/pl/plugins/manifest) — dokumentacja schematu manifestu
|
||||
- [Pierwsze kroki](/pl/plugins/building-plugins) — zbuduj swój pierwszy plugin
|
||||
- [Przegląd SDK](/pl/plugins/sdk-overview) — pełne odniesienie do 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
|
||||
- [Wnętrze pluginów](/pl/plugins/architecture) — szczegółowe omówienie architektury
|
||||
- [Manifest pluginu](/pl/plugins/manifest) — odniesienie do 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
|
||||
- Chcesz uzyskać dokumentację referencyjną 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-08T02:18:20Z"
|
||||
generated_at: "2026-04-08T09:45:54Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: c5a41bd82d165dfbb7fbd6e4528cf322e9133a51efe55fa8518a7a0a626d9d30
|
||||
source_hash: 6e7b420eb0f3faa8916357d52df949f6c9a46f1c843a1e6a0c0b8bb26db6cbff
|
||||
source_path: plugins/sdk-overview.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -18,16 +18,16 @@ 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)
|
||||
- Pierwszy plugin? Zacznij od [Wprowadzenia](/pl/plugins/building-plugins)
|
||||
- Plugin kanału? Zobacz [Pluginy kanałów](/pl/plugins/sdk-channel-plugins)
|
||||
- Plugin dostawcy? Zobacz [Pluginy dostawców](/pl/plugins/sdk-provider-plugins)
|
||||
</Tip>
|
||||
|
||||
## Konwencja importu
|
||||
## Konwencja importów
|
||||
|
||||
Zawsze importuj z konkretnej ścieżki podrzędnej:
|
||||
|
||||
@ -36,324 +36,329 @@ 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 uruchamianie pozostaje szybkie
|
||||
i zapobiega to problemom z zależnościami cyklicznymi. W przypadku pomocników wejścia/budowania specyficznych dla kanału
|
||||
preferuj `openclaw/plugin-sdk/channel-core`; zachowaj `openclaw/plugin-sdk/core` dla
|
||||
Każda ścieżka podrzędna to mały, samodzielny moduł. Dzięki temu uruchamianie
|
||||
jest szybkie i można uniknąć problemów z cyklicznymi zależnościami. W przypadku
|
||||
pomocników wejścia/budowania specyficznych dla kanałów preferuj
|
||||
`openclaw/plugin-sdk/channel-core`; zachowaj `openclaw/plugin-sdk/core` dla
|
||||
szerszej powierzchni parasolowej i współdzielonych helperów, takich jak
|
||||
`buildChannelConfigSchema`.
|
||||
|
||||
Nie dodawaj ani nie polegaj na pomocniczych ścieżkach wygodnych nazwanych od dostawców, takich jak
|
||||
Nie dodawaj ani nie polegaj na wygodnych warstwach nazwanych od dostawców, takich jak
|
||||
`openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`,
|
||||
`openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp` ani
|
||||
pomocniczych ścieżkach markowanych kanałami. Wbudowane pluginy powinny składać ogólne
|
||||
ścieżki podrzędne SDK we własnych barrelach `api.ts` lub `runtime-api.ts`, a rdzeń
|
||||
powinien używać albo tych lokalnych barrelów pluginu, albo dodać wąski ogólny kontrakt SDK, gdy potrzeba jest rzeczywiście międzykanałowa.
|
||||
warstwach helperów markowanych kanałem. Zestawione pluginy powinny składać
|
||||
ogólne ścieżki podrzędne 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 ogólny
|
||||
kontrakt SDK, gdy potrzeba jest rzeczywiście międzykanałowa.
|
||||
|
||||
Wygenerowana mapa eksportów nadal zawiera mały zestaw pomocniczych ścieżek dla wbudowanych pluginów,
|
||||
takich jak `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`,
|
||||
Wygenerowana mapa eksportów nadal zawiera mały zestaw warstw helperów
|
||||
zestawionych pluginów, 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 i zgodności wbudowanych pluginów; są
|
||||
celowo pominięte w poniższej wspólnej tabeli i nie są zalecaną
|
||||
ścieżką importu dla nowych zewnętrznych pluginów.
|
||||
ścieżki podrzędne istnieją wyłącznie na potrzeby utrzymania i zgodności zestawionych pluginów;
|
||||
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 referencyjna ścieżek podrzędnych
|
||||
|
||||
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`.
|
||||
|
||||
Zarezerwowane pomocnicze ścieżki dla wbudowanych pluginów nadal pojawiają się w tej wygenerowanej liście.
|
||||
Traktuj je jako powierzchnie szczegółów implementacyjnych/zgodności, chyba że strona dokumentacji
|
||||
jawnie promuje którąś z nich jako publiczną.
|
||||
Zarezerwowane ścieżki podrzędne helperów zestawionych pluginów nadal pojawiają się na tej wygenerowanej liście.
|
||||
Traktuj je jako szczegół implementacyjny/powierzchnie zgodności, chyba że dana strona dokumentacji
|
||||
wyraźnie promuje którąś z nich jako publiczną.
|
||||
|
||||
### Wejście pluginu
|
||||
|
||||
| Subpath | Kluczowe eksporty |
|
||||
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
|
||||
| Ścieżka podrzędna | 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` |
|
||||
| `plugin-sdk/config-schema` | `OpenClawSchema` |
|
||||
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Ścieżki podrzędne kanałów">
|
||||
| Subpath | Kluczowe eksporty |
|
||||
| Ścieżka podrzędna | 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`, plus `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
|
||||
| `plugin-sdk/setup` | Współdzielone helpery kreatora konfiguracji, prompty allowlist, konstruktory statusu konfiguracji |
|
||||
| `plugin-sdk/setup` | Współdzielone helpery kreatora konfiguracji, prompty allowlist i kreatory 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/wrót akcji dla wielu kont, helpery fallbacku konta domyślnego |
|
||||
| `plugin-sdk/account-core` | Helpery konfiguracji/wielu kont/bramki akcji oraz helpery awaryjnego wyboru konta domyślnego |
|
||||
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, helpery normalizacji identyfikatora konta |
|
||||
| `plugin-sdk/account-resolution` | Helpery wyszukiwania konta + fallbacku do domyślnego |
|
||||
| `plugin-sdk/account-helpers` | Wąskie helpery listy kont/akcji na koncie |
|
||||
| `plugin-sdk/account-resolution` | Helpery wyszukiwania kont i awaryjnego wyboru domyślnego |
|
||||
| `plugin-sdk/account-helpers` | Wąskie helpery list kont/akcji na kontach |
|
||||
| `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 niestandardowych poleceń Telegram z fallbackiem kontraktu wbudowanego |
|
||||
| `plugin-sdk/telegram-command-config` | Helpery normalizacji/walidacji niestandardowych poleceń Telegram z awaryjną obsługą kontraktu zestawionego |
|
||||
| `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` |
|
||||
| `plugin-sdk/channel-lifecycle` | `createAccountStatusSink` |
|
||||
| `plugin-sdk/inbound-envelope` | Współdzielone helpery routingu przychodzącego + budowania kopert |
|
||||
| `plugin-sdk/inbound-reply-dispatch` | Współdzielone helpery rejestrowania i dispatchu danych przychodzących |
|
||||
| `plugin-sdk/inbound-envelope` | Współdzielone helpery budowania tras przychodzących i kopert |
|
||||
| `plugin-sdk/inbound-reply-dispatch` | Współdzielone helpery zapisu i dyspozycji wiadomości przychodzących |
|
||||
| `plugin-sdk/messaging-targets` | Helpery parsowania/dopasowywania celów |
|
||||
| `plugin-sdk/outbound-media` | Współdzielone helpery ładowania mediów wychodzących |
|
||||
| `plugin-sdk/outbound-runtime` | Helpery tożsamości wychodzącej/delegacji wysyłki |
|
||||
| `plugin-sdk/outbound-runtime` | Helpery tożsamości wychodzącej/delegowania wysyłki |
|
||||
| `plugin-sdk/thread-bindings-runtime` | Helpery cyklu życia i adapterów powiązań wątków |
|
||||
| `plugin-sdk/agent-media-payload` | Starszy konstruktor ładunku mediów agenta |
|
||||
| `plugin-sdk/conversation-runtime` | Helpery powiązań rozmowy/wątku, pairingu i skonfigurowanych powiązań |
|
||||
| `plugin-sdk/runtime-config-snapshot` | Helper migawki konfiguracji runtime |
|
||||
| `plugin-sdk/runtime-group-policy` | Helpery rozstrzygania polityki grup w runtime |
|
||||
| `plugin-sdk/channel-status` | Współdzielone helpery migawki/podsumowania statusu kanału |
|
||||
| `plugin-sdk/agent-media-payload` | Starszy kreator payloadów mediów agenta |
|
||||
| `plugin-sdk/conversation-runtime` | Powiązania konwersacji/wątków, parowanie i helpery skonfigurowanych powiązań |
|
||||
| `plugin-sdk/runtime-config-snapshot` | Helper migawki konfiguracji środowiska wykonawczego |
|
||||
| `plugin-sdk/runtime-group-policy` | Helpery rozstrzygania zasad grupowych środowiska wykonawczego |
|
||||
| `plugin-sdk/channel-status` | Współdzielone helpery migawek/podsumowań statusu kanału |
|
||||
| `plugin-sdk/channel-config-primitives` | Wąskie prymitywy schematu konfiguracji kanału |
|
||||
| `plugin-sdk/channel-config-writes` | Helpery autoryzacji zapisów konfiguracji kanału |
|
||||
| `plugin-sdk/channel-plugin-common` | Współdzielone eksporty preambuły pluginów kanałów |
|
||||
| `plugin-sdk/allowlist-config-edit` | Helpery edycji/odczytu konfiguracji allowlist |
|
||||
| `plugin-sdk/group-access` | Współdzielone helpery decyzji dostępu grupowego |
|
||||
| `plugin-sdk/channel-config-writes` | Helpery autoryzacji zapisu konfiguracji kanału |
|
||||
| `plugin-sdk/channel-plugin-common` | Współdzielone eksporty preludium pluginów kanałów |
|
||||
| `plugin-sdk/allowlist-config-edit` | Helpery odczytu/edycji konfiguracji allowlist |
|
||||
| `plugin-sdk/group-access` | Współdzielone helpery decyzji o dostępie grupowym |
|
||||
| `plugin-sdk/direct-dm` | Współdzielone helpery uwierzytelniania/ochrony bezpośrednich DM |
|
||||
| `plugin-sdk/interactive-runtime` | Helpery normalizacji/redukcji ładunków odpowiedzi interaktywnych |
|
||||
| `plugin-sdk/channel-inbound` | Helpery debounce dla wejścia, dopasowywania wzmianek, polityki wzmianek i helpery kopert |
|
||||
| `plugin-sdk/interactive-runtime` | Helpery normalizacji/redukcji payloadów odpowiedzi interaktywnych |
|
||||
| `plugin-sdk/channel-inbound` | Pomocniki debounce dla ruchu przychodzącego, dopasowywania wzmianek, zasad wzmianek i helpery kopert |
|
||||
| `plugin-sdk/channel-send-result` | Typy wyników odpowiedzi |
|
||||
| `plugin-sdk/channel-actions` | `createMessageToolButtonsSchema`, `createMessageToolCardSchema` |
|
||||
| `plugin-sdk/channel-targets` | Helpery parsowania/dopasowywania celów |
|
||||
| `plugin-sdk/channel-contract` | Typy kontraktu kanału |
|
||||
| `plugin-sdk/channel-feedback` | Powiązanie feedbacku/reakcji |
|
||||
| `plugin-sdk/channel-secret-runtime` | Wąskie helpery kontraktu sekretów, takie jak `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, oraz typy celu sekretu |
|
||||
| `plugin-sdk/channel-feedback` | Łączenie informacji zwrotnych/reakcji |
|
||||
| `plugin-sdk/channel-secret-runtime` | Wąskie helpery kontraktu sekretów, takie jak `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment` oraz typy celów sekretów |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Ścieżki podrzędne dostawców">
|
||||
| Subpath | Kluczowe eksporty |
|
||||
| Ścieżka podrzędna | Kluczowe eksporty |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
|
||||
| `plugin-sdk/provider-setup` | Kuratorowane helpery konfiguracji lokalnych/samodzielnie hostowanych dostawców |
|
||||
| `plugin-sdk/self-hosted-provider-setup` | Skoncentrowane helpery konfiguracji samodzielnie hostowanego dostawcy zgodnego z OpenAI |
|
||||
| `plugin-sdk/cli-backend` | Domyślne ustawienia backendu CLI + stałe watchdoga |
|
||||
| `plugin-sdk/provider-auth-runtime` | Helpery runtime rozstrzygania klucza API dla pluginów dostawców |
|
||||
| `plugin-sdk/provider-auth-api-key` | Helpery wdrażania/zapisu profilu klucza API, takie jak `upsertApiKeyProfile` |
|
||||
| `plugin-sdk/provider-auth-result` | Standardowy konstruktor wyniku uwierzytelniania OAuth |
|
||||
| `plugin-sdk/provider-setup` | Kuratorowane helpery konfiguracji lokalnych/samohostowanych dostawców |
|
||||
| `plugin-sdk/self-hosted-provider-setup` | Skoncentrowane helpery konfiguracji samohostowanych dostawców zgodnych z OpenAI |
|
||||
| `plugin-sdk/cli-backend` | Domyślne ustawienia backendu CLI + stałe watchdog |
|
||||
| `plugin-sdk/provider-auth-runtime` | Helpery rozstrzygania kluczy API w czasie działania dla pluginów dostawców |
|
||||
| `plugin-sdk/provider-auth-api-key` | Helpery onboardingu/zapisu profilu klucza API, takie jak `upsertApiKeyProfile` |
|
||||
| `plugin-sdk/provider-auth-result` | Standardowy kreator wyniku uwierzytelniania OAuth |
|
||||
| `plugin-sdk/provider-auth-login` | Współdzielone interaktywne helpery logowania dla pluginów dostawców |
|
||||
| `plugin-sdk/provider-env-vars` | Helpery wyszukiwania zmiennych środowiskowych uwierzytelniania dostawców |
|
||||
| `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile`, `upsertApiKeyProfile`, `writeOAuthCredentials` |
|
||||
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, współdzielone konstruktory polityki replay, helpery endpointów dostawców oraz helpery normalizacji identyfikatorów modeli, takie jak `normalizeNativeXaiModelId` |
|
||||
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, współdzielone kreatory zasad powtórzeń, helpery punktów końcowych dostawców oraz helpery normalizacji identyfikatorów modeli, takie jak `normalizeNativeXaiModelId` |
|
||||
| `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
|
||||
| `plugin-sdk/provider-http` | Ogólne helpery HTTP/zdolności endpointów dostawców |
|
||||
| `plugin-sdk/provider-http` | Ogólne helpery HTTP/możliwości punktów końcowych dostawców |
|
||||
| `plugin-sdk/provider-web-fetch-contract` | Wąskie helpery kontraktu konfiguracji/wyboru web-fetch, takie jak `enablePluginInConfig` i `WebFetchProviderPlugin` |
|
||||
| `plugin-sdk/provider-web-fetch` | Helpery rejestracji/pamięci podręcznej dostawców web-fetch |
|
||||
| `plugin-sdk/provider-web-search-contract` | Wąskie helpery kontraktu konfiguracji/poświadczeń web-search, takie jak `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` oraz ustawiające/pobierające poświadczenia o ograniczonym zakresie |
|
||||
| `plugin-sdk/provider-web-search` | Helpery rejestracji/pamięci podręcznej/runtime dostawców web-search |
|
||||
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, czyszczenie schematu Gemini + diagnostyka oraz helpery zgodności xAI, takie jak `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
|
||||
| `plugin-sdk/provider-web-search-config-contract` | Wąskie helpery konfiguracji/danych uwierzytelniających web-search dla dostawców, którzy nie potrzebują mechanizmu włączania pluginu |
|
||||
| `plugin-sdk/provider-web-search-contract` | Wąskie helpery kontraktu konfiguracji/danych uwierzytelniających web-search, takie jak `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` oraz zakresowane settery/gettery danych uwierzytelniających |
|
||||
| `plugin-sdk/provider-web-search` | Helpery rejestracji/pamięci podręcznej/środowiska wykonawczego dostawcó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-usage` | `fetchClaudeUsage` i podobne |
|
||||
| `plugin-sdk/provider-stream` | `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-onboard` | Helpery łatek konfiguracji onboardingu |
|
||||
| `plugin-sdk/global-singleton` | Pomocniki singletonów/map/pamięci podręcznej lokalnych dla procesu |
|
||||
| `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, typy opakowań strumieni oraz współdzielone helpery opakowań Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
|
||||
| `plugin-sdk/provider-onboard` | Helpery łatania konfiguracji onboardingu |
|
||||
| `plugin-sdk/global-singleton` | Helpery singletonów/map/pamięci podręcznej lokalnych dla procesu |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Ścieżki podrzędne uwierzytelniania i bezpieczeństwa">
|
||||
| Subpath | Kluczowe eksporty |
|
||||
| Ścieżka podrzędna | Kluczowe eksporty |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, helpery rejestru poleceń, helpery autoryzacji nadawcy |
|
||||
| `plugin-sdk/approval-auth-runtime` | Helpery rozstrzygania zatwierdzającego i uwierzytelniania akcji w tym samym czacie |
|
||||
| `plugin-sdk/approval-client-runtime` | Natywne helpery profilu/filtru zatwierdzeń exec |
|
||||
| `plugin-sdk/approval-delivery-runtime` | Natywne adaptery zdolności/dostarczania zatwierdzeń |
|
||||
| `plugin-sdk/approval-gateway-runtime` | Współdzielony helper rozstrzygania gateway zatwierdzeń |
|
||||
| `plugin-sdk/approval-handler-adapter-runtime` | Lekkie helpery ładowania natywnego adaptera zatwierdzeń dla gorących punktów wejścia kanałów |
|
||||
| `plugin-sdk/approval-handler-runtime` | Szersze helpery runtime obsługi zatwierdzeń; preferuj węższe ścieżki adapter/gateway, gdy są wystarczające |
|
||||
| `plugin-sdk/approval-native-runtime` | Natywne helpery celu zatwierdzeń + powiązań kont |
|
||||
| `plugin-sdk/approval-reply-runtime` | Helpery ładunków odpowiedzi dla zatwierdzeń exec/pluginów |
|
||||
| `plugin-sdk/command-auth-native` | Natywne uwierzytelnianie poleceń + natywne helpery celu sesji |
|
||||
| `plugin-sdk/approval-auth-runtime` | Helpery rozstrzygania zatwierdzających i uwierzytelniania akcji w tym samym czacie |
|
||||
| `plugin-sdk/approval-client-runtime` | Helpery profili/filtrów zatwierdzania dla natywnego wykonania |
|
||||
| `plugin-sdk/approval-delivery-runtime` | Adaptery możliwości/dostarczania natywnego zatwierdzania |
|
||||
| `plugin-sdk/approval-gateway-runtime` | Współdzielony helper rozstrzygania bramy zatwierdzania |
|
||||
| `plugin-sdk/approval-handler-adapter-runtime` | Lekkie helpery ładowania adapterów natywnego zatwierdzania dla gorących punktów wejścia kanałów |
|
||||
| `plugin-sdk/approval-handler-runtime` | Szersze helpery środowiska wykonawczego obsługi zatwierdzeń; gdy to wystarcza, preferuj węższe warstwy adapter/gateway |
|
||||
| `plugin-sdk/approval-native-runtime` | Helpery celów natywnego zatwierdzania + powiązań kont |
|
||||
| `plugin-sdk/approval-reply-runtime` | Helpery payloadów odpowiedzi zatwierdzeń exec/pluginów |
|
||||
| `plugin-sdk/command-auth-native` | Natywne helpery uwierzytelniania poleceń + helpery celów sesji natywnych |
|
||||
| `plugin-sdk/command-detection` | Współdzielone helpery wykrywania poleceń |
|
||||
| `plugin-sdk/command-surface` | Helpery normalizacji treści poleceń i powierzchni poleceń |
|
||||
| `plugin-sdk/command-surface` | Normalizacja treści poleceń i helpery powierzchni poleceń |
|
||||
| `plugin-sdk/allow-from` | `formatAllowFromLowercase` |
|
||||
| `plugin-sdk/channel-secret-runtime` | Wąskie helpery zbierania kontraktów sekretów dla powierzchni sekretów kanałów/pluginów |
|
||||
| `plugin-sdk/secret-ref-runtime` | Wąskie helpery `coerceSecretRef` i typowania SecretRef dla parsowania kontraktów sekretów/konfiguracji |
|
||||
| `plugin-sdk/security-runtime` | Współdzielone helpery zaufania, bramkowania DM, treści zewnętrznej i zbierania sekretów |
|
||||
| `plugin-sdk/ssrf-policy` | Helpery allowlist hostów i polityki SSRF dla sieci prywatnych |
|
||||
| `plugin-sdk/ssrf-runtime` | Helpery pinned-dispatcher, fetch chronionego SSRF i polityki SSRF |
|
||||
| `plugin-sdk/secret-input` | Helpery parsowania wejścia sekretów |
|
||||
| `plugin-sdk/webhook-ingress` | Helpery requestów/celów webhooków |
|
||||
| `plugin-sdk/webhook-request-guards` | Helpery rozmiaru body/timeoutu requestów |
|
||||
| `plugin-sdk/channel-secret-runtime` | Wąskie helpery zbierania kontraktu sekretów dla powierzchni sekretów kanału/pluginu |
|
||||
| `plugin-sdk/secret-ref-runtime` | Wąskie helpery `coerceSecretRef` i typowania SecretRef do parsowania kontraktów sekretów/konfiguracji |
|
||||
| `plugin-sdk/security-runtime` | Współdzielone helpery zaufania, ograniczania DM, treści zewnętrznych i zbierania sekretów |
|
||||
| `plugin-sdk/ssrf-policy` | Helpery allowlist hostów i zasad SSRF dla sieci prywatnych |
|
||||
| `plugin-sdk/ssrf-runtime` | Helpery pinned-dispatcher, fetch chronionego przez SSRF i zasad SSRF |
|
||||
| `plugin-sdk/secret-input` | Helpery parsowania wejść sekretów |
|
||||
| `plugin-sdk/webhook-ingress` | Helpery żądań/celów webhooków |
|
||||
| `plugin-sdk/webhook-request-guards` | Helpery rozmiaru treści/timeoutów żądań |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Ścieżki podrzędne runtime i storage">
|
||||
| Subpath | Kluczowe eksporty |
|
||||
<Accordion title="Ścieżki podrzędne środowiska wykonawczego i przechowywania">
|
||||
| Ścieżka podrzędna | Kluczowe eksporty |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/runtime` | Szerokie helpery runtime/logowania/kopii zapasowych/instalacji pluginów |
|
||||
| `plugin-sdk/runtime-env` | Wąskie helpery środowiska runtime, loggera, timeoutu, retry i backoff |
|
||||
| `plugin-sdk/channel-runtime-context` | Ogólne helpery rejestracji i wyszukiwania kontekstu runtime kanału |
|
||||
| `plugin-sdk/runtime` | Szerokie helpery środowiska wykonawczego/logowania/kopii zapasowych/instalacji pluginów |
|
||||
| `plugin-sdk/runtime-env` | Wąskie helpery środowiska wykonawczego env, loggera, timeoutów, ponowień i backoff |
|
||||
| `plugin-sdk/channel-runtime-context` | Ogólne helpery rejestracji i wyszukiwania kontekstu środowiska wykonawczego kanału |
|
||||
| `plugin-sdk/runtime-store` | `createPluginRuntimeStore` |
|
||||
| `plugin-sdk/plugin-runtime` | Współdzielone helpery poleceń/hooków/http/interaktywności pluginów |
|
||||
| `plugin-sdk/hook-runtime` | Współdzielone helpery pipeline webhooków/wewnętrznych hooków |
|
||||
| `plugin-sdk/lazy-runtime` | Helpery leniwego importu/powiązań runtime, takie jak `createLazyRuntimeModule`, `createLazyRuntimeMethod` i `createLazyRuntimeSurface` |
|
||||
| `plugin-sdk/process-runtime` | Helpery exec procesów |
|
||||
| `plugin-sdk/plugin-runtime` | Współdzielone helpery poleceń/hooków/HTTP/interaktywne pluginu |
|
||||
| `plugin-sdk/hook-runtime` | Współdzielone helpery potoku webhooków/wewnętrznych hooków |
|
||||
| `plugin-sdk/lazy-runtime` | Helpery opóźnionego importu/powiązań środowiska wykonawczego, 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/gateway-runtime` | Helpery klienta gateway i łatania statusu kanału |
|
||||
| `plugin-sdk/config-runtime` | Helpery ładowania/zapisu konfiguracji |
|
||||
| `plugin-sdk/telegram-command-config` | Helpery normalizacji nazw/opisów poleceń Telegram i kontroli duplikatów/konfliktów, nawet gdy powierzchnia kontraktu wbudowanego Telegrama jest niedostępna |
|
||||
| `plugin-sdk/approval-runtime` | Helpery zatwierdzeń exec/pluginów, konstruktory zdolności zatwierdzeń, helpery auth/profili, natywne helpery routingu/runtime |
|
||||
| `plugin-sdk/reply-runtime` | Współdzielone helpery runtime wejścia/odpowiedzi, chunkingu, dispatchu, heartbeat i planisty odpowiedzi |
|
||||
| `plugin-sdk/reply-dispatch-runtime` | Wąskie helpery dispatchu/finalizacji odpowiedzi |
|
||||
| `plugin-sdk/telegram-command-config` | Normalizacja nazw/opisów poleceń Telegram oraz sprawdzanie duplikatów/konfliktów, nawet gdy powierzchnia kontraktu zestawionego Telegram jest niedostępna |
|
||||
| `plugin-sdk/approval-runtime` | Helpery zatwierdzeń exec/pluginów, kreatory możliwości zatwierdzania, helpery auth/profili, helpery natywnego routingu/środowiska wykonawczego |
|
||||
| `plugin-sdk/reply-runtime` | Współdzielone helpery środowiska wykonawczego ruchu przychodzącego/odpowiedzi, dzielenia, dyspozycji, heartbeat, planisty odpowiedzi |
|
||||
| `plugin-sdk/reply-dispatch-runtime` | Wąskie helpery dyspozycji/finalizacji odpowiedzi |
|
||||
| `plugin-sdk/reply-history` | Współdzielone helpery historii odpowiedzi dla krótkiego okna, 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/reply-chunking` | Wąskie helpery dzielenia 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 routingu/klucza sesji/powiązania kont, takie jak `resolveAgentRoute`, `buildAgentSessionKey` i `resolveDefaultAgentBoundAccountId` |
|
||||
| `plugin-sdk/status-helpers` | Współdzielone helpery podsumowań statusu kanałów/kont, domyślne stany runtime i helpery metadanych problemów |
|
||||
| `plugin-sdk/target-resolver-runtime` | Współdzielone helpery resolvera celów |
|
||||
| `plugin-sdk/routing` | Helpery tras/kluczy sesji/powiązań kont, takie jak `resolveAgentRoute`, `buildAgentSessionKey` i `resolveDefaultAgentBoundAccountId` |
|
||||
| `plugin-sdk/status-helpers` | Współdzielone helpery podsumowań statusu kanałów/kont, domyślne stany środowiska wykonawczego i helpery metadanych problemów |
|
||||
| `plugin-sdk/target-resolver-runtime` | Współdzielone helpery rozstrzygania celów |
|
||||
| `plugin-sdk/string-normalization-runtime` | Helpery normalizacji slugów/ciągów |
|
||||
| `plugin-sdk/request-url` | Wyodrębnia ciągi URL z wejść podobnych do fetch/request |
|
||||
| `plugin-sdk/request-url` | Wyodrębnianie URL-i tekstowych z danych wejściowych typu fetch/request |
|
||||
| `plugin-sdk/run-command` | Uruchamianie poleceń z limitem czasu i znormalizowanymi wynikami stdout/stderr |
|
||||
| `plugin-sdk/param-readers` | Typowe czytniki parametrów narzędzi/CLI |
|
||||
| `plugin-sdk/tool-send` | Wyodrębnia kanoniczne pola celu wysyłki z argumentów narzędzi |
|
||||
| `plugin-sdk/temp-path` | Współdzielone helpery ścieżek tymczasowych pobrań |
|
||||
| `plugin-sdk/logging-core` | Logger subsystemu i helpery redakcji |
|
||||
| `plugin-sdk/tool-payload` | Wyodrębnianie znormalizowanych payloadów z obiektów wyników narzędzi |
|
||||
| `plugin-sdk/tool-send` | Wyodrębnianie kanonicznych pól celu wysyłki z argumentów narzędzi |
|
||||
| `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` | Rekurencyjne helpery blokowania plików |
|
||||
| `plugin-sdk/file-lock` | Helpery re-entrant file-lock |
|
||||
| `plugin-sdk/persistent-dedupe` | Helpery pamięci podręcznej deduplikacji na dysku |
|
||||
| `plugin-sdk/acp-runtime` | Helpery runtime/sesji ACP i dispatchu odpowiedzi |
|
||||
| `plugin-sdk/agent-config-primitives` | Wąskie prymitywy schematu konfiguracji runtime agenta |
|
||||
| `plugin-sdk/boolean-param` | Elastyczny czytnik parametrów logicznych |
|
||||
| `plugin-sdk/acp-runtime` | Helpery środowiska wykonawczego/sesji ACP i dyspozycji odpowiedzi |
|
||||
| `plugin-sdk/agent-config-primitives` | Wąskie prymitywy schematu konfiguracji środowiska wykonawczego agenta |
|
||||
| `plugin-sdk/boolean-param` | Czytnik parametrów luźnych wartości logicznych |
|
||||
| `plugin-sdk/dangerous-name-runtime` | Helpery rozstrzygania dopasowań niebezpiecznych nazw |
|
||||
| `plugin-sdk/device-bootstrap` | Helpery bootstrapu urządzenia i tokenów pairingu |
|
||||
| `plugin-sdk/device-bootstrap` | Helpery bootstrapu urządzenia i tokenów parowania |
|
||||
| `plugin-sdk/extension-shared` | Współdzielone prymitywy helperów kanałów pasywnych, statusu i ambient proxy |
|
||||
| `plugin-sdk/models-provider-runtime` | Helpery odpowiedzi polecenia `/models` / dostawców |
|
||||
| `plugin-sdk/models-provider-runtime` | Helpery odpowiedzi polecenia `/models` i dostawców |
|
||||
| `plugin-sdk/skill-commands-runtime` | Helpery listowania poleceń Skills |
|
||||
| `plugin-sdk/native-command-registry` | Natywne helpery rejestru/budowania/serializacji poleceń |
|
||||
| `plugin-sdk/provider-zai-endpoint` | Helpery wykrywania endpointów Z.AI |
|
||||
| `plugin-sdk/native-command-registry` | Helpery rejestru/budowania/serializacji natywnych poleceń |
|
||||
| `plugin-sdk/provider-zai-endpoint` | Helpery wykrywania punktów końcowych Z.AI |
|
||||
| `plugin-sdk/infra-runtime` | Helpery zdarzeń systemowych/heartbeat |
|
||||
| `plugin-sdk/collection-runtime` | Małe helpery ograniczonej pamięci podręcznej |
|
||||
| `plugin-sdk/diagnostic-runtime` | Helpery flag i zdarzeń diagnostycznych |
|
||||
| `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 hosta SCP |
|
||||
| `plugin-sdk/retry-runtime` | Helpery konfiguracji retry i wykonawcy retry |
|
||||
| `plugin-sdk/agent-runtime` | Helpery katalogu/tożsamości/obszaru roboczego agenta |
|
||||
| `plugin-sdk/directory-runtime` | Zapytania o katalog oparte na konfiguracji/deduplikacja |
|
||||
| `plugin-sdk/host-runtime` | Helpery normalizacji nazw hostów i hostów SCP |
|
||||
| `plugin-sdk/retry-runtime` | Helpery konfiguracji ponowień i uruchamiania ponowień |
|
||||
| `plugin-sdk/agent-runtime` | Helpery katalogów/tożsamości/obszarów roboczych agenta |
|
||||
| `plugin-sdk/directory-runtime` | Zapytania/deduplikacja katalogów na podstawie konfiguracji |
|
||||
| `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Ścieżki podrzędne capabilities i testów">
|
||||
| Subpath | Kluczowe eksporty |
|
||||
<Accordion title="Ścieżki podrzędne możliwości i testowania">
|
||||
| Ścieżka podrzędna | Kluczowe eksporty |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/media-runtime` | Współdzielone helpery pobierania/przekształcania/przechowywania mediów oraz konstruktory ładunków mediów |
|
||||
| `plugin-sdk/media-runtime` | Współdzielone helpery pobierania/przekształcania/przechowywania mediów oraz kreatory payloadów mediów |
|
||||
| `plugin-sdk/media-generation-runtime` | Współdzielone helpery failover 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 helperów obrazu/audio dla dostawców |
|
||||
| `plugin-sdk/text-runtime` | Współdzielone helpery tekstu/Markdown/logowania, takie jak usuwanie tekstu widocznego dla asystenta, helpery renderowania/chunkingu/tabel Markdown, helpery redakcji, helpery tagów dyrektyw i narzędzia bezpiecznego tekstu |
|
||||
| `plugin-sdk/text-chunking` | Helper chunkingu tekstu wychodzącego |
|
||||
| `plugin-sdk/speech` | Typy dostawców mowy oraz eksporty helperów dyrektyw, rejestru i walidacji dla dostawców |
|
||||
| `plugin-sdk/media-understanding` | Typy dostawców rozumienia mediów oraz eksporty helperów obrazu/audio skierowane do dostawców |
|
||||
| `plugin-sdk/text-runtime` | Współdzielone helpery tekstu/Markdown/logowania, takie jak usuwanie tekstu widocznego dla asystenta, renderowanie/dzielenie/tabele Markdown, helpery redakcji, helpery tagów dyrektyw i narzędzia bezpiecznego tekstu |
|
||||
| `plugin-sdk/text-chunking` | Helper dzielenia tekstu wychodzącego |
|
||||
| `plugin-sdk/speech` | Typy dostawców mowy oraz helpery dyrektyw, rejestru i walidacji skierowane do dostawców |
|
||||
| `plugin-sdk/speech-core` | Współdzielone typy dostawców mowy, rejestr, dyrektywy i helpery normalizacji |
|
||||
| `plugin-sdk/realtime-transcription` | Typy dostawców transkrypcji realtime i helpery rejestru |
|
||||
| `plugin-sdk/realtime-voice` | Typy dostawców głosu realtime i helpery rejestru |
|
||||
| `plugin-sdk/realtime-transcription` | Typy dostawców transkrypcji w czasie rzeczywistym i helpery rejestru |
|
||||
| `plugin-sdk/realtime-voice` | Typy dostawców głosu w czasie rzeczywistym i helpery rejestru |
|
||||
| `plugin-sdk/image-generation` | Typy dostawców generowania obrazów |
|
||||
| `plugin-sdk/image-generation-core` | Współdzielone typy generowania obrazów, failover, uwierzytelnianie i helpery rejestru |
|
||||
| `plugin-sdk/music-generation` | Typy dostawców/requestów/wyników generowania muzyki |
|
||||
| `plugin-sdk/image-generation-core` | Współdzielone typy generowania obrazów, helpery 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, helpery failover, wyszukiwanie dostawców i parsowanie model-ref |
|
||||
| `plugin-sdk/video-generation` | Typy dostawców/requestów/wyników generowania wideo |
|
||||
| `plugin-sdk/video-generation` | Typy dostawców/żądań/wyników generowania wideo |
|
||||
| `plugin-sdk/video-generation-core` | Współdzielone typy generowania wideo, helpery failover, wyszukiwanie dostawców i parsowanie model-ref |
|
||||
| `plugin-sdk/webhook-targets` | Rejestr celó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 zdalnych/lokalnych mediów |
|
||||
| `plugin-sdk/zod` | Reeksportowane `zod` dla użytkowników plugin SDK |
|
||||
| `plugin-sdk/zod` | Reeksport `zod` dla odbiorców Plugin SDK |
|
||||
| `plugin-sdk/testing` | `installCommonResolveTargetErrorCases`, `shouldAckReaction` |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Ścieżki podrzędne pamięci">
|
||||
| Subpath | Kluczowe eksporty |
|
||||
| Ścieżka podrzędna | Kluczowe eksporty |
|
||||
| --- | --- |
|
||||
| `plugin-sdk/memory-core` | Powierzchnia helperów wbudowanego memory-core dla managera/konfiguracji/plików/CLI |
|
||||
| `plugin-sdk/memory-core-engine-runtime` | Fasada runtime indeksu/wyszukiwania pamięci |
|
||||
| `plugin-sdk/memory-core-host-engine-foundation` | Eksporty silnika bazowego hosta pamięci |
|
||||
| `plugin-sdk/memory-core` | Powierzchnia helperów zestawionego memory-core dla helperów managera/konfiguracji/plików/CLI |
|
||||
| `plugin-sdk/memory-core-engine-runtime` | Fasada środowiska wykonawczego indeksowania/wyszukiwania pamięci |
|
||||
| `plugin-sdk/memory-core-host-engine-foundation` | Eksporty silnika fundamentów 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 storage hosta pamięci |
|
||||
| `plugin-sdk/memory-core-host-multimodal` | Helpery multimodalnego hosta pamięci |
|
||||
| `plugin-sdk/memory-core-host-engine-storage` | Eksporty silnika przechowywania hosta pamięci |
|
||||
| `plugin-sdk/memory-core-host-multimodal` | Helpery multimodalne 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-events` | Helpery dziennika zdarzeń 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-host-core` | Neutralny względem dostawcy alias helperów głównego runtime hosta pamięci |
|
||||
| `plugin-sdk/memory-host-events` | Neutralny względem dostawcy alias helperów dziennika zdarzeń hosta pamięci |
|
||||
| `plugin-sdk/memory-host-files` | Neutralny względem dostawcy alias helperów plików/runtime hosta pamięci |
|
||||
| `plugin-sdk/memory-host-markdown` | Współdzielone helpery zarządzanego Markdown dla pluginów sąsiadujących 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 helperów statusu hosta pamięci |
|
||||
| `plugin-sdk/memory-lancedb` | Powierzchnia helperów wbudowanego memory-lancedb |
|
||||
| `plugin-sdk/memory-core-host-runtime-cli` | Helpery środowiska wykonawczego CLI hosta pamięci |
|
||||
| `plugin-sdk/memory-core-host-runtime-core` | Helpery głównego środowiska wykonawczego hosta pamięci |
|
||||
| `plugin-sdk/memory-core-host-runtime-files` | Helpery plików/środowiska wykonawczego hosta pamięci |
|
||||
| `plugin-sdk/memory-host-core` | Neutralny wobec dostawcy alias dla helperów głównego środowiska wykonawczego hosta pamięci |
|
||||
| `plugin-sdk/memory-host-events` | Neutralny wobec dostawcy alias dla helperów dziennika zdarzeń hosta pamięci |
|
||||
| `plugin-sdk/memory-host-files` | Neutralny wobec dostawcy alias dla helperów plików/środowiska wykonawczego hosta pamięci |
|
||||
| `plugin-sdk/memory-host-markdown` | Współdzielone helpery managed-markdown dla pluginów powiązanych z pamięcią |
|
||||
| `plugin-sdk/memory-host-search` | Aktywna fasada środowiska wykonawczego pamięci do dostępu do search-manager |
|
||||
| `plugin-sdk/memory-host-status` | Neutralny wobec dostawcy alias dla helperów statusu hosta pamięci |
|
||||
| `plugin-sdk/memory-lancedb` | Powierzchnia helperów zestawionego memory-lancedb |
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Zarezerwowane ścieżki podrzędne wbudowanych helperów">
|
||||
| Family | Current subpaths | Intended use |
|
||||
<Accordion title="Zarezerwowane ścieżki podrzędne zestawionych helperów">
|
||||
| Rodzina | Bieżące ścieżki podrzędne | Zamierzone użycie |
|
||||
| --- | --- | --- |
|
||||
| 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 wbudowanego pluginu przeglądarki (`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 wbudowanego Matrix |
|
||||
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Powierzchnia helperów/runtime wbudowanego LINE |
|
||||
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Powierzchnia helperów wbudowanego IRC |
|
||||
| Channel-specific helpers | `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` | Wbudowane ścieżki zgodności/helperów kanałów |
|
||||
| Auth/plugin-specific helpers | `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` | Wbudowane ścieżki helperów funkcji/pluginów; `plugin-sdk/github-copilot-token` obecnie eksportuje `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` | Helpery wsparcia zestawionego pluginu browser (`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/środowiska wykonawczego zestawionego Matrix |
|
||||
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Powierzchnia helperów/środowiska wykonawczego zestawionego LINE |
|
||||
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Powierzchnia helperów zestawionego IRC |
|
||||
| Helpery 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` | Warstwy zgodności/helperów zestawionych kanałów |
|
||||
| Helpery 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` | Warstwy helperów zestawionych 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
|
||||
Callback `register(api)` otrzymuje obiekt `OpenClawPluginApi` z tymi
|
||||
metodami:
|
||||
|
||||
### Rejestracja capabilities
|
||||
### Rejestracja możliwości
|
||||
|
||||
| Method | What it registers |
|
||||
| ------------------------------------------------ | -------------------------------- |
|
||||
| `api.registerProvider(...)` | Wnioskowanie tekstowe (LLM) |
|
||||
| Metoda | Co rejestruje |
|
||||
| ------------------------------------------------ | ------------------------------ |
|
||||
| `api.registerProvider(...)` | Wnioskowanie tekstowe (LLM) |
|
||||
| `api.registerCliBackend(...)` | Lokalny backend wnioskowania CLI |
|
||||
| `api.registerChannel(...)` | Kanał wiadomości |
|
||||
| `api.registerSpeechProvider(...)` | Synteza tekst-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(...)` | Dostawca web fetch / scrape |
|
||||
| `api.registerWebSearchProvider(...)` | Wyszukiwanie w sieci |
|
||||
| `api.registerChannel(...)` | Kanał wiadomości |
|
||||
| `api.registerSpeechProvider(...)` | Synteza text-to-speech / STT |
|
||||
| `api.registerRealtimeTranscriptionProvider(...)` | Strumieniowa transkrypcja w czasie rzeczywistym |
|
||||
| `api.registerRealtimeVoiceProvider(...)` | Dwukierunkowe sesje głosowe w czasie rzeczywistym |
|
||||
| `api.registerMediaUnderstandingProvider(...)` | Analiza obrazu/audio/wideo |
|
||||
| `api.registerImageGenerationProvider(...)` | Generowanie obrazów |
|
||||
| `api.registerMusicGenerationProvider(...)` | Generowanie muzyki |
|
||||
| `api.registerVideoGenerationProvider(...)` | Generowanie wideo |
|
||||
| `api.registerWebFetchProvider(...)` | Dostawca web fetch / scrapingu |
|
||||
| `api.registerWebSearchProvider(...)` | Web search |
|
||||
|
||||
### Narzędzia i polecenia
|
||||
|
||||
| Method | What it registers |
|
||||
| Metoda | Co rejestruje |
|
||||
| ------------------------------- | --------------------------------------------- |
|
||||
| `api.registerTool(tool, opts?)` | Narzędzie agenta (wymagane lub `{ optional: true }`) |
|
||||
| `api.registerCommand(def)` | Polecenie niestandardowe (pomija LLM) |
|
||||
| `api.registerCommand(def)` | Niestandardowe polecenie (omija LLM) |
|
||||
|
||||
### Infrastruktura
|
||||
|
||||
| Method | What it registers |
|
||||
| ---------------------------------------------- | --------------------------------------- |
|
||||
| `api.registerHook(events, handler, opts?)` | Hook zdarzeń |
|
||||
| `api.registerHttpRoute(params)` | Endpoint HTTP gateway |
|
||||
| `api.registerGatewayMethod(name, handler)` | Metoda RPC gateway |
|
||||
| `api.registerCli(registrar, opts?)` | Podpolecenie CLI |
|
||||
| `api.registerService(service)` | Usługa działająca w tle |
|
||||
| `api.registerInteractiveHandler(registration)` | Handler interaktywny |
|
||||
| `api.registerMemoryPromptSupplement(builder)` | Addytywna sekcja promptu sąsiadująca z pamięcią |
|
||||
| `api.registerMemoryCorpusSupplement(adapter)` | Addytywny korpus wyszukiwania/odczytu pamięci |
|
||||
| Metoda | Co rejestruje |
|
||||
| ---------------------------------------------- | -------------------------------- |
|
||||
| `api.registerHook(events, handler, opts?)` | Hook zdarzeń |
|
||||
| `api.registerHttpRoute(params)` | Punkt końcowy HTTP gateway |
|
||||
| `api.registerGatewayMethod(name, handler)` | Metoda RPC gateway |
|
||||
| `api.registerCli(registrar, opts?)` | Podpolecenie CLI |
|
||||
| `api.registerService(service)` | Usługa działająca w tle |
|
||||
| `api.registerInteractiveHandler(registration)` | Handler interaktywny |
|
||||
| `api.registerMemoryPromptSupplement(builder)` | Dodatkowa sekcja promptu związana z pamięcią |
|
||||
| `api.registerMemoryCorpusSupplement(adapter)` | Dodatkowy korpus wyszukiwania/odczytu pamięci |
|
||||
|
||||
Zarezerwowane 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 pluginów preferuj prefiksy specyficzne dla pluginu.
|
||||
węższy zakres metod 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:
|
||||
`api.registerCli(registrar, opts?)` przyjmuje dwa rodzaje metadanych najwyższego poziomu:
|
||||
|
||||
- `commands`: jawne korzenie poleceń należące do rejestratora
|
||||
- `descriptors`: deskryptory poleceń na etapie parsowania używane do pomocy głównego CLI,
|
||||
- `descriptors`: deskryptory poleceń w czasie parsowania używane dla głównej pomocy CLI,
|
||||
routingu i leniwej rejestracji CLI pluginów
|
||||
|
||||
Jeśli chcesz, aby polecenie pluginu pozostało ładowane leniwie w zwykłej ścieżce głównego CLI,
|
||||
podaj `descriptors`, które obejmują każdy korzeń poleceń najwyższego poziomu udostępniany przez ten
|
||||
Jeśli chcesz, aby polecenie pluginu pozostało ładowane leniwie w normalnej ścieżce głównego CLI,
|
||||
podaj `descriptors`, które obejmują każdy korzeń polecenia najwyższego poziomu udostępniany przez ten
|
||||
rejestrator.
|
||||
|
||||
```typescript
|
||||
@ -375,8 +380,8 @@ api.registerCli(
|
||||
```
|
||||
|
||||
Używaj samego `commands` tylko wtedy, gdy nie potrzebujesz leniwej rejestracji głównego CLI.
|
||||
Ta ścieżka zgodności eager nadal jest obsługiwana, ale nie instaluje
|
||||
placeholderów opartych na deskryptorach dla leniwego ładowania na etapie parsowania.
|
||||
Ta ścieżka zgodności z eager loading pozostaje wspierana, ale nie instaluje
|
||||
placeholderów opartych na descriptorach dla leniwego ładowania w czasie parsowania.
|
||||
|
||||
### Rejestracja backendu CLI
|
||||
|
||||
@ -386,33 +391,33 @@ backendu CLI AI, takiego jak `codex-cli`.
|
||||
- `id` backendu staje się prefiksem dostawcy w odwołaniach do modeli, takich jak `codex-cli/gpt-5`.
|
||||
- `config` backendu używa tego samego kształtu co `agents.defaults.cliBackends.<id>`.
|
||||
- Konfiguracja użytkownika nadal ma pierwszeństwo. OpenClaw scala `agents.defaults.cliBackends.<id>` z
|
||||
wartością domyślną pluginu przed uruchomieniem CLI.
|
||||
- Użyj `normalizeConfig`, gdy backend potrzebuje przeróbek zgodności po scaleniu
|
||||
domyślną konfiguracją pluginu przed uruchomieniem CLI.
|
||||
- Użyj `normalizeConfig`, gdy backend potrzebuje przekształceń zgodności po scaleniu
|
||||
(na przykład normalizacji starych kształtów flag).
|
||||
|
||||
### Wyłączne sloty
|
||||
### Sloty wyłączne
|
||||
|
||||
| Method | What it registers |
|
||||
| ------------------------------------------ | ------------------------------------- |
|
||||
| `api.registerContextEngine(id, factory)` | Silnik kontekstu (aktywny naraz jest jeden) |
|
||||
| `api.registerMemoryCapability(capability)` | Ujednolicona capability pamięci |
|
||||
| `api.registerMemoryPromptSection(builder)` | Konstruktor sekcji promptu pamięci |
|
||||
| `api.registerMemoryFlushPlan(resolver)` | Resolver planu opróżniania pamięci |
|
||||
| `api.registerMemoryRuntime(runtime)` | Adapter runtime pamięci |
|
||||
| Metoda | Co rejestruje |
|
||||
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `api.registerContextEngine(id, factory)` | Silnik kontekstu (aktywny tylko jeden naraz). Callback `assemble()` otrzymuje `availableTools` i `citationsMode`, aby silnik mógł dostosować dodatki do promptu. |
|
||||
| `api.registerMemoryCapability(capability)` | Ujednolicona możliwość pamięci |
|
||||
| `api.registerMemoryPromptSection(builder)` | Kreator sekcji promptu pamięci |
|
||||
| `api.registerMemoryFlushPlan(resolver)` | Resolver planu opróżniania pamięci |
|
||||
| `api.registerMemoryRuntime(runtime)` | Adapter środowiska wykonawczego pamięci |
|
||||
|
||||
### Adaptery embeddingów pamięci
|
||||
|
||||
| Method | What it registers |
|
||||
| ---------------------------------------------- | ---------------------------------------------- |
|
||||
| Metoda | Co rejestruje |
|
||||
| ---------------------------------------------- | ------------------------------------------ |
|
||||
| `api.registerMemoryEmbeddingProvider(adapter)` | Adapter embeddingów pamięci dla aktywnego pluginu |
|
||||
|
||||
- `registerMemoryCapability` to preferowane wyłączne API pluginów pamięci.
|
||||
- `registerMemoryCapability` może też udostępniać `publicArtifacts.listArtifacts(...)`,
|
||||
aby pluginy towarzyszące mogły używać eksportowanych artefaktów pamięci przez
|
||||
`openclaw/plugin-sdk/memory-host-core` zamiast sięgać do prywatnego układu
|
||||
konkretnego pluginu pamięci.
|
||||
- `registerMemoryCapability` może także udostępniać `publicArtifacts.listArtifacts(...)`,
|
||||
aby pluginy towarzyszące mogły korzystać z eksportowanych artefaktów pamięci przez
|
||||
`openclaw/plugin-sdk/memory-host-core` zamiast sięgać do prywatnego
|
||||
układu konkretnego pluginu pamięci.
|
||||
- `registerMemoryPromptSection`, `registerMemoryFlushPlan` i
|
||||
`registerMemoryRuntime` to zgodne wstecz, wyłączne API starszych pluginów pamięci.
|
||||
`registerMemoryRuntime` to starsze, nadal zgodne wyłączne API 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` lub własny identyfikator zdefiniowany przez plugin).
|
||||
- Konfiguracja użytkownika, taka jak `agents.defaults.memorySearch.provider` i
|
||||
@ -421,48 +426,48 @@ backendu CLI AI, takiego jak `codex-cli`.
|
||||
|
||||
### Zdarzenia i cykl życia
|
||||
|
||||
| Method | What it does |
|
||||
| Metoda | Co robi |
|
||||
| -------------------------------------------- | ----------------------------- |
|
||||
| `api.on(hookName, handler, opts?)` | Typowany hook cyklu życia |
|
||||
| `api.onConversationBindingResolved(handler)` | Callback rozstrzygnięcia powiązania rozmowy |
|
||||
| `api.onConversationBindingResolved(handler)` | Callback rozwiązania powiązania konwersacji |
|
||||
|
||||
### Semantyka decyzji hooków
|
||||
|
||||
- `before_tool_call`: zwrócenie `{ block: true }` jest ostateczne. Gdy dowolny handler to ustawi, handlery o niższym priorytecie są pomijane.
|
||||
- `before_tool_call`: zwrócenie `{ block: true }` jest końcowe. Gdy którykolwiek 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 ostateczne. Gdy dowolny handler to ustawi, handlery o niższym priorytecie są pomijane.
|
||||
- `before_install`: zwrócenie `{ block: true }` jest końcowe. Gdy którykolwiek 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 ostateczne. Gdy dowolny handler przejmie dispatch, handlery o niższym priorytecie i domyślna ścieżka dispatchu modelu są pomijane.
|
||||
- `message_sending`: zwrócenie `{ cancel: true }` jest ostateczne. Gdy dowolny handler to ustawi, handlery o niższym priorytecie są pomijane.
|
||||
- `reply_dispatch`: zwrócenie `{ handled: true, ... }` jest końcowe. Gdy którykolwiek handler przejmie dyspozycję, handlery o niższym priorytecie i domyślna ścieżka dyspozycji modelu są pomijane.
|
||||
- `message_sending`: zwrócenie `{ cancel: true }` jest końcowe. Gdy którykolwiek 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
|
||||
|
||||
| Field | Type | Description |
|
||||
| ------------------------ | ------------------------- | ------------------------------------------------------------------------------------------- |
|
||||
| `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 (aktywna migawka runtime w pamięci, gdy jest dostępna) |
|
||||
| `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 ograniczonym zakresie (`debug`, `info`, `warn`, `error`) |
|
||||
| Pole | Typ | Opis |
|
||||
| ------------------------ | ------------------------- | ------------------------------------------------------------------------------------------ |
|
||||
| `api.id` | `string` | Identyfikator pluginu |
|
||||
| `api.name` | `string` | Nazwa wyświetlana |
|
||||
| `api.version` | `string?` | Wersja pluginu (opcjonalna) |
|
||||
| `api.description` | `string?` | Opis pluginu (opcjonalny) |
|
||||
| `api.source` | `string` | Ścieżka źródłowa pluginu |
|
||||
| `api.rootDir` | `string?` | Katalog główny pluginu (opcjonalny) |
|
||||
| `api.config` | `OpenClawConfig` | Bieżąca migawka konfiguracji (aktywna migawka środowiska wykonawczego w pamięci, gdy jest dostępna) |
|
||||
| `api.pluginConfig` | `Record<string, unknown>` | Konfiguracja specyficzna dla pluginu z `plugins.entries.<id>.config` |
|
||||
| `api.runtime` | `PluginRuntime` | [Helpery środowiska wykonawczego](/pl/plugins/sdk-runtime) |
|
||||
| `api.logger` | `PluginLogger` | Logger z zakresem (`debug`, `info`, `warn`, `error`) |
|
||||
| `api.registrationMode` | `PluginRegistrationMode` | Bieżący tryb ładowania; `"setup-runtime"` to lekkie okno uruchamiania/konfiguracji przed pełnym wejściem |
|
||||
| `api.resolvePath(input)` | `(string) => string` | Rozstrzyga ścieżkę względem katalogu głównego pluginu |
|
||||
| `api.resolvePath(input)` | `(string) => string` | Rozwiązywanie ścieżki względem katalogu głównego pluginu |
|
||||
|
||||
## Konwencja modułów wewnętrznych
|
||||
## Wewnętrzna konwencja modułów
|
||||
|
||||
Wewnątrz pluginu używaj lokalnych plików barrel do importów wewnętrznych:
|
||||
Wewnątrz pluginu używaj lokalnych plików barrel dla importów wewnętrznych:
|
||||
|
||||
```
|
||||
my-plugin/
|
||||
api.ts # Publiczne eksporty dla odbiorców zewnętrznych
|
||||
runtime-api.ts # Eksporty runtime tylko do użytku wewnętrznego
|
||||
index.ts # Punkt wejścia pluginu
|
||||
setup-entry.ts # Lekki punkt wejścia tylko do konfiguracji (opcjonalnie)
|
||||
api.ts # Public exports for external consumers
|
||||
runtime-api.ts # Internal-only runtime exports
|
||||
index.ts # Plugin entry point
|
||||
setup-entry.ts # Lightweight setup-only entry (optional)
|
||||
```
|
||||
|
||||
<Warning>
|
||||
@ -471,37 +476,37 @@ my-plugin/
|
||||
`./runtime-api.ts`. Ścieżka SDK jest wyłącznie kontraktem zewnętrznym.
|
||||
</Warning>
|
||||
|
||||
Publiczne powierzchnie wbudowanych pluginów ładowane przez fasadę (`api.ts`, `runtime-api.ts`,
|
||||
Powierzchnie publiczne zestawionych pluginów ładowane przez fasady (`api.ts`, `runtime-api.ts`,
|
||||
`index.ts`, `setup-entry.ts` i podobne publiczne pliki wejściowe) teraz preferują
|
||||
aktywną migawkę konfiguracji runtime, gdy OpenClaw już działa. Jeśli migawka runtime
|
||||
jeszcze nie istnieje, wracają do rozstrzygniętego pliku konfiguracji na dysku.
|
||||
aktywną migawkę konfiguracji środowiska wykonawczego, gdy OpenClaw już działa. Jeśli migawka środowiska
|
||||
wykonawczego jeszcze nie istnieje, wracają do rozstrzygniętego pliku konfiguracji na dysku.
|
||||
|
||||
Pluginy dostawców mogą także udostępniać wąski lokalny barrel kontraktu pluginu, gdy
|
||||
helper jest celowo specyficzny dla dostawcy i jeszcze nie należy do ogólnej ścieżki podrzędnej SDK.
|
||||
Aktualny wbudowany przykład: dostawca Anthropic przechowuje helpery strumienia Claude
|
||||
we własnej publicznej ścieżce `api.ts` / `contract-api.ts` zamiast promować logikę
|
||||
nagłówka beta Anthropic i `service_tier` do ogólnego kontraktu
|
||||
Pluginy dostawców mogą również udostępniać wąski lokalny barrel kontraktu pluginu, gdy helper
|
||||
jest celowo specyficzny dla dostawcy i jeszcze nie należy do ogólnej ścieżki podrzędnej SDK.
|
||||
Bieżący zestawiony przykład: dostawca Anthropic przechowuje helpery strumieni Claude
|
||||
we własnej publicznej warstwie `api.ts` / `contract-api.ts`, zamiast promować logikę
|
||||
nagłówków beta Anthropic i `service_tier` do ogólnego kontraktu
|
||||
`plugin-sdk/*`.
|
||||
|
||||
Inne aktualne wbudowane przykłady:
|
||||
Inne bieżące zestawione przykłady:
|
||||
|
||||
- `@openclaw/openai-provider`: `api.ts` eksportuje konstruktory dostawców,
|
||||
helpery modeli domyślnych i konstruktory dostawców realtime
|
||||
- `@openclaw/openrouter-provider`: `api.ts` eksportuje konstruktor dostawcy oraz
|
||||
- `@openclaw/openai-provider`: `api.ts` eksportuje kreatory dostawców,
|
||||
helpery modeli domyślnych i kreatory dostawców realtime
|
||||
- `@openclaw/openrouter-provider`: `api.ts` eksportuje kreator dostawcy oraz
|
||||
helpery onboardingu/konfiguracji
|
||||
|
||||
<Warning>
|
||||
Kod produkcyjny rozszerzeń powinien też unikać importów `openclaw/plugin-sdk/<other-plugin>`.
|
||||
Kod produkcyjny rozszerzeń powinien również unikać importów `openclaw/plugin-sdk/<other-plugin>`.
|
||||
Jeśli helper jest rzeczywiście współdzielony, przenieś 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ć dwa pluginy ze sobą.
|
||||
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`
|
||||
- [Helpery środowiska wykonawczego](/pl/plugins/sdk-runtime) — pełna dokumentacja referencyjna przestrzeni nazw `api.runtime`
|
||||
- [Konfiguracja i config](/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 ze zdeprecjonowanych powierzchni
|
||||
- [Wnętrze pluginów](/pl/plugins/architecture) — szczegółowa architektura i model capabilities
|
||||
- [Migracja SDK](/pl/plugins/sdk-migration) — migracja z przestarzałych powierzchni
|
||||
- [Wnętrze pluginów](/pl/plugins/architecture) — szczegółowa architektura i model możliwości
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz używać modeli Google Gemini z OpenClaw
|
||||
- Potrzebujesz przepływu uwierzytelniania za pomocą klucza API lub OAuth
|
||||
summary: Konfiguracja Google Gemini (klucz API + OAuth, generowanie obrazów, rozumienie mediów, wyszukiwanie w sieci)
|
||||
- Potrzebujesz klucza API lub przepływu uwierzytelniania OAuth
|
||||
summary: Konfiguracja Google Gemini (klucz API + OAuth, generowanie obrazów, rozumienie multimediów, wyszukiwanie w sieci)
|
||||
title: Google (Gemini)
|
||||
x-i18n:
|
||||
generated_at: "2026-04-07T09:49:04Z"
|
||||
generated_at: "2026-04-08T09:44:16Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: e9e558f5ce35c853e0240350be9a1890460c5f7f7fd30b05813a656497dee516
|
||||
source_hash: fad2ff68987301bd86145fa6e10de8c7b38d5bd5dbcd13db9c883f7f5b9a4e01
|
||||
source_path: providers/google.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Google (Gemini)
|
||||
|
||||
Wtyczka Google zapewnia dostęp do modeli Gemini przez Google AI Studio, a także
|
||||
do generowania obrazów, rozumienia mediów (obraz/dźwięk/wideo) oraz wyszukiwania w sieci przez
|
||||
Plugin Google zapewnia dostęp do modeli Gemini przez Google AI Studio, a także
|
||||
generowanie obrazów, rozumienie multimediów (obraz/audio/wideo) oraz wyszukiwanie w sieci przez
|
||||
Gemini Grounding.
|
||||
|
||||
- Dostawca: `google`
|
||||
@ -55,13 +55,13 @@ openclaw onboard --non-interactive \
|
||||
|
||||
## OAuth (Gemini CLI)
|
||||
|
||||
Alternatywny dostawca `google-gemini-cli` używa OAuth PKCE zamiast klucza API.
|
||||
To nieoficjalna integracja; niektórzy użytkownicy zgłaszają ograniczenia
|
||||
konta. Używasz na własne ryzyko.
|
||||
Alternatywny dostawca `google-gemini-cli` używa PKCE OAuth zamiast klucza API.
|
||||
Jest to nieoficjalna integracja; niektórzy użytkownicy zgłaszają
|
||||
ograniczenia konta. Używasz na własne ryzyko.
|
||||
|
||||
- Model domyślny: `google-gemini-cli/gemini-3-flash-preview`
|
||||
- Alias: `gemini-cli`
|
||||
- Wymaganie instalacyjne: lokalnie dostępny Gemini CLI jako `gemini`
|
||||
- Wymaganie instalacyjne: lokalne Gemini CLI dostępne jako `gemini`
|
||||
- Homebrew: `brew install gemini-cli`
|
||||
- npm: `npm install -g @google/gemini-cli`
|
||||
- Logowanie:
|
||||
@ -77,45 +77,48 @@ Zmienne środowiskowe:
|
||||
|
||||
(Lub warianty `GEMINI_CLI_*`.)
|
||||
|
||||
Jeśli żądania OAuth Gemini CLI kończą się błędem po zalogowaniu, ustaw
|
||||
`GOOGLE_CLOUD_PROJECT` lub `GOOGLE_CLOUD_PROJECT_ID` na hoście gateway i
|
||||
Jeśli żądania OAuth Gemini CLI nie działają po zalogowaniu, ustaw
|
||||
`GOOGLE_CLOUD_PROJECT` lub `GOOGLE_CLOUD_PROJECT_ID` na hoście gatewaya i
|
||||
spróbuj ponownie.
|
||||
|
||||
Jeśli logowanie kończy się błędem przed rozpoczęciem przepływu w przeglądarce, upewnij się, że lokalne polecenie `gemini`
|
||||
Jeśli logowanie nie powiedzie się przed rozpoczęciem przepływu w przeglądarce, upewnij się, że lokalne polecenie `gemini`
|
||||
jest zainstalowane i dostępne w `PATH`. OpenClaw obsługuje zarówno instalacje Homebrew,
|
||||
jak i globalne instalacje npm, w tym typowe układy Windows/npm.
|
||||
|
||||
Uwagi dotyczące użycia JSON przez Gemini CLI:
|
||||
Uwagi dotyczące użycia JSON w Gemini CLI:
|
||||
|
||||
- Tekst odpowiedzi pochodzi z pola `response` w JSON CLI.
|
||||
- Tekst odpowiedzi pochodzi z pola JSON `response` CLI.
|
||||
- Użycie przełącza się awaryjnie na `stats`, gdy CLI pozostawia `usage` puste.
|
||||
- `stats.cached` jest normalizowane do OpenClaw `cacheRead`.
|
||||
- Jeśli `stats.input` nie istnieje, OpenClaw wyprowadza liczbę tokenów wejściowych z
|
||||
- Jeśli brakuje `stats.input`, OpenClaw wylicza tokeny wejściowe z
|
||||
`stats.input_tokens - stats.cached`.
|
||||
|
||||
## Możliwości
|
||||
|
||||
| Możliwość | Obsługiwane |
|
||||
| --------------------- | ------------------ |
|
||||
| Uzupełnianie czatu | Tak |
|
||||
| Generowanie obrazów | Tak |
|
||||
| Generowanie muzyki | Tak |
|
||||
| Rozumienie obrazów | Tak |
|
||||
| Transkrypcja audio | Tak |
|
||||
| Rozumienie wideo | Tak |
|
||||
| Wyszukiwanie w sieci (Grounding) | Tak |
|
||||
| Thinking/reasoning | Tak (Gemini 3.1+) |
|
||||
| Możliwość | Obsługiwane |
|
||||
| --------------------- | ----------------- |
|
||||
| Uzupełnianie czatu | Tak |
|
||||
| Generowanie obrazów | Tak |
|
||||
| Generowanie muzyki | Tak |
|
||||
| Rozumienie obrazów | Tak |
|
||||
| Transkrypcja audio | Tak |
|
||||
| Rozumienie wideo | Tak |
|
||||
| Wyszukiwanie w sieci (Grounding) | Tak |
|
||||
| Thinking/reasoning | Tak (Gemini 3.1+) |
|
||||
| Modele Gemma 4 | Tak |
|
||||
|
||||
## Bezpośrednie ponowne użycie cache Gemini
|
||||
Modele Gemma 4 (na przykład `gemma-4-26b-a4b-it`) obsługują tryb thinking. OpenClaw przepisuje `thinkingBudget` na obsługiwane przez Google `thinkingLevel` dla Gemma 4. Ustawienie thinking na `off` zachowuje wyłączony thinking zamiast mapowania na `MINIMAL`.
|
||||
|
||||
Dla bezpośrednich uruchomień API Gemini (`api: "google-generative-ai"`), OpenClaw
|
||||
przekazuje teraz skonfigurowany uchwyt `cachedContent` dalej do żądań Gemini.
|
||||
## Bezpośrednie ponowne użycie pamięci podręcznej Gemini
|
||||
|
||||
- Skonfiguruj parametry per model lub globalnie za pomocą
|
||||
Dla bezpośrednich uruchomień Gemini API (`api: "google-generative-ai"`), OpenClaw teraz
|
||||
przekazuje skonfigurowany uchwyt `cachedContent` do żądań Gemini.
|
||||
|
||||
- Skonfiguruj parametry dla modelu lub globalne za pomocą
|
||||
`cachedContent` albo starszego `cached_content`
|
||||
- Jeśli obecne są oba, `cachedContent` ma pierwszeństwo
|
||||
- Przykładowa wartość: `cachedContents/prebuilt-context`
|
||||
- Użycie przy trafieniu do cache Gemini jest normalizowane do OpenClaw `cacheRead` z
|
||||
- Użycie trafienia pamięci podręcznej Gemini jest normalizowane do OpenClaw `cacheRead` z
|
||||
nadrzędnego `cachedContentTokenCount`
|
||||
|
||||
Przykład:
|
||||
@ -144,10 +147,10 @@ Dołączony dostawca generowania obrazów `google` domyślnie używa
|
||||
- Obsługuje także `google/gemini-3-pro-image-preview`
|
||||
- Generowanie: do 4 obrazów na żądanie
|
||||
- Tryb edycji: włączony, do 5 obrazów wejściowych
|
||||
- Sterowanie geometrią: `size`, `aspectRatio` i `resolution`
|
||||
- Kontrola geometrii: `size`, `aspectRatio` i `resolution`
|
||||
|
||||
Dostawca `google-gemini-cli`, dostępny tylko przez OAuth, to oddzielna powierzchnia
|
||||
wnioskowania tekstowego. Generowanie obrazów, rozumienie mediów i Gemini Grounding pozostają przy
|
||||
Dostawca `google-gemini-cli`, dostępny tylko przez OAuth, jest osobną powierzchnią
|
||||
inferencji tekstowej. Generowanie obrazów, rozumienie multimediów i Gemini Grounding pozostają na
|
||||
identyfikatorze dostawcy `google`.
|
||||
|
||||
Aby używać Google jako domyślnego dostawcy obrazów:
|
||||
@ -165,17 +168,17 @@ Aby używać Google jako domyślnego dostawcy obrazów:
|
||||
```
|
||||
|
||||
Zobacz [Generowanie obrazów](/pl/tools/image-generation), aby poznać wspólne
|
||||
parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
parametry narzędzia, wybór dostawcy i zachowanie awaryjne.
|
||||
|
||||
## Generowanie wideo
|
||||
|
||||
Dołączona wtyczka `google` rejestruje także generowanie wideo przez wspólne
|
||||
Dołączony plugin `google` rejestruje także generowanie wideo przez współdzielone
|
||||
narzędzie `video_generate`.
|
||||
|
||||
- Domyślny model wideo: `google/veo-3.1-fast-generate-preview`
|
||||
- Tryby: text-to-video, image-to-video i przepływy z referencją pojedynczego wideo
|
||||
- Tryby: tekst-na-wideo, obraz-na-wideo oraz przepływy z odniesieniem do pojedynczego wideo
|
||||
- Obsługuje `aspectRatio`, `resolution` i `audio`
|
||||
- Bieżące ograniczenie długości: **od 4 do 8 sekund**
|
||||
- Bieżące ograniczenie czasu trwania: **od 4 do 8 sekund**
|
||||
|
||||
Aby używać Google jako domyślnego dostawcy wideo:
|
||||
|
||||
@ -192,19 +195,19 @@ Aby używać Google jako domyślnego dostawcy wideo:
|
||||
```
|
||||
|
||||
Zobacz [Generowanie wideo](/pl/tools/video-generation), aby poznać wspólne
|
||||
parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
parametry narzędzia, wybór dostawcy i zachowanie awaryjne.
|
||||
|
||||
## Generowanie muzyki
|
||||
|
||||
Dołączona wtyczka `google` rejestruje także generowanie muzyki przez wspólne
|
||||
Dołączony plugin `google` rejestruje także generowanie muzyki przez współdzielone
|
||||
narzędzie `music_generate`.
|
||||
|
||||
- Domyślny model muzyczny: `google/lyria-3-clip-preview`
|
||||
- Domyślny model muzyki: `google/lyria-3-clip-preview`
|
||||
- Obsługuje także `google/lyria-3-pro-preview`
|
||||
- Sterowanie promptem: `lyrics` i `instrumental`
|
||||
- Format wyjściowy: domyślnie `mp3`, a także `wav` dla `google/lyria-3-pro-preview`
|
||||
- Kontrolki promptu: `lyrics` i `instrumental`
|
||||
- Format wyjściowy: domyślnie `mp3`, a także `wav` w `google/lyria-3-pro-preview`
|
||||
- Wejścia referencyjne: do 10 obrazów
|
||||
- Uruchomienia oparte na sesji są odłączane przez wspólny przepływ zadanie/status, w tym `action: "status"`
|
||||
- Uruchomienia oparte na sesji są odłączane przez współdzielony przepływ zadań/statusu, w tym `action: "status"`
|
||||
|
||||
Aby używać Google jako domyślnego dostawcy muzyki:
|
||||
|
||||
@ -221,10 +224,10 @@ Aby używać Google jako domyślnego dostawcy muzyki:
|
||||
```
|
||||
|
||||
Zobacz [Generowanie muzyki](/pl/tools/music-generation), aby poznać wspólne
|
||||
parametry narzędzia, wybór dostawcy i zachowanie failover.
|
||||
parametry narzędzia, wybór dostawcy i zachowanie awaryjne.
|
||||
|
||||
## Uwaga dotycząca środowiska
|
||||
|
||||
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że `GEMINI_API_KEY`
|
||||
jest dostępne dla tego procesu (na przykład w `~/.openclaw/.env` lub przez
|
||||
jest dostępny dla tego procesu (na przykład w `~/.openclaw/.env` lub przez
|
||||
`env.shellEnv`).
|
||||
|
||||
@ -1,31 +1,31 @@
|
||||
---
|
||||
read_when:
|
||||
- Chcesz uruchamiać OpenClaw z modelami chmurowymi lub lokalnymi przez Ollama
|
||||
- Potrzebujesz wskazówek dotyczących konfiguracji i ustawień Ollama
|
||||
- Potrzebujesz wskazówek dotyczących konfiguracji i ustawiania Ollama
|
||||
summary: Uruchamianie OpenClaw z Ollama (modele chmurowe i lokalne)
|
||||
title: Ollama
|
||||
x-i18n:
|
||||
generated_at: "2026-04-08T02:17:58Z"
|
||||
generated_at: "2026-04-08T09:44:32Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 222ec68f7d4bb29cc7796559ddef1d5059f5159e7a51e2baa3a271ddb3abb716
|
||||
source_hash: d3295a7c879d3636a2ffdec05aea6e670e54a990ef52bd9b0cae253bc24aa3f7
|
||||
source_path: providers/ollama.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Ollama
|
||||
|
||||
Ollama to lokalne środowisko uruchomieniowe LLM, które ułatwia uruchamianie modeli open source na Twoim komputerze. OpenClaw integruje się z natywnym API Ollama (`/api/chat`), obsługuje streaming i wywoływanie narzędzi oraz może automatycznie wykrywać lokalne modele Ollama, gdy włączysz to przez `OLLAMA_API_KEY` (lub profil uwierzytelniania) i nie zdefiniujesz jawnego wpisu `models.providers.ollama`.
|
||||
Ollama to lokalne środowisko uruchomieniowe LLM, które ułatwia uruchamianie modeli open source na Twoim komputerze. OpenClaw integruje się z natywnym API Ollama (`/api/chat`), obsługuje strumieniowanie i wywoływanie narzędzi oraz może automatycznie wykrywać lokalne modele Ollama, gdy włączysz tę opcję za pomocą `OLLAMA_API_KEY` (lub profilu uwierzytelniania) i nie zdefiniujesz jawnego wpisu `models.providers.ollama`.
|
||||
|
||||
<Warning>
|
||||
**Użytkownicy zdalnego Ollama**: Nie używaj zgodnego z OpenAI adresu URL `/v1` (`http://host:11434/v1`) z OpenClaw. Powoduje to uszkodzenie wywoływania narzędzi, a modele mogą zwracać surowy JSON narzędzi jako zwykły tekst. Zamiast tego użyj natywnego adresu URL API Ollama: `baseUrl: "http://host:11434"` (bez `/v1`).
|
||||
**Użytkownicy zdalnego Ollama**: Nie używaj adresu URL zgodnego z OpenAI `/v1` (`http://host:11434/v1`) z OpenClaw. Powoduje to problemy z wywoływaniem narzędzi, a modele mogą zwracać surowy JSON narzędzi jako zwykły tekst. Zamiast tego użyj natywnego adresu URL API Ollama: `baseUrl: "http://host:11434"` (bez `/v1`).
|
||||
</Warning>
|
||||
|
||||
## Szybki start
|
||||
|
||||
### Onboarding (zalecane)
|
||||
|
||||
Najszybszym sposobem konfiguracji Ollama jest onboarding:
|
||||
Najszybszym sposobem konfiguracji Ollama jest użycie onboardingu:
|
||||
|
||||
```bash
|
||||
openclaw onboard
|
||||
@ -33,13 +33,13 @@ openclaw onboard
|
||||
|
||||
Wybierz **Ollama** z listy dostawców. Onboarding:
|
||||
|
||||
1. Poprosi o podstawowy adres URL Ollama, pod którym Twoja instancja jest dostępna (domyślnie `http://127.0.0.1:11434`).
|
||||
1. Poprosi o bazowy adres URL Ollama, pod którym Twoja instancja jest osiągalna (domyślnie `http://127.0.0.1:11434`).
|
||||
2. Pozwoli wybrać **Cloud + Local** (modele chmurowe i lokalne) lub **Local** (tylko modele lokalne).
|
||||
3. Otworzy w przeglądarce przepływ logowania, jeśli wybierzesz **Cloud + Local** i nie jesteś zalogowany do ollama.com.
|
||||
3. Otworzy w przeglądarce proces logowania, jeśli wybierzesz **Cloud + Local** i nie jesteś zalogowany w ollama.com.
|
||||
4. Wykryje dostępne modele i zasugeruje wartości domyślne.
|
||||
5. Automatycznie pobierze wybrany model, jeśli nie jest dostępny lokalnie.
|
||||
|
||||
Obsługiwany jest również tryb nieinteraktywny:
|
||||
Obsługiwany jest także tryb nieinteraktywny:
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
@ -47,7 +47,7 @@ openclaw onboard --non-interactive \
|
||||
--accept-risk
|
||||
```
|
||||
|
||||
Opcjonalnie podaj niestandardowy podstawowy adres URL lub model:
|
||||
Opcjonalnie możesz podać własny bazowy adres URL lub model:
|
||||
|
||||
```bash
|
||||
openclaw onboard --non-interactive \
|
||||
@ -61,7 +61,7 @@ openclaw onboard --non-interactive \
|
||||
|
||||
1. Zainstaluj Ollama: [https://ollama.com/download](https://ollama.com/download)
|
||||
|
||||
2. Pobierz lokalny model, jeśli chcesz korzystać z inferencji lokalnej:
|
||||
2. Pobierz model lokalny, jeśli chcesz używać inferencji lokalnej:
|
||||
|
||||
```bash
|
||||
ollama pull gemma4
|
||||
@ -71,7 +71,7 @@ ollama pull gpt-oss:20b
|
||||
ollama pull llama3.3
|
||||
```
|
||||
|
||||
3. Jeśli chcesz korzystać także z modeli chmurowych, zaloguj się:
|
||||
3. Jeśli chcesz także używać modeli chmurowych, zaloguj się:
|
||||
|
||||
```bash
|
||||
ollama signin
|
||||
@ -89,8 +89,8 @@ openclaw onboard
|
||||
|
||||
OpenClaw obecnie sugeruje:
|
||||
|
||||
- domyślny model lokalny: `gemma4`
|
||||
- domyślne modele chmurowe: `kimi-k2.5:cloud`, `minimax-m2.7:cloud`, `glm-5.1:cloud`
|
||||
- lokalna wartość domyślna: `gemma4`
|
||||
- chmurowe wartości domyślne: `kimi-k2.5:cloud`, `minimax-m2.7:cloud`, `glm-5.1:cloud`
|
||||
|
||||
5. Jeśli wolisz konfigurację ręczną, włącz Ollama bezpośrednio dla OpenClaw (dowolna wartość działa; Ollama nie wymaga prawdziwego klucza):
|
||||
|
||||
@ -102,14 +102,14 @@ export OLLAMA_API_KEY="ollama-local"
|
||||
openclaw config set models.providers.ollama.apiKey "ollama-local"
|
||||
```
|
||||
|
||||
6. Sprawdź dostępne modele lub przełącz model:
|
||||
6. Wyświetl modele lub przełącz model:
|
||||
|
||||
```bash
|
||||
openclaw models list
|
||||
openclaw models set ollama/gemma4
|
||||
```
|
||||
|
||||
7. Albo ustaw domyślny model w konfiguracji:
|
||||
7. Lub ustaw domyślny model w konfiguracji:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -121,17 +121,18 @@ openclaw models set ollama/gemma4
|
||||
}
|
||||
```
|
||||
|
||||
## Wykrywanie modeli (dostawca niejawny)
|
||||
## Wykrywanie modeli (provider niejawny)
|
||||
|
||||
Gdy ustawisz `OLLAMA_API_KEY` (lub profil uwierzytelniania) i **nie** zdefiniujesz `models.providers.ollama`, OpenClaw wykryje modele z lokalnej instancji Ollama pod adresem `http://127.0.0.1:11434`:
|
||||
Gdy ustawisz `OLLAMA_API_KEY` (lub profil uwierzytelniania) i **nie** zdefiniujesz `models.providers.ollama`, OpenClaw wykrywa modele z lokalnej instancji Ollama pod adresem `http://127.0.0.1:11434`:
|
||||
|
||||
- Odpytuje `/api/tags`
|
||||
- Używa najlepszego możliwego wyszukiwania `/api/show`, aby odczytać `contextWindow`, gdy jest dostępne
|
||||
- Oznacza `reasoning` za pomocą heurystyki nazwy modelu (`r1`, `reasoning`, `think`)
|
||||
- Używa wywołań `/api/show` w trybie best-effort, aby odczytać `contextWindow` i wykrywać możliwości modelu (w tym vision), gdy są dostępne
|
||||
- Modele z możliwością `vision` zgłoszoną przez `/api/show` są oznaczane jako obsługujące obrazy (`input: ["text", "image"]`), dzięki czemu OpenClaw automatycznie wstrzykuje obrazy do promptu dla tych modeli
|
||||
- Oznacza `reasoning` na podstawie heurystyki nazwy modelu (`r1`, `reasoning`, `think`)
|
||||
- Ustawia `maxTokens` na domyślny limit maksymalnej liczby tokenów Ollama używany przez OpenClaw
|
||||
- Ustawia wszystkie koszty na `0`
|
||||
|
||||
Pozwala to uniknąć ręcznego wpisywania modeli, jednocześnie utrzymując katalog zgodny z lokalną instancją Ollama.
|
||||
Pozwala to uniknąć ręcznego definiowania modeli, a jednocześnie utrzymać katalog zgodny z lokalną instancją Ollama.
|
||||
|
||||
Aby zobaczyć, jakie modele są dostępne:
|
||||
|
||||
@ -148,21 +149,21 @@ ollama pull mistral
|
||||
|
||||
Nowy model zostanie automatycznie wykryty i będzie dostępny do użycia.
|
||||
|
||||
Jeśli jawnie ustawisz `models.providers.ollama`, automatyczne wykrywanie zostanie pominięte i musisz zdefiniować modele ręcznie (zobacz poniżej).
|
||||
Jeśli jawnie ustawisz `models.providers.ollama`, automatyczne wykrywanie zostanie pominięte i musisz zdefiniować modele ręcznie (patrz niżej).
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
### Podstawowa konfiguracja (wykrywanie niejawne)
|
||||
|
||||
Najprostszym sposobem włączenia Ollama jest użycie zmiennej środowiskowej:
|
||||
Najprostszy sposób włączenia Ollama to użycie zmiennej środowiskowej:
|
||||
|
||||
```bash
|
||||
export OLLAMA_API_KEY="ollama-local"
|
||||
```
|
||||
|
||||
### Konfiguracja jawna (ręczne modele)
|
||||
### Konfiguracja jawna (modele ręczne)
|
||||
|
||||
Używaj jawnej konfiguracji, gdy:
|
||||
Użyj konfiguracji jawnej, gdy:
|
||||
|
||||
- Ollama działa na innym hoście lub porcie.
|
||||
- Chcesz wymusić określone okna kontekstu lub listy modeli.
|
||||
@ -193,11 +194,11 @@ Używaj jawnej konfiguracji, gdy:
|
||||
}
|
||||
```
|
||||
|
||||
Jeśli ustawiono `OLLAMA_API_KEY`, możesz pominąć `apiKey` we wpisie dostawcy, a OpenClaw uzupełni je na potrzeby sprawdzania dostępności.
|
||||
Jeśli ustawiono `OLLAMA_API_KEY`, możesz pominąć `apiKey` we wpisie providera, a OpenClaw uzupełni go na potrzeby kontroli dostępności.
|
||||
|
||||
### Niestandardowy podstawowy adres URL (konfiguracja jawna)
|
||||
### Niestandardowy bazowy adres URL (konfiguracja jawna)
|
||||
|
||||
Jeśli Ollama działa na innym hoście lub porcie (jawna konfiguracja wyłącza automatyczne wykrywanie, więc modele trzeba zdefiniować ręcznie):
|
||||
Jeśli Ollama działa na innym hoście lub porcie (konfiguracja jawna wyłącza automatyczne wykrywanie, więc zdefiniuj modele ręcznie):
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -214,12 +215,12 @@ Jeśli Ollama działa na innym hoście lub porcie (jawna konfiguracja wyłącza
|
||||
```
|
||||
|
||||
<Warning>
|
||||
Nie dodawaj `/v1` do adresu URL. Ścieżka `/v1` używa trybu zgodnego z OpenAI, w którym wywoływanie narzędzi nie jest niezawodne. Używaj podstawowego adresu URL Ollama bez sufiksu ścieżki.
|
||||
Nie dodawaj `/v1` do adresu URL. Ścieżka `/v1` używa trybu zgodnego z OpenAI, w którym wywoływanie narzędzi nie jest niezawodne. Użyj bazowego adresu URL Ollama bez sufiksu ścieżki.
|
||||
</Warning>
|
||||
|
||||
### Wybór modelu
|
||||
|
||||
Po skonfigurowaniu wszystkie modele Ollama są dostępne:
|
||||
Po skonfigurowaniu wszystkie Twoje modele Ollama są dostępne:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -238,22 +239,19 @@ Po skonfigurowaniu wszystkie modele Ollama są dostępne:
|
||||
|
||||
Modele chmurowe pozwalają uruchamiać modele hostowane w chmurze (na przykład `kimi-k2.5:cloud`, `minimax-m2.7:cloud`, `glm-5.1:cloud`) obok modeli lokalnych.
|
||||
|
||||
Aby używać modeli chmurowych, wybierz tryb **Cloud + Local** podczas konfiguracji. Kreator sprawdza, czy jesteś zalogowany, i w razie potrzeby otwiera w przeglądarce przepływ logowania. Jeśli nie można zweryfikować uwierzytelnienia, kreator przechodzi do domyślnych modeli lokalnych.
|
||||
Aby używać modeli chmurowych, wybierz tryb **Cloud + Local** podczas konfiguracji. Kreator sprawdza, czy jesteś zalogowany, i w razie potrzeby otwiera w przeglądarce proces logowania. Jeśli nie można zweryfikować uwierzytelnienia, kreator przełącza się na domyślne ustawienia modeli lokalnych.
|
||||
|
||||
Możesz też zalogować się bezpośrednio na [ollama.com/signin](https://ollama.com/signin).
|
||||
|
||||
## Ollama Web Search
|
||||
|
||||
OpenClaw obsługuje także **Ollama Web Search** jako dołączonego dostawcę
|
||||
`web_search`.
|
||||
OpenClaw obsługuje także **Ollama Web Search** jako wbudowany provider `web_search`.
|
||||
|
||||
- Używa skonfigurowanego hosta Ollama (`models.providers.ollama.baseUrl`, jeśli
|
||||
jest ustawione, w przeciwnym razie `http://127.0.0.1:11434`).
|
||||
- Używa skonfigurowanego hosta Ollama (`models.providers.ollama.baseUrl`, jeśli jest ustawiony, w przeciwnym razie `http://127.0.0.1:11434`).
|
||||
- Nie wymaga klucza.
|
||||
- Wymaga uruchomionego Ollama i zalogowania przez `ollama signin`.
|
||||
|
||||
Wybierz **Ollama Web Search** podczas `openclaw onboard` lub
|
||||
`openclaw configure --section web`, albo ustaw:
|
||||
Wybierz **Ollama Web Search** podczas `openclaw onboard` lub `openclaw configure --section web`, albo ustaw:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -267,13 +265,13 @@ Wybierz **Ollama Web Search** podczas `openclaw onboard` lub
|
||||
}
|
||||
```
|
||||
|
||||
Pełną konfigurację i szczegóły działania znajdziesz w [Ollama Web Search](/pl/tools/ollama-search).
|
||||
Pełne informacje o konfiguracji i szczegółach działania znajdziesz w [Ollama Web Search](/pl/tools/ollama-search).
|
||||
|
||||
## Zaawansowane
|
||||
|
||||
### Modele reasoning
|
||||
|
||||
OpenClaw domyślnie traktuje modele o nazwach takich jak `deepseek-r1`, `reasoning` lub `think` jako zdolne do reasoning:
|
||||
OpenClaw domyślnie traktuje modele o nazwach takich jak `deepseek-r1`, `reasoning` lub `think` jako obsługujące reasoning:
|
||||
|
||||
```bash
|
||||
ollama pull deepseek-r1:32b
|
||||
@ -281,11 +279,11 @@ ollama pull deepseek-r1:32b
|
||||
|
||||
### Koszty modeli
|
||||
|
||||
Ollama jest darmowe i działa lokalnie, więc wszystkie koszty modeli są ustawione na $0.
|
||||
Ollama jest bezpłatne i działa lokalnie, więc wszystkie koszty modeli są ustawione na $0.
|
||||
|
||||
### Konfiguracja streamingu
|
||||
### Konfiguracja strumieniowania
|
||||
|
||||
Integracja OpenClaw z Ollama domyślnie używa **natywnego API Ollama** (`/api/chat`), które w pełni obsługuje jednocześnie streaming i wywoływanie narzędzi. Nie jest potrzebna żadna specjalna konfiguracja.
|
||||
Integracja Ollama w OpenClaw domyślnie używa **natywnego API Ollama** (`/api/chat`), które w pełni obsługuje jednocześnie strumieniowanie i wywoływanie narzędzi. Nie jest wymagana żadna specjalna konfiguracja.
|
||||
|
||||
#### Starszy tryb zgodny z OpenAI
|
||||
|
||||
@ -293,7 +291,7 @@ Integracja OpenClaw z Ollama domyślnie używa **natywnego API Ollama** (`/api/c
|
||||
**Wywoływanie narzędzi nie jest niezawodne w trybie zgodnym z OpenAI.** Używaj tego trybu tylko wtedy, gdy potrzebujesz formatu OpenAI dla proxy i nie polegasz na natywnym zachowaniu wywoływania narzędzi.
|
||||
</Warning>
|
||||
|
||||
Jeśli zamiast tego musisz używać punktu końcowego zgodnego z OpenAI (np. za proxy, które obsługuje tylko format OpenAI), ustaw jawnie `api: "openai-completions"`:
|
||||
Jeśli zamiast tego musisz użyć punktu końcowego zgodnego z OpenAI (np. za proxy obsługującym tylko format OpenAI), ustaw jawnie `api: "openai-completions"`:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -311,9 +309,9 @@ Jeśli zamiast tego musisz używać punktu końcowego zgodnego z OpenAI (np. za
|
||||
}
|
||||
```
|
||||
|
||||
Ten tryb może nie obsługiwać jednocześnie streamingu i wywoływania narzędzi. Może być konieczne wyłączenie streamingu za pomocą `params: { streaming: false }` w konfiguracji modelu.
|
||||
Ten tryb może nie obsługiwać jednocześnie strumieniowania i wywoływania narzędzi. Może być konieczne wyłączenie strumieniowania za pomocą `params: { streaming: false }` w konfiguracji modelu.
|
||||
|
||||
Gdy `api: "openai-completions"` jest używane z Ollama, OpenClaw domyślnie wstrzykuje `options.num_ctx`, aby Ollama nie przechodziło po cichu na okno kontekstu 4096. Jeśli Twoje proxy/upstream odrzuca nieznane pola `options`, wyłącz to zachowanie:
|
||||
Gdy `api: "openai-completions"` jest używane z Ollama, OpenClaw domyślnie wstrzykuje `options.num_ctx`, aby Ollama nie przełączało się po cichu na okno kontekstu 4096. Jeśli Twoje proxy/upstream odrzuca nieznane pola `options`, wyłącz to zachowanie:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -333,19 +331,19 @@ Gdy `api: "openai-completions"` jest używane z Ollama, OpenClaw domyślnie wstr
|
||||
|
||||
### Okna kontekstu
|
||||
|
||||
Dla modeli wykrytych automatycznie OpenClaw używa okna kontekstu zgłaszanego przez Ollama, jeśli jest dostępne, w przeciwnym razie przechodzi na domyślne okno kontekstu Ollama używane przez OpenClaw. Możesz nadpisać `contextWindow` i `maxTokens` w jawnej konfiguracji dostawcy.
|
||||
W przypadku modeli wykrywanych automatycznie OpenClaw używa okna kontekstu zgłaszanego przez Ollama, gdy jest dostępne, a w przeciwnym razie przechodzi do domyślnego okna kontekstu Ollama używanego przez OpenClaw. Możesz zastąpić `contextWindow` i `maxTokens` w jawnej konfiguracji providera.
|
||||
|
||||
## Rozwiązywanie problemów
|
||||
|
||||
### Nie wykryto Ollama
|
||||
### Ollama nie zostało wykryte
|
||||
|
||||
Upewnij się, że Ollama działa, że ustawiono `OLLAMA_API_KEY` (lub profil uwierzytelniania) i że **nie** zdefiniowano jawnego wpisu `models.providers.ollama`:
|
||||
Upewnij się, że Ollama jest uruchomione, że ustawiono `OLLAMA_API_KEY` (lub profil uwierzytelniania) i że **nie** zdefiniowano jawnego wpisu `models.providers.ollama`:
|
||||
|
||||
```bash
|
||||
ollama serve
|
||||
```
|
||||
|
||||
Oraz że API jest dostępne:
|
||||
I że API jest dostępne:
|
||||
|
||||
```bash
|
||||
curl http://localhost:11434/api/tags
|
||||
@ -353,9 +351,9 @@ curl http://localhost:11434/api/tags
|
||||
|
||||
### Brak dostępnych modeli
|
||||
|
||||
Jeśli Twojego modelu nie ma na liście, zrób jedno z poniższych:
|
||||
Jeśli Twojego modelu nie ma na liście, wykonaj jedną z tych czynności:
|
||||
|
||||
- Pobierz model lokalnie, lub
|
||||
- Pobierz model lokalnie, albo
|
||||
- Zdefiniuj model jawnie w `models.providers.ollama`.
|
||||
|
||||
Aby dodać modele:
|
||||
@ -367,7 +365,7 @@ ollama pull gpt-oss:20b
|
||||
ollama pull llama3.3 # Lub inny model
|
||||
```
|
||||
|
||||
### Odmowa połączenia
|
||||
### Połączenie odrzucone
|
||||
|
||||
Sprawdź, czy Ollama działa na właściwym porcie:
|
||||
|
||||
@ -375,12 +373,12 @@ Sprawdź, czy Ollama działa na właściwym porcie:
|
||||
# Sprawdź, czy Ollama działa
|
||||
ps aux | grep ollama
|
||||
|
||||
# Lub uruchom ponownie Ollama
|
||||
# Lub uruchom Ollama ponownie
|
||||
ollama serve
|
||||
```
|
||||
|
||||
## Zobacz także
|
||||
|
||||
- [Dostawcy modeli](/pl/concepts/model-providers) - Przegląd wszystkich dostawców
|
||||
- [Wybór modeli](/pl/concepts/models) - Jak wybierać modele
|
||||
- [Konfiguracja](/pl/gateway/configuration) - Pełna dokumentacja konfiguracji
|
||||
- [Model Providers](/pl/concepts/model-providers) - Przegląd wszystkich providerów
|
||||
- [Model Selection](/pl/concepts/models) - Jak wybierać modele
|
||||
- [Configuration](/pl/gateway/configuration) - Pełna dokumentacja konfiguracji
|
||||
|
||||
Loading…
Reference in New Issue
Block a user