Skip to main content

Przegląd

user_path to znormalizowana hierarchia wywołującego, na przykład /team/alpha lub /team/alpha/service. GoModel używa jej, aby dostęp do modeli, workflow, budżety, użycie i dane audytowe były przypisane do właściwego zespołu, tenanta, usługi lub klienta.

Klucze API

Ścieżkę użytkownika możesz przypisać do zarządzanego klucza API w dashboardzie administracyjnym: API Keys -> Create API Key -> User Path Strona API Keys w dashboardzie GoModel z kolumną User Path zawierającą wartości takie jak /agents/team1, /engineering/ai i /sales/john Strona API Keys pokazuje przypisany do każdego klucza user_path obok jego etykiet, dzięki czemu od razu widzisz, do którego poddrzewa należy dany klucz. Gdy request używa tego klucza, GoModel traktuje user_path klucza jako efektywną ścieżkę użytkownika dla requestu.

Nagłówek HTTP

Klienci mogą też wysłać ścieżkę użytkownika bezpośrednio:
Nazwę nagłówka możesz zmienić przez USER_PATH_HEADER lub server.user_path_header w config.yaml. Jeśli nie jest ustawiona, GoModel używa X-GoModel-User-Path. Jeśli klucz API ma własny user_path, wygrywa klucz. GoModel nadpisuje wartość nagłówka ścieżką przypisaną do klucza, zanim zostaną uruchomione dopasowanie workflow, logowanie audytowe, śledzenie użycia i kontrole dostępu do modeli.

Zakres dostępu

Przypisany do klucza user_path jest też zakresem dostępu klucza: poddrzewem, które klucz może odczytywać i którym może zarządzać. Klucz przypisany do /team/alpha ma dostęp do /team/alpha i każdego potomka, ale nie do /team/beta, nie do /team i nie do wierszy zapisanych bez ścieżki użytkownika. Nagłówek nigdy nie poszerza zakresu; wybiera jedynie ścieżkę, do której przypisywany jest request. Reguła jest taka sama dla wszystkich danych uwierzytelniających: ścieżka użytkownika to węzeł, w imieniu którego działasz, i widzisz ten węzeł oraz wszystko poniżej. Sesja SSO przypisana do /users/alice administruje więc tylko tym poddrzewem. Rozszerzenie, które chce nadawać uprawnienia administratorów gatewaya, przypisuje takie sesje do /, a administratorów zespołów do katalogu głównego zespołu, np. /team/alpha – dokładnie tak, jak utworzyłbyś klucz API pod tą ścieżką. Zakres obowiązuje w dwóch miejscach:
  • Admin API i dashboard. Klucz z dostępem do dashboardu i user_path jest administratorem zakresowym tego poddrzewa. Zobacz Zakresowy dostęp administracyjny.
  • Własność obiektów na endpointach cyklu życia /v1, opisana poniżej.

Własność obiektów

Odpowiedzi (responses), konwersacje, batche i przesłane pliki pamiętają user_path, pod którym zostały utworzone. Pobranie, wylistowanie, aktualizacja, anulowanie lub usunięcie takiego obiektu po ID udaje się tylko wtedy, gdy ta ścieżka leży w zakresie wywołującego; w przeciwnym razie gateway odpowiada 404, dokładnie tak jak dla nieznanego ID. Wywołanie /v1/responses, które odwołuje się do konwersacji lub previous_response_id z innego poddrzewa, kończy się tak samo – także u providerów, które same rozwiązują previous_response_id. Zakresowe dane uwierzytelniające mogą odwoływać się tylko do obiektów śledzonych przez gateway: ID, którego gateway nie ma w rejestrze, jest raportowane jako nieistniejące, a GET /v1/files listuje śledzone pliki wywołującego z własnych rekordów gatewaya, a nie od providera. Globalne dane uwierzytelniające widzą każdy obiekt, w tym starsze wiersze zapisane, zanim ścieżka była przechowywana, i nadal odpytują providera o nieśledzone ID. Używaj trwałego magazynu danych, aby każdy obiekt pozostawał śledzony po restartach.

Dostęp do modeli

Polityki dostępu do modeli są domyślnie włączone. Polityka to model wirtualny bez celu; może używać user_paths, aby ograniczyć selektor do poddrzewa, albo być wyłączona, aby całkowicie wyłączyć selektor. Selektory mogą wskazywać:
  • / dla wszystkich providerów i modeli
  • {provider_name}/ dla jednego skonfigurowanego providera
  • {provider_name}/{model} dla jednego modelu u jednego providera
  • ID modelu bez nazwy providera
Na przykład:
  • selektor: openai/gpt-5
  • user_paths: ["/team/alpha"]
To dopuszcza /team/alpha i jego potomków, takich jak /team/alpha/service. Do zarządzania tymi regułami użyj w dashboardzie Models -> New virtual model: zostaw Target model puste, aby utworzyć politykę dostępu dla selektora Source. Przekierowania (aliasy) opisuje strona Modele wirtualne. Strona Users odpowiada na to samo pytanie z drugiej strony: które modele może wywołać grupa, użytkownik lub klucz API. Każdy węzeł ścieżki użytkownika i każdy zarządzany klucz API ma opcjonalną listę allowed_models; listy są przecinane w dół drzewa, więc potomek może jedynie zawęzić to, na co pozwala jego grupa. Zobacz Użytkownicy.

Udostępniane modele

GET /v1/models również używa efektywnego user_path. Oznacza to, że dwa klucze API mogą widzieć różne listy modeli, jeśli ich ścieżki użytkownika mają różne reguły dostępu do modeli.

Workflow

Workflow mogą też zawierać scope_user_path, dzięki czemu różne zespoły lub usługi mogą korzystać z różnych ustawień budżetu, cache’u, audytu, użycia, guardrails i failoveru. Ścieżkę użytkownika możesz łączyć z zakresem providera i modelu, na przykład:
  • /team/alpha
  • openai_primary + /team/alpha
  • openai_primary + gpt-5 + /team/alpha
Pełną kolejność dopasowania opisuje strona Workflow.

Budżety

Budżety również mają zakres wyznaczany przez user_path. Budżet dla /team/alpha dotyczy /team/alpha i potomków, takich jak /team/alpha/service, ale nie ścieżek sąsiednich, takich jak /team-alpha. Limity wydatków i egzekwowanie w workflow opisuje strona Budżety.

Samoobsługowe użycie i limity

Wywołujący mogą sprawdzić własne zużycie bez dostępu administracyjnego:
Odpowiedź dotyczy efektywnej ścieżki użytkownika wywołującego: zapisanego użycia w oknie dat oraz statusu każdego budżetu i reguły rate limitu obowiązujących dla tej ścieżki. Pełny przykład i opis pól znajdziesz w Usage API.
Ostatnia modyfikacja 24 października 2026