# Zmienne środowiskowe

Speedwave czyta niewielki zestaw zmiennych środowiskowych. Część z nich ustawiasz na hoście przed uruchomieniem Speedwave. Resztę Speedwave ustawia samo wewnątrz kontenerów, wyprowadzając ją z twojej konfiguracji. Zmienna host pochodzi z twojej powłoki. Zmienną container Speedwave ustawia za ciebie i nigdy nie robisz tego samodzielnie.

Ta tabela ma ten sam układ co [zestawienie kluczy konfiguracji](/pl/docs/reference/config-keys/), które z kolei opisuje ustawienia JSON czytane przez Speedwave.

## Wszystkie zmienne

| Zmienna | Zakres | Opis |
| --- | --- | --- |
| `SPEEDWAVE_DATA_DIR` | host | Nadpisuje domyślny katalog danych `~/.speedwave/`. Musi być ścieżką bezwzględną. Jej nazwa bazowa izoluje całą instancję. |
| `SPEEDWAVE_RESOURCES_DIR` | host | Kieruje CLI do katalogu z zasobami dołączonymi do Desktop. Gdy nieustawiona, CLI sięga po plik znacznika. |
| `SPW_TOKENS_DIR` | container | Nadpisuje ścieżkę wewnątrz kontenera, spod której proxy czyta zamontowane pliki kluczy dostawców. Domyślnie `/tokens`. |
| `RUST_LOG` | host | Filtr poziomu logowania dla CLI i kontenera proxy. Gdy nieustawiona, domyślnie `info`. |
| `ANTHROPIC_MODEL` | container | Wskazuje konkretny model Claude dla Claude Code w kontenerze. |
| `SPW_KEY_<ID>` | container | Nazwa (nie wartość) klucza API dostawcy przekazana do proxy. `<ID>` to identyfikator dostawcy zapisany wielkimi literami, z `-` zamienionym na `_`. |
| `SPEEDWAVE_PLUGINS` | container | Lista slugów włączonych wtyczek rozdzielona przecinkami, ustawiana w kontenerze Claude. |
| `WORKER_<SLUG_UPPER>_URL` | container | Adres URL do wykrywania workera wtyczki MCP innej firmy, wyprowadzony z jego `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_URL` | container | Adresy URL do wykrywania wbudowanych workerów integracji. Stałe wartości, nie wyprowadzane w czasie działania. |

## SPEEDWAVE_DATA_DIR

`SPEEDWAVE_DATA_DIR` nadpisuje domyślny katalog danych `~/.speedwave/`. Gdy zmienna jest nieustawiona lub pusta, Speedwave wraca do `~/.speedwave/`. Wartość musi być ścieżką bezwzględną; jeśli nią nie jest, proces się zatrzymuje.

Nazwa bazowa steruje izolacją instancji, dlatego Speedwave nakłada na nią ograniczenia. Po usunięciu ewentualnych kropek z początku musi ona pasować do wzorca `^[a-z][a-z0-9-]{0,63}$`: zaczyna się małą literą, składa się wyłącznie z małych liter, cyfr i myślników i liczy najwyżej 64 znaki. Nieprawidłowa nazwa bazowa lub ścieżka, która nie jest bezwzględna, przerywa proces, zamiast cofać się do wartości domyślnej.

Ta nazwa bazowa to jednak coś więcej niż nazwa folderu. Speedwave wyprowadza z niej i nazwę maszyny wirtualnej Lima, i prefiks projektu compose, więc jedna wartość `SPEEDWAVE_DATA_DIR` izoluje całą instancję: jej maszyna wirtualna, jej kontenery i jej dane opierają się na tej samej nazwie. Z `.speedwave-dev` powstaje nazwa `speedwave-dev` i właśnie dlatego deweloperskie kompilacje samego Speedwave działają obok zainstalowanej aplikacji, nie dzieląc z nią ani maszyny wirtualnej, ani kontenerów, ani danych.

```bash title="shell"
export SPEEDWAVE_DATA_DIR=/opt/speedwave-ci
```

## SPEEDWAVE_RESOURCES_DIR

