Przejdź do głównej zawartości

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).

KluczZnaczenie
projectsLista wszystkich zarejestrowanych projektów. Strukturę pojedynczego wpisu opisano poniżej.
active_projectNazwa aktualnie aktywnego projektu.
selected_ideŚrodowisko IDE wybrane dla mostka IDE: parametry ide_name oraz port.
ui.beta_enabledWłą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.
telemetryUstawienia eksportu telemetrii OTLP. Wartość ustawiana wyłącznie przez użytkownika. Zobacz szczegóły poniżej.

Każdy element w tablicy projects[]:

KluczZnaczenie
nameNazwa projektu.
dirBezwzględna ścieżka do katalogu projektu na hoście.
claudeNadpisania konfiguracji dla kontenera, w którym uruchomiony jest Claude Code. Zobacz szczegóły poniżej.
integrationsPrzełączniki integracji dla danego projektu. Zobacz szczegóły poniżej.
plugin_settingsWartości ustawień poszczególnych wtyczek, indeksowane identyfikatorem (slug) wtyczki.
policyPolityka tokenizacji danych dla danego projektu. Zobacz szczegóły poniżej.
KluczZnaczenie
claude.envZmienne środowiskowe przekazywane do procesu Claude Code w kontenerze.
claude.settingsWartości scalane z plikiem ~/.claude/settings.json.
claude.llmKonfiguracja 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.

Sekcja claude.llm obsługuje schemat z listą dostawców (wersja 3) z zachowaniem kompatybilności wstecznej dla starszych formatów.

KluczZnaczenie
schema_versionWersja schematu konfiguracji LLM (wartość 3). Brak oznacza dawną wersję 1.
providersLista skonfigurowanych dostawców. Każdy wpis zawiera pola id, kind oraz model. Zobacz szczegóły poniżej.
activeWskazanie aktywnego dostawcy i modelu dla sesji danego projektu.
proxy_enabledWyłącznik awaryjny lokalnego proxy. Domyślnie true. Ustawiany wyłącznie przez użytkownika.
providerDawny płaski identyfikator dostawcy (migrowany automatycznie).
modelDawny płaski identyfikator modelu (migrowany automatycznie).
base_urlDawny płaski adres URL serwera lokalnego (migrowany automatycznie).
context_tokensDawny rozmiar okna kontekstu w tokenach.
has_api_keyDawna flaga obecności pliku z kluczem API.
has_custom_headersDawna flaga obecności niestandardowych nagłówków.
KluczZnaczenie
idIdentyfikator dostawcy (slug). Definiuje nazwę pliku z tokenem oraz nazwę zmiennej środowiskowej SPW_KEY_<ID>.
kindTyp dostawcy: anthropic_oauth, anthropic_api_key, local lub open_router.
base_urlAdres URL punktu końcowego dla typu local.
modelNazwa modelu, na który kierowany jest ruch. Główne źródło konfiguracji routingu.
has_api_keyPrzyjmuje wartość true, gdy plik z kluczem dostawcy istnieje na dysku.
context_tokensRozmiar okna kontekstu modelu (jeśli jest zdefiniowany).
has_custom_headersPrzyjmuje wartość true, gdy dla zmigrowanego wpisu local skonfigurowano niestandardowe nagłówki.
KluczZnaczenie
provider_idIdentyfikator id wybranego wpisu z tablicy providers[].
modelWskazanie aktywnego modelu dostawcy. Jeśli wpis dostawcy nie ma zdefiniowanego modelu, wartość ustawiona wyłącznie w active zostaje odrzucona.

Sekcja integrations przechowuje flagi włączające poszczególne integracje dla danego projektu w formacie { "enabled": <bool> }. Domyślnie wszystkie integracje są wyłączone.

KluczZnaczenie
integrations.slackIntegracja ze Slackiem
integrations.sharepointIntegracja z SharePointem
integrations.redmineIntegracja z Redmine
integrations.gitlabIntegracja z GitLabem
integrations.githubIntegracja z GitHubem
integrations.atlassianIntegracja z usługami Atlassian (Jira, Confluence)
integrations.officeObsługa dokumentów pakietu Office
integrations.playwrightNarzędzia testowe Playwright
integrations.context7Integracja z Context7
integrations.os.remindersPrzypomnienia macOS
integrations.os.calendarKalendarz macOS
integrations.os.mailPoczta macOS
integrations.os.notesNotatki macOS
integrations.plugins.<slug>Przełącznik aktywacji zainstalowanej wtyczki

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).

KluczZnaczenie
policy.policiesLista aktywnych identyfikatorów polityk: wbudowane strict, gdpr-art32, eu-ai-act-art5 lub identyfikator własnej polityki z policy.customPolicies.
policy.customPoliciesDefinicje własnych polityk wybieranych przez policy.policies. Zobacz szczegóły poniżej.
KluczZnaczenie
idUnikalny identyfikator polityki (nie może kolidować z nazwami wbudowanymi).
nameCzytelna nazwa wyświetlana w interfejsie aplikacji Desktop.
categoriesFlagi {tokenize, log} dla poszczególnych wbudowanych reguł. Pominięta reguła zostaje wyłączona.
rulesDodatkowe reguły oparte na wyrażeniach regularnych z flagami {tokenize, log} oraz opcjonalnym walidatorem sumy kontrolnej (pesel, nip, iban, luhn).
keywordsReguł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.

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ć.

KluczZnaczenieWartość domyślna
telemetry.enabledGłówny przełącznik telemetrii. Przy wartości true pole endpoint jest wymagane.false
telemetry.endpointAdres URL kolektora OTLP.brak
telemetry.protocolProtokół transportowy: grpc, http/protobuf lub http/json.grpc
telemetry.export_metricsWłącza eksport metryk.true
telemetry.export_logsWłącza eksport logów i zdarzeń.false
telemetry.headersNagłówki uwierzytelniające dla kolektora w formacie Klucz=Wartość,... (dane poufne).brak
telemetry.resource_attributesNiestandardowe atrybuty zasobów w formacie klucz=wartość,....brak
telemetry.include_account_uuidDołącza unikalny identyfikator UUID konta do metryk.true
telemetry.log_user_promptsOchrona prywatności: dołącza treść promptów użytkownika.false
telemetry.log_assistant_responsesOchrona prywatności: dołącza treść odpowiedzi asystenta.false
telemetry.log_tool_detailsOchrona prywatności: dołącza parametry wywołań narzędzi.false
telemetry.log_raw_api_bodiesOchrona prywatności: dołącza pełną treść zapytań i odpowiedzi API.false
telemetry.metric_export_interval_msInterwał wysyłania metryk w milisekundach.domyślny dla klienta
telemetry.logs_export_interval_msInterwał 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.

Plik .speedwave.json wersjonowany w repozytorium jest odczytywany wyłącznie w zakresie sekcji claude oraz integrations, podlegając procesowi sanityzacji:

KluczWarstwa repozytorium
claude.env ANTHROPIC_MODELDozwolone
claude.env klucze autoryzacji i routingu AnthropicUsuwane
claude.env zmienne zastrzeżone (PATH, LD_PRELOAD itp.)Usuwane
claude.llm.modelDozwolone (jako sugestia)
claude.llm.provider / base_url / context_tokensIgnorowane
claude.llm.providers / activeIgnorowane (ustawiane wyłącznie przez użytkownika)
claude.llm.proxy_enabledIgnorowane (ustawiane wyłącznie przez użytkownika)
integrations.*Dozwolone
ui.beta_enabled, telemetry, projects, active_project, selected_ide, plugin_settingsNieuwzględnione w schemacie repozytorium