Przejdź do głównej zawartości

Mechanizm wtyczek i weryfikacja podpisów

Wtyczki rozszerzają możliwości Speedwave w postaci kryptograficznie podpisanych paczek ZIP. Aplikacja nie ogranicza się do jednorazowej walidacji przy instalacji, lecz weryfikuje podpis przy każdym dostępie do plików wtyczki: konfiguracji kontenera, kompilacji obrazu, montowaniu zasobów, wyświetlaniu katalogu oraz podczas audytu startowego.

Weryfikator oblicza skrót SHA-256 ze wszystkich plików w katalogu wtyczki (z wyłączeniem pliku sygnatury) i sprawdza podpis Ed25519 z użyciem klucza publicznego Speednet wbudowanego w Speedwave. Wszystkie oficjalne wtyczki są autoryzowane i podpisywane przez Speednet. Modyfikacja choćby jednego bajtu powoduje unieważnienie sumy kontrolnej i zablokowanie wykonania.

Pliki wtyczki są rozdzielone na dwa odrębne katalogi:

  • Folder niezmienny (podpisany): Objęty sumą kontrolną, zawiera manifest (plugin.json), definicję kontenera (Containerfile) oraz zasoby Claude Code (skille, komendy, agentów i hooki).
  • Folder zmienny (stanowy): Przechowuje dane generowane w trakcie działania (np. znaczniki kompilacji i tokeny mostków).

Manifest wtyczki określa jej model wykonawczy:

  • Wtyczki usług MCP: Zawierają plik Containerfile i uruchamiają odizolowany kontener workera dostępny przez Tool Gateway, opcjonalnie z zasobami promptów.
  • Wtyczki z samymi zasobami (resource-only): Dostarczają wyłącznie rozszerzenia Claude Code (skille, komendy, subagentów i hooki) bez uruchamiania kontenerów.

Paczki ZIP zawierają kod źródłowy, a nie gotowe obrazy binarne. Podczas instalacji Speedwave kompiluje obraz lokalnie w piaskownicy maszyny wirtualnej. W przypadku przerwania procesu aplikacja automatycznie wznawia budowanie przy kolejnym starcie.

Podczas uruchamiania aplikacji Speedwave sprawdza podpisy wszystkich zainstalowanych rozszerzeń. W przypadku wykrycia nieprawidłowości start zostaje wstrzymany z wyświetleniem szczegółowego raportu. Polecenia zarządzania (list, remove, install) w CLI pozostają aktywne, umożliwiając usunięcie uszkodzonych pakietów.

Zweryfikowane wtyczki integrują się ze środowiskiem na dwa sposoby:

  • Kontenery workerów MCP dołączają do sieci projektu i są wywoływane przez Tool Gateway. Workery nie przechowują długotrwałych sekretów; tokeny OAuth są przekazywane dynamicznie z hosta.
  • Wtyczki zasobowe rejestrują pliki markdown i prompty bezpośrednio w środowisku Claude Code.

Manifest wtyczki może zadeklarować mostek do hosta (np. wtyczka Figma łącząca się z aplikacją Figma Desktop). Speedwave uruchamia dla nich odrębny proces nasłuchujący na interfejsie loopback z limitem ramki 1 MiB i 300-sekundowym czasem parowania.

Instrukcje instalacji i zarządzania znajdziesz w rozdziale Używanie wtyczek, a przewodnik tworzenia rozszerzeń na stronie Tworzenie wtyczek.