# Mechanizm wtyczek

[Wtyczka](/pl/docs/plugins/) to podpisana paczka ZIP. Speedwave nigdy nie zakłada, że podpis sprawdzony raz podczas instalacji obowiązuje też później, dlatego sprawdza go od nowa przy każdej operacji, która sięga do plików wtyczki: przy przygotowaniu kontenera, budowaniu obrazu, montowaniu zasobów, wyświetlaniu listy w interfejsie oraz podczas audytu startowego.

## Weryfikacja i integralność plików

Weryfikator liczy skrót SHA-256 z każdego pliku w folderze wtyczki, pomijając sam plik podpisu, a następnie sprawdza podpis Ed25519 względem tego skrótu, używając klucza publicznego Speednet wbudowanego w Speedwave. Wtyczki podpisuje wyłącznie Speednet, więc wtyczka od społeczności najpierw trafia do Speednet po podpis, zamiast być podpisywana bezpośrednio przez autora. Zmiana choćby jednego bajtu w dowolnym pliku zmienia skrót, a naruszona wtyczka nie przejdzie tej weryfikacji, zanim Speedwave cokolwiek z niej uruchomi.

Zainstalowany folder wtyczki nie może się już zmienić, bo inaczej jego skrót przestanie pasować. Speedwave dzieli pliki wtyczki na dwie części. Pierwsza to folder podpisany i objęty skrótem, w którym leżą manifest, `Containerfile` dla wtyczek uruchamiających workera oraz wszelkie umiejętności, polecenia, agenci i hooki. Druga to osobny folder zmienny, przeznaczony na stan, który zgodnie z zamysłem zmienia się później, jak choćby znacznik oczekującej budowy.

## Typy wtyczek i budowanie obrazów

O typie wtyczki decyduje jej manifest. Wtyczka usługi MCP dostarcza `Containerfile` i uruchamia skonteneryzowanego workera, opcjonalnie wraz z umiejętnościami, poleceniami, agentami lub hookami. Wtyczka z samymi zasobami nie ma niczego takiego, tylko umiejętności, polecenia, agentów i hooki, z których Claude korzysta bezpośrednio.

Paczka ZIP wtyczki zawiera kod źródłowy, a nie gotowy obraz. Instalacja buduje lokalny obraz ze zweryfikowanego źródła, dokładnie tak, jak Speedwave buduje swoich wbudowanych workerów. Może to potrwać kilka minut, a jeśli budowa się nie powiedzie, wtyczka zostaje zainstalowana, a Speedwave ponawia próbę przy kolejnym uruchomieniu, zamiast prosić cię o ponowną instalację.

## Audyt startowy i dostęp do sesji

Przy starcie Speedwave sprawdza podpis każdej zainstalowanej wtyczki. Jeśli któraś nie przejdzie weryfikacji, blokuje uruchomienie i wypisuje listę takich wtyczek wraz z przyczynami. Nawet podczas zablokowanego startu z poziomu CLI wciąż możesz wyświetlić listę wtyczek, usunąć je i zainstalować ponownie.

Gdy wtyczka przejdzie weryfikację, rozszerza sesję na jeden z dwóch sposobów. Kontener wtyczki usługi MCP dołącza jako worker, którego Claude wywołuje przez [Tool Gateway](/pl/docs/under-the-hood/tool-gateway/), albo umiejętności, polecenia, agenci i hooki wtyczki z samymi zasobami stają się dla Claude dostępne bezpośrednio, bez udziału żadnego kontenera. Sam worker wtyczki nie przechowuje żadnych długotrwałych poświadczeń, a token OAuth, jeśli go potrzebuje, pochodzi od hosta, a nie z plików wtyczki.

## Mostki hosta dla wtyczek

Manifest może deklarować [mostek hosta](/pl/docs/under-the-hood/workers/#mosty-do-hosta-wąska-droga-powrotna-do-twojego-komputera), tak jak robi to [wtyczka Figma](/pl/docs/plugins/catalog/figma/), aby sięgnąć do współpracującej z nią aplikacji Figma Desktop. Speedwave uruchamia taki mostek dla każdej zweryfikowanej, zainstalowanej wtyczki, która go deklaruje. Mostek działa nieprzerwanie i po wyłączeniu wtyczki czeka bezczynnie na swoim porcie loopback, a przy instalacji lub usunięciu wtyczki jest uruchamiany na nowo. Jeśli manifest niczego nie nadpisuje, obowiązują wartości domyślne: maksymalny rozmiar ramki 1 MiB oraz limit czasu parowania 300 sekund.

Strona szczegółów wtyczki pokazuje to w postaci karty połączenia: adres URL połączenia tylko do odczytu, zamaskowany token, który da się odsłonić i skopiować, oraz kropkę statusu. Kropka sygnalizuje, że połączenie jest aktywne, że aplikacja towarzysząca połączyła się i czeka na workera, albo że trwa oczekiwanie na połączenie.

Zobacz [używanie wtyczek](/pl/docs/plugins/using-plugins/), gdzie opisujemy instalację i włączanie wtyczki, oraz [pisanie wtyczki](/pl/docs/plugins/writing-a-plugin/), gdzie pokazujemy, jak zbudować i podpisać własną.