# Klucze konfiguracji

Speedwave trzyma swoją konfigurację w `~/.speedwave/config.json`. Projekt może dodatkowo nieść własny plik `.speedwave.json` w repozytorium. Zostaje on wtedy scalony z konfiguracją, ale tylko w wąskim zakresie (zobacz [co może ustawić plik z repozytorium](#co-może-ustawić-repozytoryjny-plik-speedwavejson)). Jeśli dostrajasz limity pamięci albo CPU dla kontenera, to właśnie tutaj odsyła [przewodnik po wydajności](/pl/docs/guides/performance/).

## Klucze najwyższego poziomu

| Klucz | Znaczenie |
| --- | --- |
| `projects` | Wszystkie zarejestrowane projekty. Każdy wpis opisano poniżej. |
| `active_project` | Nazwa aktualnie aktywnego projektu. |
| `selected_ide` | IDE wybrane dla mostka IDE: `ide_name` oraz `port`. |
| `ui.beta_enabled` | [Włącza dopracowywane dopiero elementy interfejsu w aplikacji Desktop](/pl/docs/guides/beta-features/). Domyślnie wyłączone. Ustawia je tylko użytkownik, plik z repozytorium nie może tego zmienić. |
| `telemetry` | Ustawienia eksportu telemetrii OTLP. Ustawia je tylko użytkownik, plik z repozytorium nie może tego zmienić. Zobacz poniżej. |

## Klucze wpisu projektu

Każdy element w `projects[]`:

| Klucz | Znaczenie |
| --- | --- |
| `name` | Nazwa projektu. |
| `dir` | Bezwzględna ścieżka katalogu projektu na hoście. |
| `claude` | Nadpisania dla kontenera, w którym Speedwave uruchamia Claude Code. Zobacz poniżej. |
| `integrations` | Przełączniki integracji, osobno dla każdego projektu. Zobacz poniżej. |
| `plugin_settings` | Wartości ustawień poszczególnych wtyczek, indeksowane identyfikatorem (slug) wtyczki. |

## Nadpisania claude

| Klucz | Znaczenie |
| --- | --- |
| `claude.env` | Zmienne środowiskowe przekazywane do Claude Code w kontenerze. |
| `claude.settings` | Poprawki scalane z `~/.claude/settings.json`. |
| `claude.llm` | Konfiguracja dostawcy LLM i modelu. Zobacz poniżej. |

Z `claude.env` w warstwie repozytorium przed scaleniem usuwane są dwie grupy kluczy: klucze autoryzacji i routingu Anthropic (`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_CUSTOM_HEADERS`) oraz lista zastrzeżona, obejmująca między innymi `PATH`, `HOME`, `LD_PRELOAD` i `NODE_OPTIONS`. `ANTHROPIC_MODEL` to jedyny klucz Anthropic, jaki repozytorium wciąż może ustawić. Pełną listę zmiennych oraz informację, gdzie każda z nich obowiązuje, znajdziesz w opisie [zmiennych środowiskowych](/pl/docs/reference/env-vars/).

## Klucze claude.llm

`claude.llm` niesie zarówno dawne pola płaskie, jak i obecne pola z listą dostawców. Schemat ma numer wersji, a aplikacja zapisuje wersję 3.

| Klucz | Znaczenie |
| --- | --- |
| `schema_version` | Wersja schematu LLM. Brak oznacza dawną wersję 1. |
| `providers` | Skonfigurowani dostawcy. Każdy wpis ma `id`, `kind` oraz własne pole `model`. Zobacz poniżej. |
| `active` | Wskazanie aktywnego dostawcy i modelu dla sesji danego projektu. |
| `proxy_enabled` | Wyłącznik awaryjny proxy. Domyślnie `true`. Ustawia go tylko użytkownik. |
| `provider` | Dawny płaski identyfikator dostawcy. Migrowany automatycznie. |
| `model` | Dawny płaski identyfikator modelu. Migrowany automatycznie. |
| `base_url` | Dawny płaski adres URL lokalnego serwera. Migrowany automatycznie. |
| `context_tokens` | Dawne płaskie okno kontekstu, w tokenach. |
| `has_api_key` | Dawna flaga obecności pliku z kluczem API. |
| `has_custom_headers` | Dawna flaga obecności pliku z niestandardowymi nagłówkami. |

### Klucze providers[]

| Klucz | Znaczenie |
| --- | --- |
| `id` | Identyfikator (slug) tego dostawcy. Nadaje też nazwę jego plikowi tokenu oraz zmiennej środowiskowej `SPW_KEY_<ID>`. |
| `kind` | Rodzaj zaplecza: `anthropic_oauth`, `anthropic_api_key`, `local` lub `open_router`. |
| `base_url` | Adres URL dla rodzaju `local`. |
| `model` | Model, na który ten dostawca kieruje ruch. Główne źródło prawdy dla routingu. |
| `has_api_key` | Ma wartość `true`, gdy plik z kluczem dostawcy istnieje na dysku. |
| `context_tokens` | Okno kontekstu modelu tego dostawcy, o ile jest znane. |
| `has_custom_headers` | Ma wartość `true`, gdy do zmigrowanego wpisu `local` stosuje się plik z niestandardowymi nagłówkami. |
**Note:** Schemat v3 wprowadza kwarantannę pochodzenia: przy migracji konfiguracji z v1 lub v2 do v3 usuwana jest każda obca (niepochodząca od Anthropic) wartość modelu, jaka znalazła się pod wpisem dostawcy `anthropic`.

### Klucze active

| Klucz | Znaczenie |
| --- | --- |
| `provider_id` | `id` wybranego wpisu z `providers[]`. |
| `model` | Wskazanie modelu aktywnego dostawcy, a nie źródło prawdy dla routingu. Jeśli wpis dostawcy nie ma modelu, model ustawiony wyłącznie w `active` zostaje odrzucony. |

## Klucze integrations

`integrations` przechowuje przełączniki włączające poszczególne integracje, osobno dla każdego projektu, każdy w postaci `{ "enabled": <bool> }`. Domyślnie wszystkie są wyłączone.

| Klucz | Znaczenie |
| --- | --- |
| `integrations.slack` | Slack |
| `integrations.sharepoint` | SharePoint |
| `integrations.redmine` | Redmine |
| `integrations.gitlab` | GitLab |
| `integrations.github` | GitHub |
| `integrations.atlassian` | Atlassian |
| `integrations.office` | Dokumenty Office |
| `integrations.playwright` | Playwright |
| `integrations.context7` | Context7 |
| `integrations.os.reminders` | Przypomnienia macOS |
| `integrations.os.calendar` | Kalendarz macOS |
| `integrations.os.mail` | Poczta macOS |
| `integrations.os.notes` | Notatki macOS |
| `integrations.plugins.<slug>` | Przełącznik zainstalowanej wtyczki. |

## Klucze telemetry

[`telemetry` konfiguruje eksport OTLP dla własnych metryk i logów Speedwave](/pl/docs/guides/telemetry/). To klucz najwyższego poziomu, ustawiany tylko przez użytkownika: repozytoryjny plik `.speedwave.json` nie może go ustawić. Aplikacja Desktop udostępnia te same pola w Ustawienia > Telemetria.

| Klucz | Znaczenie | Domyślnie |
| --- | --- | --- |
| `telemetry.enabled` | Główny przełącznik. Gdy `true`, wymagany jest `endpoint`, inaczej ustalanie konfiguracji kończy się błędem. | `false` |
| `telemetry.endpoint` | Adres URL kolektora OTLP. | brak |
| `telemetry.protocol` | Transport: `grpc`, `http/protobuf` lub `http/json`. | `grpc` |
| `telemetry.export_metrics` | Eksportuje sygnał metryk. | `true` |
| `telemetry.export_logs` | Eksportuje sygnał logów i zdarzeń. | `false` |
| `telemetry.headers` | Nagłówki uwierzytelniania kolektora, `Klucz=Wartość,...`. Poufne. | brak |
| `telemetry.resource_attributes` | Niestandardowe atrybuty zasobu, `klucz=wartość,...`. | brak |
| `telemetry.include_account_uuid` | Dołącza UUID konta jako atrybut metryki. | `true` |
| `telemetry.log_user_prompts` | Zabezpieczenie prywatności: dołącza treść promptów użytkownika. | `false` |
| `telemetry.log_assistant_responses` | Zabezpieczenie prywatności: dołącza treść odpowiedzi asystenta. | `false` |
| `telemetry.log_tool_details` | Zabezpieczenie prywatności: dołącza szczegóły poleceń i parametrów narzędzi. | `false` |
| `telemetry.log_raw_api_bodies` | Zabezpieczenie prywatności: dołącza surowe treści żądań i odpowiedzi API. | `false` |
| `telemetry.metric_export_interval_ms` | Interwał eksportu metryk, w milisekundach. | domyślny dla dostawcy |
| `telemetry.logs_export_interval_ms` | Interwał eksportu logów, w milisekundach. | domyślny dla dostawcy |

Gdy `enabled` ma wartość `false`, Speedwave ustawia tylko główną zmienną przełącznika `CLAUDE_CODE_ENABLE_TELEMETRY` i nic poza tym. Gdy ma wartość `true`, ustawia dodatkowo `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_RESOURCE_ATTRIBUTES`, `OTEL_METRICS_INCLUDE_ACCOUNT_UUID`, cztery zmienne zabezpieczeń prywatności `OTEL_LOG_*` oraz dwie zmienne interwałów eksportu. Zajrzyj do [zmiennych środowiskowych](/pl/docs/reference/env-vars/), by sprawdzić, gdzie każda z nich obowiązuje.

Administrator IT może zablokować dowolne z tych pól za pomocą pliku `managed-config.json` na poziomie urządzenia (macOS: `/Library/Application Support/Speedwave/managed-config.json`; Windows: `<ProgramData>/Speedwave/managed-config.json`). Zablokowane pole zawsze bierze górę nad konfiguracją `telemetry` użytkownika, plik z góry odrzuca nieznane klucze, a plik uszkodzony lub polityka, której nie da się rozwiązać, jest wychwytywana przy starcie i zatrzymuje uruchomienie Speedwave, zamiast po cichu wracać do wartości domyślnych.

## Co może ustawić repozytoryjny plik .speedwave.json

Wersjonowany w repozytorium plik `.speedwave.json` jest odczytywany tylko w zakresie `claude` oraz `integrations`, a przy scalaniu dodatkowo się go oczyszcza.

| Klucz | Warstwa repozytorium |
| --- | --- |
| `claude.env` `ANTHROPIC_MODEL` | Dozwolone |
| `claude.env` klucze autoryzacji i routingu Anthropic | Usuwane |
| `claude.env` klucze zastrzeżone (`PATH`, `LD_PRELOAD` i podobne) | Usuwane |
| `claude.llm.model` | Dozwolone, jako sugestia |
| `claude.llm.provider` / `base_url` / `context_tokens` | Pomijane |
| `claude.llm.providers` / `active` | Pomijane, ustawia je tylko użytkownik |
| `claude.llm.proxy_enabled` | Pomijane, ustawia je tylko użytkownik |
| `integrations.*` | Dozwolone |
| `ui.beta_enabled`, `telemetry`, `projects`, `active_project`, `selected_ide`, `plugin_settings` | Nieobecne w schemacie repozytorium |

## Zobacz też

- [Zmienne środowiskowe](/pl/docs/reference/env-vars/)
- [Dostrajanie limitów pamięci i CPU](/pl/docs/guides/performance/)