Przejdź do głównej zawartości

Zmienne środowiskowe

Speedwave korzysta ze zwięzłego zestawu zmiennych środowiskowych. Część z nich można zdefiniować na hoście przed uruchomieniem aplikacji, natomiast pozostałe Speedwave konfiguruje automatycznie wewnątrz kontenerów na podstawie profilu użytkownika. Zmienna z oznaczeniem host pochodzi ze środowiska twojej powłoki. Zmienne oznaczone jako container są ustawiane automatycznie przez Speedwave i nie należy ich modyfikować ręcznie.

Układ poniższej tabeli odpowiada strukturze opisanej w zestawieniu Klucze konfiguracji.

ZmiennaZakresOpis
SPEEDWAVE_DATA_DIRhostZmienia domyślny katalog danych ~/.speedwave/. Wymaga ścieżki bezwzględnej. Nazwa bazowa katalogu izoluje całą instancję.
SPEEDWAVE_RESOURCES_DIRhostWskazuje narzędziu CLI katalog z zasobami dołączonymi do aplikacji Desktop. W razie braku CLI korzysta z pliku znacznika.
SPW_TOKENS_DIRcontainerZmienia ścieżkę w kontenerze, z której proxy odczytuje zamontowane pliki kluczy API dostawców. Domyślnie /tokens.
POLICY_FILEcontainerŚcieżka do pliku obowiązującej polityki tokenizacji w kontenerze mcp-hub (/policy/policy.json). W tym samym katalogu znajduje się klucz szyfrujący projektu.
RUST_LOGhostPoziom logowania dla CLI oraz kontenera proxy (domyślnie info).
ANTHROPIC_MODELcontainerDla dostawców lokalnych i OpenRouter: identyfikator routingu wybranego modelu. W przypadku Anthropic zmienna nie jest ustawiana przez Speedwave.
CLAUDE_CODE_MAX_CONTEXT_TOKENScontainerRozmiar okna kontekstu modelu lokalnego lub OpenRouter, o ile został ustalony podczas wykrywania modeli.
SPW_KEY_<ID>containerNazwa zmiennej przekazywanej do proxy zawierającej identyfikator klucza dostawcy. <ID> to identyfikator dostawcy zapisany wielkimi literami z zastąpieniem - znakiem _.
SPEEDWAVE_PLUGINScontainerLista identyfikatorów aktywnych wtyczek rozdzielona przecinkami, przekazywana do kontenera Claude.
WORKER_<SLUG_UPPER>_URLcontainerAdres URL do wykrywania workera zewnętrznej wtyczki MCP wyliczany na podstawie jej pola service_id.
WORKER_SLACK_URL, WORKER_GITHUB_URL, WORKER_GITLAB_URL, WORKER_ATLASSIAN_URL, WORKER_REDMINE_URL, WORKER_SHAREPOINT_URL, WORKER_OFFICE_URL, WORKER_PLAYWRIGHT_URLcontainerStałe adresy URL do wykrywania wbudowanych workerów integracji.
SPEEDWAVE_VERSIONcontainerZarezerwowana zmienna środowiskowa wstrzykiwana do każdej usługi MCP wtyczki, informująca o wersji aplikacji. Wtyczka nie może jej modyfikować.

Zmienna SPEEDWAVE_DATA_DIR pozwala zmienić domyślny katalog danych ~/.speedwave/. Gdy zmienna nie jest ustawiona lub jest pusta, Speedwave używa ścieżki standardowej. Wartość musi być ścieżką bezwzględną.

Nazwa bazowa katalogu odpowiada za izolację instancji, dlatego podlega dodatkowej walidacji: po usunięciu ewentualnych wiodących kropek musi pasować do wzorca ^[a-z][a-z0-9-]{0,63}$ (musi rozpoczynać się małą literą, zawierać wyłącznie małe litery, cyfry i myślniki oraz mieć maksymalnie 64 znaki). Podanie nieprawidłowej lub względnej ścieżki przerywa uruchamianie aplikacji.

Na podstawie nazwy bazowej Speedwave tworzy nazwę maszyny wirtualnej Lima, prefiks projektu compose oraz nazwę instalowanego CLI. Dzięki temu jedna wartość SPEEDWAVE_DATA_DIR całkowicie izoluje maszynę wirtualną, kontenery i dane instancji. Przykładowo ze ścieżki .speedwave-dev powstanie nazwa speedwave-dev, co pozwala uruchamiać wersje deweloperskie obok standardowej instalacji bez ryzyka konfliktów. Taka instancja instaluje swoje CLI jako speedwave-dev zamiast speedwave, a to polecenie samo odnajduje własny katalog danych, bez ustawiania zmiennej.

shell
export SPEEDWAVE_DATA_DIR=/opt/speedwave-ci

Zmienna SPEEDWAVE_RESOURCES_DIR wskazuje narzędziu CLI lokalizację zasobów powiązanych z aplikacją Desktop (np. /usr/lib/Speedwave). Aplikacja Desktop konfiguruje tę zmienną automatycznie podczas wywoływania CLI.