`SPEEDWAVE_RESOURCES_DIR` wskazuje CLI, gdzie leży katalog z zasobami dołączonymi do Desktop (na przykład `/usr/lib/Speedwave`). Desktop ustawia tę zmienną, kiedy uruchamia CLI.

Gdy uruchamiasz CLI samodzielnie, poza Desktop, zmienna zwykle pozostaje nieustawiona. CLI sięga wtedy po plik znacznika `~/.speedwave/resources-dir`: odczytuje jego zawartość, przycina białe znaki i pomija plik, jeśli jest pusty. Po ustaleniu wartość trafia do środowiska procesu, aby reszta CLI mogła czytać ją jak każdą inną zmienną.

Krok przebudowy podczas samoaktualizacji czyści tę zmienną przed ponownym uruchomieniem pliku wykonywalnego CLI, dzięki czemu świeżo uruchomiony proces ponownie odczytuje plik znacznika, zamiast dziedziczyć nieaktualną ścieżkę.

## SPW_TOKENS_DIR

Kontener proxy domyślnie czyta klucze API dostawców z plików zamontowanych pod `/tokens`. `SPW_TOKENS_DIR` nadpisuje tę ścieżkę wewnątrz kontenera, więc proxy szuka zamontowanych plików kluczy w innym miejscu.

## RUST_LOG

`RUST_LOG` ustawia poziom szczegółowości logów CLI Speedwave, a ta sama zmienna steruje poziomem logowania kontenera proxy. Oba domyślnie przyjmują `info`, gdy zmienna pozostaje nieustawiona. Zobacz [Logi i diagnostyka](/pl/docs/guides/logs-and-diagnostics/), aby sprawdzić, gdzie ta szczegółowość się ujawnia.

## ANTHROPIC_MODEL

`ANTHROPIC_MODEL` przypina konkretny model Claude, który trafia do Claude Code wewnątrz kontenera. Wartość może pochodzić z dwóch ustawień, a pierwszeństwo ma `claude.llm.model`: Speedwave najpierw wpisuje do pliku compose `claude.env.ANTHROPIC_MODEL`, a zaraz potem wartość wyprowadzoną z `claude.llm.model`, która nadpisuje poprzednią pod tym samym kluczem.

## Klucze dostawców: SPW_KEY_&lt;ID&gt;

Klucze API dostawców docierają do kontenera proxy wyłącznie jako nazwa, nigdy jako wartość. Nazwę zmiennej tworzy identyfikator dostawcy zapisany wielkimi literami, z `-` zamienionym na `_`, więc z identyfikatora `openrouter` powstaje `SPW_KEY_OPENROUTER`. Rzeczywistą wartość klucza proxy odczytuje z zamontowanego pliku, a nie z samej zmiennej środowiskowej; gdzie jej szuka, opisuje `SPW_TOKENS_DIR` powyżej.

## Wykrywanie wtyczek: SPEEDWAVE_PLUGINS i WORKER_&lt;SLUG_UPPER&gt;_URL

`SPEEDWAVE_PLUGINS` ustawiana jest w kontenerze Claude na rozdzieloną przecinkami listę slugów włączonych wtyczek.

Dla każdej włączonej wtyczki MCP Speedwave wstrzykuje zmienną `WORKER_<SID>_URL`, opartą na jej `service_id` (który przy braku wpisu w manifeście domyślnie przyjmuje slug wtyczki), zapisanym wielkimi literami z `-` zamienionym na `_`. I tak wtyczka `example-plugin` otrzymuje `WORKER_EXAMPLE_PLUGIN_URL`, a `crm` otrzymuje `WORKER_CRM_URL`.

To wyprowadzanie dotyczy jednak tylko workerów wtyczek innych firm. Wbudowane workery integracji korzystają w zamian ze stałych, zaszytych na sztywno w kodzie zmiennych URL: `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`. To stałe dostarczane wraz ze Speedwave, a nie wartości wyliczane z `service_id` wtyczki w czasie działania.

Zajrzyj do [Korzystania z wtyczek](/pl/docs/plugins/using-plugins/), aby zobaczyć, jak hub wtyczek wykorzystuje te adresy URL, oraz do [zestawienia kluczy konfiguracji](/pl/docs/reference/config-keys/) po ustawienia JSON, które wypełniają część opisanych wyżej zmiennych.