Klucze konfiguracji
Speedwave przechowuje swoją konfigurację w pliku ~/.speedwave/config.json. Projekt może dodatkowo zawierać własny plik .speedwave.json w repozytorium, którego zawartość jest łączona z konfiguracją globalną w ściśle określonym zakresie (zobacz co może ustawić plik z repozytorium).
Klucze najwyższego poziomu
Dział zatytułowany „Klucze najwyższego poziomu”| Klucz | Znaczenie |
|---|---|
projects | Lista wszystkich zarejestrowanych projektów. Strukturę pojedynczego wpisu opisano poniżej. |
active_project | Nazwa aktualnie aktywnego projektu. |
selected_ide | Środowisko IDE wybrane dla mostka IDE: parametry ide_name oraz port. |
ui.beta_enabled | Włącza wczesne wersje funkcji w aplikacji Desktop. Decyduje również o aktywności tokenizacji PII (zobacz klucze policy). Domyślnie wyłączone. Wartość może być zmieniana wyłącznie przez użytkownika – plik z repozytorium nie ma do niej dostępu. |
telemetry | Ustawienia eksportu telemetrii OTLP. Wartość ustawiana wyłącznie przez użytkownika. Zobacz szczegóły poniżej. |
Klucze wpisu projektu
Dział zatytułowany „Klucze wpisu projektu”Każdy element w tablicy projects[]:
| Klucz | Znaczenie |
|---|---|
name | Nazwa projektu. |
dir | Bezwzględna ścieżka do katalogu projektu na hoście. |
claude | Nadpisania konfiguracji dla kontenera, w którym uruchomiony jest Claude Code. Zobacz szczegóły poniżej. |
integrations | Przełączniki integracji dla danego projektu. Zobacz szczegóły poniżej. |
plugin_settings | Wartości ustawień poszczególnych wtyczek, indeksowane identyfikatorem (slug) wtyczki. |
policy | Polityka tokenizacji danych dla danego projektu. Zobacz szczegóły poniżej. |
Nadpisania sekcji claude
Dział zatytułowany „Nadpisania sekcji claude”| Klucz | Znaczenie |
|---|---|
claude.env | Zmienne środowiskowe przekazywane do procesu Claude Code w kontenerze. |
claude.settings | Wartości scalane z plikiem ~/.claude/settings.json. |
claude.llm | Konfiguracja dostawcy LLM i modelu. Zobacz szczegóły poniżej. |
Przed scaleniem konfiguracji z poziomu repozytorium (.speedwave.json) z parametru claude.env usuwane są dwie grupy zmiennych: klucze autoryzacji i routingu Anthropic (ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN, ANTHROPIC_CUSTOM_HEADERS) oraz zmienne zastrzeżone jądra/systemu (PATH, HOME, LD_PRELOAD, NODE_OPTIONS itp.). Jedynym dopuszczalnym parametrem Anthropic, jaki może zdefiniować repozytorium, jest ANTHROPIC_MODEL. Pełny wykaz zmiennych oraz ich zakresów znajdziesz w zestawieniu Zmienne środowiskowe.
Klucze sekcji claude.llm
Dział zatytułowany „Klucze sekcji claude.llm”Sekcja claude.llm obsługuje schemat z listą dostawców (wersja 3) z zachowaniem kompatybilności wstecznej dla starszych formatów.
| Klucz | Znaczenie |
|---|---|
schema_version | Wersja schematu konfiguracji LLM (wartość 3). Brak oznacza dawną wersję 1. |
providers | Lista skonfigurowanych dostawców. Każdy wpis zawiera pola id, kind oraz model. Zobacz szczegóły poniżej. |
active | Wskazanie aktywnego dostawcy i modelu dla sesji danego projektu. |
proxy_enabled | Wyłącznik awaryjny lokalnego proxy. Domyślnie true. Ustawiany wyłącznie przez użytkownika. |
provider | Dawny płaski identyfikator dostawcy (migrowany automatycznie). |
model | Dawny płaski identyfikator modelu (migrowany automatycznie). |
base_url | Dawny płaski adres URL serwera lokalnego (migrowany automatycznie). |
context_tokens | Dawny rozmiar okna kontekstu w tokenach. |
has_api_key | Dawna flaga obecności pliku z kluczem API. |
has_custom_headers | Dawna flaga obecności niestandardowych nagłówków. |
Klucze w providers[]
Dział zatytułowany „Klucze w providers[]”| Klucz | Znaczenie |
|---|---|
id | Identyfikator dostawcy (slug). Definiuje nazwę pliku z tokenem oraz nazwę zmiennej środowiskowej SPW_KEY_<ID>. |
kind | Typ dostawcy: anthropic_oauth, anthropic_api_key, local lub open_router. |
base_url | Adres URL punktu końcowego dla typu local. |
model | Nazwa modelu, na który kierowany jest ruch. Główne źródło konfiguracji routingu. |
has_api_key | Przyjmuje wartość true, gdy plik z kluczem dostawcy istnieje na dysku. |
context_tokens | Rozmiar okna kontekstu modelu (jeśli jest zdefiniowany). |
has_custom_headers | Przyjmuje wartość true, gdy dla zmigrowanego wpisu local skonfigurowano niestandardowe nagłówki. |
Klucze w sekcji active
Dział zatytułowany „Klucze w sekcji active”| Klucz | Znaczenie |
|---|---|
provider_id | Identyfikator id wybranego wpisu z tablicy providers[]. |
model | Wskazanie aktywnego modelu dostawcy. Jeśli wpis dostawcy nie ma zdefiniowanego modelu, wartość ustawiona wyłącznie w active zostaje odrzucona. |
Klucze sekcji integrations
Dział zatytułowany „Klucze sekcji integrations”Sekcja integrations przechowuje flagi włączające poszczególne integracje dla danego projektu w formacie { "enabled": <bool> }. Domyślnie wszystkie integracje są wyłączone.
| Klucz | Znaczenie |
|---|---|
integrations.slack | Integracja ze Slackiem |
integrations.sharepoint | Integracja z SharePointem |
integrations.redmine | Integracja z Redmine |
integrations.gitlab | Integracja z GitLabem |
integrations.github | Integracja z GitHubem |
integrations.atlassian | Integracja z usługami Atlassian (Jira, Confluence) |
integrations.office | Obsługa dokumentów pakietu Office |
integrations.playwright | Narzędzia testowe Playwright |
integrations.context7 | Integracja z 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 aktywacji zainstalowanej wtyczki |
Klucze policy
Dział zatytułowany „Klucze policy”Pole policy definiuje politykę tokenizacji danych wrażliwych (PII) dla danego projektu. Wymuszanie tokenizacji jest aktywne tylko wtedy, gdy włączono ui.beta_enabled lub gdy organizacja wymusza politykę przez profil MDM. W przypadku braku jawnej konfiguracji policy przy aktywnym wymuszaniu stosowane są domyślne ustawienia wbudowane w aplikację (tokenizacja według wszystkich siedmiu reguł bazowych).
| Klucz | Znaczenie |
|---|---|
policy.policies | Lista aktywnych identyfikatorów polityk: wbudowane strict, gdpr-art32, eu-ai-act-art5 lub identyfikator własnej polityki z policy.customPolicies. |
policy.customPolicies | Definicje własnych polityk wybieranych przez policy.policies. Zobacz szczegóły poniżej. |
Klucze w customPolicies[]
Dział zatytułowany „Klucze w customPolicies[]”| Klucz | Znaczenie |
|---|---|
id | Unikalny identyfikator polityki (nie może kolidować z nazwami wbudowanymi). |
name | Czytelna nazwa wyświetlana w interfejsie aplikacji Desktop. |
categories | Flagi {tokenize, log} dla poszczególnych wbudowanych reguł. Pominięta reguła zostaje wyłączona. |
rules | Dodatkowe reguły oparte na wyrażeniach regularnych z flagami {tokenize, log} oraz opcjonalnym walidatorem sumy kontrolnej (pesel, nip, iban, luhn). |
keywords | Reguły podstawiania słów kluczowych: {match, alias, caseSensitive}. Pasujące słowo jest zamieniane na podany alias. |
Organizacja może również wymusić globalne polityki za pomocą pliku managed-config.json.
Klucze sekcji telemetry
Dział zatytułowany „Klucze sekcji telemetry”Sekcja telemetry konfiguruje eksport metryk i logów Speedwave za pośrednictwem protokołu OTLP. Jest to parametr najwyższego poziomu definiowany wyłącznie przez użytkownika – plik .speedwave.json w repozytorium nie może go nadpisać.
| Klucz | Znaczenie | Wartość domyślna |
|---|---|---|
telemetry.enabled | Główny przełącznik telemetrii. Przy wartości true pole endpoint jest wymagane. | false |
telemetry.endpoint | Adres URL kolektora OTLP. | brak |
telemetry.protocol | Protokół transportowy: grpc, http/protobuf lub http/json. | grpc |
telemetry.export_metrics | Włącza eksport metryk. | true |
telemetry.export_logs | Włącza eksport logów i zdarzeń. | false |
telemetry.headers | Nagłówki uwierzytelniające dla kolektora w formacie Klucz=Wartość,... (dane poufne). | brak |
telemetry.resource_attributes | Niestandardowe atrybuty zasobów w formacie klucz=wartość,.... | brak |
telemetry.include_account_uuid | Dołącza unikalny identyfikator UUID konta do metryk. | true |
telemetry.log_user_prompts | Ochrona prywatności: dołącza treść promptów użytkownika. | false |
telemetry.log_assistant_responses | Ochrona prywatności: dołącza treść odpowiedzi asystenta. | false |
telemetry.log_tool_details | Ochrona prywatności: dołącza parametry wywołań narzędzi. | false |
telemetry.log_raw_api_bodies | Ochrona prywatności: dołącza pełną treść zapytań i odpowiedzi API. | false |
telemetry.metric_export_interval_ms | Interwał wysyłania metryk w milisekundach. | domyślny dla klienta |
telemetry.logs_export_interval_ms | Interwał wysyłania logów w milisekundach. | domyślny dla klienta |
Gdy enabled ma wartość false, Speedwave ustawia jedynie zmienną CLAUDE_CODE_ENABLE_TELEMETRY. Przy wartości true aplikacja konfiguruje dodatkowo zmienne OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_PROTOCOL, OTEL_EXPORTER_OTLP_HEADERS, OTEL_RESOURCE_ATTRIBUTES, OTEL_METRICS_INCLUDE_ACCOUNT_UUID, cztery zmienne prywatności OTEL_LOG_* oraz interwały eksportu. Informacje o zakresie tych zmiennych znajdziesz w sekcji Zmienne środowiskowe.
Administrator IT może zablokować dowolne z tych pól za pomocą pliku managed-config.json na poziomie systemu (macOS: /Library/Application Support/Speedwave/managed-config.json; Windows: <ProgramData>/Speedwave/managed-config.json). Ustawienia zablokowane mają zawsze pierwszeństwo przed konfiguracją użytkownika. Plik odrzuca nieznane klucze, a w przypadku uszkodzenia pliku lub błędnej konfiguracji start Speedwave zostaje wstrzymany, co zapobiega cichemu przywróceniu domyślnych wartości.
Plik ten zawiera również listę forced_policies, określającą identyfikatory polityk wymuszonych dla wszystkich projektów w organizacji. Sama obecność identyfikatora na liście oznacza jego aktywację. W przypadku nierozpoznanego identyfikatora uruchomienie projektu zostaje zablokowane.
Co może ustawić repozytoryjny plik .speedwave.json
Dział zatytułowany „Co może ustawić repozytoryjny plik .speedwave.json”Plik .speedwave.json wersjonowany w repozytorium jest odczytywany wyłącznie w zakresie sekcji claude oraz integrations, podlegając procesowi sanityzacji:
| Klucz | Warstwa repozytorium |
|---|---|
claude.env ANTHROPIC_MODEL | Dozwolone |
claude.env klucze autoryzacji i routingu Anthropic | Usuwane |
claude.env zmienne zastrzeżone (PATH, LD_PRELOAD itp.) | Usuwane |
claude.llm.model | Dozwolone (jako sugestia) |
claude.llm.provider / base_url / context_tokens | Ignorowane |
claude.llm.providers / active | Ignorowane (ustawiane wyłącznie przez użytkownika) |
claude.llm.proxy_enabled | Ignorowane (ustawiane wyłącznie przez użytkownika) |
integrations.* | Dozwolone |
ui.beta_enabled, telemetry, projects, active_project, selected_ide, plugin_settings | Nieuwzględnione w schemacie repozytorium |