Files
OmniRoute/docs/i18n/pl/docs/reference/FEATURE_FLAGS.md
Diego Rodrigues de Sa e Souza 8feea123bb feat(docs): mirror every docs/ page in all 65 locales (#14106)
* feat(docs): mirror every docs/ page in all 65 locales

Extends the documentation mirrors from the 22-page core set (#13940) to
every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors
(6,208 new), language bars rewritten for the full locale list, state
adopted so the blocking drift gate now covers all 152 pages.

run-translation.mjs: an oversized block made only of table rows or list
items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is
cut at item boundaries and rejoined without a blank line — the single
16-40 KB request outlived the backend socket for verbose scripts. 48
older mirrors whose tables had lost rows were retranslated with --force.

* docs(i18n): refresh mirrors for the sources the base changed since the branch cut

Section-level retranslation of the 29 docs (and README.md) whose source
or mirrors moved on release/v3.8.51 during the run, then state adoption;
the drift gate is green again on the merged tree.
2026-09-18 13:16:46 -03:00

61 KiB

Feature Flags (Polski)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


Przełączniki środowiska wykonawczego, które zmieniają zachowanie OmniRoute bez ponownego wdrożenia. Każda wymieniona tutaj flaga jest zdefiniowana w pliku src/shared/constants/featureFlagDefinitions.ts — stanowiącym jedyne źródło prawdy. Zarówno panel, jak i interfejs REST API odczytują dane z tego pliku, dlatego poniższa tabela jest generowana tak, aby odpowiadała mu w stosunku 1:1.


Czym są flagi funkcji

Flaga funkcji to nazwany przełącznik (wartość logiczna lub wyliczeniowa), którego wartość można zmieniać w czasie wykonywania i zapisywać w bazie danych bez konieczności ponownego wdrażania procesu. Każda flaga jest opisana przez FeatureFlagDefinition zawierającą key, label, description, category, defaultValue, type oraz wskazówkę requiresRestart.

Kolejność rozstrzygania

Efektywna wartość flagi jest ustalana przez resolveFeatureFlag() zgodnie z następującą kolejnością pierwszeństwa (wyższa pozycja ma pierwszeństwo):

  1. Nadpisanie w bazie danych — wartość przechowywana w tabeli key_value w przestrzeni nazw feature_flags (ustawiana za pomocą panelu lub interfejsu REST API).
  2. Zmienna środowiskowaprocess.env[<KEY>], jeśli jest ustawiona i nie jest pusta.
  3. Wartość domyślna definicjidefaultValue z pliku featureFlagDefinitions.ts.

Flaga logiczna jest uznawana za włączoną, gdy jej efektywna wartość to "true", "1" lub "yes" (zobacz isFeatureFlagEnabled()).

Note

Większość flag ma również odpowiadającą im zmienną środowiskową o tej samej nazwie, udokumentowaną w pliku ENVIRONMENT.md. Nadpisanie flagi w bazie danych ma pierwszeństwo przed tą zmienną środowiskową. Flaga z ustawieniem requiresRestart: true jest zapisywana natychmiast, ale ponownie odczytywana dopiero podczas uruchamiania procesu — jej przełączenie powoduje wyświetlenie w panelu banera „Uruchom serwer ponownie”.


Katalog flag

72 flagi w 6 kategoriach. Wartość domyślna oznacza wartość domyślną definicji — wartość używaną, gdy nie istnieje ani nadpisanie w bazie danych, ani zmienna środowiskowa.

Bezpieczeństwo (10)

Klucz Typ Wartość domyślna Opis
REQUIRE_API_KEY boolean false Wymagaj klucza API dla wszystkich żądań przychodzących.
INPUT_SANITIZER_ENABLED boolean true Włącz oczyszczanie danych wejściowych dla wszystkich żądań.
INJECTION_GUARD_MODE enum off Tryb ochrony przed wstrzykiwaniem poleceń. Wartości: off, warn, block, redact.
PII_REDACTION_ENABLED boolean false Redaguj dane osobowe w żądaniach (niezależnie od INPUT_SANITIZER_MODE).
PII_RESPONSE_SANITIZATION boolean false Oczyszczaj dane osobowe z odpowiedzi dostawcy.
PII_RESPONSE_SANITIZATION_MODE enum redact Tryb oczyszczania danych osobowych w odpowiedziach. Wartości: redact, warn, block, off.
OUTBOUND_SSRF_GUARD_ENABLED boolean true Blokuj żądania wychodzące do prywatnych/wewnętrznych zakresów adresów IP.
ALLOW_API_KEY_REVEAL boolean false Zezwalaj uwierzytelnionym użytkownikom panelu na wyświetlanie zapisanych kluczy API zamiast pokazywania wyłącznie zamaskowanych wartości.
AUTH_LOG_INCLUDE_ACCOUNT_ID boolean false Uwzględniaj prefiks konta w wierszach dziennika AUTH (np. „Używanie konta : abc12345...”). Domyślnie wyłączone, aby identyfikatory kont były redagowane we współdzielonych/wielodostępnych dziennikach procesu. Niezależne od trybu debugowania; jego przełączenie nie ujawnia tych danych.
OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN boolean false Gdy OIDC jest włączone, wyłącz logowanie za pomocą hasła, aby użytkownicy mogli uwierzytelniać się wyłącznie przez logowanie jednokrotne OIDC. Gdy ta opcja jest wyłączona (domyślnie), dostępne jest zarówno logowanie za pomocą hasła, jak i OIDC.

Sieć (15)

Klucz Typ Domyślnie Restart Opis
ENABLE_TLS_FINGERPRINT boolean false Włącza tryb maskowania odcisku palca TLS.
AUDIO_REMOTE_PROVIDER_NODES boolean false Zezwala trasom /v1/audio/* na korzystanie z węzłów dostawców zgodnych z OpenAI, hostowanych poza localhostem. Domyślnie wyłączone — kierowanie audio do zdalnego hosta zmienia tożsamość ruchu wychodzącego i musi być świadomą decyzją operatora. Węzły pętli zwrotnej są zawsze dozwolone i ustawienie to na nie nie wpływa.
PROXY_AUTO_SELECT_ENABLED boolean false Gdy do połączenia nie przypisano serwera proxy, automatycznie wybiera pierwszy działający serwer proxy z rejestru. Domyślnie wyłączone (w przeciwnym razie dowolny serwer proxy z rejestru staje się globalnym rozwiązaniem rezerwowym — #3332).
OMNIROUTE_CONTROL_PLANE_PROXY_DIRECT_FALLBACK boolean false Zezwala przepływom OAuth i walidacji dostawcy na ominięcie przypiętego serwera proxy i bezpośrednie połączenie, gdy wstępne testy osiągalności serwera proxy zakończą się niepowodzeniem. Domyślnie wyłączone, ponieważ może to zmienić wychodzący adres IP.
NETWORK_ROTATION_SHARED_EGRESS_GUARD boolean true W przypadku wyjątku sieciowego (przekroczenie limitu czasu, odmowa lub reset połączenia) w module wykonującym rotację wielu kont, gdy konto, na którym wystąpił błąd, nie ma dedykowanego serwera proxy, stosuje krótki okres wstrzymania i pomija pozostałe konta bez serwera proxy do końca obsługi żądania, zamiast ponawiać próbę dla każdego z nich. Domyślnie włączone (bezpieczne: nie zmienia wychodzącego adresu IP, a jedynie zmniejsza ryzyko opóźnień i okresów wstrzymania dla kont współdzielących ruch wychodzący). Wyłącz, aby przywrócić natychmiastowe propagowanie pierwszego wyjątku zgłoszonego dla konta bez serwera proxy.
PROXY_SKIP_RECENTLY_FAILED boolean false Pule serwerów proxy oraz rotacja serwerów proxy dla poszczególnych kont w opencode przestają ponownie udostępniać serwer proxy, który właśnie zawiódł (odrzucona sonda TCP lub odebrana za jego pośrednictwem odpowiedź 429), przez okres właściwy dla danego procesu, podwajany przy każdym kolejnym niepowodzeniu aż do ustalonego limitu. Stan serwera proxy nie jest zapisywany; jeśli wszyscy kandydaci zostaną odłożeni, wybór pozostaje niezmieniony. Domyślnie wyłączone.
PROXY_POOL_EGRESS_OBSERVATION boolean false Wyświetla w panelu, pod pulą serwerów proxy, ile zaobserwowanych wychodzących adresów IP obsługiwało jej członków w ciągu ostatnich 24 godz. oraz ile połączeń z nich korzystało. Funkcja tylko do odczytu, obliczana na podstawie dziennika serwera proxy i nigdy nieużywana do routingu. Domyślnie wyłączone.
OPENCODE_RESPONSES_STALL_ROTATION boolean false Dla modułu wykonawczego OpenCode monitoruje pierwszy bajt treści strumieniowej odpowiedzi Responses (okno: RESPONSES_FIRST_BYTE_TIMEOUT_MS, domyślnie 15000). Strumień Responses z kodem 2xx, który pozostaje bezczynny po upływie tego okna, jest uznawany za zablokowany: konto zostaje objęte okresem wstrzymania, a żądanie jest jednokrotnie przekierowywane do następnego konta; drugie zablokowanie powoduje natychmiastowe niepowodzenie. Domyślnie wyłączone: zablokowane strumienie zachowują obecny czas oczekiwania do przekroczenia limitu czasu gotowości strumienia.
OPENCODE_USER_BLOCKED_ROTATION boolean false Moduł wykonawczy OpenCode: po otrzymaniu odpowiedzi 403/451 zawierającej odmowę user_blocked (niezwiązaną z lokalizacją geograficzną ani odrzuceniem odcisku palca przez Cloudflare) obejmuje odrzucone konto okresem wstrzymania i przełącza się na następne konto co najwyżej raz na żądanie; druga odmowa jest zwracana bez zmian i bez oznaczenia jako sukces. Domyślnie wyłączone: obchodzenie blokady użytkownika po stronie usługi nadrzędnej może wyglądać jak próba jej obejścia i rozprzestrzenić oznaczenie na całą flotę.
OPENCODE_TRANSIENT_FAILOVER_BACKOFF boolean false Rotacja OpenCode: po dwóch kolejnych przejściowych błędach usługi nadrzędnej (5xx lub pustej odpowiedzi 400) wstrzymaj działanie przed przejściem do następnego konta — 1,5 s, z podwajaniem przy każdym kolejnym błędzie, maksymalnie 6 s na przerwę i 10 s na żądanie; pomijane w przypadku rozłączenia klienta. Treść nieudanej odpowiedzi jest zwalniana przed oczekiwaniem. Domyślnie wyłączone: przełączanie awaryjne pozostaje natychmiastowe.
OPENCODE_RATE_LIMITED_429_EARLY_STOP boolean false Rotacja OpenCode: zatrzymaj cykl kont po pierwszej odpowiedzi 429 sklasyfikowanej jako rzeczywiste ograniczenie szybkości (możliwy do przeanalizowania nagłówek Retry-After lub treść wskazująca limit szybkości/użycia) i zwróć tę odpowiedź 429 usługi nadrzędnej bez zmian. Niesklasyfikowane odpowiedzi 429 nie przerywają rotacji. Domyślnie wyłączone: warstwa bezpłatna jest ograniczana na podstawie wychodzącego adresu IP (#9611), dlatego każda odpowiedź 429 powoduje rotację, a po wyczerpaniu cyklu zwracana jest ostatnia odpowiedź 429 usługi nadrzędnej.
MITM_DISABLE_TLS_VERIFY boolean false Wyłącz weryfikację certyfikatu TLS dla serwera proxy MITM. Niebezpieczne.
OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS boolean false Zezwól na adresy URL dostawców wskazujące sieci prywatne/wewnętrzne.
OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS boolean true Zezwól na dodawanie/weryfikowanie dostawców pod adresami lokalnymi/prywatnymi (127.0.0.1, localhost, LAN). Domyślnie włączone (priorytet lokalny); wyłącz, aby rygorystycznie blokować wszystkie adresy inne niż publiczne. Adresy metadanych chmurowych pozostają zablokowane.
ENABLE_CC_COMPATIBLE_PROVIDER boolean false Włącz tryb dostawcy zgodnego z Claude Code.

Zasady (5)

Klucz Typ Domyślnie Opis
TOOL_POLICY_MODE enum disabled Tryb egzekwowania zasad użycia narzędzi. Wartości: disabled, warn, block.
RATE_LIMIT_AUTO_ENABLE boolean false Automatycznie włączaj ograniczanie szybkości na podstawie wzorców użycia.
DISABLE_CONTEXT_WINDOW_CHECKS boolean false Pomiń lokalne sprawdzanie okna kontekstu / maksymalnej liczby tokenów wejściowych przez OmniRoute w przypadku bezpośrednich żądań do pojedynczego modelu. Limity usługi nadrzędnej nadal obowiązują.
CAPABILITY_FILTER_ENABLED boolean false Odrzucaj żądania przed ich wysłaniem, gdy model docelowy nie ma wymaganych możliwości (obsługi obrazów, narzędzi, ustrukturyzowanych danych wyjściowych lub odpowiedniego okna kontekstu). Chroni bezpośrednie żądania kierowane do pojedynczego dostawcy, które omijają filtr zgodności warstwy combo.
RADAR_ENABLED boolean false Włącz moduł OmniRoute Radar (ekrany źródeł katalogu i synchronizacji). Domyślnie wyłączone; włączenie odblokowuje jedynie interfejs użytkownika — synchronizacja danych nadal wymaga osobnego wyrażenia zgody.

Środowisko uruchomieniowe (32)

Klucz Typ Domyślnie Restart Opis
UNIVERSAL_CONTEXT_HANDOFF_ENABLED boolean true Generuj i wstrzykuj podsumowania konwersacji, gdy routing kombinowany przełącza modele. Wyłącz, aby traktować przełączenia modeli niezależnie i zapobiec żądaniom przekazywania kontekstu w tle dla wszystkich istniejących i przyszłych kombinacji.
RESPONSES_PASSTHROUGH_DROP_COMMENTARY boolean true Usuwaj wewnętrzne elementy wyjściowe fazy komentarza ze strumieni przekazywanych bezpośrednio przez interfejs Responses API przed przesłaniem ich do klientów. Wyłącz, aby otrzymywać nieprzetworzone komentarze z usługi nadrzędnej.
OMNIROUTE_MCP_ENFORCE_SCOPES boolean true Egzekwuj ograniczenia zakresów dostępu do narzędzi MCP.
OMNIROUTE_MCP_COMPRESS_DESCRIPTIONS boolean false Kompresuj opisy narzędzi MCP, aby zmniejszyć użycie tokenów.
OMNIROUTE_ENABLE_RUNTIME_BACKGROUND_TASKS boolean false Włącz przetwarzanie zadań w tle podczas działania.
OMNIROUTE_DISABLE_BACKGROUND_SERVICES boolean false Wyłącz wszystkie usługi działające w tle (odświeżanie limitów, synchronizację itp.).
OMNIROUTE_RTK_TRUST_PROJECT_FILTERS boolean false Ufaj filtrom RTK na poziomie projektu bez walidacji.
OMNIROUTE_ENABLE_LIVE_WS boolean true Uruchom serwer WebSocket panelu czasu rzeczywistego podczas importowania (domyślnie na porcie 20132).
OMNIROUTE_CODEX_WS_ENABLED boolean true Zezwól Codex na korzystanie z transportu Responses-over-WebSocket. Gdy opcja jest wyłączona, Codex przełącza się na HTTP Responses.
OMNIROUTE_CODEX_APP_SERVER_ENABLED boolean true Zezwól Codex na korzystanie z lokalnego transportu JSON-RPC przez WebSocket serwera aplikacji (codexTransport=app-server). Gdy opcja jest wyłączona, połączenia skonfigurowane do korzystania z serwera aplikacji przełączają się na inne transporty Codex.
OMNIROUTE_EMERGENCY_FALLBACK boolean true Kieruj żądania z wyczerpanym budżetem do awaryjnego bezpłatnego dostawcy/modelu zastępczego. (Zobacz Awaryjny mechanizm zastępczy po wyczerpaniu budżetu poniżej.)
STREAM_RECOVERY_ENABLED boolean false Włącz przezroczyste wczesne ponawianie przerwanych strumieni SSE dostawcy nadrzędnego, zanim jakiekolwiek bajty odpowiedzi dotrą do klienta.
STREAM_RECOVERY_MIDSTREAM_ENABLED boolean false Zezwól mechanizmowi odzyskiwania strumienia na ponowne wysłanie żądania i scalenie odpowiedzi po tym, jak bajty dotarły już do klienta.
STREAM_RECOVERY_TOOLCALL_ORDER_FIX boolean false Zapewnij bezpieczeństwo wywołań narzędzi podczas kontynuacji w trakcie strumienia: nigdy nie wznawiaj przerwanego strumienia po wyemitowaniu wywołania narzędzia (trwającego lub już zakończonego z finish_reason tool_calls) oraz zakończ działanie po jednej pustej kontynuacji zamiast wykorzystywać cały budżet. Wyłączone: zachowanie wersji produkcyjnej.
STREAM_EARLY_EOF_SIBLING_FAILOVER_ENABLED boolean false Po wyczerpaniu ograniczonej liczby ponowień dla tego samego połączenia przełącz się jednorazowo na połączenie równorzędne, jeśli strumień SSE zostanie zamknięty przed wyemitowaniem jakiejkolwiek użytecznej ramki; jeśli brak dostępnego połączenia równorzędnego, zwracany jest pierwotny błąd STREAM_EARLY_EOF 502. Domyślnie wyłączone: po ponowieniu dla tego samego połączenia wczesny EOF pozostaje błędem końcowym.
MODEL_CATALOG_INCLUDE_NAMES boolean true Uwzględniaj przyjazne do wyświetlania pola nazw w odpowiedziach /v1/models. Wyłącz w przypadku klientów oczekujących wyłącznie identyfikatorów modeli.
MODELS_CATALOG_PREFIX_MODE enum dual Określa sposób dodawania prefiksów do identyfikatorów modeli w /v1/models. Wartość 'dual' (domyślna) emituje zarówno prefiksy aliasów, jak i kanoniczne prefiksy identyfikatorów dostawców w celu zachowania zgodności wstecznej. Wartość 'alias' emituje tylko krótki prefiks aliasu (np. ds-web/model zamiast deepseek-web/model). Wartość 'canonical' emituje tylko pełny prefiks identyfikatora dostawcy. Wartości: dual, alias, canonical.
ARENA_ELO_SYNC_ENABLED boolean true Włącz okresową synchronizację rankingu ELO z tabeli liderów Arena AI na potrzeby rankingów inteligencji modeli.
EXPOSE_CC_DISCOVERY_ALIASES boolean false Udostępnia identyfikatory lustrzane claude/<provider>/<model> w /v1/models, dzięki czemu mechanizm wykrywania modeli bramy Claude Code wyświetla modele inne niż Claude. Globalny poziom trzystopniowej bramy (zmienna środowiskowa ma pierwszeństwo przed ustawieniem zastępczym w panelu). Zobacz Konfiguracja Claude Code.
NO_THINKING_ALIAS_ENABLED boolean true Główny przełącznik aliasów bramy no-think//. Włączony (domyślnie): /v1/models udostępnia wariant bez rozumowania dla każdego kwalifikującego się modelu Claude obsługującego rozumowanie, a identyfikator no-think/ przesłany w żądaniu jest rozpoznawany jako rzeczywisty model z wyłączonym rozumowaniem. Wyłączony: żadne warianty nie są udostępniane, a identyfikator no-think/ jest traktowany jak każdy inny nieznany identyfikator modelu. Opcja włączenia/wyłączenia ModelSpec.noThinkingAlias dla poszczególnych modeli nadal obowiązuje, gdy ten przełącznik jest włączony.
OMNIROUTE_DISABLE_THINKING_LEVEL_VARIANTS boolean false Wyłącza generowanie wariantów poziomu rozumowania (np. -low, -medium, -high) w katalogu /v1/models.
OMNIROUTE_CHAT_VIRTUAL_LANES boolean false Włącza adaptacyjne wirtualne pasma przyjmowania żądań dla poszczególnych dzierżawców podczas przekazywania do dostawcy (#9654): nagły wzrost ruchu jednego dzierżawcy nie powoduje już błędów 503 u innego. Zmienna środowiskowa OMNIROUTE_CHAT_VIRTUAL_LANES ma pierwszeństwo przed tym ustawieniem zastępczym w panelu; zmiany zaczynają obowiązywać po ponownym uruchomieniu serwera.
EXPOSE_FUNCTIONAL_GATEWAY_MIRRORS boolean false Udostępnia identyfikatory lustrzane / w /v1/models dla modeli, których kanoniczny właściciel nie ma aktywnych danych uwierzytelniających, ale są one kierowane przez bramę przekazującą z aktywnymi danymi uwierzytelniającymi. Ostrzeżenie: po włączeniu globalnym dodaje wpisy katalogu dla wszystkich klientów.
NEWAPI_AGGREGATOR_BALANCE boolean false Włącza wykrywanie salda dla węzłów zgodnych z agregatorami New-API / One-API / Sub2API. Po włączeniu zgodne węzły z ustawioną flagą agregatora będą zgłaszać swoje saldo w panelu oraz podczas routingu ze wstępną kontrolą limitu.
SERVER_OWNED_TOOL_LOOP_ENABLED boolean false Kontynuuje należące do serwera, niestrumieniowe wywołania narzędzi, dopóki model nie zwróci odpowiedzi możliwej do wykorzystania przez klienta.
SEARCH_STATS_HIDE_DELETED_CONNECTIONS boolean false Statystyki wyszukiwania i ostatnie wyszukiwania uwzględniają tylko dostawców, którzy nadal mają aktywne połączenie (dostawcy niewymagający klucza, tacy jak duckduckgo-free, są uwzględniani zawsze). Wyłączenie zachowuje każdy przechowywany wiersz wyszukiwania z identyfikatorem dostawcy.
FREE_BADGE_REQUIRES_PROVIDER_FREE_TIER boolean false Strony dostawców w panelu: wyświetla odznakę Free tylko na podstawie sygnałów honorowanych przez dostawcę — pomija heurystykę nazwy wyświetlanej, nieboolowskie pola bezpłatności oraz sufiksy :free w przypadku zarejestrowanych dostawców bez udokumentowanego bezpłatnego planu. Wyłączenie zachowuje dotychczasową regułę przyznawania odznaki.
RETRY_AFTER_PROVENANCE_ENABLED boolean false W zagregowanych odpowiedziach 429/503 o niedostępności pomija Retry-After, gdy nie jest znany konkretny przyszły czas ponowienia (zamiast syntetycznej wartości 1s), dodaje error.retry_after_provenance (signal | none) i pozwala ścieżkom opróżniania kombinacji odczytywać opisowe wskazówki dotyczące ponowienia z treści odpowiedzi nadrzędnych w formacie JSON i zwykłego tekstu. Pole pojawia się tylko w odpowiedziach tworzonych przez unavailableResponse(); pozostałe treści odpowiedzi 429/503 pozostają bez zmian.
PROTECTED_PRIORITY_INFRA_502_ENABLED boolean false Gdy cel kombinacji priority, oznaczony jako awaryjny wyłącznie na wypadek wyczerpania limitu, zatrzyma kombinację z przyczyny, która w sposób możliwy do udowodnienia nie jest związana z limitem (otwarty wyłącznik obwodu dostawcy, predykcyjne pominięcie z powodu opóźnienia), zwracaj kod 502 zamiast kodu 503 sugerującego wyczerpanie limitu. Zatrzymania spowodowane blokadą, okresem karencji, niedostępnością, wyczerpaniem i limitem współbieżności nadal zwracają kod 503.
MISTRAL_AMBIGUOUS_401_SOFT_LOCKOUT boolean false Ogólna odpowiedź Mistral 401 ({"detail":"Unauthorized"}, bez jednoznacznego sygnału dotyczącego uwierzytelniania) jest identyczna zarówno dla unieważnionego klucza, jak i wyczerpanego limitu. Po włączeniu połączenie jest poddawane okresowi karencji zamiast oznaczania go jako expired, maksymalnie 3 razy na godzinę dla każdego połączenia; następne wystąpienie powoduje oznaczenie go jako expired, dzięki czemu unieważniony klucz ostatecznie osiąga właściwy stan. Domyślnie wyłączone: każda ogólna odpowiedź Mistral 401 oznacza połączenie jako expired, tak jak dotychczas.
XAI_OAUTH_LIVE_MODEL_DISCOVERY boolean false Pobieraj aktualny katalog modeli xAI dla połączeń xai-oauth z https://api.x.ai/v1/models, używając tokenu okaziciela OAuth, zamiast niezmiennego statycznego zestawu początkowego. Domyślnie wyłączone: xai-oauth nadal udostępnia statyczny zestaw początkowy bez zmian. W przypadku dowolnego błędu rozpoznawania mechanizm wykrywania powraca do zestawu początkowego (nie zweryfikowano, czy x.ai akceptuje token okaziciela OAuth w tym punkcie końcowym).
BATCH_AND_FILE_AUTO_CLEANUP_ENABLED boolean false Zezwól automatycznemu procesowi czyszczenia na usuwanie zadań Batch API w stanie końcowym (ukończonych/nieudanych/anulowanych/wygasłych), starszych niż OMNIROUTE_BATCH_RETENTION_DAYS, wraz z ich punktami kontrolnymi dla poszczególnych wierszy, oraz na czyszczenie zawartości BLOB przesłanych plików po upływie ich własnego terminu expires_at. Domyślnie wyłączone: każda istniejąca instalacja zachowuje te dane dokładnie tak jak dotychczas, dopóki operator nie włączy tej funkcji. Niezależnie od tego trasa DELETE /api/v1/batches/delete-completed, uruchamiana przez operatora, pozostaje bez zmian — stanowi oddzielny, bezwarunkowy kontrakt publicznego API.

CLI (5)

Klucz Typ Domyślnie Restart Opis
CLI_COMPAT_ALL boolean false Włącz tryb zgodności dla wszystkich klientów CLI.
MODEL_ALIAS_COMPAT_ENABLED boolean false Włącz warstwę zgodności aliasów modeli.
PRICING_SYNC_ENABLED boolean false Włącz automatyczną synchronizację danych cenowych (wymaga również zmiennej środowiskowej PRICING_SYNC_ENABLED).
OMNIROUTE_AUTO_SYNC_CODEX_PROFILES boolean false Po synchronizacji modeli dostawcy automatycznie (ponownie) zapisuj pliki profili ~/.codex/*.config.toml na podstawie aktualnego katalogu. Nigdy nie zmienia aktywnej/domyślnej konfiguracji Codex. Domyślnie wyłączone.
OMNIROUTE_AUTO_SYNC_CLAUDE_PROFILES boolean false Po synchronizacji modeli dostawcy automatycznie (ponownie) zapisuj profile Claude Code ~/.claude/profiles//settings.json na podstawie aktualnego katalogu. Nigdy nie zmienia aktywnej/domyślnej konfiguracji Claude. Domyślnie wyłączone.

Kondycja (5)

Klucz Typ Domyślnie Opis
OMNIROUTE_DISABLE_LOCAL_HEALTHCHECK boolean false Wyłącza punkt końcowy kontroli kondycji lokalnej instancji.
OMNIROUTE_DISABLE_TOKEN_HEALTHCHECK boolean false Wyłącza kontrolę kondycji sprawdzającą poprawność tokenu.
SKILLS_SANDBOX_NETWORK_ENABLED boolean false Włącza dostęp do sieci w środowisku piaskownicy umiejętności.
PROXY_HEALTH_BLOCKED_RESETS_STREAK boolean false Podczas cyklicznej kontroli kondycji serwerów proxy odrzucenie żądania testowego przez cel (401/403/429) resetuje serię kolejnych niepowodzeń serwera proxy. Domyślnie wyłączone: odrzucenie pozostaje neutralne (#10654). Odpowiedź 5xx pozostaje nierozstrzygająca niezależnie od ustawienia; odrzucenie nigdy nie usuwa, nie wyłącza ani nie reaktywuje serwera proxy.
DB_HEALTHCHECK_STARTUP_DEFERRED_ENABLED boolean false Uruchamia początkową kontrolę integralności/kondycji bazy danych po rozpoczęciu przez serwer przyjmowania żądań (za pośrednictwem setImmediate), zamiast blokować uruchamianie do czasu jej ukończenia (#13717). Domyślnie wyłączone: uruchamianie jest blokowane dokładnie tak samo jak przed tym PR-em.

Note

INPUT_SANITIZER_BLOCK_THRESHOLD i jego starszy alias INJECTION_GUARD_BLOCK_THRESHOLD dostosowują tryb block zmiennej INJECTION_GUARD_MODE, ale są zwykłymi zmiennymi środowiskowymi odczytywanymi przez src/shared/utils/injectionSeverity.ts, a nie flagami funkcji: nie mają nadpisania w bazie danych ani przełącznika w panelu. Zobacz ENVIRONMENT.md.

Note

Kolumna Restart oznacza flagi z ustawieniem requiresRestart: true — wartość jest utrwalana natychmiast, ale zaczyna obowiązywać dopiero po ponownym załadowaniu procesu. Flagi wyliczeniowe odrzucają każdą wartość spoza dozwolonego zbioru (walidacja po stronie serwera zarówno w setFeatureFlagOverride(), jak i w procedurze obsługi żądania REST PUT).


Przełączanie flag

Panel administracyjny

Przejdź do Panel administracyjny → Ustawienia → Flagi funkcji (/dashboard/settings/feature-flags). Siatka (src/app/(dashboard)/dashboard/settings/components/FeatureFlagsGrid.tsx) obsługuje:

  • Wyszukiwanie według klucza lub opisu oraz filtrowanie według kategorii (a także syntetyczny widok Wymaga ponownego uruchomienia).
  • Przełącznik dla flag logicznych oraz listę rozwijaną dla flag wyliczeniowych (src/app/(dashboard)/dashboard/settings/components/FeatureFlagCard.tsx).
  • Etykietę źródła dla każdej flagi — DB, ENV lub DEF — wskazującą, skąd pochodzi efektywna wartość.
  • Przycisk Resetuj (wyświetlany tylko dla flag pochodzących z DB), który usuwa nadpisanie, oraz przycisk Resetuj wszystkie nadpisania na dole.
  • Baner Uruchom serwer ponownie, gdy zostanie zmieniona flaga requiresRestart.

REST API

Wszystkie operacje są wykonywane za pośrednictwem jednej trasy: src/app/api/settings/feature-flags/route.ts. Każda metoda wymaga uwierzytelnionej sesji panelu administracyjnego (w przeciwnym razie zwracany jest kod 401).

GET /api/settings/feature-flags

Zwraca każdą flagę wraz z jej efektywną wartością, źródłem i podsumowaniem.

{
  "flags": [
    {
      "key": "REQUIRE_API_KEY",
      "label": "Wymagaj klucza API",
      "description": "Wymagaj klucza API dla wszystkich przychodzących żądań",
      "category": "security",
      "type": "boolean",
      "enumValues": null,
      "defaultValue": "false",
      "effectiveValue": "false",
      "source": "default", // "db" | "env" | "default"
      "requiresRestart": false,
      "warningLevel": "caution",
    },
    // ... wszystkie 72 flagi
  ],
  "summary": {
    "total": 56,
    "active": 0,
    "inactive": 0,
    "overriddenByDb": 0,
    "overriddenByEnv": 0,
  },
}

PUT /api/settings/feature-flags

Ustawia lub usuwa pojedyncze nadpisanie. Treść: { key: string; value?: string }. Pominięcie value usuwa nadpisanie (przywracając wartość ze środowiska / domyślną).

# Ustaw nadpisanie w bazie danych
curl -X PUT http://localhost:20128/api/settings/feature-flags \
  -H "Content-Type: application/json" \
  -d '{"key":"REQUIRE_API_KEY","value":"true"}'

# Usuń nadpisanie (bez "value")
curl -X PUT http://localhost:20128/api/settings/feature-flags \
  -H "Content-Type: application/json" \
  -d '{"key":"REQUIRE_API_KEY"}'

Odpowiedź zawiera nowe wartości effectiveValue/source, poprzednie wartości previousValue/ previousSource oraz requiresRestart. Nieznane klucze i wartości wyliczeniowe spoza zakresu są odrzucane z kodem 400.

DELETE /api/settings/feature-flags

Usuwa jednocześnie wszystkie nadpisania z bazy danych, przywracając każdej fladze jej wartość ze środowiska / domyślną. Zwraca { cleared: <count>, message: "..." }.

Note

Flagi z requiresRestart: true zaczynają obowiązywać dopiero po ponownym uruchomieniu procesu. Mechanizm ponownego uruchamiania w panelu administracyjnym wywołuje POST /api/restart, a następnie cyklicznie odpytuje GET /api/health/ping, dopóki serwer nie zostanie ponownie uruchomiony.


Awaryjny mechanizm zastępczy budżetu

OMNIROUTE_EMERGENCY_FALLBACK (kategoria runtime, wartość domyślna true) kontroluje awaryjną bezpłatną ścieżkę zastępczą w open-sse/services/emergencyFallback.ts. Gdy jest włączona, żądania, które wyczerpią swój budżet, są kierowane do bezpłatnego dostawcy/modelu zastępczego zamiast kończyć się niepowodzeniem. Ustaw ją na false (lub 0) — za pomocą przełącznika w panelu administracyjnym, nadpisania w bazie danych albo zmiennej środowiskowej OMNIROUTE_EMERGENCY_FALLBACK — aby wyłączyć to zachowanie i pozwolić, by żądania z wyczerpanym budżetem kończyły się niepowodzeniem. (Udostępniono jako przełącznik w panelu administracyjnym w PR-ach #3741 / #3752.)


Zobacz także