Podczas samodzielnego uruchamiania CLI w terminalu zmienna zazwyczaj pozostaje nieustawiona. W takim przypadku CLI odczytuje ścieżkę z pliku znacznika ~/.speedwave/resources-dir. Po odczytaniu wartość trafia do środowiska procesu, umożliwiając prawidłowe działanie narzędzi pomocniczych.

Proces samoaktualizacji czyści tę zmienną przed ponownym uruchomieniem pliku binarnego CLI, co gwarantuje odczytanie aktualnej ścieżki z pliku znacznika.

Kontener proxy domyślnie odczytuje klucze API dostawców z woluminu zamontowanego pod ścieżką /tokens. Zmienna SPW_TOKENS_DIR pozwala wskazać alternatywny katalog montowania wewnątrz kontenera.

Zmienna POLICY_FILE wskazuje kontenerowi mcp-hub lokalizację pliku z obowiązującą polityką tokenizacji dla aktywnego projektu. Domyślnie wskazuje na /policy/policy.json wewnątrz katalogu zamontowanego w trybie tylko do odczytu. W tym samym katalogu przechowywany jest klucz tokenizacji AES dla danego projektu. Więcej informacji znajdziesz w sekcji Tokenizacja.

Zmienna RUST_LOG definiuje poziom szczegółowości rejestrowania zdarzeń dla CLI oraz kontenera proxy (domyślna wartość to info). Szczegółowe informacje o logach znajdziesz w artykule Logi i diagnostyka.

Dla dostawców lokalnych oraz OpenRouter Speedwave ustawia zmienną ANTHROPIC_MODEL (a także aliasy opus, sonnet, haiku i fable) na identyfikator modelu wybranego w composerze, dzięki czemu zapytania trafiają na właściwą trasę w proxy. W przypadku dostawcy Anthropic Speedwave nie ustawia tej zmiennej: wybór z composera jest zapisywany jako parametr model w konfiguracji Claude Code projektu. Wartość wpisana bezpośrednio w claude.env nadal trafia do kontenera, a Claude Code przy starcie sesji traktuje ją priorytetowo względem pliku ustawień, nadpisując wybór z composera.

Gdy rozmiar okna kontekstu modelu lokalnego lub OpenRouter jest znany, Speedwave konfiguruje również zmienną CLAUDE_CODE_MAX_CONTEXT_TOKENS. Jeśli rozmiar nie jest znany, zmienna nie jest definiowana, dzięki czemu Claude Code nie narzuca sztucznych ograniczeń.

Klucze API dostawców są przekazywane do kontenera proxy wyłącznie w postaci nazw zmiennych, nigdy jako jawne wartości tekstowe. Nazwa zmiennej powstaje z identyfikatora dostawcy zapisanego wielkimi literami z zamianą znaków - na _ (np. dla openrouter będzie to SPW_KEY_OPENROUTER). Właściwą wartość klucza proxy odczytuje bezpośrednio z zamontowanego pliku (patrz SPW_TOKENS_DIR).

Wykrywanie wtyczek: SPEEDWAVE_PLUGINS i WORKER_<SLUG_UPPER>_URL

Dział zatytułowany „Wykrywanie wtyczek: SPEEDWAVE_PLUGINS i WORKER_<SLUG_UPPER>_URL”

Zmienna SPEEDWAVE_PLUGINS zawiera listę identyfikatorów aktywnych wtyczek oddzielonych przecinkami i jest przekazywana do kontenera Claude.

Dla każdej aktywnej wtyczki MCP Speedwave konfiguruje zmienną WORKER_<SID>_URL na podstawie jej identyfikatora service_id (lub domyślnie sluga wtyczki), zapisanego wielkimi literami ze znakiem _ zamiast -. Przykładowo dla wtyczki example-plugin utworzona zostanie zmienna WORKER_EXAMPLE_PLUGIN_URL.

Wbudowane workery integracji korzystają ze stałych zmiennych środowiskowych zdefiniowanych w aplikacji: WORKER_SLACK_URL, WORKER_GITHUB_URL, WORKER_GITLAB_URL, WORKER_ATLASSIAN_URL, WORKER_REDMINE_URL, WORKER_SHAREPOINT_URL, WORKER_OFFICE_URL oraz WORKER_PLAYWRIGHT_URL.

Więcej informacji o komunikacji z wtyczkami znajdziesz w sekcji Korzystanie z wtyczek oraz w zestawieniu Klucze konfiguracji.

Zmienna SPEEDWAVE_VERSION to zarezerwowana zmienna środowiskowa, którą Speedwave przekazuje do każdej usługi MCP wtyczki. Zawiera numer wersji aplikacji, umożliwiając narzędziom wtyczki odnotowanie wersji, która wygenerowała dany wynik. Manifest wtyczki nie może ustawiać ani nadpisywać tej zmiennej.